dbgate-web 5.2.7-alpha.1 → 5.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(){"use strict";var t,n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},e={},o={};t=o,Object.defineProperty(t,"__esModule",{value:!0}),t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowGoDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),Object.defineProperty(e,"__esModule",{value:!0}),e.splitQuery=e.finishSplitStream=e.getInitialDelimiter=e.splitQueryLine=void 0;const s=o;function r(t,n,i){let{source:e,position:o,line:s,column:r,streamPosition:a}=t;for(;n>0;)"\n"==e[o]?(s+=1,r=0):r+=1,o+=1,a+=1,n-=1;t.position=o,t.streamPosition=a,t.line=s,t.column=r,t.wasDataInCommand||(i?(t.trimCommandStartPosition=a,t.trimCommandStartLine=s,t.trimCommandStartColumn=r):t.wasDataInCommand=!0),i||(t.noWhitePosition=a,t.noWhiteLine=s,t.noWhiteColumn=r)}function a(t,n,i,e){return e?i==e?t[n]==i&&t[n+1]!=i:t[n]==i&&t[n-1]!=e:t[n]==i}const l={type:"whitespace",length:1},m={type:"eoln",length:1},p={type:"data",length:1};function c(t){let n=t.position;const i=t.source,e=i[n];if(t.options.stringsBegins.includes(e)){n++;const o=t.options.stringsEnds[e],s=t.options.stringEscapes[e];for(;n<t.end&&!a(i,n,o,s);)o==s&&i[n]==o&&i[n+1]==o?n+=2:n++;return{type:"string",length:n-t.position+1}}if(t.currentDelimiter&&i.slice(n).startsWith(t.currentDelimiter))return{type:"delimiter",length:t.currentDelimiter.length};if(" "==e||"\t"==e||"\r"==e)return l;if("\n"==e)return m;if(t.options.doubleDashComments&&"-"==e&&"-"==i[n+1]){for(;n<t.end&&"\n"!=i[n];)n++;return{type:"comment",length:n-t.position}}if(t.options.multilineComments&&"/"==e&&"*"==i[n+1]){for(n+=2;n<t.end&&("*"!=i[n]||"/"!=i[n+1]);)n++;return{type:"comment",length:n-t.position+2}}if(t.options.allowCustomDelimiter&&!t.wasDataOnLine){const t=i.slice(n).match(/^DELIMITER[ \t]+([^\n]+)/i);if(t)return{type:"set_delimiter",value:t[1].trim(),length:t[0].length}}if((t.options.allowGoDelimiter||t.options.adaptiveGoSplit)&&!t.wasDataOnLine){const t=i.slice(n).match(/^GO[\t\r ]*(\n|$)/i);if(t)return{type:"go_delimiter",length:t[0].length-1}}if(t.options.adaptiveGoSplit){const t=i.slice(n).match(/^(CREATE|ALTER)\s*(PROCEDURE|FUNCTION|TRIGGER)/i);if(t)return{type:"create_routine",length:t[0].length-1}}const o=function(t){if(!t.options.allowDollarDollarString)return null;let n=t.position;const i=t.source,e=/^(\$[a-zA-Z0-9_]*\$)/.exec(i.slice(n));if(!e)return null;const o=e[1];for(n+=o.length;n<t.end;){if(i.slice(n).startsWith(o))return{type:"string",length:n+o.length-t.position};n++}return null}(t);return o||p}function u(t,n){var i;const e={options:t.options,source:t.source,position:t.position,currentDelimiter:t.currentDelimiter,end:t.end,wasDataOnLine:t.wasDataOnLine};for(e.position+=n.length;e.position<e.end;){const t=c(e);if(t)switch(t.type){case"whitespace":e.position+=t.length;continue;case"eoln":return!1;case"comment":if(null===(i=t.value)||void 0===i?void 0:i.includes("\n"))return!0;e.position+=t.length;continue;default:return!0}else e.position+=1}}function d(t){t.commandPart+=t.source.slice(t.currentCommandStart,t.position),g(t)}function g(t){const n=t.commandPart.substring(t.trimCommandStartPosition-t.commandStartPosition,t.noWhitePosition-t.commandStartPosition);n.trim()&&(t.options.returnRichInfo?t.pushOutput({text:n,start:{position:t.commandStartPosition,line:t.commandStartLine,column:t.commandStartColumn},end:{position:t.streamPosition,line:t.line,column:t.column},trimStart:{position:t.trimCommandStartPosition,line:t.trimCommandStartLine,column:t.trimCommandStartColumn},trimEnd:{position:t.noWhitePosition,line:t.noWhiteLine,column:t.noWhiteColumn}}):t.pushOutput(n))}function S(t){t.commandStartPosition=t.streamPosition,t.commandStartLine=t.line,t.commandStartColumn=t.column,t.trimCommandStartPosition=t.streamPosition,t.trimCommandStartLine=t.line,t.trimCommandStartColumn=t.column,t.wasDataInCommand=!1}function f(t){if(t.options.splitByLines)!function(t){for(;t.position<t.end;)"\n"==t.source[t.position]?(d(t),t.commandPart="",r(t,1,!0),t.currentCommandStart=t.position,S(t)):r(t,1,/\s/.test(t.source[t.position]));t.end>t.currentCommandStart&&(t.commandPart+=t.source.slice(t.currentCommandStart,t.position))}(t);else{for(;t.position<t.end;){const n=c(t);if(n)switch(n.type){case"string":case"data":r(t,n.length,!1),t.wasDataOnLine=!0;break;case"comment":r(t,n.length,!!t.options.ignoreComments),t.wasDataOnLine=!0;break;case"eoln":r(t,n.length,!0),t.wasDataOnLine=!1;break;case"whitespace":r(t,n.length,!0);break;case"set_delimiter":d(t),t.commandPart="",t.currentDelimiter=n.value,r(t,n.length,!1),t.currentCommandStart=t.position,S(t);break;case"go_delimiter":d(t),t.commandPart="",r(t,n.length,!1),t.currentCommandStart=t.position,S(t),t.options.adaptiveGoSplit&&(t.currentDelimiter=";");break;case"create_routine":r(t,n.length,!1),t.options.adaptiveGoSplit&&(t.currentDelimiter=null);break;case"delimiter":if(t.options.preventSingleLineSplit&&u(t,n)){r(t,n.length,!1),t.wasDataOnLine=!0;break}d(t),t.commandPart="",r(t,n.length,!1),t.currentCommandStart=t.position,S(t)}else r(t,1,!1)}t.end>t.currentCommandStart&&(t.commandPart+=t.source.slice(t.currentCommandStart,t.position))}}function h(t){return(null==t?void 0:t.adaptiveGoSplit)?";":!1===(null==t?void 0:t.allowSemicolon)?null:";"}function O(t){g(t)}e.splitQueryLine=f,e.getInitialDelimiter=h,e.finishSplitStream=O,e.splitQuery=function(t,n=null){var i;const e=Object.assign(Object.assign({},s.defaultSplitterOptions),n);if(e.noSplit){if(e.returnRichInfo){const n=t.split("\n");return[{text:t,start:{position:0,line:0,column:0},end:{position:t.length,line:n.length,column:(null===(i=n[n.length-1])||void 0===i?void 0:i.length)||0}}]}return[t]}const o=[],r={source:t,end:t.length,currentDelimiter:h(n),position:0,column:0,line:0,currentCommandStart:0,commandStartLine:0,commandStartColumn:0,commandStartPosition:0,streamPosition:0,noWhiteLine:0,noWhiteColumn:0,noWhitePosition:0,trimCommandStartPosition:0,trimCommandStartLine:0,trimCommandStartColumn:0,wasDataInCommand:!1,pushOutput:t=>o.push(t),wasDataOnLine:!1,options:e,commandPart:""};return f(r),O(r),o},function(t){var i=n&&n.__createBinding||(Object.create?function(t,n,i,e){void 0===e&&(e=i);var o=Object.getOwnPropertyDescriptor(n,i);o&&!("get"in o?!n.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(t,e,o)}:function(t,n,i,e){void 0===e&&(e=i),t[e]=n[i]}),s=n&&n.__exportStar||function(t,n){for(var e in t)"default"===e||Object.prototype.hasOwnProperty.call(n,e)||i(n,t,e)};Object.defineProperty(t,"__esModule",{value:!0}),t.splitQuery=void 0;var r=e;Object.defineProperty(t,"splitQuery",{enumerable:!0,get:function(){return r.splitQuery}}),s(o,t)}(i),onmessage=t=>{const n=i.splitQuery(t.data.text,t.data.options);postMessage(n)}}();
1
+ !function(){"use strict";var t,n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},e={},o={};t=o,Object.defineProperty(t,"__esModule",{value:!0}),t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowGoDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),Object.defineProperty(e,"__esModule",{value:!0}),e.splitQuery=e.finishSplitStream=e.getInitialDelimiter=e.splitQueryLine=void 0;const s=o,r=";";function a(t,n,i){let{source:e,position:o,line:s,column:r,streamPosition:a}=t;for(;n>0;)"\n"==e[o]?(s+=1,r=0):r+=1,o+=1,a+=1,n-=1;t.position=o,t.streamPosition=a,t.line=s,t.column=r,t.wasDataInCommand||(i?(t.trimCommandStartPosition=a,t.trimCommandStartLine=s,t.trimCommandStartColumn=r):t.wasDataInCommand=!0),i||(t.noWhitePosition=a,t.noWhiteLine=s,t.noWhiteColumn=r)}function l(t,n,i,e){return e?i==e?t[n]==i&&t[n+1]!=i:t[n]==i&&t[n-1]!=e:t[n]==i}const m={type:"whitespace",length:1},p={type:"eoln",length:1},c={type:"data",length:1};function u(t){let n=t.position;const i=t.source,e=i[n];if(t.options.stringsBegins.includes(e)){n++;const o=t.options.stringsEnds[e],s=t.options.stringEscapes[e];for(;n<t.end&&!l(i,n,o,s);)o==s&&i[n]==o&&i[n+1]==o?n+=2:n++;return{type:"string",length:n-t.position+1}}if(t.currentDelimiter&&i.slice(n).startsWith(t.currentDelimiter))return{type:"delimiter",length:t.currentDelimiter.length};if(" "==e||"\t"==e||"\r"==e)return m;if("\n"==e)return p;if(t.options.doubleDashComments&&"-"==e&&"-"==i[n+1]){for(;n<t.end&&"\n"!=i[n];)n++;return{type:"comment",length:n-t.position}}if(t.options.multilineComments&&"/"==e&&"*"==i[n+1]){for(n+=2;n<t.end&&("*"!=i[n]||"/"!=i[n+1]);)n++;return{type:"comment",length:n-t.position+2}}if(t.options.allowCustomDelimiter&&!t.wasDataOnLine){const t=i.slice(n).match(/^DELIMITER[ \t]+([^\n]+)/i);if(t)return{type:"set_delimiter",value:t[1].trim(),length:t[0].length}}if((t.options.allowGoDelimiter||t.options.adaptiveGoSplit)&&!t.wasDataOnLine){const t=i.slice(n).match(/^GO[\t\r ]*(\n|$)/i);if(t)return{type:"go_delimiter",length:t[0].length-1}}if(t.options.adaptiveGoSplit){const t=i.slice(n).match(/^(CREATE|ALTER)\s*(PROCEDURE|FUNCTION|TRIGGER)/i);if(t)return{type:"create_routine",length:t[0].length-1}}const o=function(t){if(!t.options.allowDollarDollarString)return null;let n=t.position;const i=t.source,e=/^(\$[a-zA-Z0-9_]*\$)/.exec(i.slice(n));if(!e)return null;const o=e[1];for(n+=o.length;n<t.end;){if(i.slice(n).startsWith(o))return{type:"string",length:n+o.length-t.position};n++}return null}(t);return o||c}function d(t,n){var i;const e={options:t.options,source:t.source,position:t.position,currentDelimiter:t.currentDelimiter,end:t.end,wasDataOnLine:t.wasDataOnLine};for(e.position+=n.length;e.position<e.end;){const t=u(e);if(t)switch(t.type){case"whitespace":e.position+=t.length;continue;case"eoln":return!1;case"comment":if(null===(i=t.value)||void 0===i?void 0:i.includes("\n"))return!0;e.position+=t.length;continue;default:return!0}else e.position+=1}}function g(t){t.commandPart+=t.source.slice(t.currentCommandStart,t.position),S(t)}function S(t){const n=t.commandPart.substring(t.trimCommandStartPosition-t.commandStartPosition,t.noWhitePosition-t.commandStartPosition);n.trim()&&(t.options.returnRichInfo?t.pushOutput({text:n,start:{position:t.commandStartPosition,line:t.commandStartLine,column:t.commandStartColumn},end:{position:t.streamPosition,line:t.line,column:t.column},trimStart:{position:t.trimCommandStartPosition,line:t.trimCommandStartLine,column:t.trimCommandStartColumn},trimEnd:{position:t.noWhitePosition,line:t.noWhiteLine,column:t.noWhiteColumn}}):t.pushOutput(n))}function f(t){t.commandStartPosition=t.streamPosition,t.commandStartLine=t.line,t.commandStartColumn=t.column,t.trimCommandStartPosition=t.streamPosition,t.trimCommandStartLine=t.line,t.trimCommandStartColumn=t.column,t.wasDataInCommand=!1}function h(t){if(t.options.splitByLines)!function(t){for(;t.position<t.end;)"\n"==t.source[t.position]?(g(t),t.commandPart="",a(t,1,!0),t.currentCommandStart=t.position,f(t)):a(t,1,/\s/.test(t.source[t.position]));t.end>t.currentCommandStart&&(t.commandPart+=t.source.slice(t.currentCommandStart,t.position))}(t);else{for(;t.position<t.end;){const n=u(t);if(n)switch(n.type){case"string":case"data":a(t,n.length,!1),t.wasDataOnLine=!0;break;case"comment":a(t,n.length,!!t.options.ignoreComments),t.wasDataOnLine=!0;break;case"eoln":a(t,n.length,!0),t.wasDataOnLine=!1;break;case"whitespace":a(t,n.length,!0);break;case"set_delimiter":g(t),t.commandPart="",t.currentDelimiter=n.value,a(t,n.length,!1),t.currentCommandStart=t.position,f(t);break;case"go_delimiter":g(t),t.commandPart="",a(t,n.length,!1),t.currentCommandStart=t.position,f(t),t.options.adaptiveGoSplit&&(t.currentDelimiter=r);break;case"create_routine":a(t,n.length,!1),t.options.adaptiveGoSplit&&(t.currentDelimiter=null);break;case"delimiter":if(t.options.preventSingleLineSplit&&d(t,n)){a(t,n.length,!1),t.wasDataOnLine=!0;break}g(t),t.commandPart="",a(t,n.length,!1),t.currentCommandStart=t.position,f(t)}else a(t,1,!1)}t.end>t.currentCommandStart&&(t.commandPart+=t.source.slice(t.currentCommandStart,t.position))}}function O(t){return(null==t?void 0:t.adaptiveGoSplit)?r:!1===(null==t?void 0:t.allowSemicolon)?null:r}function C(t){S(t)}e.splitQueryLine=h,e.getInitialDelimiter=O,e.finishSplitStream=C,e.splitQuery=function(t,n=null){var i;const e=Object.assign(Object.assign({},s.defaultSplitterOptions),n);if(e.noSplit){if(e.returnRichInfo){const n=t.split("\n");return[{text:t,start:{position:0,line:0,column:0},end:{position:t.length,line:n.length,column:(null===(i=n[n.length-1])||void 0===i?void 0:i.length)||0}}]}return[t]}const o=[],r={source:t,end:t.length,currentDelimiter:O(n),position:0,column:0,line:0,currentCommandStart:0,commandStartLine:0,commandStartColumn:0,commandStartPosition:0,streamPosition:0,noWhiteLine:0,noWhiteColumn:0,noWhitePosition:0,trimCommandStartPosition:0,trimCommandStartLine:0,trimCommandStartColumn:0,wasDataInCommand:!1,pushOutput:t=>o.push(t),wasDataOnLine:!1,options:e,commandPart:""};return h(r),C(r),o},function(t){var i=n&&n.__createBinding||(Object.create?function(t,n,i,e){void 0===e&&(e=i);var o=Object.getOwnPropertyDescriptor(n,i);o&&!("get"in o?!n.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(t,e,o)}:function(t,n,i,e){void 0===e&&(e=i),t[e]=n[i]}),s=n&&n.__exportStar||function(t,n){for(var e in t)"default"===e||Object.prototype.hasOwnProperty.call(n,e)||i(n,t,e)};Object.defineProperty(t,"__esModule",{value:!0}),t.splitQuery=void 0;var r=e;Object.defineProperty(t,"splitQuery",{enumerable:!0,get:function(){return r.splitQuery}}),s(o,t)}(i),onmessage=t=>{const n=i.splitQuery(t.data.text,t.data.options);postMessage(n)}}();
2
2
  //# sourceMappingURL=query-parser-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-parser-worker.js","sources":["../../../../node_modules/dbgate-query-splitter/lib/options.js","../../../../node_modules/dbgate-query-splitter/lib/splitQuery.js","../../../../node_modules/dbgate-query-splitter/lib/index.js","../../src/query/QueryParserWorker.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.redisSplitterOptions = exports.noSplitSplitterOptions = exports.mongoSplitterOptions = exports.sqliteSplitterOptions = exports.postgreSplitterOptions = exports.mssqlSplitterOptions = exports.mysqlSplitterOptions = exports.defaultSplitterOptions = void 0;\nexports.defaultSplitterOptions = {\n stringsBegins: [\"'\"],\n stringsEnds: { \"'\": \"'\" },\n stringEscapes: { \"'\": \"'\" },\n allowSemicolon: true,\n allowCustomDelimiter: false,\n allowGoDelimiter: false,\n allowDollarDollarString: false,\n noSplit: false,\n doubleDashComments: true,\n multilineComments: true,\n javaScriptComments: false,\n returnRichInfo: false,\n splitByLines: false,\n preventSingleLineSplit: false,\n adaptiveGoSplit: false,\n ignoreComments: false,\n};\nexports.mysqlSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowCustomDelimiter: true, stringsBegins: [\"'\", '`'], stringsEnds: { \"'\": \"'\", '`': '`' }, stringEscapes: { \"'\": '\\\\', '`': '`' } });\nexports.mssqlSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowSemicolon: false, allowGoDelimiter: true, stringsBegins: [\"'\", '['], stringsEnds: { \"'\": \"'\", '[': ']' }, stringEscapes: { \"'\": \"'\" } });\nexports.postgreSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowDollarDollarString: true, stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\nexports.sqliteSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\nexports.mongoSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": '\\\\', '\"': '\\\\' } });\nexports.noSplitSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { noSplit: true });\nexports.redisSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { splitByLines: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitQuery = exports.finishSplitStream = exports.getInitialDelimiter = exports.splitQueryLine = void 0;\nconst options_1 = require(\"./options\");\nconst SEMICOLON = ';';\nfunction movePosition(context, count, isWhite) {\n let { source, position, line, column, streamPosition } = context;\n while (count > 0) {\n if (source[position] == '\\n') {\n line += 1;\n column = 0;\n }\n else {\n column += 1;\n }\n position += 1;\n streamPosition += 1;\n count -= 1;\n }\n context.position = position;\n context.streamPosition = streamPosition;\n context.line = line;\n context.column = column;\n if (!context.wasDataInCommand) {\n if (isWhite) {\n context.trimCommandStartPosition = streamPosition;\n context.trimCommandStartLine = line;\n context.trimCommandStartColumn = column;\n }\n else {\n context.wasDataInCommand = true;\n }\n }\n if (!isWhite) {\n context.noWhitePosition = streamPosition;\n context.noWhiteLine = line;\n context.noWhiteColumn = column;\n }\n}\nfunction isStringEnd(s, pos, endch, escapech) {\n if (!escapech) {\n return s[pos] == endch;\n }\n if (endch == escapech) {\n return s[pos] == endch && s[pos + 1] != endch;\n }\n else {\n return s[pos] == endch && s[pos - 1] != escapech;\n }\n}\nconst WHITESPACE_TOKEN = {\n type: 'whitespace',\n length: 1,\n};\nconst EOLN_TOKEN = {\n type: 'eoln',\n length: 1,\n};\nconst DATA_TOKEN = {\n type: 'data',\n length: 1,\n};\nfunction scanDollarQuotedString(context) {\n if (!context.options.allowDollarDollarString)\n return null;\n let pos = context.position;\n const s = context.source;\n const match = /^(\\$[a-zA-Z0-9_]*\\$)/.exec(s.slice(pos));\n if (!match)\n return null;\n const label = match[1];\n pos += label.length;\n while (pos < context.end) {\n if (s.slice(pos).startsWith(label)) {\n return {\n type: 'string',\n length: pos + label.length - context.position,\n };\n }\n pos++;\n }\n return null;\n}\nfunction scanToken(context) {\n let pos = context.position;\n const s = context.source;\n const ch = s[pos];\n if (context.options.stringsBegins.includes(ch)) {\n pos++;\n const endch = context.options.stringsEnds[ch];\n const escapech = context.options.stringEscapes[ch];\n while (pos < context.end && !isStringEnd(s, pos, endch, escapech)) {\n if (endch == escapech && s[pos] == endch && s[pos + 1] == endch) {\n pos += 2;\n }\n else {\n pos++;\n }\n }\n return {\n type: 'string',\n length: pos - context.position + 1,\n };\n }\n if (context.currentDelimiter && s.slice(pos).startsWith(context.currentDelimiter)) {\n return {\n type: 'delimiter',\n length: context.currentDelimiter.length,\n };\n }\n if (ch == ' ' || ch == '\\t' || ch == '\\r') {\n return WHITESPACE_TOKEN;\n }\n if (ch == '\\n') {\n return EOLN_TOKEN;\n }\n if (context.options.doubleDashComments && ch == '-' && s[pos + 1] == '-') {\n while (pos < context.end && s[pos] != '\\n')\n pos++;\n return {\n type: 'comment',\n length: pos - context.position,\n };\n }\n if (context.options.multilineComments && ch == '/' && s[pos + 1] == '*') {\n pos += 2;\n while (pos < context.end) {\n if (s[pos] == '*' && s[pos + 1] == '/')\n break;\n pos++;\n }\n return {\n type: 'comment',\n length: pos - context.position + 2,\n };\n }\n if (context.options.allowCustomDelimiter && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^DELIMITER[ \\t]+([^\\n]+)/i);\n if (m) {\n return {\n type: 'set_delimiter',\n value: m[1].trim(),\n length: m[0].length,\n };\n }\n }\n if ((context.options.allowGoDelimiter || context.options.adaptiveGoSplit) && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^GO[\\t\\r ]*(\\n|$)/i);\n if (m) {\n return {\n type: 'go_delimiter',\n length: m[0].length - 1,\n };\n }\n }\n if (context.options.adaptiveGoSplit) {\n const m = s.slice(pos).match(/^(CREATE|ALTER)\\s*(PROCEDURE|FUNCTION|TRIGGER)/i);\n if (m) {\n return {\n type: 'create_routine',\n length: m[0].length - 1,\n };\n }\n }\n const dollarString = scanDollarQuotedString(context);\n if (dollarString)\n return dollarString;\n return DATA_TOKEN;\n}\nfunction containsDataAfterDelimiterOnLine(context, delimiter) {\n var _a;\n const cloned = {\n options: context.options,\n source: context.source,\n position: context.position,\n currentDelimiter: context.currentDelimiter,\n end: context.end,\n wasDataOnLine: context.wasDataOnLine,\n };\n cloned.position += delimiter.length;\n while (cloned.position < cloned.end) {\n const token = scanToken(cloned);\n if (!token) {\n cloned.position += 1;\n continue;\n }\n switch (token.type) {\n case 'whitespace':\n cloned.position += token.length;\n continue;\n case 'eoln':\n return false;\n case 'comment':\n if ((_a = token.value) === null || _a === void 0 ? void 0 : _a.includes('\\n'))\n return true;\n cloned.position += token.length;\n continue;\n default:\n return true;\n }\n }\n}\nfunction pushQuery(context) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n pushCurrentQueryPart(context);\n}\nfunction pushCurrentQueryPart(context) {\n const trimmed = context.commandPart.substring(context.trimCommandStartPosition - context.commandStartPosition, context.noWhitePosition - context.commandStartPosition);\n if (trimmed.trim()) {\n if (context.options.returnRichInfo) {\n context.pushOutput({\n text: trimmed,\n start: {\n position: context.commandStartPosition,\n line: context.commandStartLine,\n column: context.commandStartColumn,\n },\n end: {\n position: context.streamPosition,\n line: context.line,\n column: context.column,\n },\n trimStart: {\n position: context.trimCommandStartPosition,\n line: context.trimCommandStartLine,\n column: context.trimCommandStartColumn,\n },\n trimEnd: {\n position: context.noWhitePosition,\n line: context.noWhiteLine,\n column: context.noWhiteColumn,\n },\n });\n }\n else {\n context.pushOutput(trimmed);\n }\n }\n}\nfunction markStartCommand(context) {\n context.commandStartPosition = context.streamPosition;\n context.commandStartLine = context.line;\n context.commandStartColumn = context.column;\n context.trimCommandStartPosition = context.streamPosition;\n context.trimCommandStartLine = context.line;\n context.trimCommandStartColumn = context.column;\n context.wasDataInCommand = false;\n}\nfunction splitByLines(context) {\n while (context.position < context.end) {\n if (context.source[context.position] == '\\n') {\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, 1, true);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n }\n else {\n movePosition(context, 1, /\\s/.test(context.source[context.position]));\n }\n }\n if (context.end > context.currentCommandStart) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n }\n}\nfunction splitQueryLine(context) {\n if (context.options.splitByLines) {\n splitByLines(context);\n return;\n }\n while (context.position < context.end) {\n const token = scanToken(context);\n if (!token) {\n // nothing special, move forward\n movePosition(context, 1, false);\n continue;\n }\n switch (token.type) {\n case 'string':\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n case 'comment':\n movePosition(context, token.length, !!context.options.ignoreComments);\n context.wasDataOnLine = true;\n break;\n case 'eoln':\n movePosition(context, token.length, true);\n context.wasDataOnLine = false;\n break;\n case 'data':\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n case 'whitespace':\n movePosition(context, token.length, true);\n break;\n case 'set_delimiter':\n pushQuery(context);\n context.commandPart = '';\n context.currentDelimiter = token.value;\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'go_delimiter':\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n if (context.options.adaptiveGoSplit) {\n context.currentDelimiter = SEMICOLON;\n }\n break;\n case 'create_routine':\n movePosition(context, token.length, false);\n if (context.options.adaptiveGoSplit) {\n context.currentDelimiter = null;\n }\n break;\n case 'delimiter':\n if (context.options.preventSingleLineSplit && containsDataAfterDelimiterOnLine(context, token)) {\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n }\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n }\n }\n if (context.end > context.currentCommandStart) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n }\n}\nexports.splitQueryLine = splitQueryLine;\nfunction getInitialDelimiter(options) {\n if (options === null || options === void 0 ? void 0 : options.adaptiveGoSplit)\n return SEMICOLON;\n return (options === null || options === void 0 ? void 0 : options.allowSemicolon) === false ? null : SEMICOLON;\n}\nexports.getInitialDelimiter = getInitialDelimiter;\nfunction finishSplitStream(context) {\n pushCurrentQueryPart(context);\n}\nexports.finishSplitStream = finishSplitStream;\nfunction splitQuery(sql, options = null) {\n var _a;\n const usedOptions = Object.assign(Object.assign({}, options_1.defaultSplitterOptions), options);\n if (usedOptions.noSplit) {\n if (usedOptions.returnRichInfo) {\n const lines = sql.split('\\n');\n return [\n {\n text: sql,\n start: {\n position: 0,\n line: 0,\n column: 0,\n },\n end: {\n position: sql.length,\n line: lines.length,\n column: ((_a = lines[lines.length - 1]) === null || _a === void 0 ? void 0 : _a.length) || 0,\n },\n },\n ];\n }\n return [sql];\n }\n const output = [];\n const context = {\n source: sql,\n end: sql.length,\n currentDelimiter: getInitialDelimiter(options),\n position: 0,\n column: 0,\n line: 0,\n currentCommandStart: 0,\n commandStartLine: 0,\n commandStartColumn: 0,\n commandStartPosition: 0,\n streamPosition: 0,\n noWhiteLine: 0,\n noWhiteColumn: 0,\n noWhitePosition: 0,\n trimCommandStartPosition: 0,\n trimCommandStartLine: 0,\n trimCommandStartColumn: 0,\n wasDataInCommand: false,\n pushOutput: cmd => output.push(cmd),\n wasDataOnLine: false,\n options: usedOptions,\n commandPart: '',\n };\n splitQueryLine(context);\n finishSplitStream(context);\n return output;\n}\nexports.splitQuery = splitQuery;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitQuery = void 0;\nvar splitQuery_1 = require(\"./splitQuery\");\nObject.defineProperty(exports, \"splitQuery\", { enumerable: true, get: function () { return splitQuery_1.splitQuery; } });\n__exportStar(require(\"./options\"), exports);\n","import { splitQuery } from 'dbgate-query-splitter';\n\nonmessage = e => {\n const result = splitQuery(e.data.text, e.data.options);\n postMessage(result);\n};\n"],"names":["Object","defineProperty","exports","value","redisSplitterOptions","noSplitSplitterOptions","sqliteSplitterOptions","postgreSplitterOptions","mysqlSplitterOptions","defaultSplitterOptions","stringsBegins","stringsEnds","stringEscapes","allowSemicolon","allowCustomDelimiter","allowGoDelimiter","allowDollarDollarString","noSplit","doubleDashComments","multilineComments","javaScriptComments","returnRichInfo","splitByLines","preventSingleLineSplit","adaptiveGoSplit","ignoreComments","assign","mssqlSplitterOptions","mongoSplitterOptions","splitQuery_1","splitQuery","getInitialDelimiter","splitQueryLine","options_1","require$$0","movePosition","context","count","isWhite","source","position","line","column","streamPosition","wasDataInCommand","trimCommandStartPosition","trimCommandStartLine","trimCommandStartColumn","noWhitePosition","noWhiteLine","noWhiteColumn","isStringEnd","s","pos","endch","escapech","WHITESPACE_TOKEN","type","length","EOLN_TOKEN","DATA_TOKEN","scanToken","ch","options","includes","end","currentDelimiter","slice","startsWith","wasDataOnLine","m","match","trim","dollarString","exec","label","scanDollarQuotedString","containsDataAfterDelimiterOnLine","delimiter","_a","cloned","token","pushQuery","commandPart","currentCommandStart","pushCurrentQueryPart","trimmed","substring","commandStartPosition","pushOutput","text","start","commandStartLine","commandStartColumn","trimStart","trimEnd","markStartCommand","test","finishSplitStream","splitQuery$1","sql","usedOptions","lines","split","output","cmd","push","__createBinding","this","create","o","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","require$$1","onmessage","e","result","data","postMessage"],"mappings":"mMACAA,OAAOC,eAAcC,EAAU,aAAc,CAAEC,OAAO,IACtDD,EAA+BE,qBAAAF,EAAAG,uBAAiCH,uBAA+BA,EAAgCI,sBAAAJ,EAAAK,uBAAiCL,uBAA+BA,EAA+BM,qBAAAN,EAAAO,4BAAiC,EAC/PP,EAAiCO,uBAAA,CAC7BC,cAAe,CAAC,KAChBC,YAAa,CAAE,IAAK,KACpBC,cAAe,CAAE,IAAK,KACtBC,gBAAgB,EAChBC,sBAAsB,EACtBC,kBAAkB,EAClBC,yBAAyB,EACzBC,SAAS,EACTC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,wBAAwB,EACxBC,iBAAiB,EACjBC,gBAAgB,GAEpBvB,EAA+BM,qBAAAR,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAE,EAAExB,EAAQO,wBAAyB,CAAEK,sBAAsB,EAAMJ,cAAe,CAAC,IAAK,KAAMC,YAAa,CAAE,IAAK,IAAK,IAAK,KAAOC,cAAe,CAAE,IAAK,KAAM,IAAK,OAC/NV,EAA+ByB,qBAAA3B,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAE,EAAExB,EAAQO,wBAAyB,CAAEI,gBAAgB,EAAOE,kBAAkB,EAAML,cAAe,CAAC,IAAK,KAAMC,YAAa,CAAE,IAAK,IAAK,IAAK,KAAOC,cAAe,CAAE,IAAK,OACvOV,EAAiCK,uBAAAP,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAE,EAAExB,EAAQO,wBAAyB,CAAEO,yBAAyB,EAAMN,cAAe,CAAC,IAAK,KAAMC,YAAa,CAAE,IAAK,IAAK,IAAK,KAAOC,cAAe,CAAE,IAAK,IAAK,IAAK,OACnOV,EAAgCI,sBAAAN,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAA,EAAIxB,EAAQO,wBAAyB,CAAEC,cAAe,CAAC,IAAK,KAAMC,YAAa,CAAE,IAAK,IAAK,IAAK,KAAOC,cAAe,CAAE,IAAK,IAAK,IAAK,OACnMV,EAA+B0B,qBAAA5B,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAA,EAAIxB,EAAQO,wBAAyB,CAAEC,cAAe,CAAC,IAAK,KAAMC,YAAa,CAAE,IAAK,IAAK,IAAK,KAAOC,cAAe,CAAE,IAAK,KAAM,IAAK,QACnMV,EAAiCG,uBAAAL,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAA,EAAIxB,EAAQO,wBAAyB,CAAEQ,SAAS,IAC7Gf,EAA+BE,qBAAAJ,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAA,EAAIxB,EAAQO,wBAAyB,CAAEa,cAAc,IC1BhHtB,OAAOC,eAAe4B,EAAS,aAAc,CAAE1B,OAAO,IACpC0B,EAAAC,+BAA+BD,EAAAE,oBAAoDF,EAAAG,oBAAG,EACxG,MAAMC,EAAYC,EAElB,SAASC,EAAaC,EAASC,EAAOC,GAClC,IAAIC,OAAEA,EAAMC,SAAEA,EAAQC,KAAEA,EAAIC,OAAEA,EAAMC,eAAEA,GAAmBP,EACzD,KAAOC,EAAQ,GACa,MAApBE,EAAOC,IACPC,GAAQ,EACRC,EAAS,GAGTA,GAAU,EAEdF,GAAY,EACZG,GAAkB,EAClBN,GAAS,EAEbD,EAAQI,SAAWA,EACnBJ,EAAQO,eAAiBA,EACzBP,EAAQK,KAAOA,EACfL,EAAQM,OAASA,EACZN,EAAQQ,mBACLN,GACAF,EAAQS,yBAA2BF,EACnCP,EAAQU,qBAAuBL,EAC/BL,EAAQW,uBAAyBL,GAGjCN,EAAQQ,kBAAmB,GAG9BN,IACDF,EAAQY,gBAAkBL,EAC1BP,EAAQa,YAAcR,EACtBL,EAAQc,cAAgBR,EAEhC,CACA,SAASS,EAAYC,EAAGC,EAAKC,EAAOC,GAChC,OAAKA,EAGDD,GAASC,EACFH,EAAEC,IAAQC,GAASF,EAAEC,EAAM,IAAMC,EAGjCF,EAAEC,IAAQC,GAASF,EAAEC,EAAM,IAAME,EANjCH,EAAEC,IAAQC,CAQzB,CACA,MAAME,EAAmB,CACrBC,KAAM,aACNC,OAAQ,GAENC,EAAa,CACfF,KAAM,OACNC,OAAQ,GAENE,EAAa,CACfH,KAAM,OACNC,OAAQ,GAuBZ,SAASG,EAAUzB,GACf,IAAIiB,EAAMjB,EAAQI,SAClB,MAAMY,EAAIhB,EAAQG,OACZuB,EAAKV,EAAEC,GACb,GAAIjB,EAAQ2B,QAAQrD,cAAcsD,SAASF,GAAK,CAC5CT,IACA,MAAMC,EAAQlB,EAAQ2B,QAAQpD,YAAYmD,GACpCP,EAAWnB,EAAQ2B,QAAQnD,cAAckD,GAC/C,KAAOT,EAAMjB,EAAQ6B,MAAQd,EAAYC,EAAGC,EAAKC,EAAOC,IAChDD,GAASC,GAAYH,EAAEC,IAAQC,GAASF,EAAEC,EAAM,IAAMC,EACtDD,GAAO,EAGPA,IAGR,MAAO,CACHI,KAAM,SACNC,OAAQL,EAAMjB,EAAQI,SAAW,EAExC,CACD,GAAIJ,EAAQ8B,kBAAoBd,EAAEe,MAAMd,GAAKe,WAAWhC,EAAQ8B,kBAC5D,MAAO,CACHT,KAAM,YACNC,OAAQtB,EAAQ8B,iBAAiBR,QAGzC,GAAU,KAANI,GAAmB,MAANA,GAAoB,MAANA,EAC3B,OAAON,EAEX,GAAU,MAANM,EACA,OAAOH,EAEX,GAAIvB,EAAQ2B,QAAQ7C,oBAA4B,KAAN4C,GAA2B,KAAdV,EAAEC,EAAM,GAAW,CACtE,KAAOA,EAAMjB,EAAQ6B,KAAiB,MAAVb,EAAEC,IAC1BA,IACJ,MAAO,CACHI,KAAM,UACNC,OAAQL,EAAMjB,EAAQI,SAE7B,CACD,GAAIJ,EAAQ2B,QAAQ5C,mBAA2B,KAAN2C,GAA2B,KAAdV,EAAEC,EAAM,GAAW,CAErE,IADAA,GAAO,EACAA,EAAMjB,EAAQ6B,MACH,KAAVb,EAAEC,IAA6B,KAAdD,EAAEC,EAAM,KAE7BA,IAEJ,MAAO,CACHI,KAAM,UACNC,OAAQL,EAAMjB,EAAQI,SAAW,EAExC,CACD,GAAIJ,EAAQ2B,QAAQjD,uBAAyBsB,EAAQiC,cAAe,CAChE,MAAMC,EAAIlB,EAAEe,MAAMd,GAAKkB,MAAM,6BAC7B,GAAID,EACA,MAAO,CACHb,KAAM,gBACNtD,MAAOmE,EAAE,GAAGE,OACZd,OAAQY,EAAE,GAAGZ,OAGxB,CACD,IAAKtB,EAAQ2B,QAAQhD,kBAAoBqB,EAAQ2B,QAAQvC,mBAAqBY,EAAQiC,cAAe,CACjG,MAAMC,EAAIlB,EAAEe,MAAMd,GAAKkB,MAAM,sBAC7B,GAAID,EACA,MAAO,CACHb,KAAM,eACNC,OAAQY,EAAE,GAAGZ,OAAS,EAGjC,CACD,GAAItB,EAAQ2B,QAAQvC,gBAAiB,CACjC,MAAM8C,EAAIlB,EAAEe,MAAMd,GAAKkB,MAAM,mDAC7B,GAAID,EACA,MAAO,CACHb,KAAM,iBACNC,OAAQY,EAAE,GAAGZ,OAAS,EAGjC,CACD,MAAMe,EAtGV,SAAgCrC,GAC5B,IAAKA,EAAQ2B,QAAQ/C,wBACjB,OAAO,KACX,IAAIqC,EAAMjB,EAAQI,SAClB,MAAMY,EAAIhB,EAAQG,OACZgC,EAAQ,uBAAuBG,KAAKtB,EAAEe,MAAMd,IAClD,IAAKkB,EACD,OAAO,KACX,MAAMI,EAAQJ,EAAM,GAEpB,IADAlB,GAAOsB,EAAMjB,OACNL,EAAMjB,EAAQ6B,KAAK,CACtB,GAAIb,EAAEe,MAAMd,GAAKe,WAAWO,GACxB,MAAO,CACHlB,KAAM,SACNC,OAAQL,EAAMsB,EAAMjB,OAAStB,EAAQI,UAG7Ca,GACH,CACD,OAAO,IACX,CAkFyBuB,CAAuBxC,GAC5C,OAAIqC,GAEGb,CACX,CACA,SAASiB,EAAiCzC,EAAS0C,GAC/C,IAAIC,EACJ,MAAMC,EAAS,CACXjB,QAAS3B,EAAQ2B,QACjBxB,OAAQH,EAAQG,OAChBC,SAAUJ,EAAQI,SAClB0B,iBAAkB9B,EAAQ8B,iBAC1BD,IAAK7B,EAAQ6B,IACbI,cAAejC,EAAQiC,eAG3B,IADAW,EAAOxC,UAAYsC,EAAUpB,OACtBsB,EAAOxC,SAAWwC,EAAOf,KAAK,CACjC,MAAMgB,EAAQpB,EAAUmB,GACxB,GAAKC,EAIL,OAAQA,EAAMxB,MACV,IAAK,aACDuB,EAAOxC,UAAYyC,EAAMvB,OACzB,SACJ,IAAK,OACD,OAAO,EACX,IAAK,UACD,GAA2B,QAAtBqB,EAAKE,EAAM9E,aAA0B,IAAP4E,OAAgB,EAASA,EAAGf,SAAS,MACpE,OAAO,EACXgB,EAAOxC,UAAYyC,EAAMvB,OACzB,SACJ,QACI,OAAO,OAfXsB,EAAOxC,UAAY,CAiB1B,CACL,CACA,SAAS0C,EAAU9C,GACfA,EAAQ+C,aAAe/C,EAAQG,OAAO4B,MAAM/B,EAAQgD,oBAAqBhD,EAAQI,UACjF6C,EAAqBjD,EACzB,CACA,SAASiD,EAAqBjD,GAC1B,MAAMkD,EAAUlD,EAAQ+C,YAAYI,UAAUnD,EAAQS,yBAA2BT,EAAQoD,qBAAsBpD,EAAQY,gBAAkBZ,EAAQoD,sBAC7IF,EAAQd,SACJpC,EAAQ2B,QAAQ1C,eAChBe,EAAQqD,WAAW,CACfC,KAAMJ,EACNK,MAAO,CACHnD,SAAUJ,EAAQoD,qBAClB/C,KAAML,EAAQwD,iBACdlD,OAAQN,EAAQyD,oBAEpB5B,IAAK,CACDzB,SAAUJ,EAAQO,eAClBF,KAAML,EAAQK,KACdC,OAAQN,EAAQM,QAEpBoD,UAAW,CACPtD,SAAUJ,EAAQS,yBAClBJ,KAAML,EAAQU,qBACdJ,OAAQN,EAAQW,wBAEpBgD,QAAS,CACLvD,SAAUJ,EAAQY,gBAClBP,KAAML,EAAQa,YACdP,OAAQN,EAAQc,iBAKxBd,EAAQqD,WAAWH,GAG/B,CACA,SAASU,EAAiB5D,GACtBA,EAAQoD,qBAAuBpD,EAAQO,eACvCP,EAAQwD,iBAAmBxD,EAAQK,KACnCL,EAAQyD,mBAAqBzD,EAAQM,OACrCN,EAAQS,yBAA2BT,EAAQO,eAC3CP,EAAQU,qBAAuBV,EAAQK,KACvCL,EAAQW,uBAAyBX,EAAQM,OACzCN,EAAQQ,kBAAmB,CAC/B,CAkBA,SAASZ,EAAeI,GACpB,GAAIA,EAAQ2B,QAAQzC,cAlBxB,SAAsBc,GAClB,KAAOA,EAAQI,SAAWJ,EAAQ6B,KACU,MAApC7B,EAAQG,OAAOH,EAAQI,WACvB0C,EAAU9C,GACVA,EAAQ+C,YAAc,GACtBhD,EAAaC,EAAS,GAAG,GACzBA,EAAQgD,oBAAsBhD,EAAQI,SACtCwD,EAAiB5D,IAGjBD,EAAaC,EAAS,EAAG,KAAK6D,KAAK7D,EAAQG,OAAOH,EAAQI,YAG9DJ,EAAQ6B,IAAM7B,EAAQgD,sBACtBhD,EAAQ+C,aAAe/C,EAAQG,OAAO4B,MAAM/B,EAAQgD,oBAAqBhD,EAAQI,UAEzF,CAGQlB,CAAac,OADjB,CAIA,KAAOA,EAAQI,SAAWJ,EAAQ6B,KAAK,CACnC,MAAMgB,EAAQpB,EAAUzB,GACxB,GAAK6C,EAKL,OAAQA,EAAMxB,MACV,IAAK,SAYL,IAAK,OACDtB,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQiC,eAAgB,EACxB,MAXJ,IAAK,UACDlC,EAAaC,EAAS6C,EAAMvB,SAAUtB,EAAQ2B,QAAQtC,gBACtDW,EAAQiC,eAAgB,EACxB,MACJ,IAAK,OACDlC,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQiC,eAAgB,EACxB,MAKJ,IAAK,aACDlC,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpC,MACJ,IAAK,gBACDwB,EAAU9C,GACVA,EAAQ+C,YAAc,GACtB/C,EAAQ8B,iBAAmBe,EAAM9E,MACjCgC,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQgD,oBAAsBhD,EAAQI,SACtCwD,EAAiB5D,GACjB,MACJ,IAAK,eACD8C,EAAU9C,GACVA,EAAQ+C,YAAc,GACtBhD,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQgD,oBAAsBhD,EAAQI,SACtCwD,EAAiB5D,GACbA,EAAQ2B,QAAQvC,kBAChBY,EAAQ8B,iBApTV,KAsTF,MACJ,IAAK,iBACD/B,EAAaC,EAAS6C,EAAMvB,QAAQ,GAChCtB,EAAQ2B,QAAQvC,kBAChBY,EAAQ8B,iBAAmB,MAE/B,MACJ,IAAK,YACD,GAAI9B,EAAQ2B,QAAQxC,wBAA0BsD,EAAiCzC,EAAS6C,GAAQ,CAC5F9C,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQiC,eAAgB,EACxB,KACH,CACDa,EAAU9C,GACVA,EAAQ+C,YAAc,GACtBhD,EAAaC,EAAS6C,EAAMvB,QAAQ,GACpCtB,EAAQgD,oBAAsBhD,EAAQI,SACtCwD,EAAiB5D,QAzDrBD,EAAaC,EAAS,GAAG,EA4DhC,CACGA,EAAQ6B,IAAM7B,EAAQgD,sBACtBhD,EAAQ+C,aAAe/C,EAAQG,OAAO4B,MAAM/B,EAAQgD,oBAAqBhD,EAAQI,UAnEpF,CAqEL,CAEA,SAAST,EAAoBgC,GACzB,OAAIA,aAAyC,EAASA,EAAQvC,iBAjVhD,KAmVwE,KAA9EuC,aAAyC,EAASA,EAAQlD,gBAA4B,KAnVhF,GAoVlB,CAEA,SAASqF,EAAkB9D,GACvBiD,EAAqBjD,EACzB,CATsB+D,EAAAnE,eAAGA,EAMEmE,EAAApE,oBAAGA,EAILoE,EAAAD,kBAAGA,EAsD5BC,EAAArE,WArDA,SAAoBsE,EAAKrC,EAAU,MAC/B,IAAIgB,EACJ,MAAMsB,EAAcrG,OAAO0B,OAAO1B,OAAO0B,OAAO,CAAE,EAAEO,EAAUxB,wBAAyBsD,GACvF,GAAIsC,EAAYpF,QAAS,CACrB,GAAIoF,EAAYhF,eAAgB,CAC5B,MAAMiF,EAAQF,EAAIG,MAAM,MACxB,MAAO,CACH,CACIb,KAAMU,EACNT,MAAO,CACHnD,SAAU,EACVC,KAAM,EACNC,OAAQ,GAEZuB,IAAK,CACDzB,SAAU4D,EAAI1C,OACdjB,KAAM6D,EAAM5C,OACZhB,QAA4C,QAAlCqC,EAAKuB,EAAMA,EAAM5C,OAAS,UAAuB,IAAPqB,OAAgB,EAASA,EAAGrB,SAAW,IAI1G,CACD,MAAO,CAAC0C,EACX,CACD,MAAMI,EAAS,GACTpE,EAAU,CACZG,OAAQ6D,EACRnC,IAAKmC,EAAI1C,OACTQ,iBAAkBnC,EAAoBgC,GACtCvB,SAAU,EACVE,OAAQ,EACRD,KAAM,EACN2C,oBAAqB,EACrBQ,iBAAkB,EAClBC,mBAAoB,EACpBL,qBAAsB,EACtB7C,eAAgB,EAChBM,YAAa,EACbC,cAAe,EACfF,gBAAiB,EACjBH,yBAA0B,EAC1BC,qBAAsB,EACtBC,uBAAwB,EACxBH,kBAAkB,EAClB6C,WAAYgB,GAAOD,EAAOE,KAAKD,GAC/BpC,eAAe,EACfN,QAASsC,EACTlB,YAAa,IAIjB,OAFAnD,EAAeI,GACf8D,EAAkB9D,GACXoE,CACX,cCjZA,IAAIG,EAAmBC,GAAQA,EAAKD,kBAAqB3G,OAAO6G,OAAM,SAAaC,EAAGxC,EAAGyC,EAAGC,QAC7EC,IAAPD,IAAkBA,EAAKD,GAC3B,IAAIG,EAAOlH,OAAOmH,yBAAyB7C,EAAGyC,GACzCG,KAAS,QAASA,GAAQ5C,EAAE8C,WAAaF,EAAKG,UAAYH,EAAKI,gBAClEJ,EAAO,CAAEK,YAAY,EAAMC,IAAK,WAAa,OAAOlD,EAAEyC,EAAG,IAE3D/G,OAAOC,eAAe6G,EAAGE,EAAIE,EAChC,EAAA,SAAcJ,EAAGxC,EAAGyC,EAAGC,QACTC,IAAPD,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM1C,EAAEyC,EACb,GACGU,EAAgBb,GAAQA,EAAKa,cAAiB,SAASnD,EAAGpE,GAC1D,IAAK,IAAIwH,KAAKpD,EAAa,YAANoD,GAAoB1H,OAAO2H,UAAUC,eAAeC,KAAK3H,EAASwH,IAAIf,EAAgBzG,EAASoE,EAAGoD,EAC3H,EACA1H,OAAOC,eAAcC,EAAU,aAAc,CAAEC,OAAO,IACtDD,EAAqB4B,gBAAA,EACrB,IAAID,EAAeK,EACnBlC,OAAOC,eAAeC,EAAS,aAAc,CAAEqH,YAAY,EAAMC,IAAK,WAAc,OAAO3F,EAAaC,UAAW,IACnH2F,EAAaK,EAAsB5H,OCjBnC6H,UAAYC,IACV,MAAMC,EAASnG,EAAUA,WAACkG,EAAEE,KAAKxC,KAAMsC,EAAEE,KAAKnE,SAC9CoE,YAAYF,EAAO"}
