UNPKG

@edgeguideab/expect

Version:

Check for user input in a consistent way and generate error messages for missings

61 lines (60 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.containsUnsafe = exports.sanitize = exports.isNull = exports.parseFunctionWrapper = exports.parseType = exports.getDeepOptions = exports.getDeep = exports.isEqualTo = exports.formatParameter = void 0; var getDeep_1 = require("./getDeep"); Object.defineProperty(exports, "getDeep", { enumerable: true, get: function () { return getDeep_1.getDeep; } }); Object.defineProperty(exports, "getDeepOptions", { enumerable: true, get: function () { return getDeep_1.getDeepOptions; } }); var isEqualTo_1 = require("./isEqualTo"); Object.defineProperty(exports, "isEqualTo", { enumerable: true, get: function () { return isEqualTo_1.isEqualTo; } }); var parse_1 = require("./parse"); Object.defineProperty(exports, "parseFunctionWrapper", { enumerable: true, get: function () { return parse_1.parseFunctionWrapper; } }); Object.defineProperty(exports, "parseType", { enumerable: true, get: function () { return parse_1.parseType; } }); function formatParameter(parameter) { return Array.isArray(parameter) ? parameter.join(".") : parameter; } exports.formatParameter = formatParameter; var htmlEntityMap = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&apos;", "!": "&excl;", "@": "&commat;", $: "&dollar;", "(": "&lpar;", ")": "&rpar;", "=": "&equals;", "+": "&plus;", "{": "&lbrace;", "}": "&rbrace;", "[": "&lbrack;", "]": "&rbrack;", }; var nonStrictSubset = ["&", "<", ">", '"', "'"]; function containsUnsafe(_a) { var value = _a.value, strict = _a.strict, _b = _a.allowed, allowed = _b === void 0 ? [] : _b; return Array.from(value).some(function (character) { if (!strict && !nonStrictSubset.includes(character)) return false; if (allowed.includes(character)) return false; return htmlEntityMap[character] !== undefined; }); } exports.containsUnsafe = containsUnsafe; function sanitize(_a) { var value = _a.value, strict = _a.strict, _b = _a.allowed, allowed = _b === void 0 ? [] : _b; return Array.from(value).reduce(function (sanitized, char) { return !htmlEntityMap[char] || allowed.includes(char) || (!strict && !nonStrictSubset.includes(char)) ? "" + sanitized + char : "" + sanitized + htmlEntityMap[char]; }, ""); } exports.sanitize = sanitize; function isNull(value) { return value == null || value === ""; } exports.isNull = isNull;