| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.stripSlashes = exports.removeSlashes = void 0; |
| const get_unescaped_any_js_1 = require("./get-unescaped-any.js"); |
| const removeSlashes = (source, options = {}) => { |
| const { getUnescaped = get_unescaped_any_js_1.getUnescapedAny } = options; |
| const rx = /(?:(\\(u([0-9a-f]{4})|u\{([0-9a-f]+)\}|x([0-9a-f]{2})|(\d{1,3})|([\s\S]|$)))|([\s\S]))/giu; |
| let match; |
| let result = ''; |
| while (null != (match = rx.exec(source))) { |
| const [, sequence, fallback, unicode, unicodePoint, hex, octal, char, literal] = match; |
| if (literal) { |
| result += literal; |
| continue; |
| } |
| let code; |
| if (char != null) { |
| code = null; |
| } |
| else if (octal) { |
| code = Number.parseInt(octal, 8); |
| } |
| else { |
| code = Number.parseInt((unicodePoint || unicode || hex), 16); |
| } |
| try { |
| const unescaped = getUnescaped(sequence, code); |
| if (!unescaped) { |
| result += fallback; |
| } |
| else if (unescaped === true) { |
| result += (0, get_unescaped_any_js_1.getUnescapedAny)(sequence, code) || fallback; |
| } |
| else { |
| result += unescaped; |
| } |
| } |
| catch (_error) { |
| result += fallback; |
| } |
| } |
| return result; |
| }; |
| exports.removeSlashes = removeSlashes; |
| const stripSlashes = removeSlashes; |
| exports.stripSlashes = stripSlashes; |
| //# sourceMappingURL=remove-slashes.js.map |