UNPKG

@technobuddha/library

Version:
28 lines (27 loc) 1.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeHTML = void 0; var build_1 = __importDefault(require("../build")); var splitChars_1 = __importDefault(require("../splitChars")); /** * Escape a string for use in HTML * * @param input The string to escape * @param __namedParameters see {@link Options} */ function escapeHTML(input, _a) { var _b = _a === void 0 ? {} : _a, _c = _b.escapeNonAscii, escapeNonAscii = _c === void 0 ? false : _c; return build_1.default(splitChars_1.default(input).map(function (c) { var _a; return (_a = entities[c]) !== null && _a !== void 0 ? _a : ((c < '\u0020' || (c > '\u007E' && c < '\u00a0')) || (escapeNonAscii && c > '\u007F') ? "&#" + c.codePointAt(0) + ";" : c); })); } exports.escapeHTML = escapeHTML; var entities = Object.freeze({ '"': '&quot;', '&': '&amp;', "'": '&apos;', '<': '&lt;', '>': '&gt;', }); exports.default = escapeHTML;