'use strict'; // based on code from Brian White @mscdex mariasql library - https://github.com/mscdex/node-mariasql/blob/master/lib/Client.js#L272-L332 // License: https://github.com/mscdex/node-mariasql/blob/master/LICENSE const RE_PARAM = /(?:\?)|(?::(\d+|(?:[a-zA-Z][a-zA-Z0-9_]*)))/g, DQUOTE = 34, SQUOTE = 39, BSLASH = 92; function parse(query) { let ppos = RE_PARAM.exec(query); let curpos = 0; let start = 0; let end; const parts = []; let inQuote = false; let escape = false; let qchr; const tokens = []; let qcnt = 0; let lastTokenEndPos = 0; let i; if (ppos) { do { for (i=curpos,end=ppos.index; i params[n])]; } module.exports = createCompiler; module.exports.toNumbered = toNumbered;