entities 4.1.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/lib/decode.d.ts +1 -0
  2. package/lib/decode.d.ts.map +1 -1
  3. package/lib/decode.js +23 -8
  4. package/lib/decode.js.map +1 -1
  5. package/lib/decode_codepoint.d.ts +1 -0
  6. package/lib/decode_codepoint.d.ts.map +1 -1
  7. package/lib/decode_codepoint.js +14 -14
  8. package/lib/decode_codepoint.js.map +1 -1
  9. package/lib/encode.d.ts +0 -40
  10. package/lib/encode.d.ts.map +1 -1
  11. package/lib/encode.js +45 -95
  12. package/lib/encode.js.map +1 -1
  13. package/lib/escape.d.ts +43 -0
  14. package/lib/escape.d.ts.map +1 -0
  15. package/lib/escape.js +112 -0
  16. package/lib/escape.js.map +1 -0
  17. package/lib/esm/decode.d.ts +1 -0
  18. package/lib/esm/decode.d.ts.map +1 -1
  19. package/lib/esm/decode.js +20 -7
  20. package/lib/esm/decode.js.map +1 -1
  21. package/lib/esm/decode_codepoint.d.ts +1 -0
  22. package/lib/esm/decode_codepoint.d.ts.map +1 -1
  23. package/lib/esm/decode_codepoint.js +12 -12
  24. package/lib/esm/decode_codepoint.js.map +1 -1
  25. package/lib/esm/encode.d.ts +0 -40
  26. package/lib/esm/encode.d.ts.map +1 -1
  27. package/lib/esm/encode.js +39 -91
  28. package/lib/esm/encode.js.map +1 -1
  29. package/lib/esm/escape.d.ts +43 -0
  30. package/lib/esm/escape.d.ts.map +1 -0
  31. package/lib/esm/escape.js +106 -0
  32. package/lib/esm/escape.js.map +1 -0
  33. package/lib/esm/generated/decode-data-html.d.ts.map +1 -1
  34. package/lib/esm/generated/decode-data-html.js.map +1 -1
  35. package/lib/esm/generated/decode-data-xml.d.ts.map +1 -1
  36. package/lib/esm/generated/decode-data-xml.js.map +1 -1
  37. package/lib/esm/generated/encode-html.d.ts.map +1 -1
  38. package/lib/esm/generated/encode-html.js.map +1 -1
  39. package/lib/esm/index.d.ts +2 -1
  40. package/lib/esm/index.d.ts.map +1 -1
  41. package/lib/esm/index.js +4 -2
  42. package/lib/esm/index.js.map +1 -1
  43. package/lib/generated/decode-data-html.d.ts.map +1 -1
  44. package/lib/generated/decode-data-html.js.map +1 -1
  45. package/lib/generated/decode-data-xml.d.ts.map +1 -1
  46. package/lib/generated/decode-data-xml.js.map +1 -1
  47. package/lib/generated/encode-html.d.ts.map +1 -1
  48. package/lib/generated/encode-html.js.map +1 -1
  49. package/lib/index.d.ts +2 -1
  50. package/lib/index.d.ts.map +1 -1
  51. package/lib/index.js +12 -10
  52. package/lib/index.js.map +1 -1
  53. package/package.json +11 -7
  54. package/readme.md +1 -1
  55. package/lib/encode-trie.d.ts +0 -3
  56. package/lib/encode-trie.d.ts.map +0 -1
  57. package/lib/encode-trie.js +0 -64
  58. package/lib/encode-trie.js.map +0 -1
  59. package/lib/esm/encode-trie.d.ts +0 -3
  60. package/lib/esm/encode-trie.d.ts.map +0 -1
  61. package/lib/esm/encode-trie.js +0 -55
  62. package/lib/esm/encode-trie.js.map +0 -1
package/lib/decode.d.ts CHANGED
@@ -2,6 +2,7 @@ import htmlDecodeTree from "./generated/decode-data-html.js";
2
2
  import xmlDecodeTree from "./generated/decode-data-xml.js";
3
3
  import decodeCodePoint from "./decode_codepoint.js";
4
4
  export { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };
5
+ export { replaceCodePoint, fromCodePoint } from "./decode_codepoint.js";
5
6
  export declare enum BinTrieFlags {
6
7
  VALUE_LENGTH = 49152,
7
8
  BRANCH_LENGTH = 16256,
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAc1D,oBAAY,YAAY;IACpB,YAAY,QAAwB;IACpC,aAAa,QAAwB;IACrC,UAAU,MAAwB;CACrC;AA8GD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACb,MAAM,CAsCR;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["decode.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAcxE,oBAAY,YAAY;IACpB,YAAY,QAAwB;IACpC,aAAa,QAAwB;IACrC,UAAU,MAAwB;CACrC;AA8GD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACb,MAAM,CAsCR;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
package/lib/decode.js CHANGED
@@ -3,13 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTML = exports.determineBranch = exports.BinTrieFlags = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;
6
+ exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTML = exports.determineBranch = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;
7
7
  var decode_data_html_js_1 = __importDefault(require("./generated/decode-data-html.js"));
8
8
  exports.htmlDecodeTree = decode_data_html_js_1.default;
9
9
  var decode_data_xml_js_1 = __importDefault(require("./generated/decode-data-xml.js"));
10
10
  exports.xmlDecodeTree = decode_data_xml_js_1.default;
11
11
  var decode_codepoint_js_1 = __importDefault(require("./decode_codepoint.js"));
12
12
  exports.decodeCodePoint = decode_codepoint_js_1.default;
13
+ var decode_codepoint_js_2 = require("./decode_codepoint.js");
14
+ Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });
15
+ Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });
16
+ var CharCodes;
17
+ (function (CharCodes) {
18
+ CharCodes[CharCodes["NUM"] = 35] = "NUM";
19
+ CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
20
+ CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
21
+ CharCodes[CharCodes["NINE"] = 57] = "NINE";
22
+ CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
23
+ CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
24
+ CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
25
+ /** Bit that needs to be set to convert an upper case ASCII character to lower case */
26
+ CharCodes[CharCodes["To_LOWER_BIT"] = 32] = "To_LOWER_BIT";
27
+ })(CharCodes || (CharCodes = {}));
13
28
  var BinTrieFlags;
