You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

12 lines
431 B

import { emojis as compressed } from './emojis.generated';
import { decompressFromBase64LZString } from './system/string';
const emojiRegex = /:([-+_a-z0-9]+):/g;
let emojis: Record<string, string> | undefined = undefined;
export function emojify(message: string) {
if (emojis == null) {
emojis = JSON.parse(decompressFromBase64LZString(compressed));
}
return message.replace(emojiRegex, (s, code) => emojis![code] || s);
}