dbgate-web 5.5.4 → 5.5.6
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.oracleSplitterOptions=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,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!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}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),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)}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.isCopyFromStdin){if(i.slice(n).startsWith("\\.")&&!t.wasDataOnLine)return{type:"copy_stdin_end",length:2};let e=n;for(;e<t.end&&"\n"!=i[e];)e++;return e<t.end&&"\n"==i[e]&&e++,{type:"copy_stdin_line",length:e-n}}if(t.options.stringsBegins.includes(e)){n++;const o=t.options.stringsEnds[e],s=t.options.stringEscapes[e];for(;n<t.end&&i[n]!=o;)s&&i[n]==s?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.allowCustomSqlTerminator){const t=i.slice(n).match(/^SET[ \t]+SQLT(ERMINATOR)?[ \t]+(ON|OFF|".")/i);if(t){if("OFF"==t[2].toUpperCase())return{type:"set_sqlterminator",value:null,length:t[0].length};if("ON"==t[2].toUpperCase())return{type:"set_sqlterminator",value:r,length:t[0].length};if(t[2].startsWith('"'))return{type:"set_sqlterminator",value:t[2].slice(1,-1),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].endsWith("\n")?t[0].length-1:t[0].length}}if(t.options.allowSlashDelimiter&&!t.wasDataOnLine){const t=i.slice(n).match(/^\/[\t\r ]*(\n|$)/i);if(t)return{type:"slash_delimiter",length:t[0].endsWith("\n")?t[0].length-1:t[0].length}}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}}if(t.options.copyFromStdin&&!t.wasDataOnLine&&i.slice(n).startsWith("COPY "))return{type:"copy",length:5};if(t.isCopyFromStdinCandidate&&i.slice(n).startsWith("FROM stdin;")){let e=n+11;const o=e-1;for(;e<t.end&&"\n"!=i[e];)e++;return"\n"==i[e]&&e++,{type:"copy_stdin_start",length:e-n,lengthWithoutWhitespace:o-n}}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 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,isCopyFromStdinCandidate:t.isCopyFromStdinCandidate,isCopyFromStdin:t.isCopyFromStdin};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 u(t,n){t.commandPart+=t.source.slice(t.currentCommandStart,t.position),g(t,n)}function g(t,n){const i=t.commandPart.substring(t.trimCommandStartPosition-t.commandStartPosition,t.noWhitePosition-t.commandStartPosition);i.trim()&&(t.options.returnRichInfo?t.pushOutput({text:i,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},specialMarker:n}):t.pushOutput(i))}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 h(t){if(t.options.splitByLines)!function(t){for(;t.position<t.end;)"\n"==t.source[t.position]?(u(t),t.commandPart="",a(t,1,!0),t.currentCommandStart=t.position,S(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=c(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":case"set_sqlterminator":u(t),t.commandPart="",t.currentDelimiter=n.value,a(t,n.length,!1),t.currentCommandStart=t.position,S(t);break;case"go_delimiter":u(t),t.commandPart="",a(t,n.length,!1),t.currentCommandStart=t.position,S(t),t.options.adaptiveGoSplit&&(t.currentDelimiter=r);break;case"slash_delimiter":u(t),t.commandPart="",a(t,n.length,!1),t.currentCommandStart=t.position,S(t);break;case"create_routine":a(t,n.length,!1),t.options.adaptiveGoSplit&&(t.currentDelimiter=null);break;case"copy":a(t,n.length,!1),t.isCopyFromStdinCandidate=!0,t.wasDataOnLine=!0;break;case"copy_stdin_start":a(t,n.lengthWithoutWhitespace,!1),a(t,n.length-n.lengthWithoutWhitespace,!0),t.isCopyFromStdin=!0,t.isCopyFromStdinCandidate=!1,t.wasDataOnLine=!1,u(t,"copy_stdin_start"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"copy_stdin_line":a(t,n.length,!1),t.isCopyFromStdin=!0,t.isCopyFromStdinCandidate=!1,u(t,"copy_stdin_line"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"copy_stdin_end":a(t,n.length,!1),t.isCopyFromStdin=!1,t.wasDataOnLine=!0,u(t,"copy_stdin_end"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"delimiter":if(t.options.preventSingleLineSplit&&d(t,n)){a(t,n.length,!1),t.wasDataOnLine=!0;break}u(t),t.commandPart="",a(t,n.length,!1),t.currentCommandStart=t.position,S(t),t.isCopyFromStdinCandidate=!1}else a(t,1,!1)}t.end>t.currentCommandStart&&(t.commandPart+=t.source.slice(t.currentCommandStart,t.position))}}function f(t){return(null==t?void 0:t.adaptiveGoSplit)?r:!1===(null==t?void 0:t.allowSemicolon)?null:r}function C(t){g(t)}e.splitQueryLine=h,e.getInitialDelimiter=f,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:f(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,isCopyFromStdin:!1,isCopyFromStdinCandidate:!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)}}();
|
|
1
|
+
!function(){"use strict";var t,e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},i={},o={};t=o,Object.defineProperty(t,"__esModule",{value:!0}),t.oracleSplitterOptions=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,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!1,queryParameterStyle:null},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}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),Object.defineProperty(i,"__esModule",{value:!0}),i.splitQuery=i.finishSplitStream=i.getInitialDelimiter=i.splitQueryLine=i.scanToken=void 0;const r=o,s=";";function a(t,e,n){let{source:i,position:o,line:r,column:s,streamPosition:a}=t;for(;e>0;)"\n"==i[o]?(r+=1,s=0):s+=1,o+=1,a+=1,e-=1;t.position=o,t.streamPosition=a,t.line=r,t.column=s,t.wasDataInCommand||(n?(t.trimCommandStartPosition=a,t.trimCommandStartLine=r,t.trimCommandStartColumn=s):t.wasDataInCommand=!0),n||(t.noWhitePosition=a,t.noWhiteLine=r,t.noWhiteColumn=s)}const l={type:"whitespace",length:1},m={type:"eoln",length:1},p={type:"data",length:1};function c(t){var e;let n=t.position;const i=t.source,o=i[n];if(t.isCopyFromStdin){if(i.slice(n).startsWith("\\.")&&!t.wasDataOnLine)return{type:"copy_stdin_end",length:2};let e=n;for(;e<t.end&&"\n"!=i[e];)e++;return e<t.end&&"\n"==i[e]&&e++,{type:"copy_stdin_line",length:e-n}}if(t.options.stringsBegins.includes(o)){n++;const e=t.options.stringsEnds[o],r=t.options.stringEscapes[o];for(;n<t.end&&i[n]!=e;)r&&i[n]==r?n+=2:n++;return{type:"string",length:n-t.position+1}}if(t.options.queryParameterStyle&&1==(null===(e=t.options.queryParameterStyle)||void 0===e?void 0:e.length)&&o==t.options.queryParameterStyle&&("?"==t.options.queryParameterStyle||/[a-zA-Z0-9_]/.test(i[n+1]))){if(n++,"?"!=t.options.queryParameterStyle)for(;n<t.end&&/[a-zA-Z0-9_]/.test(i[n]);)n++;return{type:"parameter",value:i.slice(t.position,n),length:n-t.position}}if(t.currentDelimiter&&i.slice(n).startsWith(t.currentDelimiter))return{type:"delimiter",length:t.currentDelimiter.length};if(" "==o||"\t"==o||"\r"==o)return l;if("\n"==o)return m;if(t.options.doubleDashComments&&"-"==o&&"-"==i[n+1]){for(;n<t.end&&"\n"!=i[n];)n++;return{type:"comment",length:n-t.position}}if(t.options.multilineComments&&"/"==o&&"*"==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.allowCustomSqlTerminator){const t=i.slice(n).match(/^SET[ \t]+SQLT(ERMINATOR)?[ \t]+(ON|OFF|".")/i);if(t){if("OFF"==t[2].toUpperCase())return{type:"set_sqlterminator",value:null,length:t[0].length};if("ON"==t[2].toUpperCase())return{type:"set_sqlterminator",value:s,length:t[0].length};if(t[2].startsWith('"'))return{type:"set_sqlterminator",value:t[2].slice(1,-1),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].endsWith("\n")?t[0].length-1:t[0].length}}if(t.options.allowSlashDelimiter&&!t.wasDataOnLine){const t=i.slice(n).match(/^\/[\t\r ]*(\n|$)/i);if(t)return{type:"slash_delimiter",length:t[0].endsWith("\n")?t[0].length-1:t[0].length}}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}}if(t.options.copyFromStdin&&!t.wasDataOnLine&&i.slice(n).startsWith("COPY "))return{type:"copy",length:5};if(t.isCopyFromStdinCandidate&&i.slice(n).startsWith("FROM stdin;")){let e=n+11;const o=e-1;for(;e<t.end&&"\n"!=i[e];)e++;return"\n"==i[e]&&e++,{type:"copy_stdin_start",length:e-n,lengthWithoutWhitespace:o-n}}const r=function(t){if(!t.options.allowDollarDollarString)return null;let e=t.position;const n=t.source,i=/^(\$[a-zA-Z0-9_]*\$)/.exec(n.slice(e));if(!i)return null;const o=i[1];for(e+=o.length;e<t.end;){if(n.slice(e).startsWith(o))return{type:"string",length:e+o.length-t.position};e++}return null}(t);return r||p}function u(t,e){var n;const i={options:t.options,source:t.source,position:t.position,currentDelimiter:t.currentDelimiter,end:t.end,wasDataOnLine:t.wasDataOnLine,isCopyFromStdinCandidate:t.isCopyFromStdinCandidate,isCopyFromStdin:t.isCopyFromStdin};for(i.position+=e.length;i.position<i.end;){const t=c(i);if(t)switch(t.type){case"whitespace":i.position+=t.length;continue;case"eoln":return!1;case"comment":if(null===(n=t.value)||void 0===n?void 0:n.includes("\n"))return!0;i.position+=t.length;continue;default:return!0}else i.position+=1}}function d(t,e){t.commandPart+=t.source.slice(t.currentCommandStart,t.position),g(t,e)}function g(t,e){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},specialMarker:e}):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="",a(t,1,!0),t.currentCommandStart=t.position,S(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 e=c(t);if(e)switch(e.type){case"string":case"data":case"parameter":a(t,e.length,!1),t.wasDataOnLine=!0;break;case"comment":a(t,e.length,!!t.options.ignoreComments),t.wasDataOnLine=!0;break;case"eoln":a(t,e.length,!0),t.wasDataOnLine=!1;break;case"whitespace":a(t,e.length,!0);break;case"set_delimiter":case"set_sqlterminator":d(t),t.commandPart="",t.currentDelimiter=e.value,a(t,e.length,!1),t.currentCommandStart=t.position,S(t);break;case"go_delimiter":d(t),t.commandPart="",a(t,e.length,!1),t.currentCommandStart=t.position,S(t),t.options.adaptiveGoSplit&&(t.currentDelimiter=s);break;case"slash_delimiter":d(t),t.commandPart="",a(t,e.length,!1),t.currentCommandStart=t.position,S(t);break;case"create_routine":a(t,e.length,!1),t.options.adaptiveGoSplit&&(t.currentDelimiter=null);break;case"copy":a(t,e.length,!1),t.isCopyFromStdinCandidate=!0,t.wasDataOnLine=!0;break;case"copy_stdin_start":a(t,e.lengthWithoutWhitespace,!1),a(t,e.length-e.lengthWithoutWhitespace,!0),t.isCopyFromStdin=!0,t.isCopyFromStdinCandidate=!1,t.wasDataOnLine=!1,d(t,"copy_stdin_start"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"copy_stdin_line":a(t,e.length,!1),t.isCopyFromStdin=!0,t.isCopyFromStdinCandidate=!1,d(t,"copy_stdin_line"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"copy_stdin_end":a(t,e.length,!1),t.isCopyFromStdin=!1,t.wasDataOnLine=!0,d(t,"copy_stdin_end"),t.commandPart="",t.currentCommandStart=t.position,S(t);break;case"delimiter":if(t.options.preventSingleLineSplit&&u(t,e)){a(t,e.length,!1),t.wasDataOnLine=!0;break}d(t),t.commandPart="",a(t,e.length,!1),t.currentCommandStart=t.position,S(t),t.isCopyFromStdinCandidate=!1}else a(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)?s:!1===(null==t?void 0:t.allowSemicolon)?null:s}function y(t){g(t)}i.scanToken=c,i.splitQueryLine=f,i.getInitialDelimiter=h,i.finishSplitStream=y,i.splitQuery=function(t,e=null){var n;const i=Object.assign(Object.assign({},r.defaultSplitterOptions),e);if(i.noSplit){if(i.returnRichInfo){const e=t.split("\n");return[{text:t,start:{position:0,line:0,column:0},end:{position:t.length,line:e.length,column:(null===(n=e[e.length-1])||void 0===n?void 0:n.length)||0}}]}return[t]}const o=[],s={source:t,end:t.length,currentDelimiter:h(e),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,isCopyFromStdin:!1,isCopyFromStdinCandidate:!1,pushOutput:t=>o.push(t),wasDataOnLine:!1,options:i,commandPart:""};return f(s),y(s),o};var O={};Object.defineProperty(O,"__esModule",{value:!0}),O.replaceQueryParameters=O.extractQueryParameters=void 0;const C=i;function P(t,e){return{options:e,source:t,position:0,currentDelimiter:(0,C.getInitialDelimiter)(e),end:t.length,wasDataOnLine:!1,isCopyFromStdin:!1,isCopyFromStdinCandidate:!1}}O.extractQueryParameters=function(t,e){if(!t||!e)return[];const n=P(t,e),i=new Set;for(;n.position<n.end;){const t=(0,C.scanToken)(n);if(null===t)break;"parameter"===t.type&&("?"==t.value?i.add(`?${i.size+1}`):i.add(t.value)),n.position+=t.length}return Array.from(i)},O.replaceQueryParameters=function(t,e,n){if(!t||!n)return t;const i=P(t,n);let o="",r=0;for(;i.position<i.end;){const n=(0,C.scanToken)(i);if(null===n)break;if("parameter"===n.type){const s="?"==n.value?"?"+ ++r:n.value;e[s]?o+=e[s]:o+=t.substring(i.position,i.position+n.length)}else o+=t.substring(i.position,i.position+n.length);i.position+=n.length}return o},function(t){var n=e&&e.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,o)}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=e&&e.__exportStar||function(t,e){for(var i in t)"default"===i||Object.prototype.hasOwnProperty.call(e,i)||n(e,t,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.replaceQueryParameters=t.extractQueryParameters=t.splitQuery=void 0;var s=i;Object.defineProperty(t,"splitQuery",{enumerable:!0,get:function(){return s.splitQuery}});var a=O;Object.defineProperty(t,"extractQueryParameters",{enumerable:!0,get:function(){return a.extractQueryParameters}}),Object.defineProperty(t,"replaceQueryParameters",{enumerable:!0,get:function(){return a.replaceQueryParameters}}),r(o,t)}(n),onmessage=t=>{const e=n.splitQuery(t.data.text,t.data.options);postMessage(e)}}();
|
|
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.oracleSplitterOptions = exports.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 allowCustomSqlTerminator: false,\n allowGoDelimiter: false,\n allowSlashDelimiter: 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 copyFromStdin: 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 });\nexports.oracleSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowCustomSqlTerminator: true, allowSlashDelimiter: true, stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\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}\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.isCopyFromStdin) {\n if (s.slice(pos).startsWith('\\\\.') && !context.wasDataOnLine) {\n return {\n type: 'copy_stdin_end',\n length: 2,\n };\n }\n let pos2 = pos;\n while (pos2 < context.end && s[pos2] != '\\n')\n pos2++;\n if (pos2 < context.end && s[pos2] == '\\n')\n pos2++;\n return {\n type: 'copy_stdin_line',\n length: pos2 - pos,\n };\n }\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) {\n if (s[pos] == endch) {\n break;\n }\n if (escapech && s[pos] == escapech) {\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.allowCustomSqlTerminator) {\n const m = s.slice(pos).match(/^SET[ \\t]+SQLT(ERMINATOR)?[ \\t]+(ON|OFF|\".\")/i);\n if (m) {\n if (m[2].toUpperCase() == 'OFF') {\n return {\n type: 'set_sqlterminator',\n value: null,\n length: m[0].length,\n };\n }\n if (m[2].toUpperCase() == 'ON') {\n return {\n type: 'set_sqlterminator',\n value: SEMICOLON,\n length: m[0].length,\n };\n }\n if (m[2].startsWith('\"')) {\n return {\n type: 'set_sqlterminator',\n value: m[2].slice(1, -1),\n length: m[0].length,\n };\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].endsWith('\\n') ? m[0].length - 1 : m[0].length,\n };\n }\n }\n if (context.options.allowSlashDelimiter && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^\\/[\\t\\r ]*(\\n|$)/i);\n if (m) {\n return {\n type: 'slash_delimiter',\n length: m[0].endsWith('\\n') ? m[0].length - 1 : m[0].length,\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,\n };\n }\n }\n if (context.options.copyFromStdin && !context.wasDataOnLine && s.slice(pos).startsWith('COPY ')) {\n return {\n type: 'copy',\n length: 5,\n };\n }\n if (context.isCopyFromStdinCandidate && s.slice(pos).startsWith('FROM stdin;')) {\n let pos2 = pos + 'FROM stdin;'.length;\n const pos0 = pos2 - 1;\n while (pos2 < context.end && s[pos2] != '\\n')\n pos2++;\n if (s[pos2] == '\\n')\n pos2++;\n return {\n type: 'copy_stdin_start',\n length: pos2 - pos,\n lengthWithoutWhitespace: pos0 - pos,\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 isCopyFromStdinCandidate: context.isCopyFromStdinCandidate,\n isCopyFromStdin: context.isCopyFromStdin,\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, specialMarker) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n pushCurrentQueryPart(context, specialMarker);\n}\nfunction pushCurrentQueryPart(context, specialMarker) {\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 specialMarker,\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 case 'set_sqlterminator':\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 'slash_delimiter':\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\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 'copy':\n movePosition(context, token.length, false);\n context.isCopyFromStdinCandidate = true;\n context.wasDataOnLine = true;\n break;\n case 'copy_stdin_start':\n movePosition(context, token.lengthWithoutWhitespace, false);\n movePosition(context, token.length - token.lengthWithoutWhitespace, true);\n context.isCopyFromStdin = true;\n context.isCopyFromStdinCandidate = false;\n context.wasDataOnLine = false;\n pushQuery(context, 'copy_stdin_start');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'copy_stdin_line':\n movePosition(context, token.length, false);\n context.isCopyFromStdin = true;\n context.isCopyFromStdinCandidate = false;\n pushQuery(context, 'copy_stdin_line');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'copy_stdin_end':\n movePosition(context, token.length, false);\n context.isCopyFromStdin = false;\n context.wasDataOnLine = true;\n pushQuery(context, 'copy_stdin_end');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\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 context.isCopyFromStdinCandidate = false;\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 isCopyFromStdin: false,\n isCopyFromStdinCandidate: 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","oracleSplitterOptions","redisSplitterOptions","noSplitSplitterOptions","mongoSplitterOptions","sqliteSplitterOptions","postgreSplitterOptions","mysqlSplitterOptions","defaultSplitterOptions","stringsBegins","stringsEnds","stringEscapes","allowSemicolon","allowCustomDelimiter","allowCustomSqlTerminator","allowGoDelimiter","allowSlashDelimiter","allowDollarDollarString","noSplit","doubleDashComments","multilineComments","javaScriptComments","returnRichInfo","splitByLines","preventSingleLineSplit","adaptiveGoSplit","ignoreComments","copyFromStdin","assign","mssqlSplitterOptions","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","WHITESPACE_TOKEN","type","length","EOLN_TOKEN","DATA_TOKEN","scanToken","pos","s","ch","isCopyFromStdin","slice","startsWith","wasDataOnLine","pos2","end","options","includes","endch","escapech","currentDelimiter","m","match","trim","toUpperCase","endsWith","isCopyFromStdinCandidate","pos0","lengthWithoutWhitespace","dollarString","exec","label","scanDollarQuotedString","containsDataAfterDelimiterOnLine","delimiter","_a","cloned","token","pushQuery","specialMarker","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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"}
|
|
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/queryParamHandler.js","../../../../node_modules/dbgate-query-splitter/lib/index.js","../../src/query/QueryParserWorker.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.oracleSplitterOptions = exports.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 allowCustomSqlTerminator: false,\n allowGoDelimiter: false,\n allowSlashDelimiter: 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 copyFromStdin: false,\n queryParameterStyle: null,\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 });\nexports.oracleSplitterOptions = Object.assign(Object.assign({}, exports.defaultSplitterOptions), { allowCustomSqlTerminator: true, allowSlashDelimiter: true, stringsBegins: [\"'\", '\"'], stringsEnds: { \"'\": \"'\", '\"': '\"' }, stringEscapes: { \"'\": \"'\", '\"': '\"' } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitQuery = exports.finishSplitStream = exports.getInitialDelimiter = exports.splitQueryLine = exports.scanToken = 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}\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 var _a;\n let pos = context.position;\n const s = context.source;\n const ch = s[pos];\n if (context.isCopyFromStdin) {\n if (s.slice(pos).startsWith('\\\\.') && !context.wasDataOnLine) {\n return {\n type: 'copy_stdin_end',\n length: 2,\n };\n }\n let pos2 = pos;\n while (pos2 < context.end && s[pos2] != '\\n')\n pos2++;\n if (pos2 < context.end && s[pos2] == '\\n')\n pos2++;\n return {\n type: 'copy_stdin_line',\n length: pos2 - pos,\n };\n }\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) {\n if (s[pos] == endch) {\n break;\n }\n if (escapech && s[pos] == escapech) {\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.options.queryParameterStyle &&\n ((_a = context.options.queryParameterStyle) === null || _a === void 0 ? void 0 : _a.length) == 1 &&\n ch == context.options.queryParameterStyle &&\n (context.options.queryParameterStyle == '?' || /[a-zA-Z0-9_]/.test(s[pos + 1]))) {\n pos++;\n if (context.options.queryParameterStyle != '?') {\n while (pos < context.end && /[a-zA-Z0-9_]/.test(s[pos]))\n pos++;\n }\n return {\n type: 'parameter',\n value: s.slice(context.position, pos),\n length: pos - context.position,\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.allowCustomSqlTerminator) {\n const m = s.slice(pos).match(/^SET[ \\t]+SQLT(ERMINATOR)?[ \\t]+(ON|OFF|\".\")/i);\n if (m) {\n if (m[2].toUpperCase() == 'OFF') {\n return {\n type: 'set_sqlterminator',\n value: null,\n length: m[0].length,\n };\n }\n if (m[2].toUpperCase() == 'ON') {\n return {\n type: 'set_sqlterminator',\n value: SEMICOLON,\n length: m[0].length,\n };\n }\n if (m[2].startsWith('\"')) {\n return {\n type: 'set_sqlterminator',\n value: m[2].slice(1, -1),\n length: m[0].length,\n };\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].endsWith('\\n') ? m[0].length - 1 : m[0].length,\n };\n }\n }\n if (context.options.allowSlashDelimiter && !context.wasDataOnLine) {\n const m = s.slice(pos).match(/^\\/[\\t\\r ]*(\\n|$)/i);\n if (m) {\n return {\n type: 'slash_delimiter',\n length: m[0].endsWith('\\n') ? m[0].length - 1 : m[0].length,\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,\n };\n }\n }\n if (context.options.copyFromStdin && !context.wasDataOnLine && s.slice(pos).startsWith('COPY ')) {\n return {\n type: 'copy',\n length: 5,\n };\n }\n if (context.isCopyFromStdinCandidate && s.slice(pos).startsWith('FROM stdin;')) {\n let pos2 = pos + 'FROM stdin;'.length;\n const pos0 = pos2 - 1;\n while (pos2 < context.end && s[pos2] != '\\n')\n pos2++;\n if (s[pos2] == '\\n')\n pos2++;\n return {\n type: 'copy_stdin_start',\n length: pos2 - pos,\n lengthWithoutWhitespace: pos0 - pos,\n };\n }\n const dollarString = scanDollarQuotedString(context);\n if (dollarString)\n return dollarString;\n return DATA_TOKEN;\n}\nexports.scanToken = scanToken;\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 isCopyFromStdinCandidate: context.isCopyFromStdinCandidate,\n isCopyFromStdin: context.isCopyFromStdin,\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, specialMarker) {\n context.commandPart += context.source.slice(context.currentCommandStart, context.position);\n pushCurrentQueryPart(context, specialMarker);\n}\nfunction pushCurrentQueryPart(context, specialMarker) {\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 specialMarker,\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 'parameter':\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 case 'set_sqlterminator':\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 'slash_delimiter':\n pushQuery(context);\n context.commandPart = '';\n movePosition(context, token.length, false);\n context.currentCommandStart = context.position;\n markStartCommand(context);\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 'copy':\n movePosition(context, token.length, false);\n context.isCopyFromStdinCandidate = true;\n context.wasDataOnLine = true;\n break;\n case 'copy_stdin_start':\n movePosition(context, token.lengthWithoutWhitespace, false);\n movePosition(context, token.length - token.lengthWithoutWhitespace, true);\n context.isCopyFromStdin = true;\n context.isCopyFromStdinCandidate = false;\n context.wasDataOnLine = false;\n pushQuery(context, 'copy_stdin_start');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'copy_stdin_line':\n movePosition(context, token.length, false);\n context.isCopyFromStdin = true;\n context.isCopyFromStdinCandidate = false;\n pushQuery(context, 'copy_stdin_line');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\n break;\n case 'copy_stdin_end':\n movePosition(context, token.length, false);\n context.isCopyFromStdin = false;\n context.wasDataOnLine = true;\n pushQuery(context, 'copy_stdin_end');\n context.commandPart = '';\n context.currentCommandStart = context.position;\n markStartCommand(context);\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 context.isCopyFromStdinCandidate = false;\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 isCopyFromStdin: false,\n isCopyFromStdinCandidate: 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\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceQueryParameters = exports.extractQueryParameters = void 0;\nconst splitQuery_1 = require(\"./splitQuery\");\nfunction createParameterizerContext(sql, options) {\n return {\n options,\n source: sql,\n position: 0,\n currentDelimiter: (0, splitQuery_1.getInitialDelimiter)(options),\n end: sql.length,\n wasDataOnLine: false,\n isCopyFromStdin: false,\n isCopyFromStdinCandidate: false,\n };\n}\nfunction extractQueryParameters(sql, options) {\n if (!sql || !options) {\n return [];\n }\n const context = createParameterizerContext(sql, options);\n const res = new Set();\n while (context.position < context.end) {\n const token = (0, splitQuery_1.scanToken)(context);\n if (token === null) {\n break;\n }\n if (token.type === 'parameter') {\n if (token.value == '?') {\n res.add(`?${res.size + 1}`);\n }\n else {\n res.add(token.value);\n }\n }\n context.position += token.length;\n }\n return Array.from(res);\n}\nexports.extractQueryParameters = extractQueryParameters;\nfunction replaceQueryParameters(sql, params, options) {\n if (!sql || !options) {\n return sql;\n }\n const context = createParameterizerContext(sql, options);\n let res = '';\n let questionParamCounter = 0;\n while (context.position < context.end) {\n const token = (0, splitQuery_1.scanToken)(context);\n if (token === null) {\n break;\n }\n if (token.type === 'parameter') {\n const paramName = token.value == '?' ? `?${++questionParamCounter}` : token.value;\n if (params[paramName]) {\n res += params[paramName];\n }\n else {\n res += sql.substring(context.position, context.position + token.length);\n }\n }\n else {\n res += sql.substring(context.position, context.position + token.length);\n }\n context.position += token.length;\n }\n return res;\n}\nexports.replaceQueryParameters = replaceQueryParameters;\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.replaceQueryParameters = exports.extractQueryParameters = exports.splitQuery = void 0;\nvar splitQuery_1 = require(\"./splitQuery\");\nObject.defineProperty(exports, \"splitQuery\", { enumerable: true, get: function () { return splitQuery_1.splitQuery; } });\nvar queryParamHandler_1 = require(\"./queryParamHandler\");\nObject.defineProperty(exports, \"extractQueryParameters\", { enumerable: true, get: function () { return queryParamHandler_1.extractQueryParameters; } });\nObject.defineProperty(exports, \"replaceQueryParameters\", { enumerable: true, get: function () { return queryParamHandler_1.replaceQueryParameters; } });\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","oracleSplitterOptions","redisSplitterOptions","noSplitSplitterOptions","mongoSplitterOptions","sqliteSplitterOptions","postgreSplitterOptions","mysqlSplitterOptions","defaultSplitterOptions","stringsBegins","stringsEnds","stringEscapes","allowSemicolon","allowCustomDelimiter","allowCustomSqlTerminator","allowGoDelimiter","allowSlashDelimiter","allowDollarDollarString","noSplit","doubleDashComments","multilineComments","javaScriptComments","returnRichInfo","splitByLines","preventSingleLineSplit","adaptiveGoSplit","ignoreComments","copyFromStdin","queryParameterStyle","assign","mssqlSplitterOptions","splitQuery_1","splitQuery$1","splitQuery","finishSplitStream","getInitialDelimiter","splitQueryLine","scanToken","options_1","require$$0","SEMICOLON","movePosition","context","count","isWhite","source","position","line","column","streamPosition","wasDataInCommand","trimCommandStartPosition","trimCommandStartLine","trimCommandStartColumn","noWhitePosition","noWhiteLine","noWhiteColumn","WHITESPACE_TOKEN","type","length","EOLN_TOKEN","DATA_TOKEN","_a","pos","s","ch","isCopyFromStdin","slice","startsWith","wasDataOnLine","pos2","end","options","includes","endch","escapech","test","currentDelimiter","m","match","trim","toUpperCase","endsWith","isCopyFromStdinCandidate","pos0","lengthWithoutWhitespace","dollarString","exec","label","scanDollarQuotedString","containsDataAfterDelimiterOnLine","delimiter","cloned","token","pushQuery","specialMarker","commandPart","currentCommandStart","pushCurrentQueryPart","trimmed","substring","commandStartPosition","pushOutput","text","start","commandStartLine","commandStartColumn","trimStart","trimEnd","markStartCommand","sql","usedOptions","lines","split","output","cmd","push","queryParamHandler","replaceQueryParameters","extractQueryParameters","createParameterizerContext","res","Set","add","size","Array","from","params","questionParamCounter","paramName","__createBinding","this","create","o","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","queryParamHandler_1","require$$1","require$$2","onmessage","e","result","data","postMessage"],"mappings":"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"}
|