The code powering m.abunchtell.com https://m.abunchtell.com
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

39 lignes
942 B

  1. // @preval
  2. // http://www.unicode.org/Public/emoji/5.0/emoji-test.txt
  3. const emojis = require('./emoji_map.json');
  4. const { emojiIndex } = require('emoji-mart');
  5. const excluded = ['®', '©', '™'];
  6. const skins = ['🏻', '🏼', '🏽', '🏾', '🏿'];
  7. const shortcodeMap = {};
  8. Object.keys(emojiIndex.emojis).forEach(key => {
  9. shortcodeMap[emojiIndex.emojis[key].native] = emojiIndex.emojis[key].id;
  10. });
  11. const stripModifiers = unicode => {
  12. skins.forEach(tone => {
  13. unicode = unicode.replace(tone, '');
  14. });
  15. return unicode;
  16. };
  17. Object.keys(emojis).forEach(key => {
  18. if (excluded.includes(key)) {
  19. delete emojis[key];
  20. return;
  21. }
  22. const normalizedKey = stripModifiers(key);
  23. let shortcode = shortcodeMap[normalizedKey];
  24. if (!shortcode) {
  25. shortcode = shortcodeMap[normalizedKey + '\uFE0F'];
  26. }
  27. emojis[key] = [emojis[key], shortcode];
  28. });
  29. module.exports.unicodeMapping = emojis;