Skip to content

Instantly share code, notes, and snippets.

@HoffmannP
Last active December 21, 2020 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HoffmannP/5bea4bdb661aa6b4915728c8f221b67c to your computer and use it in GitHub Desktop.
Save HoffmannP/5bea4bdb661aa6b4915728c8f221b67c to your computer and use it in GitHub Desktop.
Test to check which emoji shortcodes can't be found
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="module">
const ALL_SOURCES = {
'joypixels': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/joypixels/data.json',
'iamcal': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/iamcal/data.json',
'github': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/github/data.json',
'emojibase-legacy': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/emojibase-legacy/data.json',
'emojibase': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/emojibase/data.json',
'cldr': 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.0.0/en/cldr/data.json'
}
const SELECTED_SOURCE = 'emojibase'
const SOURCE = ALL_SOURCES[SELECTED_SOURCE]
import Database from 'https://cdn.jsdelivr.net/npm/emoji-picker-element/database.js'
const database = new Database({ dataSource: SOURCE })
async function search () {
const response = await fetch(SOURCE)
const shortcodelist = (await response.json()).map(e => e.shortcodes).flat().filter(s => !!s)
const body = document.body
await database.ready()
const missing = (await Promise.all(shortcodelist.map(
async s => [s, await database.getEmojiByShortcode(s)]
))).filter(e => !e[1]).map(e => e[0])
body.innerHTML = `<p>${missing.length} of ${shortcodelist.length} shortcodes can't be found in emojiset <em>${SELECTED_SOURCE}</em>:
<br><pre><code>${missing.join("\n")}</code></pre></p>`
}
document.addEventListener('DOMContentLoaded', search)
</script>
</head>
<body>
… loading …
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment