entities 4.2.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.
- package/lib/decode.d.ts +3 -2
- package/lib/decode.d.ts.map +1 -1
- package/lib/decode.js +25 -34
- package/lib/decode.js.map +1 -1
- package/lib/decode_codepoint.d.ts +1 -0
- package/lib/decode_codepoint.d.ts.map +1 -1
- package/lib/decode_codepoint.js +3 -3
- package/lib/decode_codepoint.js.map +1 -1
- package/lib/encode.d.ts +0 -40
- package/lib/encode.d.ts.map +1 -1
- package/lib/encode.js +45 -95
- package/lib/encode.js.map +1 -1
- package/lib/escape.d.ts +43 -0
- package/lib/escape.d.ts.map +1 -0
- package/lib/escape.js +112 -0
- package/lib/escape.js.map +1 -0
- package/lib/esm/decode.d.ts +3 -2
- package/lib/esm/decode.d.ts.map +1 -1
- package/lib/esm/decode.js +22 -9
- package/lib/esm/decode.js.map +1 -1
- package/lib/esm/decode_codepoint.d.ts +1 -0
- package/lib/esm/decode_codepoint.d.ts.map +1 -1
- package/lib/esm/decode_codepoint.js +1 -1
- package/lib/esm/decode_codepoint.js.map +1 -1
- package/lib/esm/encode.d.ts +0 -40
- package/lib/esm/encode.d.ts.map +1 -1
- package/lib/esm/encode.js +39 -91
- package/lib/esm/encode.js.map +1 -1
- package/lib/esm/escape.d.ts +43 -0
- package/lib/esm/escape.d.ts.map +1 -0
- package/lib/esm/escape.js +106 -0
- package/lib/esm/escape.js.map +1 -0
- package/lib/esm/generated/decode-data-html.d.ts.map +1 -1
- package/lib/esm/generated/decode-data-html.js.map +1 -1
- package/lib/esm/generated/decode-data-xml.d.ts.map +1 -1
- package/lib/esm/generated/decode-data-xml.js.map +1 -1
- package/lib/esm/generated/encode-html.d.ts.map +1 -1
- package/lib/esm/generated/encode-html.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +4 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/generated/decode-data-html.d.ts.map +1 -1
- package/lib/generated/decode-data-html.js.map +1 -1
- package/lib/generated/decode-data-xml.d.ts.map +1 -1
- package/lib/generated/decode-data-xml.js.map +1 -1
- package/lib/generated/encode-html.d.ts.map +1 -1
- package/lib/generated/encode-html.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -10
- package/lib/index.js.map +1 -1
- package/package.json +8 -4
- package/lib/encode-trie.d.ts +0 -3
- package/lib/encode-trie.d.ts.map +0 -1
- package/lib/encode-trie.js +0 -66
- package/lib/encode-trie.js.map +0 -1
- package/lib/esm/encode-trie.d.ts +0 -3
- package/lib/esm/encode-trie.d.ts.map +0 -1
- package/lib/esm/encode-trie.js +0 -57
- package/lib/esm/encode-trie.js.map +0 -1
package/lib/esm/decode.js
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
import htmlDecodeTree from "./generated/decode-data-html.js";
|
|
2
2
|
import xmlDecodeTree from "./generated/decode-data-xml.js";
|
|
3
|
-
import
|
|
3
|
+
import decodeCodePoint from "./decode_codepoint.js";
|
|
4
4
|
// Re-export for use by eg. htmlparser2
|
|
5
|
-
export { htmlDecodeTree, xmlDecodeTree, decodeCodePoint
|
|
5
|
+
export { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };
|
|
6
|
+
export { replaceCodePoint, fromCodePoint } from "./decode_codepoint.js";
|
|
7
|
+
var CharCodes;
|
|
8
|
+
(function (CharCodes) {
|
|
9
|
+
CharCodes[CharCodes["NUM"] = 35] = "NUM";
|
|
10
|
+
CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
|
|
11
|
+
CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
|
|
12
|
+
CharCodes[CharCodes["NINE"] = 57] = "NINE";
|
|
13
|
+
CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
|
|
14
|
+
CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
|
|
15
|
+
CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
|
|
16
|
+
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
|
|
17
|
+
CharCodes[CharCodes["To_LOWER_BIT"] = 32] = "To_LOWER_BIT";
|
|
18
|
+
})(CharCodes || (CharCodes = {}));
|
|
6
19
|
export var BinTrieFlags;
|
|
7
20
|
(function (BinTrieFlags) {
|
|
8
21
|
BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
|
|
@@ -20,26 +33,26 @@ function getDecoder(decodeTree) {
|
|
|
20
33
|
// Skip the "&"
|
|
21
34
|
strIdx += 1;
|
|
22
35
|
// If we have a numeric entity, handle this separately.
|
|
23
|
-
if (str.charCodeAt(strIdx) ===
|
|
36
|
+
if (str.charCodeAt(strIdx) === CharCodes.NUM) {
|
|
24
37
|
// Skip the leading "&#". For hex entities, also skip the leading "x".
|
|
25
38
|
let start = strIdx + 1;
|
|
26
39
|
let base = 10;
|
|
27
40
|
let cp = str.charCodeAt(start);
|
|
28
|
-
if ((cp |
|
|
41
|
+
if ((cp | CharCodes.To_LOWER_BIT) === CharCodes.LOWER_X) {
|
|
29
42
|
base = 16;
|
|
30
43
|
strIdx += 1;
|
|
31
44
|
start += 1;
|
|
32
45
|
}
|
|
33
46
|
do
|
|
34
47
|
cp = str.charCodeAt(++strIdx);
|
|
35
|
-
while ((cp >=
|
|
48
|
+
while ((cp >= CharCodes.ZERO && cp <= CharCodes.NINE) ||
|
|
36
49
|
(base === 16 &&
|
|
37
|
-
(cp |
|
|
38
|
-
(cp |
|
|
50
|
+
(cp | CharCodes.To_LOWER_BIT) >= CharCodes.LOWER_A &&
|
|
51
|
+
(cp | CharCodes.To_LOWER_BIT) <= CharCodes.LOWER_F));
|
|
39
52
|
if (start !== strIdx) {
|
|
40
53
|
const entity = str.substring(start, strIdx);
|
|
41
54
|
const parsed = parseInt(entity, base);
|
|
42
|
-
if (str.charCodeAt(strIdx) ===
|
|
55
|
+
if (str.charCodeAt(strIdx) === CharCodes.SEMI) {
|
|
43
56
|
strIdx += 1;
|
|
44
57
|
}
|
|
45
58
|
else if (strict) {
|
|
@@ -63,7 +76,7 @@ function getDecoder(decodeTree) {
|
|
|
63
76
|
// If the branch is a value, store it and continue
|
|
64
77
|
if (masked) {
|
|
65
78
|
// If we have a legacy entity while parsing strictly, just skip the number of bytes
|
|
66
|
-
if (!strict || str.charCodeAt(strIdx) ===
|
|
79
|
+
if (!strict || str.charCodeAt(strIdx) === CharCodes.SEMI) {
|
|
67
80
|
resultIdx = treeIdx;
|
|
68
81
|
excess = 0;
|
|
69
82
|
}
|
package/lib/esm/decode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.js","sourceRoot":"","sources":["
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode_codepoint.d.ts","sourceRoot":"","sources":["
|
|
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"}
|
|
@@ -30,7 +30,7 @@ const decodeMap = new Map([
|
|
|
30
30
|
[158, 382],
|
|
31
31
|
[159, 376],
|
|
32
32
|
]);
|
|
33
|
-
const fromCodePoint =
|
|
33
|
+
export const fromCodePoint =
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
|
|
35
35
|
(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {
|
|
36
36
|
let output = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode_codepoint.js","sourceRoot":"","sources":["
|
|
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,MAAM,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,MAAM,CAAC,MAAM,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,MAAM,UAAU,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;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,SAAiB;IACrD,OAAO,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC"}
|
package/lib/esm/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. `ü`) 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. `ü`) 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. `ü`).
|
|
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
|
package/lib/esm/encode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["
|
|
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/esm/encode.js
CHANGED
|
@@ -1,40 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import htmlTrie from "./generated/encode-html.js";
|
|
2
|
+
import { xmlReplacer, getCodePoint } from "./escape.js";
|
|
2
3
|
const htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
|
|
3
|
-
const xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
|
|
4
|
-
const xmlCodeMap = new Map([
|
|
5
|
-
[34, """],
|
|
6
|
-
[38, "&"],
|
|
7
|
-
[39, "'"],
|
|
8
|
-
[60, "<"],
|
|
9
|
-
[62, ">"],
|
|
10
|
-
]);
|
|
11
|
-
/**
|
|
12
|
-
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
13
|
-
* documents using XML entities.
|
|
14
|
-
*
|
|
15
|
-
* If a character has no equivalent entity, a
|
|
16
|
-
* numeric hexadecimal reference (eg. `ü`) will be used.
|
|
17
|
-
*/
|
|
18
|
-
export function encodeXML(str) {
|
|
19
|
-
let ret = "";
|
|
20
|
-
let lastIdx = 0;
|
|
21
|
-
let match;
|
|
22
|
-
while ((match = xmlReplacer.exec(str)) !== null) {
|
|
23
|
-
const i = match.index;
|
|
24
|
-
const char = str.charCodeAt(i);
|
|
25
|
-
const next = xmlCodeMap.get(char);
|
|
26
|
-
if (next !== undefined) {
|
|
27
|
-
ret += str.substring(lastIdx, i) + next;
|
|
28
|
-
lastIdx = i + 1;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;
|
|
32
|
-
// Increase by 1 if we have a surrogate pair
|
|
33
|
-
lastIdx = xmlReplacer.lastIndex += Number((char & 65408) === 0xd800);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return ret + str.substr(lastIdx);
|
|
37
|
-
}
|
|
38
4
|
/**
|
|
39
5
|
* Encodes all entities and non-ASCII characters in the input.
|
|
40
6
|
*
|
|
@@ -58,62 +24,44 @@ export function encodeHTML(data) {
|
|
|
58
24
|
export function encodeNonAsciiHTML(data) {
|
|
59
25
|
return encodeHTMLTrieRe(xmlReplacer, data);
|
|
60
26
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
27
|
+
function encodeHTMLTrieRe(regExp, str) {
|
|
28
|
+
let ret = "";
|
|
29
|
+
let lastIdx = 0;
|
|
30
|
+
let match;
|
|
31
|
+
while ((match = regExp.exec(str)) !== null) {
|
|
32
|
+
const i = match.index;
|
|
33
|
+
ret += str.substring(lastIdx, i);
|
|
34
|
+
const char = str.charCodeAt(i);
|
|
35
|
+
let next = htmlTrie.get(char);
|
|
36
|
+
if (typeof next === "object") {
|
|
37
|
+
// We are in a branch. Try to match the next char.
|
|
38
|
+
if (i + 1 < str.length) {
|
|
39
|
+
const nextChar = str.charCodeAt(i + 1);
|
|
40
|
+
const value = typeof next.n === "number"
|
|
41
|
+
? next.n === nextChar
|
|
42
|
+
? next.o
|
|
43
|
+
: undefined
|
|
44
|
+
: next.n.get(nextChar);
|
|
45
|
+
if (value !== undefined) {
|
|
46
|
+
ret += value;
|
|
47
|
+
lastIdx = regExp.lastIndex += 1;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
79
50
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
51
|
+
next = next.v;
|
|
52
|
+
}
|
|
53
|
+
// We might have a tree node without a value; skip and use a numeric entitiy.
|
|
54
|
+
if (next !== undefined) {
|
|
55
|
+
ret += next;
|
|
56
|
+
lastIdx = i + 1;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const cp = getCodePoint(str, i);
|
|
60
|
+
ret += `&#x${cp.toString(16)};`;
|
|
61
|
+
// Increase by 1 if we have a surrogate pair
|
|
62
|
+
lastIdx = regExp.lastIndex += Number(cp !== char);
|
|
84
63
|
}
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
}
|
|
65
|
+
return ret + str.substr(lastIdx);
|
|
87
66
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Encodes all characters not valid in XML documents using XML entities.
|
|
90
|
-
*
|
|
91
|
-
* Note that the output will be character-set dependent.
|
|
92
|
-
*
|
|
93
|
-
* @param data String to escape.
|
|
94
|
-
*/
|
|
95
|
-
export const escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap);
|
|
96
|
-
/**
|
|
97
|
-
* Encodes all characters that have to be escaped in HTML attributes,
|
|
98
|
-
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
99
|
-
*
|
|
100
|
-
* @param data String to escape.
|
|
101
|
-
*/
|
|
102
|
-
export const escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
|
|
103
|
-
[34, """],
|
|
104
|
-
[38, "&"],
|
|
105
|
-
[160, " "],
|
|
106
|
-
]));
|
|
107
|
-
/**
|
|
108
|
-
* Encodes all characters that have to be escaped in HTML text,
|
|
109
|
-
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
110
|
-
*
|
|
111
|
-
* @param data String to escape.
|
|
112
|
-
*/
|
|
113
|
-
export const escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
|
|
114
|
-
[38, "&"],
|
|
115
|
-
[60, "<"],
|
|
116
|
-
[62, ">"],
|
|
117
|
-
[160, " "],
|
|
118
|
-
]));
|
|
119
67
|
//# sourceMappingURL=encode.js.map
|
package/lib/esm/encode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["encode.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC3C,OAAO,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;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,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,QAAQ,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,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,MAAM,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,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,GAAG,IAAI,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,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. `ü`) 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. `ü`).
|
|
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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export const xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
|
|
2
|
+
const xmlCodeMap = new Map([
|
|
3
|
+
[34, """],
|
|
4
|
+
[38, "&"],
|
|
5
|
+
[39, "'"],
|
|
6
|
+
[60, "<"],
|
|
7
|
+
[62, ">"],
|
|
8
|
+
]);
|
|
9
|
+
// For compatibility with node < 4, we wrap `codePointAt`
|
|
10
|
+
export const getCodePoint =
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
12
|
+
String.prototype.codePointAt != null
|
|
13
|
+
? (str, index) => str.codePointAt(index)
|
|
14
|
+
: // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
|
15
|
+
(c, index) => (c.charCodeAt(index) & 0xfc00) === 0xd800
|
|
16
|
+
? (c.charCodeAt(index) - 0xd800) * 0x400 +
|
|
17
|
+
c.charCodeAt(index + 1) -
|
|
18
|
+
0xdc00 +
|
|
19
|
+
0x10000
|
|
20
|
+
: c.charCodeAt(index);
|
|
21
|
+
/**
|
|
22
|
+
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
23
|
+
* documents using XML entities.
|
|
24
|
+
*
|
|
25
|
+
* If a character has no equivalent entity, a
|
|
26
|
+
* numeric hexadecimal reference (eg. `ü`) will be used.
|
|
27
|
+
*/
|
|
28
|
+
export function encodeXML(str) {
|
|
29
|
+
let ret = "";
|
|
30
|
+
let lastIdx = 0;
|
|
31
|
+
let match;
|
|
32
|
+
while ((match = xmlReplacer.exec(str)) !== null) {
|
|
33
|
+
const i = match.index;
|
|
34
|
+
const char = str.charCodeAt(i);
|
|
35
|
+
const next = xmlCodeMap.get(char);
|
|
36
|
+
if (next !== undefined) {
|
|
37
|
+
ret += str.substring(lastIdx, i) + next;
|
|
38
|
+
lastIdx = i + 1;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;
|
|
42
|
+
// Increase by 1 if we have a surrogate pair
|
|
43
|
+
lastIdx = xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return ret + str.substr(lastIdx);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
50
|
+
* documents using numeric hexadecimal reference (eg. `ü`).
|
|
51
|
+
*
|
|
52
|
+
* Have a look at `escapeUTF8` if you want a more concise output at the expense
|
|
53
|
+
* of reduced transportability.
|
|
54
|
+
*
|
|
55
|
+
* @param data String to escape.
|
|
56
|
+
*/
|
|
57
|
+
export const escape = encodeXML;
|
|
58
|
+
function getEscaper(regex, map) {
|
|
59
|
+
return function escape(data) {
|
|
60
|
+
let match;
|
|
61
|
+
let lastIdx = 0;
|
|
62
|
+
let result = "";
|
|
63
|
+
while ((match = regex.exec(data))) {
|
|
64
|
+
if (lastIdx !== match.index) {
|
|
65
|
+
result += data.substring(lastIdx, match.index);
|
|
66
|
+
}
|
|
67
|
+
// We know that this chararcter will be in the map.
|
|
68
|
+
result += map.get(match[0].charCodeAt(0));
|
|
69
|
+
// Every match will be of length 1
|
|
70
|
+
lastIdx = match.index + 1;
|
|
71
|
+
}
|
|
72
|
+
return result + data.substring(lastIdx);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Encodes all characters not valid in XML documents using XML entities.
|
|
77
|
+
*
|
|
78
|
+
* Note that the output will be character-set dependent.
|
|
79
|
+
*
|
|
80
|
+
* @param data String to escape.
|
|
81
|
+
*/
|
|
82
|
+
export const escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap);
|
|
83
|
+
/**
|
|
84
|
+
* Encodes all characters that have to be escaped in HTML attributes,
|
|
85
|
+
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
86
|
+
*
|
|
87
|
+
* @param data String to escape.
|
|
88
|
+
*/
|
|
89
|
+
export const escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
|
|
90
|
+
[34, """],
|
|
91
|
+
[38, "&"],
|
|
92
|
+
[160, " "],
|
|
93
|
+
]));
|
|
94
|
+
/**
|
|
95
|
+
* Encodes all characters that have to be escaped in HTML text,
|
|
96
|
+
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
97
|
+
*
|
|
98
|
+
* @param data String to escape.
|
|
99
|
+
*/
|
|
100
|
+
export const escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
|
|
101
|
+
[38, "&"],
|
|
102
|
+
[60, "<"],
|
|
103
|
+
[62, ">"],
|
|
104
|
+
[160, " "],
|
|
105
|
+
]));
|
|
106
|
+
//# 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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-data-html.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"decode-data-html.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/entities/f85d378bc4dbe36a3a7b0f757114d3d71f950d31/src/","sources":["generated/decode-data-html.ts"],"names":[],"mappings":";AAEA,wBAAivgE"}
|