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.
55 lines
1.5 KiB
55 lines
1.5 KiB
// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 |
|
var _a; |
|
const decodeMap = new Map([ |
|
[0, 65533], |
|
[128, 8364], |
|
[130, 8218], |
|
[131, 402], |
|
[132, 8222], |
|
[133, 8230], |
|
[134, 8224], |
|
[135, 8225], |
|
[136, 710], |
|
[137, 8240], |
|
[138, 352], |
|
[139, 8249], |
|
[140, 338], |
|
[142, 381], |
|
[145, 8216], |
|
[146, 8217], |
|
[147, 8220], |
|
[148, 8221], |
|
[149, 8226], |
|
[150, 8211], |
|
[151, 8212], |
|
[152, 732], |
|
[153, 8482], |
|
[154, 353], |
|
[155, 8250], |
|
[156, 339], |
|
[158, 382], |
|
[159, 376], |
|
]); |
|
export const fromCodePoint = |
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins |
|
(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) { |
|
let output = ""; |
|
if (codePoint > 0xffff) { |
|
codePoint -= 0x10000; |
|
output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800); |
|
codePoint = 0xdc00 | (codePoint & 0x3ff); |
|
} |
|
output += String.fromCharCode(codePoint); |
|
return output; |
|
}; |
|
export function replaceCodePoint(codePoint) { |
|
var _a; |
|
if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { |
|
return 0xfffd; |
|
} |
|
return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; |
|
} |
|
export default function decodeCodePoint(codePoint) { |
|
return fromCodePoint(replaceCodePoint(codePoint)); |
|
} |
|
//# sourceMappingURL=decode_codepoint.js.map
|