@technobuddha/library
Version:
A large library of useful functions
28 lines (27 loc) • 1.09 kB
JavaScript
;
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({
'"': '"',
'&': '&',
"'": ''',
'<': '<',
'>': '>',
});
exports.default = escapeHTML;