| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | "use strict";var __importDefault = (this && this.__importDefault) || function (mod) {    return (mod && mod.__esModule) ? mod : { "default": mod };};Object.defineProperty(exports, "__esModule", { value: true });exports.encodeNonAsciiHTML = exports.encodeHTML = void 0;var encode_html_js_1 = __importDefault(require("./generated/encode-html.js"));var escape_js_1 = require("./escape.js");var htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;/** * Encodes all characters in the input using HTML entities. This includes * characters that are valid ASCII characters in HTML documents, such as `#`. * * To get a more compact output, consider using the `encodeNonAsciiHTML` * function, which will only encode characters that are not valid in HTML * documents, as well as non-ASCII characters. * * If a character has no equivalent entity, a numeric hexadecimal reference * (eg. `ü`) will be used. */function encodeHTML(data) {    return encodeHTMLTrieRe(htmlReplacer, data);}exports.encodeHTML = encodeHTML;/** * Encodes all non-ASCII characters, as well as characters not valid in HTML * documents using HTML entities. This function will not encode characters that * are valid in HTML documents, such as `#`. * * If a character has no equivalent entity, a numeric hexadecimal reference * (eg. `ü`) will be used. */function encodeNonAsciiHTML(data) {    return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);}exports.encodeNonAsciiHTML = encodeNonAsciiHTML;function encodeHTMLTrieRe(regExp, str) {    var ret = "";    var lastIdx = 0;    var match;    while ((match = regExp.exec(str)) !== null) {        var i = match.index;        ret += str.substring(lastIdx, i);        var char = str.charCodeAt(i);        var next = encode_html_js_1.default.get(char);        if (typeof next === "object") {            // We are in a branch. Try to match the next char.            if (i + 1 < str.length) {                var nextChar = str.charCodeAt(i + 1);                var value = typeof next.n === "number"                    ? next.n === nextChar                        ? next.o                        : undefined                    : next.n.get(nextChar);                if (value !== undefined) {                    ret += value;                    lastIdx = regExp.lastIndex += 1;                    continue;                }            }            next = next.v;        }        // We might have a tree node without a value; skip and use a numeric entity.        if (next !== undefined) {            ret += next;            lastIdx = i + 1;        }        else {            var cp = (0, escape_js_1.getCodePoint)(str, i);            ret += "&#x".concat(cp.toString(16), ";");            // Increase by 1 if we have a surrogate pair            lastIdx = regExp.lastIndex += Number(cp !== char);        }    }    return ret + str.substr(lastIdx);}//# sourceMappingURL=encode.js.map
 |