123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import {codes, values} from 'micromark-util-symbol'
- export function decodeNumericCharacterReference(value, base) {
- const code = Number.parseInt(value, base)
- if (
-
- code < codes.ht ||
- code === codes.vt ||
- (code > codes.cr && code < codes.space) ||
-
- (code > codes.tilde && code < 160) ||
-
- (code > 55_295 && code < 57_344) ||
-
- (code > 64_975 && code < 65_008) ||
-
- (code & 65_535) === 65_535 ||
- (code & 65_535) === 65_534 ||
-
-
- code > 1_114_111
- ) {
- return values.replacementCharacter
- }
- return String.fromCodePoint(code)
- }
|