mirror of
https://github.com/Nathanwoodburn/hnschat-web.git
synced 2025-01-18 19:58:12 +11:00
279 lines
5.5 KiB
JavaScript
279 lines
5.5 KiB
JavaScript
|
function nameToUnicode(unicode) {
|
||
|
const skinColors = ["🏻", "🏼", "🏽", "🏾", "🏿"];
|
||
|
const tonedEmojis = [
|
||
|
"❤",
|
||
|
"💋",
|
||
|
"😶",
|
||
|
"😮",
|
||
|
"😵",
|
||
|
"👶",
|
||
|
"🧒",
|
||
|
"👦",
|
||
|
"👧",
|
||
|
"🧑",
|
||
|
"👱",
|
||
|
"👨",
|
||
|
"🧔",
|
||
|
"👨🦰",
|
||
|
"👨🦱",
|
||
|
"👨🦳",
|
||
|
"👨🦲",
|
||
|
"👩",
|
||
|
"👩🦰",
|
||
|
"🧑🦰",
|
||
|
"👩🦱",
|
||
|
"🧑🦱",
|
||
|
"👩🦳",
|
||
|
"🧑🦳",
|
||
|
"👩🦲",
|
||
|
"🧑🦲",
|
||
|
"🧓",
|
||
|
"👴",
|
||
|
"👵",
|
||
|
"🙍",
|
||
|
"🙎",
|
||
|
"🙅",
|
||
|
"🙆",
|
||
|
"💁",
|
||
|
"🙋",
|
||
|
"🧏",
|
||
|
"🙇",
|
||
|
"🤦",
|
||
|
"🤷",
|
||
|
"🧑🎓",
|
||
|
"👨🎓",
|
||
|
"👩🎓",
|
||
|
"🧑🏫",
|
||
|
"👨🏫",
|
||
|
"👩🏫",
|
||
|
"🧑🌾",
|
||
|
"👨🌾",
|
||
|
"👩🌾",
|
||
|
"🧑🍳",
|
||
|
"👨🍳",
|
||
|
"👩🍳",
|
||
|
"🧑🔧",
|
||
|
"👨🔧",
|
||
|
"👩🔧",
|
||
|
"🧑🏭",
|
||
|
"👨🏭",
|
||
|
"👩🏭",
|
||
|
"🧑💼",
|
||
|
"👨💼",
|
||
|
"👩💼",
|
||
|
"🧑🔬",
|
||
|
"👨🔬",
|
||
|
"👩🔬",
|
||
|
"🧑💻",
|
||
|
"👨💻",
|
||
|
"👩💻",
|
||
|
"🧑🎤",
|
||
|
"👨🎤",
|
||
|
"👩🎤",
|
||
|
"🧑🎨",
|
||
|
"👨🎨",
|
||
|
"👩🎨",
|
||
|
"🧑✈",
|
||
|
"👨✈",
|
||
|
"👩✈",
|
||
|
"🧑🚀",
|
||
|
"👨🚀",
|
||
|
"👩🚀",
|
||
|
"🧑🚒",
|
||
|
"👨🚒",
|
||
|
"👩🚒",
|
||
|
"👮",
|
||
|
"🕵",
|
||
|
"💂",
|
||
|
"🥷",
|
||
|
"👷",
|
||
|
"🤴",
|
||
|
"👸",
|
||
|
"👳",
|
||
|
"👲",
|
||
|
"🧕",
|
||
|
"🤵",
|
||
|
"👰",
|
||
|
"🤰",
|
||
|
"🤱",
|
||
|
"👩🍼",
|
||
|
"👨🍼",
|
||
|
"🧑🍼",
|
||
|
"👼",
|
||
|
"🎅",
|
||
|
"🤶",
|
||
|
"🧑🎄",
|
||
|
"🦸",
|
||
|
"🦹",
|
||
|
"🧙",
|
||
|
"🧚",
|
||
|
"🧛",
|
||
|
"🧜",
|
||
|
"🧝",
|
||
|
"🧞",
|
||
|
"🧟",
|
||
|
"💆",
|
||
|
"💇",
|
||
|
"🫅",
|
||
|
"🫃",
|
||
|
"🫄",
|
||
|
"🚶",
|
||
|
"🧍",
|
||
|
"🧎",
|
||
|
"🧑🦯",
|
||
|
"👨🦯",
|
||
|
"👩🦯",
|
||
|
"🧑🦼",
|
||
|
"👨🦼",
|
||
|
"👩🦼",
|
||
|
"🧑🦽",
|
||
|
"👨🦽",
|
||
|
"👩🦽",
|
||
|
"🏃",
|
||
|
"💃",
|
||
|
"🕺",
|
||
|
"👯",
|
||
|
"🧖",
|
||
|
"🧘",
|
||
|
"🧑🤝🧑",
|
||
|
"👭",
|
||
|
"👫",
|
||
|
"👬",
|
||
|
"💏",
|
||
|
"👩❤️💋👨",
|
||
|
"👨❤️💋👨",
|
||
|
"👩❤️💋👩",
|
||
|
"💑",
|
||
|
"👩❤️👨",
|
||
|
"👨❤️👨",
|
||
|
"👩❤️👩",
|
||
|
"👪",
|
||
|
"👨👩👦",
|
||
|
"👨👩👧",
|
||
|
"👨👩👧👦",
|
||
|
"👨👩👦👦",
|
||
|
"👨👩👧👧",
|
||
|
"👨👨👦",
|
||
|
"👨👨👧",
|
||
|
"👨👨👧👦",
|
||
|
"👨👨👦👦",
|
||
|
"👨👨👧👧",
|
||
|
"👩👩👦",
|
||
|
"👩👩👧",
|
||
|
"👩👩👧👦",
|
||
|
"👩👩👦👦",
|
||
|
"👩👩👧👧",
|
||
|
"👨👦",
|
||
|
"👨👦👦",
|
||
|
"👨👧",
|
||
|
"👨👧👦",
|
||
|
"👨👧👧",
|
||
|
"👩👦",
|
||
|
"👩👦👦",
|
||
|
"👩👧",
|
||
|
"👩👧👦",
|
||
|
"👩👧👧",
|
||
|
"🕴",
|
||
|
"🧗",
|
||
|
"🧗",
|
||
|
"🧗",
|
||
|
"🤺",
|
||
|
"🏇",
|
||
|
"⛷",
|
||
|
"🏂",
|
||
|
"🏌",
|
||
|
"🏄",
|
||
|
"🚣",
|
||
|
"🏊",
|
||
|
"⛹",
|
||
|
"🏋",
|
||
|
"🚴",
|
||
|
"🚵",
|
||
|
"🤸",
|
||
|
"🤼",
|
||
|
"🤽",
|
||
|
"🤾",
|
||
|
"🤹",
|
||
|
"🧘",
|
||
|
"👋",
|
||
|
"🤚",
|
||
|
"🖐",
|
||
|
"✋",
|
||
|
"🫱",
|
||
|
"🫲",
|
||
|
"🫳",
|
||
|
"🫴",
|
||
|
"🫰",
|
||
|
"🫵",
|
||
|
"🫶",
|
||
|
"🖖",
|
||
|
"👌",
|
||
|
"🤌",
|
||
|
"🤏",
|
||
|
"✌",
|
||
|
"🤞",
|
||
|
"🤟",
|
||
|
"🤘",
|
||
|
"🤙",
|
||
|
"👈",
|
||
|
"👉",
|
||
|
"👆",
|
||
|
"🖕",
|
||
|
"👇",
|
||
|
"☝",
|
||
|
"👍",
|
||
|
"👎",
|
||
|
"✊",
|
||
|
"👊",
|
||
|
"🤛",
|
||
|
"🤜",
|
||
|
"👏",
|
||
|
"🙌",
|
||
|
"👐",
|
||
|
"🤲",
|
||
|
"🤝",
|
||
|
"🙏",
|
||
|
"✍",
|
||
|
"💅",
|
||
|
"🤳",
|
||
|
"💪",
|
||
|
"🦵",
|
||
|
"🦶",
|
||
|
"👂",
|
||
|
"🦻",
|
||
|
"👃",
|
||
|
"🛌",
|
||
|
"🛀",
|
||
|
"🏳",
|
||
|
"🏴",
|
||
|
"👁",
|
||
|
"🐈",
|
||
|
"🐦",
|
||
|
"🐕",
|
||
|
"🦺",
|
||
|
"🐻"
|
||
|
];
|
||
|
|
||
|
const allChars = tonedEmojis.concat(skinColors);
|
||
|
let chars = [];
|
||
|
let i = 0;
|
||
|
|
||
|
for (let c of unicode) {
|
||
|
// remove last zwj if the next one is a skin color
|
||
|
if (skinColors.includes(c)) chars.pop();
|
||
|
|
||
|
// add emoji
|
||
|
chars.push(c);
|
||
|
|
||
|
// add zwj
|
||
|
if (allChars.includes(c)) chars.push("\u200d");
|
||
|
|
||
|
i++;
|
||
|
}
|
||
|
|
||
|
// remove last element if zwj
|
||
|
if (chars[chars.length - 1] === "\u200d") chars.pop();
|
||
|
|
||
|
// combine to string
|
||
|
return chars.join("");
|
||
|
}
|