summaryrefslogtreecommitdiff
path: root/school/node_modules/html-entities/lib/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/html-entities/lib/index.js')
-rw-r--r--school/node_modules/html-entities/lib/index.js198
1 files changed, 198 insertions, 0 deletions
diff --git a/school/node_modules/html-entities/lib/index.js b/school/node_modules/html-entities/lib/index.js
new file mode 100644
index 0000000..150733b
--- /dev/null
+++ b/school/node_modules/html-entities/lib/index.js
@@ -0,0 +1,198 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var named_references_1 = require("./named-references");
+var numeric_unicode_map_1 = require("./numeric-unicode-map");
+var surrogate_pairs_1 = require("./surrogate-pairs");
+var allNamedReferences = __assign(__assign({}, named_references_1.namedReferences), { all: named_references_1.namedReferences.html5 });
+var encodeRegExps = {
+ specialChars: /[<>'"&]/g,
+ nonAscii: /(?:[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
+ nonAsciiPrintable: /(?:[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
+ extensive: /(?:[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g
+};
+var defaultEncodeOptions = {
+ mode: 'specialChars',
+ level: 'all',
+ numeric: 'decimal'
+};
+/** Encodes all the necessary (specified by `level`) characters in the text */
+function encode(text, _a) {
+ var _b = _a === void 0 ? defaultEncodeOptions : _a, _c = _b.mode, mode = _c === void 0 ? 'specialChars' : _c, _d = _b.numeric, numeric = _d === void 0 ? 'decimal' : _d, _e = _b.level, level = _e === void 0 ? 'all' : _e;
+ if (!text) {
+ return '';
+ }
+ var encodeRegExp = encodeRegExps[mode];
+ var references = allNamedReferences[level].characters;
+ var isHex = numeric === 'hexadecimal';
+ encodeRegExp.lastIndex = 0;
+ var _b = encodeRegExp.exec(text);
+ var _c;
+ if (_b) {
+ _c = '';
+ var _d = 0;
+ do {
+ if (_d !== _b.index) {
+ _c += text.substring(_d, _b.index);
+ }
+ var _e = _b[0];
+ var result_1 = references[_e];
+ if (!result_1) {
+ var code_1 = _e.length > 1 ? surrogate_pairs_1.getCodePoint(_e, 0) : _e.charCodeAt(0);
+ result_1 = (isHex ? '&#x' + code_1.toString(16) : '&#' + code_1) + ';';
+ }
+ _c += result_1;
+ _d = _b.index + _e.length;
+ } while ((_b = encodeRegExp.exec(text)));
+ if (_d !== text.length) {
+ _c += text.substring(_d);
+ }
+ }
+ else {
+ _c =
+ text;
+ }
+ return _c;
+}
+exports.encode = encode;
+var defaultDecodeOptions = {
+ scope: 'body',
+ level: 'all'
+};
+var strict = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g;
+var attribute = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;
+var baseDecodeRegExps = {
+ xml: {
+ strict: strict,
+ attribute: attribute,
+ body: named_references_1.bodyRegExps.xml
+ },
+ html4: {
+ strict: strict,
+ attribute: attribute,
+ body: named_references_1.bodyRegExps.html4
+ },
+ html5: {
+ strict: strict,
+ attribute: attribute,
+ body: named_references_1.bodyRegExps.html5
+ }
+};
+var decodeRegExps = __assign(__assign({}, baseDecodeRegExps), { all: baseDecodeRegExps.html5 });
+var fromCharCode = String.fromCharCode;
+var outOfBoundsChar = fromCharCode(65533);
+var defaultDecodeEntityOptions = {
+ level: 'all'
+};
+/** Decodes a single entity */
+function decodeEntity(entity, _a) {
+ var _b = (_a === void 0 ? defaultDecodeEntityOptions : _a).level, level = _b === void 0 ? 'all' : _b;
+ if (!entity) {
+ return '';
+ }
+ var _b = entity;
+ var decodeEntityLastChar_1 = entity[entity.length - 1];
+ if (false
+ && decodeEntityLastChar_1 === '=') {
+ _b =
+ entity;
+ }
+ else if (false
+ && decodeEntityLastChar_1 !== ';') {
+ _b =
+ entity;
+ }
+ else {
+ var decodeResultByReference_1 = allNamedReferences[level].entities[entity];
+ if (decodeResultByReference_1) {
+ _b = decodeResultByReference_1;
+ }
+ else if (entity[0] === '&' && entity[1] === '#') {
+ var decodeSecondChar_1 = entity[2];
+ var decodeCode_1 = decodeSecondChar_1 == 'x' || decodeSecondChar_1 == 'X'
+ ? parseInt(entity.substr(3), 16)
+ : parseInt(entity.substr(2));
+ _b =
+ decodeCode_1 >= 0x10ffff
+ ? outOfBoundsChar
+ : decodeCode_1 > 65535
+ ? surrogate_pairs_1.fromCodePoint(decodeCode_1)
+ : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_1] || decodeCode_1);
+ }
+ }
+ return _b;
+}
+exports.decodeEntity = decodeEntity;
+/** Decodes all entities in the text */
+function decode(text, _a) {
+ var decodeSecondChar_1 = _a === void 0 ? defaultDecodeOptions : _a, decodeCode_1 = decodeSecondChar_1.level, level = decodeCode_1 === void 0 ? 'all' : decodeCode_1, _b = decodeSecondChar_1.scope, scope = _b === void 0 ? level === 'xml' ? 'strict' : 'body' : _b;
+ if (!text) {
+ return '';
+ }
+ var decodeRegExp = decodeRegExps[level][scope];
+ var references = allNamedReferences[level].entities;
+ var isAttribute = scope === 'attribute';
+ var isStrict = scope === 'strict';
+ decodeRegExp.lastIndex = 0;
+ var replaceMatch_1 = decodeRegExp.exec(text);
+ var replaceResult_1;
+ if (replaceMatch_1) {
+ replaceResult_1 = '';
+ var replaceLastIndex_1 = 0;
+ do {
+ if (replaceLastIndex_1 !== replaceMatch_1.index) {
+ replaceResult_1 += text.substring(replaceLastIndex_1, replaceMatch_1.index);
+ }
+ var replaceInput_1 = replaceMatch_1[0];
+ var decodeResult_1 = replaceInput_1;
+ var decodeEntityLastChar_2 = replaceInput_1[replaceInput_1.length - 1];
+ if (isAttribute
+ && decodeEntityLastChar_2 === '=') {
+ decodeResult_1 = replaceInput_1;
+ }
+ else if (isStrict
+ && decodeEntityLastChar_2 !== ';') {
+ decodeResult_1 = replaceInput_1;
+ }
+ else {
+ var decodeResultByReference_2 = references[replaceInput_1];
+ if (decodeResultByReference_2) {
+ decodeResult_1 = decodeResultByReference_2;
+ }
+ else if (replaceInput_1[0] === '&' && replaceInput_1[1] === '#') {
+ var decodeSecondChar_2 = replaceInput_1[2];
+ var decodeCode_2 = decodeSecondChar_2 == 'x' || decodeSecondChar_2 == 'X'
+ ? parseInt(replaceInput_1.substr(3), 16)
+ : parseInt(replaceInput_1.substr(2));
+ decodeResult_1 =
+ decodeCode_2 >= 0x10ffff
+ ? outOfBoundsChar
+ : decodeCode_2 > 65535
+ ? surrogate_pairs_1.fromCodePoint(decodeCode_2)
+ : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_2] || decodeCode_2);
+ }
+ }
+ replaceResult_1 += decodeResult_1;
+ replaceLastIndex_1 = replaceMatch_1.index + replaceInput_1.length;
+ } while ((replaceMatch_1 = decodeRegExp.exec(text)));
+ if (replaceLastIndex_1 !== text.length) {
+ replaceResult_1 += text.substring(replaceLastIndex_1);
+ }
+ }
+ else {
+ replaceResult_1 =
+ text;
+ }
+ return replaceResult_1;
+}
+exports.decode = decode;