~cytrogen/masto-fe

ref: 434712ea2279340f671bac234fdac264367f935a masto-fe/app/javascript/flavours/glitch/features/emoji/unicode_to_filename.js -rw-r--r-- 663 bytes
434712ea — Cytrogen Convert glitch component SCSS to CSS custom properties (Phase 5+6) 15 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 

// taken from:
// https://github.com/twitter/twemoji/blob/47732c7/twemoji-generator.js#L848-L866
exports.unicodeToFilename = (str) => {
  let result = "";
  let charCode = 0;
  let p = 0;
  let i = 0;
  while (i < str.length) {
    charCode = str.charCodeAt(i++);
    if (p) {
      if (result.length > 0) {
        result += "-";
      }
      result += (0x10000 + ((p - 0xD800) << 10) + (charCode - 0xDC00)).toString(16);
      p = 0;
    } else if (0xD800 <= charCode && charCode <= 0xDBFF) {
      p = charCode;
    } else {
      if (result.length > 0) {
        result += "-";
      }
      result += charCode.toString(16);
    }
  }
  return result;
};