diff --git a/src/utils.js b/src/utils.js index 8c2152e..ed2a92d 100644 --- a/src/utils.js +++ b/src/utils.js @@ -50,52 +50,20 @@ export function get_type(thing) { return Object.prototype.toString.call(thing).slice(8, -1); } -/** @param {string} char */ -function get_escaped_char(char) { - switch (char) { - case '"': - return '\\"'; - case '<': - return '\\u003C'; - case '\\': - return '\\\\'; - case '\n': - return '\\n'; - case '\r': - return '\\r'; - case '\t': - return '\\t'; - case '\b': - return '\\b'; - case '\f': - return '\\f'; - case '\u2028': - return '\\u2028'; - case '\u2029': - return '\\u2029'; - default: - return char < ' ' - ? `\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}` - : ''; - } -} - +const escape_chars = /["<\\\n\r\t\b\f\u2028\u2029\x00-\x1f]/ +const u2028_all = /\u2028/g; +const u2029_all = /\u2029/g; +const lt_all = /} object */