UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

40 lines 1.25 kB
import { ENGINES } from '../constants'; export 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 === ENGINES.POSTGRESQL) { return `E${value}`; } return value; }; //# sourceMappingURL=escapeCharacters.js.map