1
+ {"version":3,"file":"query-parser-worker.js","sources":["../../../../node_modules/dbgate-query-splitter/lib/options.js","../../../../node_modules/dbgate-query-splitter/lib/splitQuery.js","../../../../node_modules/dbgate-query-splitter/lib/index.js","../../src/query/QueryParserWorker.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.redisSplitterOptions = exports.noSplitSplitterOptions = exports.mongoSplitterOptions = exports.sqliteSplitterOptions = exports.postgreSplitterOptions = exports.mssqlSplitterOptions = exports.mysqlSplitterOptions = exports.defaultSplitterOptions = void 0;\nexports.defaultSplitterOptions = {\n stringsBegins: [\"'\"],\n stringsEnds: { \"'\": \"'\" },\n stringEscapes: { \"'\": \"'\" },\n allowSemicolon: true,\n allowCustomDelimiter: false,\n allowGoDelimiter: false,\n allowDollarDollarString: false,\n noSplit: false,\n doubleDashComments: true,\n multilineComments: true,\n javaScriptComments: false,\n returnRichInfo: false,\n splitByLines: false,\n preventSingleLineSplit: false,\n adaptiveGoSplit: false,\n ignoreComments: false,\n};\nexports.mysqlSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowCustomDelimiter: true, stringsBegins: [\"'\", '`'], stringsEnds: { \"'\": \"'\", '`': '`' }, stringEscapes: { \"'\": '\\\\', '`': '`' } });\nexports.mssqlSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowSemicolon: false, allowGoDelimiter: true, stringsBegins: [\"'\", '['], stringsEnds: { \"'\": \"'\", '[': ']' }, stringEscapes: { \"'\": \"'\" } });\nexports.postgreSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowDollarDollarString: true, stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\nexports.sqliteSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\nexports.mongoSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": '\\\\', '\"': '\\\\' } });\nexports.noSplitSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { noSplit: true });\nexports.redisSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { splitByLines: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitQuery = exports.finishSplitStream = exports.getInitialDelimiter = exports.splitQueryLine = void 0;\nconst options_1 = require(\"./options\");\nconst SEMICOLON = ';';\nfunction movePosition(context, count, isWhite) {\n let { source, position, line, column, streamPosition } = context;\n while (count > 0) {\n if (source[position] == '\\n') {\n line += 1;\n column = 0;\n }\n else {\n column += 1;\n }\n position += 1;\n streamPosition += 1;\n count -= 1;\n }\n context.position = position;\n context.streamPosition = streamPosition;\n context.line = line;\n context.column = column;\n if (!context.wasDataInCommand) {\n if (isWhite) {\n context.trimCommandStartPosition = streamPosition;\n context.trimCommandStartLine = line;\n context.trimCommandStartColumn = column;\n }\n else {\n context.wasDataInCommand = true;\n }\n }\n if (!isWhite) {\n context.noWhitePosition = streamPosition;\n context.noWhiteLine = line;\n context.noWhiteColumn = column;\n }\n}\nfunction isStringEnd(s, pos, endch, escapech) {\n if (!escapech) {\n return s[pos] == endch;\n }\n if (endch == escapech) {\n return s[pos] == endch && s[pos + 1] != endch;\n }\n else {\n return s[pos] == endch && s[pos - 1] != escapech;\n }\n}\nconst WHITESPACE_TOKEN = {\n type: 'whitespace',\n length: 1,\n};\nconst EOLN_TOKEN = {\n type: 'eoln',\n length: 1,\n};\nconst DATA_TOKEN = {\n type: 'data',\n length: 1,\n};\nfunction scanDollarQuotedString(context) {\n if (!context.options.allowDollarDollarString)\n return null;\n let pos = context.position;\n const s = context.source;\n const match = /^(\\$[a-zA-Z0-9_]*\\$)/.exec(s.slice(pos));\n if (!match)\n return null;\n const label = match[1];\n pos += label.length;\n while (pos < context.end) {\n if (s.slice(pos).startsWith(label)) {\n return {\n type: 'string',\n length: pos + label.length - context.position,\n };\n }\n pos++;\n }\n return null;\n}\nfunction scanToken(context) {\n let pos = context.position;\n const s = context.source;\n const ch = s[pos];\n if (context.options.stringsBegins.includes(ch)) {\n pos++;\n const endch = context.options.stringsEnds[ch];\n const escapech = context.options.stringEscapes[ch];\n while (pos < context.end && !isStringEnd(s, pos, endch, escapech)) {\n if (endch == escapech && s[pos] == endch && s[pos + 1] == endch) {\n pos += 2;\n }\n else {\n pos++;\n }\n }\n return {\n type: 'string',\n length: pos - context.position + 1,\n };\n }\n if (context.currentDelimiter && s.slice(pos).startsWith(context.currentDelimiter)) {\n return {\n type: 'delimiter',\n length: context.currentDelimiter.length,\n };\n }\n if (ch == ' ' || ch == '\\t' || ch == '\\r') {\n return WHITESPACE_TOKEN;\n }\n if (ch == '\\n') {\n return EOLN_TOKEN;\n }\n if (context.options.doubleDashComments && ch == '-' && s[pos + 1] == '-') {\n while (pos < context.end && s[pos] != '\\n')\n pos++;\n return {\n type: 'comment',\n length: pos - context.position,\n };\n }\n if (context.options.multilineComments && ch == '/' && s[pos + 1] == '*') {\n pos += 2;\n while (pos < context.end) {\n if (s[pos] == '*' && s[pos + 1] == '/')\n break;\n pos++;\n }\n return {\n type: 'comment',\n length: pos - context.position + 2,\n };\n }\n if (context.options.allowCustomDelimiter && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^DELIMITER[ \\t]+([^\\n]+)/i);\n if (m) {\n return {\n type: 'set_delimiter',\n value: m[1].trim(),\n length: m[0].length,\n };\n }\n }\n if ((context.options.allowGoDelimiter || context.options.adaptiveGoSplit) && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^GO[\\t\\r ]*(\\n|$)/i);\n if (m) {\n return {\n type: 'go_delimiter',\n length: m[0].length - 1,\n };\n }\n }\n if (context.options.adaptiveGoSplit) {\n const m = s.slice(pos).match(/^(CREATE|ALTER)\\s*(PROCEDURE|FUNCTION|TRIGGER)/i);\n if (m) {\n return {\n type: 'create_routine',\n length: m[0].length - 1,\n };\n }\n }\n const dollarString = scanDollarQuotedString(context);\n if (dollarString)\n return dollarString;\n return DATA_TOKEN;\n}\nfunction containsDataAfterDelimiterOnLine(context, delimiter) {\n var _a;\n const cloned = {\n options: context.options,\n source: context.source,\n position: context.position,\n currentDelimiter: context.currentDelimiter,\n end: context.end,\n wasDataOnLine: context.wasDataOnLine,\n };\n cloned.position += delimiter.length;\n while (cloned.position < cloned.end) {\n const token = scanToken(cloned);\n if (!token) {\n cloned.position += 1;\n continue;\n }\n switch (token.type) {\n case 'whitespace':\n cloned.position += token.length;\n continue;\n case 'eoln':\n return false;\n case 'comment':\n if ((_a = token.value) === null || _a === void 0 ? void 0 : _a.includes('\\n'))\n return true;\n cloned.position += token.length;\n continue;\n default:\n return true;\n }\n }\n}\nfunction pushQuery(context) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n pushCurrentQueryPart(context);\n}\nfunction pushCurrentQueryPart(context) {\n const trimmed = context.commandPart.substring(context.trimCommandStartPosition - context.commandStartPosition, context.noWhitePosition - context.commandStartPosition);\n if (trimmed.trim()) {\n if (context.options.returnRichInfo) {\n context.pushOutput({\n text: trimmed,\n start: {\n position: context.commandStartPosition,\n line: context.commandStartLine,\n column: context.commandStartColumn,\n },\n end: {\n position: context.streamPosition,\n line: context.line,\n column: context.column,\n },\n trimStart: {\n position: context.trimCommandStartPosition,\n line: context.trimCommandStartLine,\n column: context.trimCommandStartColumn,\n },\n trimEnd: {\n position: context.noWhitePosition,\n line: context.noWhiteLine,\n column: context.noWhiteColumn,\n },\n });\n }\n else {\n context.pushOutput(trimmed);\n }\n }\n}\nfunction markStartCommand(context) {\n context.commandStartPosition = context.streamPosition;\n context.commandStartLine = context.line;\n context.commandStartColumn = context.column;\n context.trimCommandStartPosition = context.streamPosition;\n context.trimCommandStartLine = context.line;\n context.trimCommandStartColumn = context.column;\n context.wasDataInCommand = false;\n}\nfunction splitByLines(context) {\n while (context.position < context.end) {\n if (context.source[context.position] == '\\n') {\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, 1, true);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n }\n else {\n movePosition(context, 1, /\\s/.test(context.source[context.position]));\n }\n }\n if (context.end > context.currentCommandStart) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n }\n}\nfunction splitQueryLine(context) {\n if (context.options.splitByLines) {\n splitByLines(context);\n return;\n }\n while (context.position < context.end) {\n const token = scanToken(context);\n if (!token) {\n // nothing special, move forward\n movePosition(context, 1, false);\n continue;\n }\n switch (token.type) {\n case 'string':\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n case 'comment':\n movePosition(context, token.length, !!context.options.ignoreComments);\n context.wasDataOnLine = true;\n break;\n case 'eoln':\n movePosition(context, token.length, true);\n context.wasDataOnLine = false;\n break;\n case 'data':\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n case 'whitespace':\n movePosition(context, token.length, true);\n break;\n case 'set_delimiter':\n pushQuery(context);\n context.commandPart = '';\n context.currentDelimiter = token.value;\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'go_delimiter':\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n if (context.options.adaptiveGoSplit) {\n context.currentDelimiter = SEMICOLON;\n }\n break;\n case 'create_routine':\n movePosition(context, token.length, false);\n if (context.options.adaptiveGoSplit) {\n context.currentDelimiter = null;\n }\n break;\n case 'delimiter':\n if (context.options.preventSingleLineSplit && containsDataAfterDelimiterOnLine(context, token)) {\n movePosition(context, token.length, false);\n context.wasDataOnLine = true;\n break;\n }\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n }\n }\n if (context.end > context.currentCommandStart) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n }\n}\nexports.splitQueryLine = splitQueryLine;\nfunction getInitialDelimiter(options) {\n if (options === null || options === void 0 ? void 0 : options.adaptiveGoSplit)\n return SEMICOLON;\n return (options === null || options === void 0 ? void 0 : options.allowSemicolon) === false ? null : SEMICOLON;\n}\nexports.getInitialDelimiter = getInitialDelimiter;\nfunction finishSplitStream(context) {\n pushCurrentQueryPart(context);\n}\nexports.finishSplitStream = finishSplitStream;\nfunction splitQuery(sql, options = null) {\n var _a;\n const usedOptions = Object.assign(Object.assign({}, options_1.defaultSplitterOptions), options);\n if (usedOptions.noSplit) {\n if (usedOptions.returnRichInfo) {\n const lines = sql.split('\\n');\n return [\n {\n text: sql,\n start: {\n position: 0,\n line: 0,\n column: 0,\n },\n end: {\n position: sql.length,\n line: lines.length,\n column: ((_a = lines[lines.length - 1]) === null || _a === void 0 ? void 0 : _a.length) || 0,\n },\n },\n ];\n }\n return [sql];\n }\n const output = [];\n const context = {\n source: sql,\n end: sql.length,\n currentDelimiter: getInitialDelimiter(options),\n position: 0,\n column: 0,\n line: 0,\n currentCommandStart: 0,\n commandStartLine: 0,\n commandStartColumn: 0,\n commandStartPosition: 0,\n streamPosition: 0,\n noWhiteLine: 0,\n noWhiteColumn: 0,\n noWhitePosition: 0,\n trimCommandStartPosition: 0,\n trimCommandStartLine: 0,\n trimCommandStartColumn: 0,\n wasDataInCommand: false,\n pushOutput: cmd => output.push(cmd),\n wasDataOnLine: false,\n options: usedOptions,\n commandPart: '',\n };\n splitQueryLine(context);\n finishSplitStream(context);\n return output;\n}\nexports.splitQuery = splitQuery;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitQuery = void 0;\nvar splitQuery_1 = require(\"./splitQuery\");\nObject.defineProperty(exports, \"splitQuery\", { enumerable: true, get: function () { return splitQuery_1.splitQuery; } });\n__exportStar(require(\"./options\"), exports);\n","import { splitQuery } from 'dbgate-query-splitter';\n\nonmessage = e => {\n const result = splitQuery(e.data.text, e.data.options);\n postMessage(result);\n};\n"],"names":["Object","defineProperty","exports","value","redisSplitterOptions","noSplitSplitterOptions","sqliteSplitterOptions","postgreSplitterOptions","mysqlSplitterOptions","defaultSplitterOptions","stringsBegins","stringsEnds","stringEscapes","allowSemicolon","allowCustomDelimiter","allowGoDelimiter","allowDollarDollarString","noSplit","doubleDashComments","multilineComments","javaScriptComments","returnRichInfo","splitByLines","preventSingleLineSplit","adaptiveGoSplit","ignoreComments","assign","mssqlSplitterOptions","mongoSplitterOptions","splitQuery_1","splitQuery","getInitialDelimiter","splitQueryLine","options_1","require$$0","SEMICOLON","movePosition","context","count","isWhite","source","position","line","column","streamPosition","wasDataInCommand","trimCommandStartPosition","trimCommandStartLine","trimCommandStartColumn","noWhitePosition","noWhiteLine","noWhiteColumn","isStringEnd","s","pos","endch","escapech","WHITESPACE_TOKEN","type","length","EOLN_TOKEN","DATA_TOKEN","scanToken","ch","options","includes","end","currentDelimiter","slice","startsWith","wasDataOnLine","m","match","trim","dollarString","exec","label","scanDollarQuotedString","containsDataAfterDelimiterOnLine","delimiter","_a","cloned","token","pushQuery","commandPart","currentCommandStart","pushCurrentQueryPart","trimmed","substring","commandStartPosition","pushOutput","text","start","commandStartLine","commandStartColumn","trimStart","trimEnd","markStartCommand","test","finishSplitStream","splitQuery$1","sql","usedOptions","lines","split","output","cmd","push","__createBinding","this","create","o","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","require$$1","onmessage","e","result","data","postMessage"],"mappings":"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"}