Blame view

天文台pc/tianwentai-ui/node_modules/tar/dist/esm/normalize-unicode.js 1009 Bytes
bc518174   王天杨   提交两个项目文件
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
29
30
31
32
33
34
  // warning: extremely hot code path.
  // This has been meticulously optimized for use
  // within npm install on large package trees.
  // Do not edit without careful benchmarking.
  const normalizeCache = Object.create(null);
  // Limit the size of this. Very low-sophistication LRU cache
  const MAX = 10000;
  const cache = new Set();
  export const normalizeUnicode = (s) => {
      if (!cache.has(s)) {
          // shake out identical accents and ligatures
          normalizeCache[s] = s
              .normalize('NFD')
              .toLocaleLowerCase('en')
              .toLocaleUpperCase('en');
      }
      else {
          cache.delete(s);
      }
      cache.add(s);
      const ret = normalizeCache[s];
      let i = cache.size - MAX;
      // only prune when we're 10% over the max
      if (i > MAX / 10) {
          for (const s of cache) {
              cache.delete(s);
              delete normalizeCache[s];
              if (--i <= 0)
                  break;
          }
      }
      return ret;
  };
  //# sourceMappingURL=normalize-unicode.js.map