UNPKG

656 BJavaScriptView Raw
1'use strict';
2
3const emojis = require('./data/emojis.json');
4
5const emojiAliases = {};
6
7function lookupEmoji (name) {
8 let lookup = name.toLowerCase().replace(/\s/g, '_');
9 lookup = emojiAliases[lookup] || lookup;
10
11 if (emojis[lookup]) {
12 return emojis[lookup].emoji;
13 }
14 for (const emoji in emojis) {
15 if (emoji.tags && emoji.tags.includes(lookup)) {
16 return emoji.emoji;
17 }
18 }
19
20 return name;
21}
22
23function emojify (string) {
24 if (/[:\s]/.test(string)) {
25 return string.replace(/:(.*?):/g, (match, name) => lookupEmoji(name));
26 }
27 return lookupEmoji(string);
28}
29
30emojify.alias = function (to, from) {
31 emojiAliases[to] = from;
32};