14
29
  (function (BinTrieFlags) {
15
30
  BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
@@ -27,26 +42,26 @@ function getDecoder(decodeTree) {
27
42
  // Skip the "&"
28
43
  strIdx += 1;
29
44
  // If we have a numeric entity, handle this separately.
30
- if (str.charCodeAt(strIdx) === 35 /* NUM */) {
45
+ if (str.charCodeAt(strIdx) === CharCodes.NUM) {
31
46
  // Skip the leading "&#". For hex entities, also skip the leading "x".
32
47
  var start = strIdx + 1;
33
48
  var base = 10;
34
49
  var cp = str.charCodeAt(start);
35
- if ((cp | 32 /* To_LOWER_BIT */) === 120 /* LOWER_X */) {
50
+ if ((cp | CharCodes.To_LOWER_BIT) === CharCodes.LOWER_X) {
36
51
  base = 16;
37
52
  strIdx += 1;
38
53
  start += 1;
39
54
  }
40
55
  do
41
56
  cp = str.charCodeAt(++strIdx);
42
- while ((cp >= 48 /* ZERO */ && cp <= 57 /* NINE */) ||
57
+ while ((cp >= CharCodes.ZERO && cp <= CharCodes.NINE) ||
43
58
  (base === 16 &&
44
- (cp | 32 /* To_LOWER_BIT */) >= 97 /* LOWER_A */ &&
45
- (cp | 32 /* To_LOWER_BIT */) <= 102 /* LOWER_F */));
59
+ (cp | CharCodes.To_LOWER_BIT) >= CharCodes.LOWER_A &&
60
+ (cp | CharCodes.To_LOWER_BIT) <= CharCodes.LOWER_F));
46
61
  if (start !== strIdx) {
47
62
  var entity = str.substring(start, strIdx);
48
63
  var parsed = parseInt(entity, base);
49
- if (str.charCodeAt(strIdx) === 59 /* SEMI */) {
64
+ if (str.charCodeAt(strIdx) === CharCodes.SEMI) {
50
65
  strIdx += 1;
51
66
  }
52
67
  else if (strict) {
@@ -70,7 +85,7 @@ function getDecoder(decodeTree) {
70
85
  // If the branch is a value, store it and continue
71
86
  if (masked) {
72
87
  // If we have a legacy entity while parsing strictly, just skip the number of bytes
73
- if (!strict || str.charCodeAt(strIdx) === 59 /* SEMI */) {
88
+ if (!strict || str.charCodeAt(strIdx) === CharCodes.SEMI) {
74
89
  resultIdx = treeIdx;
75
90
  excess = 0;
76
91
  }
package/lib/decode.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["decode.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const fromCodePoint: (...codePoints: number[]) => string;
1
2
  export declare function replaceCodePoint(codePoint: number): number;
2
3
  export default function decodeCodePoint(codePoint: number): string;
3
4
  //# sourceMappingURL=decode_codepoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode_codepoint.d.ts","sourceRoot":"","sources":["../src/decode_codepoint.ts"],"names":[],"mappings":"AAmDA,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,UAMjD;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"decode_codepoint.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["decode_codepoint.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,aAAa,qCAgBrB,CAAC;AAEN,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,UAMjD;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  // Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
3
+ var _a;
3
4
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.replaceCodePoint = void 0;
5
+ exports.replaceCodePoint = exports.fromCodePoint = void 0;
5
6
  var decodeMap = new Map([
6
7
  [0, 65533],
7
8
  [128, 8364],
@@ -32,19 +33,18 @@ var decodeMap = new Map([
32
33
  [158, 382],
33
34
  [159, 376],
34
35
  ]);
35
- var fromCodePoint =
36
+ exports.fromCodePoint =
36
37
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
37
- String.fromCodePoint ||
38
- function (codePoint) {
39
- var output = "";
40
- if (codePoint > 0xffff) {
41
- codePoint -= 0x10000;
42
- output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
43
- codePoint = 0xdc00 | (codePoint & 0x3ff);
44
- }
45
- output += String.fromCharCode(codePoint);
46
- return output;
47
- };
38
+ (_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {
39
+ var output = "";
40
+ if (codePoint > 0xffff) {
41
+ codePoint -= 0x10000;
42
+ output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
43
+ codePoint = 0xdc00 | (codePoint & 0x3ff);
44
+ }
45
+ output += String.fromCharCode(codePoint);
46
+ return output;
47
+ };
48
48
  function replaceCodePoint(codePoint) {
49
49
  var _a;
50
50
  if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
@@ -54,7 +54,7 @@ function replaceCodePoint(codePoint) {
54
54
  }
55
55
  exports.replaceCodePoint = replaceCodePoint;
56
56
  function decodeCodePoint(codePoint) {
57
- return fromCodePoint(replaceCodePoint(codePoint));
57
+ return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));
58
58
  }
59
59
  exports.default = decodeCodePoint;
60
60
  //# sourceMappingURL=decode_codepoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode_codepoint.js","sourceRoot":"","sources":["../src/decode_codepoint.ts"],"names":[],"mappings":";AAAA,qHAAqH;;;AAErH,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACtB,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACb,CAAC,CAAC;AAEH,IAAM,aAAa;AACf,iHAAiH;AACjH,MAAM,CAAC,aAAa;IACpB,UAAU,SAAiB;QACvB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,SAAS,GAAG,MAAM,EAAE;YACpB,SAAS,IAAI,OAAO,CAAC;YACrB,MAAM,IAAI,MAAM,CAAC,YAAY,CACzB,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CACxC,CAAC;YACF,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;SAC5C;QAED,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AAEN,SAAgB,gBAAgB,CAAC,SAAiB;;IAC9C,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,SAAS,GAAG,QAAQ,EAAE;QACtE,OAAO,MAAM,CAAC;KACjB;IAED,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC;AACjD,CAAC;AAND,4CAMC;AAED,SAAwB,eAAe,CAAC,SAAiB;IACrD,OAAO,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"decode_codepoint.js","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["decode_codepoint.ts"],"names":[],"mappings":";AAAA,qHAAqH;;;;AAErH,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACtB,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACb,CAAC,CAAC;AAEU,QAAA,aAAa;AACtB,iHAAiH;AACjH,MAAA,MAAM,CAAC,aAAa,mCACpB,UAAU,SAAiB;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG,MAAM,EAAE;QACpB,SAAS,IAAI,OAAO,CAAC;QACrB,MAAM,IAAI,MAAM,CAAC,YAAY,CACzB,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CACxC,CAAC;QACF,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;KAC5C;IAED,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEN,SAAgB,gBAAgB,CAAC,SAAiB;;IAC9C,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,SAAS,GAAG,QAAQ,EAAE;QACtE,OAAO,MAAM,CAAC;KACjB;IAED,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC;AACjD,CAAC;AAND,4CAMC;AAED,SAAwB,eAAe,CAAC,SAAiB;IACrD,OAAO,IAAA,qBAAa,EAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,kCAEC"}
package/lib/encode.d.ts CHANGED
@@ -1,11 +1,3 @@
1
- /**
2
- * Encodes all non-ASCII characters, as well as characters not valid in XML
3
- * documents using XML entities.
4
- *
5
- * If a character has no equivalent entity, a
6
- * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
7
- */
8
- export declare function encodeXML(str: string): string;
9
1
  /**
10
2
  * Encodes all entities and non-ASCII characters in the input.
11
3
  *
@@ -25,36 +17,4 @@ export declare function encodeHTML(data: string): string;
25
17
  * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
26
18
  */
27
19
  export declare function encodeNonAsciiHTML(data: string): string;
28
- /**
29
- * Encodes all non-ASCII characters, as well as characters not valid in XML
30
- * documents using numeric hexadecimal reference (eg. `&#xfc;`).
31
- *
32
- * Have a look at `escapeUTF8` if you want a more concise output at the expense
33
- * of reduced transportability.
34
- *
35
- * @param data String to escape.
36
- */
37
- export declare const escape: typeof encodeXML;
38
- /**
39
- * Encodes all characters not valid in XML documents using XML entities.
40
- *
41
- * Note that the output will be character-set dependent.
42
- *
43
- * @param data String to escape.
44
- */
45
- export declare const escapeUTF8: (data: string) => string;
46
- /**
47
- * Encodes all characters that have to be escaped in HTML attributes,
48
- * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
49
- *
50
- * @param data String to escape.
51
- */
52
- export declare const escapeAttribute: (data: string) => string;
53
- /**
54
- * Encodes all characters that have to be escaped in HTML text,
55
- * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
56
- *
57
- * @param data String to escape.
58
- */
59
- export declare const escapeText: (data: string) => string;
60
20
  //# sourceMappingURL=encode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../src/encode.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0B7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AACD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,kBAAY,CAAC;AA2BhC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,SA7Bb,MAAM,KAAK,MA6BuC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SArClB,MAAM,KAAK,MA4CpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SApDb,MAAM,KAAK,MA4DpB,CAAC"}
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["encode.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AACD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD"}
package/lib/encode.js CHANGED
@@ -1,44 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
4
- var encode_trie_js_1 = require("./encode-trie.js");
6
+ exports.encodeNonAsciiHTML = exports.encodeHTML = void 0;
7
+ var encode_html_js_1 = __importDefault(require("./generated/encode-html.js"));
8
+ var escape_js_1 = require("./escape.js");
5
9
  var htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
6
- var xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
7
- var xmlCodeMap = new Map([
8
- [34, "&quot;"],
9
- [38, "&amp;"],
10
- [39, "&apos;"],
11
- [60, "&lt;"],
12
- [62, "&gt;"],
13
- ]);
14
- /**
15
- * Encodes all non-ASCII characters, as well as characters not valid in XML
16
- * documents using XML entities.
17
- *
18
- * If a character has no equivalent entity, a
19
- * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
20
- */
21
- function encodeXML(str) {
22
- var ret = "";
23
- var lastIdx = 0;
24
- var match;
25
- while ((match = xmlReplacer.exec(str)) !== null) {
26
- var i = match.index;
27
- var char = str.charCodeAt(i);
28
- var next = xmlCodeMap.get(char);
29
- if (next) {
30
- ret += str.substring(lastIdx, i) + next;
31
- lastIdx = i + 1;
32
- }
33
- else {
34
- ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, encode_trie_js_1.getCodePoint)(str, i).toString(16), ";");
35
- // Increase by 1 if we have a surrogate pair
36
- lastIdx = xmlReplacer.lastIndex += Number((char & 65408) === 0xd800);
37
- }
38
- }
39
- return ret + str.substr(lastIdx);
40
- }
41
- exports.encodeXML = encodeXML;
42
10
  /**
43
11
  * Encodes all entities and non-ASCII characters in the input.
44
12
  *
@@ -50,7 +18,7 @@ exports.encodeXML = encodeXML;
50
18
  * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
51
19
  */
52
20
  function encodeHTML(data) {
53
- return (0, encode_trie_js_1.encodeHTMLTrieRe)(htmlReplacer, data);
21
+ return encodeHTMLTrieRe(htmlReplacer, data);
54
22
  }
55
23
  exports.encodeHTML = encodeHTML;
56
24
  /**
@@ -61,65 +29,47 @@ exports.encodeHTML = encodeHTML;
61
29
  * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
62
30
  */
63
31
  function encodeNonAsciiHTML(data) {
64
- return (0, encode_trie_js_1.encodeHTMLTrieRe)(xmlReplacer, data);
32
+ return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);
65
33
  }
66
34
  exports.encodeNonAsciiHTML = encodeNonAsciiHTML;
67
- /**
68
- * Encodes all non-ASCII characters, as well as characters not valid in XML
69
- * documents using numeric hexadecimal reference (eg. `&#xfc;`).
70
- *
71
- * Have a look at `escapeUTF8` if you want a more concise output at the expense
72
- * of reduced transportability.
73
- *
74
- * @param data String to escape.
75
- */
76
- exports.escape = encodeXML;
77
- function getEscaper(regex, map) {
78
- return function escape(data) {
79
- var match;
80
- var lastIdx = 0;
81
- var result = "";
82
- while ((match = regex.exec(data))) {
83
- if (lastIdx !== match.index) {
84
- result += data.substring(lastIdx, match.index);
35
+ function encodeHTMLTrieRe(regExp, str) {
36
+ var ret = "";
37
+ var lastIdx = 0;
38
+ var match;
39
+ while ((match = regExp.exec(str)) !== null) {
40
+ var i = match.index;
41
+ ret += str.substring(lastIdx, i);
42
+ var char = str.charCodeAt(i);
43
+ var next = encode_html_js_1.default.get(char);
44
+ if (typeof next === "object") {
45
+ // We are in a branch. Try to match the next char.
46
+ if (i + 1 < str.length) {
47
+ var nextChar = str.charCodeAt(i + 1);
48
+ var value = typeof next.n === "number"
49
+ ? next.n === nextChar
50
+ ? next.o
51
+ : undefined
52
+ : next.n.get(nextChar);
53
+ if (value !== undefined) {
54
+ ret += value;
55
+ lastIdx = regExp.lastIndex += 1;
56
+ continue;
57
+ }
85
58
  }
86
- // We know that this chararcter will be in the map.
87
- result += map.get(match[0].charCodeAt(0));
88
- // Every match will be of length 1
89
- lastIdx = match.index + 1;
59
+ next = next.v;
90
60
  }
91
- return result + data.substring(lastIdx);
92
- };
61
+ // We might have a tree node without a value; skip and use a numeric entitiy.
62
+ if (next !== undefined) {
63
+ ret += next;
64
+ lastIdx = i + 1;
65
+ }
66
+ else {
67
+ var cp = (0, escape_js_1.getCodePoint)(str, i);
68
+ ret += "&#x".concat(cp.toString(16), ";");
69
+ // Increase by 1 if we have a surrogate pair
70
+ lastIdx = regExp.lastIndex += Number(cp !== char);
71
+ }
72
+ }
73
+ return ret + str.substr(lastIdx);
93
74
  }
94
- /**
95
- * Encodes all characters not valid in XML documents using XML entities.
96
- *
97
- * Note that the output will be character-set dependent.
98
- *
99
- * @param data String to escape.
100
- */
101
- exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap);
102
- /**
103
- * Encodes all characters that have to be escaped in HTML attributes,
104
- * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
105
- *
106
- * @param data String to escape.
107
- */
108
- exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
109
- [34, "&quot;"],
110
- [38, "&amp;"],
111
- [160, "&nbsp;"],
112
- ]));
113
- /**
114
- * Encodes all characters that have to be escaped in HTML text,
115
- * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
116
- *
117
- * @param data String to escape.
118
- */
119
- exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
120
- [38, "&amp;"],
121
- [60, "&lt;"],
122
- [62, "&gt;"],
123
- [160, "&nbsp;"],
124
- ]));
125
75
  //# sourceMappingURL=encode.js.map
package/lib/encode.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"","sources":["../src/encode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encode.js","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["encode.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAkD;AAClD,yCAAwD;AAExD,IAAM,YAAY,GAAG,qCAAqC,CAAC;AAE3D;;;;;;;;;GASG;AACH,SAAgB,UAAU,CAAC,IAAY;IACnC,OAAO,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,gCAEC;AACD;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,IAAY;IAC3C,OAAO,gBAAgB,CAAC,uBAAW,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,GAAW;IACjD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;QACxC,IAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjC,IAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,wBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,kDAAkD;YAClD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACpB,IAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAM,KAAK,GACP,OAAO,IAAI,CAAC,CAAC,KAAK,QAAQ;oBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ;wBACjB,CAAC,CAAC,IAAI,CAAC,CAAC;wBACR,CAAC,CAAC,SAAS;oBACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE/B,IAAI,KAAK,KAAK,SAAS,EAAE;oBACrB,GAAG,IAAI,KAAK,CAAC;oBACb,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;oBAChC,SAAS;iBACZ;aACJ;YAED,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;SACjB;QAED,6EAA6E;QAC7E,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,GAAG,IAAI,IAAI,CAAC;YACZ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACnB;aAAM;YACH,IAAM,EAAE,GAAG,IAAA,wBAAY,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,GAAG,IAAI,aAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAG,CAAC;YAChC,4CAA4C;YAC5C,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;SACrD;KACJ;IAED,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,43 @@
1
+ export declare const xmlReplacer: RegExp;
2
+ export declare const getCodePoint: (str: string, index: number) => number;
3
+ /**
4
+ * Encodes all non-ASCII characters, as well as characters not valid in XML
5
+ * documents using XML entities.
6
+ *
7
+ * If a character has no equivalent entity, a
8
+ * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
9
+ */
10
+ export declare function encodeXML(str: string): string;
11
+ /**
12
+ * Encodes all non-ASCII characters, as well as characters not valid in XML
13
+ * documents using numeric hexadecimal reference (eg. `&#xfc;`).
14
+ *
15
+ * Have a look at `escapeUTF8` if you want a more concise output at the expense
16
+ * of reduced transportability.
17
+ *
18
+ * @param data String to escape.
19
+ */
20
+ export declare const escape: typeof encodeXML;
21
+ /**
22
+ * Encodes all characters not valid in XML documents using XML entities.
23
+ *
24
+ * Note that the output will be character-set dependent.
25
+ *
26
+ * @param data String to escape.
27
+ */
28
+ export declare const escapeUTF8: (data: string) => string;
29
+ /**
30
+ * Encodes all characters that have to be escaped in HTML attributes,
31
+ * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
32
+ *
33
+ * @param data String to escape.
34
+ */
35
+ export declare const escapeAttribute: (data: string) => string;
36
+ /**
37
+ * Encodes all characters that have to be escaped in HTML text,
38
+ * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
39
+ *
40
+ * @param data String to escape.
41
+ */
42
+ export declare const escapeText: (data: string) => string;
43
+ //# sourceMappingURL=escape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["escape.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAAyB,CAAC;AAWlD,eAAO,MAAM,YAAY,QAGT,MAAM,SAAS,MAAM,KAAG,MAQD,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0B7C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,kBAAY,CAAC;AA2BhC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,SA7Bb,MAAM,KAAK,MA6BuC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SArClB,MAAM,KAAK,MA4CpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SApDb,MAAM,KAAK,MA4DpB,CAAC"}
package/lib/escape.js ADDED
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;
4
+ exports.xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
5
+ var xmlCodeMap = new Map([
6
+ [34, "&quot;"],
7
+ [38, "&amp;"],
8
+ [39, "&apos;"],
9
+ [60, "&lt;"],
10
+ [62, "&gt;"],
11
+ ]);
12
+ // For compatibility with node < 4, we wrap `codePointAt`
13
+ exports.getCodePoint =
14
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
15
+ String.prototype.codePointAt != null
16
+ ? function (str, index) { return str.codePointAt(index); }
17
+ : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
18
+ function (c, index) {
19
+ return (c.charCodeAt(index) & 0xfc00) === 0xd800
20
+ ? (c.charCodeAt(index) - 0xd800) * 0x400 +
21
+ c.charCodeAt(index + 1) -
22
+ 0xdc00 +
23
+ 0x10000
24
+ : c.charCodeAt(index);
25
+ };
26
+ /**
27
+ * Encodes all non-ASCII characters, as well as characters not valid in XML
28
+ * documents using XML entities.
29
+ *
30
+ * If a character has no equivalent entity, a
31
+ * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
32
+ */
33
+ function encodeXML(str) {
34
+ var ret = "";
35
+ var lastIdx = 0;
36
+ var match;
37
+ while ((match = exports.xmlReplacer.exec(str)) !== null) {
38
+ var i = match.index;
39
+ var char = str.charCodeAt(i);
40
+ var next = xmlCodeMap.get(char);
41
+ if (next !== undefined) {
42
+ ret += str.substring(lastIdx, i) + next;
43
+ lastIdx = i + 1;
44
+ }
45
+ else {
46
+ ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports.getCodePoint)(str, i).toString(16), ";");
47
+ // Increase by 1 if we have a surrogate pair
48
+ lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);
49
+ }
50
+ }
51
+ return ret + str.substr(lastIdx);
52
+ }
53
+ exports.encodeXML = encodeXML;
54
+ /**
55
+ * Encodes all non-ASCII characters, as well as characters not valid in XML
56
+ * documents using numeric hexadecimal reference (eg. `&#xfc;`).
57
+ *
58
+ * Have a look at `escapeUTF8` if you want a more concise output at the expense
59
+ * of reduced transportability.
60
+ *
61
+ * @param data String to escape.
62
+ */
63
+ exports.escape = encodeXML;
64
+ function getEscaper(regex, map) {
65
+ return function escape(data) {
66
+ var match;
67
+ var lastIdx = 0;
68
+ var result = "";
69
+ while ((match = regex.exec(data))) {
70
+ if (lastIdx !== match.index) {
71
+ result += data.substring(lastIdx, match.index);
72
+ }
73
+ // We know that this chararcter will be in the map.
74
+ result += map.get(match[0].charCodeAt(0));
75
+ // Every match will be of length 1
76
+ lastIdx = match.index + 1;
77
+ }
78
+ return result + data.substring(lastIdx);
79
+ };
80
+ }
81
+ /**
82
+ * Encodes all characters not valid in XML documents using XML entities.
83
+ *
84
+ * Note that the output will be character-set dependent.
85
+ *
86
+ * @param data String to escape.
87
+ */
88
+ exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap);
89
+ /**
90
+ * Encodes all characters that have to be escaped in HTML attributes,
91
+ * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
92
+ *
93
+ * @param data String to escape.
94
+ */
95
+ exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
96
+ [34, "&quot;"],
97
+ [38, "&amp;"],
98
+ [160, "&nbsp;"],
99
+ ]));
100
+ /**
101
+ * Encodes all characters that have to be escaped in HTML text,
102
+ * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
103
+ *
104
+ * @param data String to escape.
105
+ */
106
+ exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
107
+ [38, "&amp;"],
108
+ [60, "&lt;"],
109
+ [62, "&gt;"],
110
+ [160, "&nbsp;"],
111
+ ]));
112
+ //# sourceMappingURL=escape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape.js","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["escape.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,sBAAsB,CAAC;AAElD,IAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACvB,CAAC,EAAE,EAAE,QAAQ,CAAC;IACd,CAAC,EAAE,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,EAAE,QAAQ,CAAC;IACd,CAAC,EAAE,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,yDAAyD;AAC5C,QAAA,YAAY;AACrB,uEAAuE;AACvE,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI;IAChC,CAAC,CAAC,UAAC,GAAW,EAAE,KAAa,IAAa,OAAA,GAAG,CAAC,WAAW,CAAC,KAAK,CAAE,EAAvB,CAAuB;IACjE,CAAC,CAAC,uEAAuE;QACvE,UAAC,CAAS,EAAE,KAAa;YACrB,OAAA,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM;gBACrC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK;oBACtC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;oBACvB,MAAM;oBACN,OAAO;gBACT,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;QALzB,CAKyB,CAAC;AAExC;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,GAAW;IACjC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,mBAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7C,IAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,IAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACxC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACnB;aAAM;YACH,GAAG,IAAI,UAAG,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAM,IAAA,oBAAY,EACjD,GAAG,EACH,CAAC,CACJ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAG,CAAC;YAClB,4CAA4C;YAC5C,OAAO,GAAG,mBAAW,CAAC,SAAS,IAAI,MAAM,CACrC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,MAAM,CAC7B,CAAC;SACL;KACJ;IAED,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AA1BD,8BA0BC;AAED;;;;;;;;GAQG;AACU,QAAA,MAAM,GAAG,SAAS,CAAC;AAEhC,SAAS,UAAU,CACf,KAAa,EACb,GAAwB;IAExB,OAAO,SAAS,MAAM,CAAC,IAAY;QAC/B,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/B,IAAI,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE;gBACzB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;aAClD;YAED,mDAAmD;YACnD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;YAE3C,kCAAkC;YAClC,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAC7B;QAED,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACU,QAAA,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAE7D;;;;;GAKG;AACU,QAAA,eAAe,GAAG,UAAU,CACrC,aAAa,EACb,IAAI,GAAG,CAAC;IACJ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACd,CAAC,EAAE,EAAE,OAAO,CAAC;IACb,CAAC,GAAG,EAAE,QAAQ,CAAC;CAClB,CAAC,CACL,CAAC;AAEF;;;;;GAKG;AACU,QAAA,UAAU,GAAG,UAAU,CAChC,cAAc,EACd,IAAI,GAAG,CAAC;IACJ,CAAC,EAAE,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,QAAQ,CAAC;CAClB,CAAC,CACL,CAAC"}
@@ -2,6 +2,7 @@ import htmlDecodeTree from "./generated/decode-data-html.js";
2
2
  import xmlDecodeTree from "./generated/decode-data-xml.js";
3
3
  import decodeCodePoint from "./decode_codepoint.js";
4
4
  export { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };
5
+ export { replaceCodePoint, fromCodePoint } from "./decode_codepoint.js";
5
6
  export declare enum BinTrieFlags {
6
7
  VALUE_LENGTH = 49152,
7
8
  BRANCH_LENGTH = 16256,
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/decode.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAc1D,oBAAY,YAAY;IACpB,YAAY,QAAwB;IACpC,aAAa,QAAwB;IACrC,UAAU,MAAwB;CACrC;AA8GD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACb,MAAM,CAsCR;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["decode.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAcxE,oBAAY,YAAY;IACpB,YAAY,QAAwB;IACpC,aAAa,QAAwB;IACrC,UAAU,MAAwB;CACrC;AA8GD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACb,MAAM,CAsCR;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}