UNPKG

673 BJavaScriptView Raw
1'use strict';
2
3const emojis = require('./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) => {
26 return lookupEmoji(name);
27 });
28 }
29 return lookupEmoji(string);
30}
31
32emojify.alias = function (to, from) {
33 emojiAliases[to] = from;
34};