UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

44 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeCharacters = void 0; const constants_1 = require("../constants"); const escapeCharacters = (inputString, engine) => { if (typeof inputString === 'number') return inputString; // In the context if pass a number instead, return. let value = inputString.replace( // eslint-disable-next-line no-control-regex /(\\")|(\\')|[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => { switch (char) { case '\0': return '\\\\0'; case '\x08': return '\\\\b'; case '\x09': return '\\\\t'; case '\x1a': return '\\\\z'; case '\n': return '\\\\n'; case '\r': return '\\\\r'; case '"': case "'": case '\\': case '%': // prepends a backslash to backslash, percent, and double/single quotes return '\\' + char; case '\\"': case `\\'`: return char; default: return ''; } }); value = `'${value}'`; if (engine === constants_1.ENGINES.POSTGRESQL) { return `E${value}`; } return value; }; exports.escapeCharacters = escapeCharacters; //# sourceMappingURL=escapeCharacters.js.map