UNPKG

to-emoji

Version:

A lightweight package to easily convert strings to emojis, and vice-versa.

143 lines (139 loc) 4.35 kB
function emojify(text) { var result = text.replace(/\s/gi, " ").trim() .replace(/a/gi, " \u{1F1E6}") .replace(/b/gi, " \u{1F1E7}") .replace(/c/gi, " \u{1F1E8}") .replace(/d/gi, " \u{1F1E9}") .replace(/e/gi, " \u{1F1EA}") .replace(/f/gi, " \u{1F1EB}") .replace(/g/gi, " \u{1F1EC}") .replace(/h/gi, " \u{1F1ED}") .replace(/i/gi, " \u{1F1EE}") .replace(/j/gi, " \u{1F1EF}") .replace(/k/gi, " \u{1F1F0}") .replace(/l/gi, " \u{1F1F1}") .replace(/m/gi, " \u{1F1F2}") .replace(/n/gi, " \u{1F1F3}") .replace(/o/gi, " \u{1F1F4}") .replace(/p/gi, " \u{1F1F5}") .replace(/q/gi, " \u{1F1F6}") .replace(/r/gi, " \u{1F1F7}") .replace(/s/gi, " \u{1F1F8}") .replace(/t/gi, " \u{1F1F9}") .replace(/u/gi, " \u{1F1FA}") .replace(/v/gi, " \u{1F1FB}") .replace(/w/gi, " \u{1F1FC}") .replace(/x/gi, " \u{1F1FD}") .replace(/y/gi, " \u{1F1FE}") .replace(/z/gi, " \u{1F1FF}") .replace(/!/gi, " \u{2757}") .replace(/#/gi, " #\u{FE0F}\u{20E3}") .replace(/\?/gi, " \u{2753}") .replace(/!/gi, " \u{2757}") .replace(/\$/gi, " \u{1F4B2}") .replace(/\*/gi, " *\u{FE0F}\u{20E3}") .replace(/\+/gi, " \u{2795}") .replace(/-/gi, " \u{2796}") .replace(/0/gi, " 0\u{FE0F}\u{20E3}") .replace(/1/gi, " 1\u{FE0F}\u{20E3}") .replace(/2/gi, " 2\u{FE0F}\u{20E3}") .replace(/3/gi, " 3\u{FE0F}\u{20E3}") .replace(/4/gi, " 4\u{FE0F}\u{20E3}") .replace(/5/gi, " 5\u{FE0F}\u{20E3}") .replace(/6/gi, " 6\u{FE0F}\u{20E3}") .replace(/7/gi, " 7\u{FE0F}\u{20E3}") .replace(/8/gi, " 8\u{FE0F}\u{20E3}") .replace(/9/gi, " 9\u{FE0F}\u{20E3}") return result } function deemojify(text) { var result = text .replace(/🇦/gi, "a") .replace(/🇧/gi, "b") .replace(/🇨/gi, "c") .replace(/🇩/gi, "d") .replace(/🇪/gi, "e") .replace(/🇫/gi, "f") .replace(/🇬/gi, "g") .replace(/🇭/gi, "h") .replace(/🇮/gi, "i") .replace(/🇯/gi, "j") .replace(/🇰/gi, "k") .replace(/🇱/gi, "l") .replace(/🇲/gi, "m") .replace(/🇳/gi, "n") .replace(/🇴/gi, "o") .replace(/🇵/gi, "p") .replace(/🇶/gi, "q") .replace(/🇷/gi, "r") .replace(/🇸/gi, "s") .replace(/🇹/gi, "t") .replace(/🇺/gi, "u") .replace(/🇻/gi, "v") .replace(/🇼/gi, "w") .replace(/🇽/gi, "x") .replace(/🇾/gi, "y") .replace(/🇿/gi, "z") .replace(/❓/gi, "?") .replace(/❗/gi, "!") .replace(/#️⃣/gi, "#") .replace(/💲/gi, "$") .replace(/\*️⃣/gi, "*") .replace(/➕/gi, "+") .replace(/➖/gi, "-") .replace(/0️⃣/gi, "0") .replace(/1️⃣/gi, "1") .replace(/2️⃣/gi, "2") .replace(/3️⃣/gi, "3") .replace(/4️⃣/gi, "4") .replace(/5️⃣/gi, "5") .replace(/6️⃣/gi, "6") .replace(/7️⃣/gi, "7") .replace(/8️⃣/gi, "8") .replace(/9️⃣/gi, "9") .replace(/ +/gi, "%#KEPT_SPACE#%") .replace(/\s/gi, "") .replace(/%#KEPT_SPACE#%/gi, " ") return result } function emoticonToEmoji(text) { var result = text .replace(/,:\)/gi, "\u{1F605}") .replace(/,:\(/gi, "\u{1F613}") .replace(/:\)/gi, "\u{1F642}") .replace(/:\|/gi, "\u{1F610}") .replace(/;\(/gi, "\u{1F62D}") .replace(/:,\(|:'\(/gi, "\u{1F622}") .replace(/>:\(/gi, "\u{1F620}") .replace(/:P/g, "\u{1F61B}") .replace(/:\$/gi, "\u{1F612}") .replace(/:@/gi, "\u{1F621}") .replace(/<3/gi, "\u{2764}") .replace(/;\)/gi, "\u{1F609}") .replace(/:,\)|:'\)/gi, "\u{1F602}") .replace(/:O/gi, "\u{1F62E}") .replace(/:D/gi, "\u{1F604}") .replace(/:\(/gi, "\u{1F626}") return result } function emojiToEmoticon(text) { var result = text .replace(/😅/gi, ",:)") .replace(/🙂/gi, ":)") .replace(/😦/gi, ":(") .replace(/😭/gi, ";(") .replace(/😐/gi, ":|") .replace(/😢/gi, ":,(") .replace(/😠/gi, ">:(") .replace(/😛/g, ":P") .replace(/😒/gi, ":$") .replace(/😡/gi, ":@") .replace(/❤/gi, "<3") .replace(/😉/gi, ";)") .replace(/😂/gi, ":')") .replace(/😮/gi, ":O") .replace(/😄/gi, ":D") .replace(/😓/gi, ",:(") return result } module.exports = { emojify, deemojify, emoticonToEmoji, emojiToEmoticon }