@windwalker-io/core 4.0.8 → 4.0.10

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.
Files changed (96) hide show
  1. package/dist/debugger/114.js.map +1 -0
  2. package/dist/debugger/180.js.map +1 -0
  3. package/dist/debugger/338.js.map +1 -0
  4. package/dist/debugger/358.js.map +1 -0
  5. package/dist/debugger/500.js.map +1 -0
  6. package/dist/debugger/548.js.map +1 -0
  7. package/dist/debugger/694.js.map +1 -0
  8. package/dist/debugger/798.js.map +1 -0
  9. package/dist/debugger/851.js.map +1 -0
  10. package/dist/debugger/864.js.map +1 -0
  11. package/dist/debugger/chunk-vendor-114.js +3 -0
  12. package/dist/debugger/chunk-vendor-180.js +2 -0
  13. package/dist/debugger/chunk-vendor-338.js +3 -0
  14. package/dist/debugger/chunk-vendor-338.js.LICENSE.txt +13 -0
  15. package/dist/debugger/chunk-vendor-358.js +2 -0
  16. package/dist/debugger/chunk-vendor-500.js +3 -0
  17. package/dist/debugger/chunk-vendor-548.js +3 -0
  18. package/dist/debugger/chunk-vendor-548.js.LICENSE.txt +13 -0
  19. package/dist/debugger/chunk-vendor-694.js +3 -0
  20. package/dist/debugger/chunk-vendor-694.js.LICENSE.txt +6 -0
  21. package/dist/debugger/chunk-vendor-798.js +3 -0
  22. package/dist/debugger/chunk-vendor-798.js.LICENSE.txt +6 -0
  23. package/dist/debugger/chunk-vendor-851.js +3 -0
  24. package/dist/debugger/chunk-vendor-851.js.LICENSE.txt +8 -0
  25. package/dist/debugger/chunk-vendor-864.js +2 -0
  26. package/dist/debugger/chunk-vendor-864.js.LICENSE.txt +1 -0
  27. package/dist/debugger/debugger.js +1 -1
  28. package/dist/debugger/debugger.js.LICENSE.txt +9 -2
  29. package/dist/debugger/debugger.js.map +1 -1
  30. package/dist/debugger/dev/chunk-vendor-src_debugger_layouts_DefaultLayout_vue.js +77 -0
  31. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Dashboard_vue.js +81 -0
  32. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Database_vue.js +187 -0
  33. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Events_vue.js +122 -0
  34. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Request_vue.js +122 -0
  35. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Routing_vue.js +122 -0
  36. package/dist/debugger/dev/chunk-vendor-src_debugger_views_System_vue.js +67 -0
  37. package/dist/debugger/dev/chunk-vendor-src_debugger_views_Timeline_vue.js +132 -0
  38. package/dist/debugger/dev/chunk-vendor-vendors-node_modules_bootstrap_js_src_modal_js-node_modules_sql-formatter_lib_index_js.js +923 -0
  39. package/dist/debugger/dev/chunk-vendor-vendors-node_modules_sql-formatter_lib_index_js.js +791 -0
  40. package/dist/debugger-console.js +2 -1
  41. package/fusionfile.mjs +26 -10
  42. package/package.json +11 -5
  43. package/scss/_variables.scss +1 -0
  44. package/scss/base/_typography.scss +9 -0
  45. package/scss/debugger.scss +47 -1
  46. package/src/debugger/App.vue +40 -16
  47. package/src/debugger/Store.vue +1 -1
  48. package/src/debugger/components/BsModal.vue +128 -0
  49. package/src/debugger/components/KeyValueTable.vue +51 -0
  50. package/src/debugger/components/db/{query-info.vue → QueryInfo.vue} +55 -27
  51. package/src/debugger/components/events/EventListenersTable.vue +75 -0
  52. package/src/debugger/components/timeline/TimelineTable.vue +107 -0
  53. package/src/debugger/debugger.js +4 -1
  54. package/src/debugger/font-awesome.js +23 -0
  55. package/src/debugger/layouts/DefaultLayout.vue +17 -2
  56. package/src/debugger/routes.js +5 -2
  57. package/src/debugger/services/utilities.js +18 -0
  58. package/src/debugger/views/Dashboard.vue +20 -10
  59. package/src/debugger/views/Database.vue +113 -26
  60. package/src/debugger/views/Events.vue +113 -0
  61. package/src/debugger/views/Request.vue +133 -1
  62. package/src/debugger/views/Routing.vue +210 -0
  63. package/src/debugger/views/System.vue +37 -8
  64. package/src/debugger/views/Timeline.vue +92 -0
  65. package/src/{webpack.config.js → debugger/webpack.config.js} +9 -9
  66. package/src/install-vendors.mjs +10 -3
  67. package/src/utils.mjs +1 -2
  68. package/dist/debugger/1.js +0 -2
  69. package/dist/debugger/1.js.map +0 -1
  70. package/dist/debugger/144.js +0 -2
  71. package/dist/debugger/144.js.map +0 -1
  72. package/dist/debugger/2.js +0 -8
  73. package/dist/debugger/2.js.map +0 -1
  74. package/dist/debugger/3.js +0 -2
  75. package/dist/debugger/3.js.map +0 -1
  76. package/dist/debugger/4.js +0 -2
  77. package/dist/debugger/4.js.map +0 -1
  78. package/dist/debugger/5.js +0 -2
  79. package/dist/debugger/5.js.map +0 -1
  80. package/dist/debugger/523.js +0 -2
  81. package/dist/debugger/523.js.map +0 -1
  82. package/dist/debugger/659.js +0 -3
  83. package/dist/debugger/659.js.map +0 -1
  84. package/dist/debugger/689.js +0 -2
  85. package/dist/debugger/689.js.map +0 -1
  86. package/dist/debugger/715.js +0 -2
  87. package/dist/debugger/715.js.map +0 -1
  88. package/dist/debugger/727.js +0 -3
  89. package/dist/debugger/727.js.map +0 -1
  90. package/dist/debugger/src_debugger_views_Dashboard_vue.js +0 -67
  91. package/dist/debugger/src_debugger_views_Database_vue.js +0 -187
  92. package/dist/debugger/src_debugger_views_Request_vue.js +0 -67
  93. package/dist/debugger/src_debugger_views_System_vue.js +0 -122
  94. package/dist/debugger/vendors-node_modules_sql-formatter_lib_sqlFormatter_js.js +0 -212
  95. /package/dist/debugger/{659.js.LICENSE.txt → chunk-vendor-114.js.LICENSE.txt} +0 -0
  96. /package/dist/debugger/{727.js.LICENSE.txt → chunk-vendor-500.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-vendor-180.js","mappings":"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","sources":["webpack://@windwalker-io/core/../../../../../node_modules/nearley/lib/nearley.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/expandPhrases.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/ExpressionFormatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/Formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/Indentation.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/InlineLayout.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/Layout.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/Params.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/config.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/formatAliasPositions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/formatCommaPositions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/formatter/tabularStyle.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/index.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/bigquery/bigquery.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/bigquery/bigquery.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/bigquery/bigquery.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/db2/db2.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/db2/db2.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/db2/db2.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/hive/hive.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/hive/hive.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/hive/hive.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mariadb/mariadb.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mariadb/mariadb.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mariadb/mariadb.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mysql/mysql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mysql/mysql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/mysql/mysql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/n1ql/n1ql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/n1ql/n1ql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/n1ql/n1ql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/plsql/plsql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/plsql/plsql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/plsql/plsql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/postgresql/postgresql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/postgresql/postgresql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/postgresql/postgresql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/redshift/redshift.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/redshift/redshift.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/redshift/redshift.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/spark/spark.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/spark/spark.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/spark/spark.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sql/sql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sql/sql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sql/sql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sqlite/sqlite.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sqlite/sqlite.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/sqlite/sqlite.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/transactsql/transactsql.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/transactsql/transactsql.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/transactsql/transactsql.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/trino/trino.formatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/trino/trino.functions.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/languages/trino/trino.keywords.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/NestedComment.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/Tokenizer.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/TokenizerEngine.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/disambiguateTokens.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/lineColFromIndex.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/regexFactory.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/regexUtil.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/lexer/token.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/parser/LexerAdapter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/parser/ast.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/parser/createParser.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/parser/grammar.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/sqlFormatter.js","webpack://@windwalker-io/core/../../../../../node_modules/sql-formatter/lib/utils.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/index.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/dom/event-handler.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/dom/selector-engine.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/dom/manipulator.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/scrollbar.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/dom/data.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/config.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/base-component.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/backdrop.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/focustrap.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/modal.js","webpack://@windwalker-io/core/./node_modules/bootstrap/js/src/util/component-functions.js"],"sourcesContent":["(function(root, factory) {\n if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.nearley = factory();\n }\n}(this, function() {\n\n function Rule(name, symbols, postprocess) {\n this.id = ++Rule.highestId;\n this.name = name;\n this.symbols = symbols; // a list of literal | regex class | nonterminal\n this.postprocess = postprocess;\n return this;\n }\n Rule.highestId = 0;\n\n Rule.prototype.toString = function(withCursorAt) {\n var symbolSequence = (typeof withCursorAt === \"undefined\")\n ? this.symbols.map(getSymbolShortDisplay).join(' ')\n : ( this.symbols.slice(0, withCursorAt).map(getSymbolShortDisplay).join(' ')\n + \" ● \"\n + this.symbols.slice(withCursorAt).map(getSymbolShortDisplay).join(' ') );\n return this.name + \" → \" + symbolSequence;\n }\n\n\n // a State is a rule at a position from a given starting point in the input stream (reference)\n function State(rule, dot, reference, wantedBy) {\n this.rule = rule;\n this.dot = dot;\n this.reference = reference;\n this.data = [];\n this.wantedBy = wantedBy;\n this.isComplete = this.dot === rule.symbols.length;\n }\n\n State.prototype.toString = function() {\n return \"{\" + this.rule.toString(this.dot) + \"}, from: \" + (this.reference || 0);\n };\n\n State.prototype.nextState = function(child) {\n var state = new State(this.rule, this.dot + 1, this.reference, this.wantedBy);\n state.left = this;\n state.right = child;\n if (state.isComplete) {\n state.data = state.build();\n // Having right set here will prevent the right state and its children\n // form being garbage collected\n state.right = undefined;\n }\n return state;\n };\n\n State.prototype.build = function() {\n var children = [];\n var node = this;\n do {\n children.push(node.right.data);\n node = node.left;\n } while (node.left);\n children.reverse();\n return children;\n };\n\n State.prototype.finish = function() {\n if (this.rule.postprocess) {\n this.data = this.rule.postprocess(this.data, this.reference, Parser.fail);\n }\n };\n\n\n function Column(grammar, index) {\n this.grammar = grammar;\n this.index = index;\n this.states = [];\n this.wants = {}; // states indexed by the non-terminal they expect\n this.scannable = []; // list of states that expect a token\n this.completed = {}; // states that are nullable\n }\n\n\n Column.prototype.process = function(nextColumn) {\n var states = this.states;\n var wants = this.wants;\n var completed = this.completed;\n\n for (var w = 0; w < states.length; w++) { // nb. we push() during iteration\n var state = states[w];\n\n if (state.isComplete) {\n state.finish();\n if (state.data !== Parser.fail) {\n // complete\n var wantedBy = state.wantedBy;\n for (var i = wantedBy.length; i--; ) { // this line is hot\n var left = wantedBy[i];\n this.complete(left, state);\n }\n\n // special-case nullables\n if (state.reference === this.index) {\n // make sure future predictors of this rule get completed.\n var exp = state.rule.name;\n (this.completed[exp] = this.completed[exp] || []).push(state);\n }\n }\n\n } else {\n // queue scannable states\n var exp = state.rule.symbols[state.dot];\n if (typeof exp !== 'string') {\n this.scannable.push(state);\n continue;\n }\n\n // predict\n if (wants[exp]) {\n wants[exp].push(state);\n\n if (completed.hasOwnProperty(exp)) {\n var nulls = completed[exp];\n for (var i = 0; i < nulls.length; i++) {\n var right = nulls[i];\n this.complete(state, right);\n }\n }\n } else {\n wants[exp] = [state];\n this.predict(exp);\n }\n }\n }\n }\n\n Column.prototype.predict = function(exp) {\n var rules = this.grammar.byName[exp] || [];\n\n for (var i = 0; i < rules.length; i++) {\n var r = rules[i];\n var wantedBy = this.wants[exp];\n var s = new State(r, 0, this.index, wantedBy);\n this.states.push(s);\n }\n }\n\n Column.prototype.complete = function(left, right) {\n var copy = left.nextState(right);\n this.states.push(copy);\n }\n\n\n function Grammar(rules, start) {\n this.rules = rules;\n this.start = start || this.rules[0].name;\n var byName = this.byName = {};\n this.rules.forEach(function(rule) {\n if (!byName.hasOwnProperty(rule.name)) {\n byName[rule.name] = [];\n }\n byName[rule.name].push(rule);\n });\n }\n\n // So we can allow passing (rules, start) directly to Parser for backwards compatibility\n Grammar.fromCompiled = function(rules, start) {\n var lexer = rules.Lexer;\n if (rules.ParserStart) {\n start = rules.ParserStart;\n rules = rules.ParserRules;\n }\n var rules = rules.map(function (r) { return (new Rule(r.name, r.symbols, r.postprocess)); });\n var g = new Grammar(rules, start);\n g.lexer = lexer; // nb. storing lexer on Grammar is iffy, but unavoidable\n return g;\n }\n\n\n function StreamLexer() {\n this.reset(\"\");\n }\n\n StreamLexer.prototype.reset = function(data, state) {\n this.buffer = data;\n this.index = 0;\n this.line = state ? state.line : 1;\n this.lastLineBreak = state ? -state.col : 0;\n }\n\n StreamLexer.prototype.next = function() {\n if (this.index < this.buffer.length) {\n var ch = this.buffer[this.index++];\n if (ch === '\\n') {\n this.line += 1;\n this.lastLineBreak = this.index;\n }\n return {value: ch};\n }\n }\n\n StreamLexer.prototype.save = function() {\n return {\n line: this.line,\n col: this.index - this.lastLineBreak,\n }\n }\n\n StreamLexer.prototype.formatError = function(token, message) {\n // nb. this gets called after consuming the offending token,\n // so the culprit is index-1\n var buffer = this.buffer;\n if (typeof buffer === 'string') {\n var lines = buffer\n .split(\"\\n\")\n .slice(\n Math.max(0, this.line - 5), \n this.line\n );\n\n var nextLineBreak = buffer.indexOf('\\n', this.index);\n if (nextLineBreak === -1) nextLineBreak = buffer.length;\n var col = this.index - this.lastLineBreak;\n var lastLineDigits = String(this.line).length;\n message += \" at line \" + this.line + \" col \" + col + \":\\n\\n\";\n message += lines\n .map(function(line, i) {\n return pad(this.line - lines.length + i + 1, lastLineDigits) + \" \" + line;\n }, this)\n .join(\"\\n\");\n message += \"\\n\" + pad(\"\", lastLineDigits + col) + \"^\\n\";\n return message;\n } else {\n return message + \" at index \" + (this.index - 1);\n }\n\n function pad(n, length) {\n var s = String(n);\n return Array(length - s.length + 1).join(\" \") + s;\n }\n }\n\n function Parser(rules, start, options) {\n if (rules instanceof Grammar) {\n var grammar = rules;\n var options = start;\n } else {\n var grammar = Grammar.fromCompiled(rules, start);\n }\n this.grammar = grammar;\n\n // Read options\n this.options = {\n keepHistory: false,\n lexer: grammar.lexer || new StreamLexer,\n };\n for (var key in (options || {})) {\n this.options[key] = options[key];\n }\n\n // Setup lexer\n this.lexer = this.options.lexer;\n this.lexerState = undefined;\n\n // Setup a table\n var column = new Column(grammar, 0);\n var table = this.table = [column];\n\n // I could be expecting anything.\n column.wants[grammar.start] = [];\n column.predict(grammar.start);\n // TODO what if start rule is nullable?\n column.process();\n this.current = 0; // token index\n }\n\n // create a reserved token for indicating a parse fail\n Parser.fail = {};\n\n Parser.prototype.feed = function(chunk) {\n var lexer = this.lexer;\n lexer.reset(chunk, this.lexerState);\n\n var token;\n while (true) {\n try {\n token = lexer.next();\n if (!token) {\n break;\n }\n } catch (e) {\n // Create the next column so that the error reporter\n // can display the correctly predicted states.\n var nextColumn = new Column(this.grammar, this.current + 1);\n this.table.push(nextColumn);\n var err = new Error(this.reportLexerError(e));\n err.offset = this.current;\n err.token = e.token;\n throw err;\n }\n // We add new states to table[current+1]\n var column = this.table[this.current];\n\n // GC unused states\n if (!this.options.keepHistory) {\n delete this.table[this.current - 1];\n }\n\n var n = this.current + 1;\n var nextColumn = new Column(this.grammar, n);\n this.table.push(nextColumn);\n\n // Advance all tokens that expect the symbol\n var literal = token.text !== undefined ? token.text : token.value;\n var value = lexer.constructor === StreamLexer ? token.value : token;\n var scannable = column.scannable;\n for (var w = scannable.length; w--; ) {\n var state = scannable[w];\n var expect = state.rule.symbols[state.dot];\n // Try to consume the token\n // either regex or literal\n if (expect.test ? expect.test(value) :\n expect.type ? expect.type === token.type\n : expect.literal === literal) {\n // Add it\n var next = state.nextState({data: value, token: token, isToken: true, reference: n - 1});\n nextColumn.states.push(next);\n }\n }\n\n // Next, for each of the rules, we either\n // (a) complete it, and try to see if the reference row expected that\n // rule\n // (b) predict the next nonterminal it expects by adding that\n // nonterminal's start state\n // To prevent duplication, we also keep track of rules we have already\n // added\n\n nextColumn.process();\n\n // If needed, throw an error:\n if (nextColumn.states.length === 0) {\n // No states at all! This is not good.\n var err = new Error(this.reportError(token));\n err.offset = this.current;\n err.token = token;\n throw err;\n }\n\n // maybe save lexer state\n if (this.options.keepHistory) {\n column.lexerState = lexer.save()\n }\n\n this.current++;\n }\n if (column) {\n this.lexerState = lexer.save()\n }\n\n // Incrementally keep track of results\n this.results = this.finish();\n\n // Allow chaining, for whatever it's worth\n return this;\n };\n\n Parser.prototype.reportLexerError = function(lexerError) {\n var tokenDisplay, lexerMessage;\n // Planning to add a token property to moo's thrown error\n // even on erroring tokens to be used in error display below\n var token = lexerError.token;\n if (token) {\n tokenDisplay = \"input \" + JSON.stringify(token.text[0]) + \" (lexer error)\";\n lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n } else {\n tokenDisplay = \"input (lexer error)\";\n lexerMessage = lexerError.message;\n }\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportError = function(token) {\n var tokenDisplay = (token.type ? token.type + \" token: \" : \"\") + JSON.stringify(token.value !== undefined ? token.value : token);\n var lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportErrorCommon = function(lexerMessage, tokenDisplay) {\n var lines = [];\n lines.push(lexerMessage);\n var lastColumnIndex = this.table.length - 2;\n var lastColumn = this.table[lastColumnIndex];\n var expectantStates = lastColumn.states\n .filter(function(state) {\n var nextSymbol = state.rule.symbols[state.dot];\n return nextSymbol && typeof nextSymbol !== \"string\";\n });\n\n if (expectantStates.length === 0) {\n lines.push('Unexpected ' + tokenDisplay + '. I did not expect any more input. Here is the state of my parse table:\\n');\n this.displayStateStack(lastColumn.states, lines);\n } else {\n lines.push('Unexpected ' + tokenDisplay + '. Instead, I was expecting to see one of the following:\\n');\n // Display a \"state stack\" for each expectant state\n // - which shows you how this state came to be, step by step.\n // If there is more than one derivation, we only display the first one.\n var stateStacks = expectantStates\n .map(function(state) {\n return this.buildFirstStateStack(state, []) || [state];\n }, this);\n // Display each state that is expecting a terminal symbol next.\n stateStacks.forEach(function(stateStack) {\n var state = stateStack[0];\n var nextSymbol = state.rule.symbols[state.dot];\n var symbolDisplay = this.getSymbolDisplay(nextSymbol);\n lines.push('A ' + symbolDisplay + ' based on:');\n this.displayStateStack(stateStack, lines);\n }, this);\n }\n lines.push(\"\");\n return lines.join(\"\\n\");\n }\n \n Parser.prototype.displayStateStack = function(stateStack, lines) {\n var lastDisplay;\n var sameDisplayCount = 0;\n for (var j = 0; j < stateStack.length; j++) {\n var state = stateStack[j];\n var display = state.rule.toString(state.dot);\n if (display === lastDisplay) {\n sameDisplayCount++;\n } else {\n if (sameDisplayCount > 0) {\n lines.push(' ^ ' + sameDisplayCount + ' more lines identical to this');\n }\n sameDisplayCount = 0;\n lines.push(' ' + display);\n }\n lastDisplay = display;\n }\n };\n\n Parser.prototype.getSymbolDisplay = function(symbol) {\n return getSymbolLongDisplay(symbol);\n };\n\n /*\n Builds a the first state stack. You can think of a state stack as the call stack\n of the recursive-descent parser which the Nearley parse algorithm simulates.\n A state stack is represented as an array of state objects. Within a\n state stack, the first item of the array will be the starting\n state, with each successive item in the array going further back into history.\n\n This function needs to be given a starting state and an empty array representing\n the visited states, and it returns an single state stack.\n\n */\n Parser.prototype.buildFirstStateStack = function(state, visited) {\n if (visited.indexOf(state) !== -1) {\n // Found cycle, return null\n // to eliminate this path from the results, because\n // we don't know how to display it meaningfully\n return null;\n }\n if (state.wantedBy.length === 0) {\n return [state];\n }\n var prevState = state.wantedBy[0];\n var childVisited = [state].concat(visited);\n var childResult = this.buildFirstStateStack(prevState, childVisited);\n if (childResult === null) {\n return null;\n }\n return [state].concat(childResult);\n };\n\n Parser.prototype.save = function() {\n var column = this.table[this.current];\n column.lexerState = this.lexerState;\n return column;\n };\n\n Parser.prototype.restore = function(column) {\n var index = column.index;\n this.current = index;\n this.table[index] = column;\n this.table.splice(index + 1);\n this.lexerState = column.lexerState;\n\n // Incrementally keep track of results\n this.results = this.finish();\n };\n\n // nb. deprecated: use save/restore instead!\n Parser.prototype.rewind = function(index) {\n if (!this.options.keepHistory) {\n throw new Error('set option `keepHistory` to enable rewinding')\n }\n // nb. recall column (table) indicies fall between token indicies.\n // col 0 -- token 0 -- col 1\n this.restore(this.table[index]);\n };\n\n Parser.prototype.finish = function() {\n // Return the possible parsings\n var considerations = [];\n var start = this.grammar.start;\n var column = this.table[this.table.length - 1]\n column.states.forEach(function (t) {\n if (t.rule.name === start\n && t.dot === t.rule.symbols.length\n && t.reference === 0\n && t.data !== Parser.fail) {\n considerations.push(t);\n }\n });\n return considerations.map(function(c) {return c.data; });\n };\n\n function getSymbolLongDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return 'character matching ' + symbol;\n } else if (symbol.type) {\n return symbol.type + ' token';\n } else if (symbol.test) {\n return 'token matching ' + String(symbol.test);\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n function getSymbolShortDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return symbol.toString();\n } else if (symbol.type) {\n return '%' + symbol.type;\n } else if (symbol.test) {\n return '<' + String(symbol.test) + '>';\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n return {\n Parser: Parser,\n Grammar: Grammar,\n Rule: Rule,\n };\n\n}));\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.expandSinglePhrase = exports.expandPhrases = void 0;\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Performs expandSinglePhrase() on array\n */\nvar expandPhrases = function expandPhrases(phrases) {\n return phrases.flatMap(expandSinglePhrase);\n};\n/**\n * Expands a syntax description like\n *\n * \"CREATE [OR REPLACE] [TEMP|TEMPORARY] TABLE\"\n *\n * into an array of all possible combinations like:\n *\n * [ \"CREATE TABLE\",\n * \"CREATE TEMP TABLE\",\n * \"CREATE TEMPORARY TABLE\",\n * \"CREATE OR REPLACE TABLE\",\n * \"CREATE OR REPLACE TEMP TABLE\",\n * \"CREATE OR REPLACE TEMPORARY TABLE\" ]\n */\n\n\nexports.expandPhrases = expandPhrases;\n\nvar expandSinglePhrase = function expandSinglePhrase(phrase) {\n return buildCombinations(parsePhrase(phrase)).map(function (text) {\n return text.trim();\n });\n}; // This data type holds variants of a single part in whole phrase.\n// Corresponding to syntax as follows:\n//\n// \"TABLE\" --> [\"TABLE\"]\n// \"[TABLE]\" --> [\"\", \"TABLE\"]\n// \"[TEMP|TEMPORARY]\" --> [\"\", \"TEMP\", \"TEMPORARY\"]\n// \"{TEMP|TEMPORARY}\" --> [\"TEMP\", \"TEMPORARY\"]\n//\n\n\nexports.expandSinglePhrase = expandSinglePhrase;\nvar REQUIRED_PART = new RegExp(\"[^[\\\\]{}]+\", \"y\");\nvar REQUIRED_BLOCK = new RegExp(\"\\\\{.*?\\\\}\", \"y\");\nvar OPTIONAL_BLOCK = new RegExp(\"\\\\[.*?\\\\]\", \"y\");\n\nvar parsePhrase = function parsePhrase(text) {\n var index = 0;\n var result = [];\n\n while (index < text.length) {\n // Match everything else outside of \"[...]\" or \"{...}\" blocks\n REQUIRED_PART.lastIndex = index;\n var requiredMatch = REQUIRED_PART.exec(text);\n\n if (requiredMatch) {\n result.push([requiredMatch[0].trim()]);\n index += requiredMatch[0].length;\n } // Match \"[...]\" block\n\n\n OPTIONAL_BLOCK.lastIndex = index;\n var optionalBlockMatch = OPTIONAL_BLOCK.exec(text);\n\n if (optionalBlockMatch) {\n var choices = optionalBlockMatch[0].slice(1, -1).split('|').map(function (s) {\n return s.trim();\n });\n result.push([''].concat(_toConsumableArray(choices)));\n index += optionalBlockMatch[0].length;\n } // Match \"{...}\" block\n\n\n REQUIRED_BLOCK.lastIndex = index;\n var requiredBlockMatch = REQUIRED_BLOCK.exec(text);\n\n if (requiredBlockMatch) {\n var _choices = requiredBlockMatch[0].slice(1, -1).split('|').map(function (s) {\n return s.trim();\n });\n\n result.push(_choices);\n index += requiredBlockMatch[0].length;\n }\n\n if (!requiredMatch && !optionalBlockMatch && !requiredBlockMatch) {\n throw new Error(\"Unbalanced parenthesis in: \".concat(text));\n }\n }\n\n return result;\n};\n\nvar buildCombinations = function buildCombinations(_ref) {\n var _ref2 = _toArray(_ref),\n first = _ref2[0],\n rest = _ref2.slice(1);\n\n if (first === undefined) {\n return [''];\n }\n\n return buildCombinations(rest).flatMap(function (tail) {\n return first.map(function (head) {\n return head.trim() + ' ' + tail.trim();\n });\n });\n};\n//# sourceMappingURL=expandPhrases.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _config = require(\"./config\");\n\nvar _token = require(\"../lexer/token\");\n\nvar _ast = require(\"../parser/ast\");\n\nvar _Layout = require(\"./Layout\");\n\nvar _tabularStyle = _interopRequireWildcard(require(\"./tabularStyle\"));\n\nvar _InlineLayout = _interopRequireWildcard(require(\"./InlineLayout\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/** Formats a generic SQL expression */\nvar ExpressionFormatter = /*#__PURE__*/function () {\n function ExpressionFormatter(_ref) {\n var cfg = _ref.cfg,\n params = _ref.params,\n layout = _ref.layout,\n _ref$inline = _ref.inline,\n inline = _ref$inline === void 0 ? false : _ref$inline;\n\n _classCallCheck(this, ExpressionFormatter);\n\n _defineProperty(this, \"cfg\", void 0);\n\n _defineProperty(this, \"params\", void 0);\n\n _defineProperty(this, \"layout\", void 0);\n\n _defineProperty(this, \"inline\", false);\n\n _defineProperty(this, \"nodes\", []);\n\n _defineProperty(this, \"index\", -1);\n\n this.cfg = cfg;\n this.inline = inline;\n this.params = params;\n this.layout = layout;\n }\n\n _createClass(ExpressionFormatter, [{\n key: \"format\",\n value: function format(nodes) {\n this.nodes = nodes;\n\n for (this.index = 0; this.index < this.nodes.length; this.index++) {\n this.formatNode(this.nodes[this.index]);\n }\n\n return this.layout;\n }\n }, {\n key: \"formatNode\",\n value: function formatNode(node) {\n this.formatComments(node.leadingComments);\n this.formatNodeWithoutComments(node);\n this.formatComments(node.trailingComments);\n }\n }, {\n key: \"formatNodeWithoutComments\",\n value: function formatNodeWithoutComments(node) {\n switch (node.type) {\n case _ast.NodeType.function_call:\n return this.formatFunctionCall(node);\n\n case _ast.NodeType.array_subscript:\n return this.formatArraySubscript(node);\n\n case _ast.NodeType.property_access:\n return this.formatPropertyAccess(node);\n\n case _ast.NodeType.parenthesis:\n return this.formatParenthesis(node);\n\n case _ast.NodeType.between_predicate:\n return this.formatBetweenPredicate(node);\n\n case _ast.NodeType.clause:\n return this.formatClause(node);\n\n case _ast.NodeType.set_operation:\n return this.formatSetOperation(node);\n\n case _ast.NodeType.limit_clause:\n return this.formatLimitClause(node);\n\n case _ast.NodeType.all_columns_asterisk:\n return this.formatAllColumnsAsterisk(node);\n\n case _ast.NodeType.literal:\n return this.formatLiteral(node);\n\n case _ast.NodeType.identifier:\n return this.formatIdentifier(node);\n\n case _ast.NodeType.parameter:\n return this.formatParameter(node);\n\n case _ast.NodeType.operator:\n return this.formatOperator(node);\n\n case _ast.NodeType.comma:\n return this.formatComma(node);\n\n case _ast.NodeType.line_comment:\n return this.formatLineComment(node);\n\n case _ast.NodeType.block_comment:\n return this.formatBlockComment(node);\n\n case _ast.NodeType.keyword:\n return this.formatKeywordNode(node);\n }\n }\n }, {\n key: \"formatFunctionCall\",\n value: function formatFunctionCall(node) {\n var _this = this;\n\n this.withComments(node.name, function () {\n _this.layout.add(_this.showKw(node.name));\n });\n this.formatNode(node.parenthesis);\n }\n }, {\n key: \"formatArraySubscript\",\n value: function formatArraySubscript(node) {\n var _this2 = this;\n\n this.withComments(node.array, function () {\n _this2.layout.add(node.array.type === _ast.NodeType.keyword ? _this2.showKw(node.array) : node.array.text);\n });\n this.formatNode(node.parenthesis);\n }\n }, {\n key: \"formatPropertyAccess\",\n value: function formatPropertyAccess(node) {\n this.formatNode(node.object);\n this.layout.add(_Layout.WS.NO_SPACE, '.');\n this.formatNode(node.property);\n }\n }, {\n key: \"formatParenthesis\",\n value: function formatParenthesis(node) {\n var inlineLayout = this.formatInlineExpression(node.children);\n\n if (inlineLayout) {\n var _this$layout;\n\n this.layout.add(node.openParen);\n\n (_this$layout = this.layout).add.apply(_this$layout, _toConsumableArray(inlineLayout.getLayoutItems()));\n\n this.layout.add(_Layout.WS.NO_SPACE, node.closeParen, _Layout.WS.SPACE);\n } else {\n this.layout.add(node.openParen, _Layout.WS.NEWLINE);\n\n if ((0, _config.isTabularStyle)(this.cfg)) {\n this.layout.add(_Layout.WS.INDENT);\n this.layout = this.formatSubExpression(node.children);\n } else {\n this.layout.indentation.increaseBlockLevel();\n this.layout.add(_Layout.WS.INDENT);\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseBlockLevel();\n }\n\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, node.closeParen, _Layout.WS.SPACE);\n }\n }\n }, {\n key: \"formatBetweenPredicate\",\n value: function formatBetweenPredicate(node) {\n this.layout.add(this.showKw(node.between), _Layout.WS.SPACE);\n this.layout = this.formatSubExpression(node.expr1);\n this.layout.add(_Layout.WS.NO_SPACE, _Layout.WS.SPACE, this.showNonTabularKw(node.and), _Layout.WS.SPACE);\n this.layout = this.formatSubExpression(node.expr2);\n this.layout.add(_Layout.WS.SPACE);\n }\n }, {\n key: \"formatClause\",\n value: function formatClause(node) {\n if ((0, _config.isTabularStyle)(this.cfg)) {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node.name), _Layout.WS.SPACE);\n } else {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node.name), _Layout.WS.NEWLINE);\n }\n\n this.layout.indentation.increaseTopLevel();\n\n if (!(0, _config.isTabularStyle)(this.cfg)) {\n this.layout.add(_Layout.WS.INDENT);\n }\n\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseTopLevel();\n }\n }, {\n key: \"formatSetOperation\",\n value: function formatSetOperation(node) {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node.name), _Layout.WS.NEWLINE);\n this.layout.add(_Layout.WS.INDENT);\n this.layout = this.formatSubExpression(node.children);\n }\n }, {\n key: \"formatLimitClause\",\n value: function formatLimitClause(node) {\n var _this3 = this;\n\n this.withComments(node.name, function () {\n _this3.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, _this3.showKw(node.name));\n });\n this.layout.indentation.increaseTopLevel();\n\n if ((0, _config.isTabularStyle)(this.cfg)) {\n this.layout.add(_Layout.WS.SPACE);\n } else {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT);\n }\n\n if (node.offset) {\n this.layout = this.formatSubExpression(node.offset);\n this.layout.add(_Layout.WS.NO_SPACE, ',', _Layout.WS.SPACE);\n this.layout = this.formatSubExpression(node.count);\n } else {\n this.layout = this.formatSubExpression(node.count);\n }\n\n this.layout.indentation.decreaseTopLevel();\n }\n }, {\n key: \"formatAllColumnsAsterisk\",\n value: function formatAllColumnsAsterisk(_node) {\n this.layout.add('*', _Layout.WS.SPACE);\n }\n }, {\n key: \"formatLiteral\",\n value: function formatLiteral(node) {\n this.layout.add(node.text, _Layout.WS.SPACE);\n }\n }, {\n key: \"formatIdentifier\",\n value: function formatIdentifier(node) {\n this.layout.add(node.text, _Layout.WS.SPACE);\n }\n }, {\n key: \"formatParameter\",\n value: function formatParameter(node) {\n this.layout.add(this.params.get(node), _Layout.WS.SPACE);\n }\n }, {\n key: \"formatOperator\",\n value: function formatOperator(_ref2) {\n var text = _ref2.text;\n\n // special operator\n if (text === ':') {\n this.layout.add(_Layout.WS.NO_SPACE, text, _Layout.WS.SPACE);\n return;\n } else if (text === '::') {\n this.layout.add(_Layout.WS.NO_SPACE, text);\n return;\n } // special case for PLSQL @ dblink syntax\n else if (text === '@' && this.cfg.language === 'plsql') {\n this.layout.add(_Layout.WS.NO_SPACE, text);\n return;\n } // other operators\n\n\n if (this.cfg.denseOperators) {\n this.layout.add(_Layout.WS.NO_SPACE, text);\n } else {\n this.layout.add(text, _Layout.WS.SPACE);\n }\n }\n }, {\n key: \"formatComma\",\n value: function formatComma(_node) {\n if (!this.inline) {\n this.layout.add(_Layout.WS.NO_SPACE, ',', _Layout.WS.NEWLINE, _Layout.WS.INDENT);\n } else {\n this.layout.add(_Layout.WS.NO_SPACE, ',', _Layout.WS.SPACE);\n }\n }\n }, {\n key: \"withComments\",\n value: function withComments(node, fn) {\n this.formatComments(node.leadingComments);\n fn();\n this.formatComments(node.trailingComments);\n }\n }, {\n key: \"formatComments\",\n value: function formatComments(comments) {\n var _this4 = this;\n\n if (!comments) {\n return;\n }\n\n comments.forEach(function (com) {\n if (com.type === _ast.NodeType.line_comment) {\n _this4.formatLineComment(com);\n } else {\n _this4.formatBlockComment(com);\n }\n });\n }\n }, {\n key: \"formatLineComment\",\n value: function formatLineComment(node) {\n if (/\\n/.test(node.precedingWhitespace || '')) {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, node.text, _Layout.WS.MANDATORY_NEWLINE, _Layout.WS.INDENT);\n } else {\n this.layout.add(_Layout.WS.NO_NEWLINE, _Layout.WS.SPACE, node.text, _Layout.WS.MANDATORY_NEWLINE, _Layout.WS.INDENT);\n }\n }\n }, {\n key: \"formatBlockComment\",\n value: function formatBlockComment(node) {\n var _this5 = this;\n\n this.splitBlockComment(node.text).forEach(function (line) {\n _this5.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, line);\n });\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT);\n } // Breaks up block comment to multiple lines.\n // For example this comment (dots representing leading whitespace):\n //\n // ..../**\n // .....* Some description here\n // .....* and here too\n // .....*/\n //\n // gets broken to this array (note the leading single spaces):\n //\n // [ '/**',\n // '.* Some description here',\n // '.* and here too',\n // '.*/' ]\n //\n\n }, {\n key: \"splitBlockComment\",\n value: function splitBlockComment(comment) {\n return comment.split(/\\n/).map(function (line) {\n if (/^\\s*\\*/.test(line)) {\n return ' ' + line.replace(/^\\s*/, '');\n } else {\n return line.replace(/^\\s*/, '');\n }\n });\n }\n }, {\n key: \"formatSubExpression\",\n value: function formatSubExpression(nodes) {\n return new ExpressionFormatter({\n cfg: this.cfg,\n params: this.params,\n layout: this.layout,\n inline: this.inline\n }).format(nodes);\n }\n }, {\n key: \"formatInlineExpression\",\n value: function formatInlineExpression(nodes) {\n var oldParamIndex = this.params.getPositionalParameterIndex();\n\n try {\n return new ExpressionFormatter({\n cfg: this.cfg,\n params: this.params,\n layout: new _InlineLayout[\"default\"](this.cfg.expressionWidth),\n inline: true\n }).format(nodes);\n } catch (e) {\n if (e instanceof _InlineLayout.InlineLayoutError) {\n // While formatting, some of the positional parameters might have\n // been consumed, which increased the current parameter index.\n // We reset the index to an earlier state, so we can run the\n // formatting again and re-consume these parameters in non-inline mode.\n this.params.setPositionalParameterIndex(oldParamIndex);\n return undefined;\n } else {\n // forward all unexpected errors\n throw e;\n }\n }\n }\n }, {\n key: \"formatKeywordNode\",\n value: function formatKeywordNode(node) {\n switch (node.tokenType) {\n case _token.TokenType.RESERVED_JOIN:\n return this.formatJoin(node);\n\n case _token.TokenType.RESERVED_DEPENDENT_CLAUSE:\n return this.formatDependentClause(node);\n\n case _token.TokenType.AND:\n case _token.TokenType.OR:\n case _token.TokenType.XOR:\n return this.formatLogicalOperator(node);\n\n case _token.TokenType.RESERVED_KEYWORD:\n case _token.TokenType.RESERVED_FUNCTION_NAME:\n case _token.TokenType.RESERVED_PHRASE:\n return this.formatKeyword(node);\n\n case _token.TokenType.CASE:\n return this.formatCaseStart(node);\n\n case _token.TokenType.END:\n return this.formatCaseEnd(node);\n\n default:\n throw new Error(\"Unexpected token type: \".concat(node.tokenType));\n }\n }\n }, {\n key: \"formatJoin\",\n value: function formatJoin(node) {\n if ((0, _config.isTabularStyle)(this.cfg)) {\n // in tabular style JOINs are at the same level as clauses\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n }\n }\n }, {\n key: \"formatKeyword\",\n value: function formatKeyword(node) {\n this.layout.add(this.showKw(node), _Layout.WS.SPACE);\n }\n }, {\n key: \"formatDependentClause\",\n value: function formatDependentClause(node) {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n }\n }, {\n key: \"formatLogicalOperator\",\n value: function formatLogicalOperator(node) {\n if (this.cfg.logicalOperatorNewline === 'before') {\n if ((0, _config.isTabularStyle)(this.cfg)) {\n // In tabular style AND/OR is placed on the same level as clauses\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n }\n } else {\n this.layout.add(this.showKw(node), _Layout.WS.NEWLINE, _Layout.WS.INDENT);\n }\n }\n }, {\n key: \"formatCaseStart\",\n value: function formatCaseStart(node) {\n this.layout.indentation.increaseBlockLevel();\n this.layout.add(this.showKw(node), _Layout.WS.NEWLINE, _Layout.WS.INDENT);\n }\n }, {\n key: \"formatCaseEnd\",\n value: function formatCaseEnd(node) {\n this.formatMultilineBlockEnd(node);\n }\n }, {\n key: \"formatMultilineBlockEnd\",\n value: function formatMultilineBlockEnd(node) {\n this.layout.indentation.decreaseBlockLevel();\n this.layout.add(_Layout.WS.NEWLINE, _Layout.WS.INDENT, this.showKw(node), _Layout.WS.SPACE);\n }\n }, {\n key: \"showKw\",\n value: function showKw(node) {\n if ((0, _tabularStyle.isTabularToken)(node.tokenType)) {\n return (0, _tabularStyle[\"default\"])(this.showNonTabularKw(node), this.cfg.indentStyle);\n } else {\n return this.showNonTabularKw(node);\n }\n } // Like showKw(), but skips tabular formatting\n\n }, {\n key: \"showNonTabularKw\",\n value: function showNonTabularKw(node) {\n switch (this.cfg.keywordCase) {\n case 'preserve':\n return (0, _utils.equalizeWhitespace)(node.raw);\n\n case 'upper':\n return node.text;\n\n case 'lower':\n return node.text.toLowerCase();\n }\n }\n }]);\n\n return ExpressionFormatter;\n}();\n\nexports[\"default\"] = ExpressionFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=ExpressionFormatter.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _config = require(\"./config\");\n\nvar _Params = _interopRequireDefault(require(\"./Params\"));\n\nvar _createParser = require(\"../parser/createParser\");\n\nvar _formatCommaPositions = _interopRequireDefault(require(\"./formatCommaPositions\"));\n\nvar _formatAliasPositions = _interopRequireDefault(require(\"./formatAliasPositions\"));\n\nvar _ExpressionFormatter = _interopRequireDefault(require(\"./ExpressionFormatter\"));\n\nvar _Layout = _interopRequireWildcard(require(\"./Layout\"));\n\nvar _Indentation = _interopRequireDefault(require(\"./Indentation\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/** Main formatter class that produces a final output string from list of tokens */\nvar Formatter = /*#__PURE__*/function () {\n function Formatter(cfg) {\n _classCallCheck(this, Formatter);\n\n _defineProperty(this, \"cfg\", void 0);\n\n _defineProperty(this, \"params\", void 0);\n\n this.cfg = cfg;\n this.params = new _Params[\"default\"](this.cfg.params);\n }\n /**\n * SQL Tokenizer for this formatter, provided by subclasses.\n */\n\n\n _createClass(Formatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n throw new Error('tokenizer() not implemented by subclass');\n } // Cache the tokenizer for each class (each SQL dialect)\n // So we wouldn't need to recreate the tokenizer, which is kinda expensive,\n // for each call to format() function.\n\n }, {\n key: \"cachedTokenizer\",\n value: function cachedTokenizer() {\n var cls = this.constructor;\n\n if (!cls.cachedTokenizer) {\n cls.cachedTokenizer = this.tokenizer();\n }\n\n return cls.cachedTokenizer;\n }\n /**\n * Formats an SQL query.\n * @param {string} query - The SQL query string to be formatted\n * @return {string} The formatter query\n */\n\n }, {\n key: \"format\",\n value: function format(query) {\n var ast = this.parse(query);\n var formattedQuery = this.formatAst(ast);\n var finalQuery = this.postFormat(formattedQuery);\n return finalQuery.trimEnd();\n }\n }, {\n key: \"parse\",\n value: function parse(query) {\n return (0, _createParser.createParser)(this.cachedTokenizer()).parse(query, this.cfg.paramTypes || {});\n }\n }, {\n key: \"formatAst\",\n value: function formatAst(statements) {\n var _this = this;\n\n return statements.map(function (stat) {\n return _this.formatStatement(stat);\n }).join('\\n'.repeat(this.cfg.linesBetweenQueries + 1));\n }\n }, {\n key: \"formatStatement\",\n value: function formatStatement(statement) {\n var layout = new _ExpressionFormatter[\"default\"]({\n cfg: this.cfg,\n params: this.params,\n layout: new _Layout[\"default\"](new _Indentation[\"default\"]((0, _config.indentString)(this.cfg)))\n }).format(statement.children);\n\n if (!statement.hasSemicolon) {// do nothing\n } else if (this.cfg.newlineBeforeSemicolon) {\n layout.add(_Layout.WS.NEWLINE, ';');\n } else {\n layout.add(_Layout.WS.NO_NEWLINE, ';');\n }\n\n return layout.toString();\n }\n }, {\n key: \"postFormat\",\n value: function postFormat(query) {\n if (this.cfg.tabulateAlias) {\n query = (0, _formatAliasPositions[\"default\"])(query);\n }\n\n if (this.cfg.commaPosition === 'before' || this.cfg.commaPosition === 'tabular') {\n query = (0, _formatCommaPositions[\"default\"])(query, this.cfg.commaPosition, (0, _config.indentString)(this.cfg));\n }\n\n return query;\n }\n }]);\n\n return Formatter;\n}();\n\nexports[\"default\"] = Formatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=Formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _utils = require(\"../utils\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar INDENT_TYPE_TOP_LEVEL = 'top-level';\nvar INDENT_TYPE_BLOCK_LEVEL = 'block-level';\n/**\n * Manages indentation levels.\n *\n * There are two types of indentation levels:\n *\n * - BLOCK_LEVEL : increased by open-parenthesis\n * - TOP_LEVEL : increased by RESERVED_COMMAND words\n */\n\nvar Indentation = /*#__PURE__*/function () {\n /**\n * @param {string} indent A string to indent with\n */\n function Indentation(indent) {\n _classCallCheck(this, Indentation);\n\n this.indent = indent;\n\n _defineProperty(this, \"indentTypes\", []);\n }\n /**\n * Returns indentation string for single indentation step.\n */\n\n\n _createClass(Indentation, [{\n key: \"getSingleIndent\",\n value: function getSingleIndent() {\n return this.indent;\n }\n /**\n * Returns current indentation string.\n * @return {string} indentation string based on indentTypes\n */\n\n }, {\n key: \"getIndent\",\n value: function getIndent() {\n return this.indent.repeat(this.indentTypes.length);\n }\n /**\n * Returns current indentation level\n */\n\n }, {\n key: \"getLevel\",\n value: function getLevel() {\n return this.indentTypes.length;\n }\n /**\n * Increases indentation by one top-level indent.\n */\n\n }, {\n key: \"increaseTopLevel\",\n value: function increaseTopLevel() {\n this.indentTypes.push(INDENT_TYPE_TOP_LEVEL);\n }\n /**\n * Increases indentation by one block-level indent.\n */\n\n }, {\n key: \"increaseBlockLevel\",\n value: function increaseBlockLevel() {\n this.indentTypes.push(INDENT_TYPE_BLOCK_LEVEL);\n }\n /**\n * Decreases indentation by one top-level indent.\n * Does nothing when the previous indent is not top-level.\n */\n\n }, {\n key: \"decreaseTopLevel\",\n value: function decreaseTopLevel() {\n if (this.indentTypes.length > 0 && (0, _utils.last)(this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {\n this.indentTypes.pop();\n }\n }\n /**\n * Decreases indentation by one block-level indent.\n * If there are top-level indents within the block-level indent,\n * throws away these as well.\n */\n\n }, {\n key: \"decreaseBlockLevel\",\n value: function decreaseBlockLevel() {\n while (this.indentTypes.length > 0) {\n var type = this.indentTypes.pop();\n\n if (type !== INDENT_TYPE_TOP_LEVEL) {\n break;\n }\n }\n }\n /** Clears all indentation */\n\n }, {\n key: \"resetIndentation\",\n value: function resetIndentation() {\n this.indentTypes = [];\n }\n }]);\n\n return Indentation;\n}();\n\nexports[\"default\"] = Indentation;\nmodule.exports = exports.default;\n//# sourceMappingURL=Indentation.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.InlineLayoutError = void 0;\n\nvar _Indentation = _interopRequireDefault(require(\"./Indentation\"));\n\nvar _Layout2 = _interopRequireWildcard(require(\"./Layout\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Like Layout, but only formats single-line expressions.\n *\n * Throws InlineLayoutError:\n * - when encountering a newline\n * - when exceeding configured expressionWidth\n */\nvar InlineLayout = /*#__PURE__*/function (_Layout) {\n _inherits(InlineLayout, _Layout);\n\n var _super = _createSuper(InlineLayout);\n\n // Keeps track of the trailing whitespace,\n // so that we can decrease length when encountering WS.NO_SPACE,\n // but only when there actually is a space to remove.\n function InlineLayout(expressionWidth) {\n var _this;\n\n _classCallCheck(this, InlineLayout);\n\n _this = _super.call(this, new _Indentation[\"default\"]('')); // no indentation in inline layout\n\n _this.expressionWidth = expressionWidth;\n\n _defineProperty(_assertThisInitialized(_this), \"length\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"trailingSpace\", false);\n\n return _this;\n }\n\n _createClass(InlineLayout, [{\n key: \"add\",\n value: function add() {\n var _this2 = this,\n _get2;\n\n for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {\n items[_key] = arguments[_key];\n }\n\n items.forEach(function (item) {\n return _this2.addToLength(item);\n });\n\n if (this.length > this.expressionWidth) {\n // We have exceeded the allowable width\n throw new InlineLayoutError();\n }\n\n (_get2 = _get(_getPrototypeOf(InlineLayout.prototype), \"add\", this)).call.apply(_get2, [this].concat(items));\n }\n }, {\n key: \"addToLength\",\n value: function addToLength(item) {\n if (typeof item === 'string') {\n this.length += item.length;\n this.trailingSpace = false;\n } else if (item === _Layout2.WS.MANDATORY_NEWLINE || item === _Layout2.WS.NEWLINE) {\n // newlines not allowed within inline block\n throw new InlineLayoutError();\n } else if (item === _Layout2.WS.INDENT || item === _Layout2.WS.SINGLE_INDENT || item === _Layout2.WS.SPACE) {\n if (!this.trailingSpace) {\n this.length++;\n this.trailingSpace = true;\n }\n } else if (item === _Layout2.WS.NO_NEWLINE || item === _Layout2.WS.NO_SPACE) {\n if (this.trailingSpace) {\n this.trailingSpace = false;\n this.length--;\n }\n }\n }\n }]);\n\n return InlineLayout;\n}(_Layout2[\"default\"]);\n/**\n * Thrown when block of SQL can't be formatted as a single line.\n */\n\n\nexports[\"default\"] = InlineLayout;\n\nvar InlineLayoutError = /*#__PURE__*/function (_Error) {\n _inherits(InlineLayoutError, _Error);\n\n var _super2 = _createSuper(InlineLayoutError);\n\n function InlineLayoutError() {\n _classCallCheck(this, InlineLayoutError);\n\n return _super2.apply(this, arguments);\n }\n\n return _createClass(InlineLayoutError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.InlineLayoutError = InlineLayoutError;\n//# sourceMappingURL=InlineLayout.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.WS = void 0;\n\nvar _utils = require(\"../utils\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/** Whitespace modifiers to be used with add() method */\nvar WS;\nexports.WS = WS;\n\n(function (WS) {\n WS[WS[\"SPACE\"] = 0] = \"SPACE\";\n WS[WS[\"NO_SPACE\"] = 1] = \"NO_SPACE\";\n WS[WS[\"NO_NEWLINE\"] = 2] = \"NO_NEWLINE\";\n WS[WS[\"NEWLINE\"] = 3] = \"NEWLINE\";\n WS[WS[\"MANDATORY_NEWLINE\"] = 4] = \"MANDATORY_NEWLINE\";\n WS[WS[\"INDENT\"] = 5] = \"INDENT\";\n WS[WS[\"SINGLE_INDENT\"] = 6] = \"SINGLE_INDENT\";\n})(WS || (exports.WS = WS = {}));\n\n/**\n * API for constructing SQL string (especially the whitespace part).\n *\n * It hides the internal implementation.\n * Originally it used plain string concatenation, which was expensive.\n * Now it's storing items to array and builds the string only in the end.\n */\nvar Layout = /*#__PURE__*/function () {\n function Layout(indentation) {\n _classCallCheck(this, Layout);\n\n this.indentation = indentation;\n\n _defineProperty(this, \"items\", []);\n }\n /**\n * Appends token strings and whitespace modifications to SQL string.\n */\n\n\n _createClass(Layout, [{\n key: \"add\",\n value: function add() {\n for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {\n items[_key] = arguments[_key];\n }\n\n for (var _i = 0, _items = items; _i < _items.length; _i++) {\n var item = _items[_i];\n\n switch (item) {\n case WS.SPACE:\n this.items.push(WS.SPACE);\n break;\n\n case WS.NO_SPACE:\n this.trimHorizontalWhitespace();\n break;\n\n case WS.NO_NEWLINE:\n this.trimWhitespace();\n break;\n\n case WS.NEWLINE:\n this.trimHorizontalWhitespace();\n this.addNewline(WS.NEWLINE);\n break;\n\n case WS.MANDATORY_NEWLINE:\n this.trimHorizontalWhitespace();\n this.addNewline(WS.MANDATORY_NEWLINE);\n break;\n\n case WS.INDENT:\n this.addIndentation();\n break;\n\n case WS.SINGLE_INDENT:\n this.items.push(WS.SINGLE_INDENT);\n break;\n\n default:\n this.items.push(item);\n }\n }\n }\n }, {\n key: \"trimHorizontalWhitespace\",\n value: function trimHorizontalWhitespace() {\n while (isHorizontalWhitespace((0, _utils.last)(this.items))) {\n this.items.pop();\n }\n }\n }, {\n key: \"trimWhitespace\",\n value: function trimWhitespace() {\n while (isRemovableWhitespace((0, _utils.last)(this.items))) {\n this.items.pop();\n }\n }\n }, {\n key: \"addNewline\",\n value: function addNewline(newline) {\n if (this.items.length > 0) {\n switch ((0, _utils.last)(this.items)) {\n case WS.NEWLINE:\n this.items.pop();\n this.items.push(newline);\n break;\n\n case WS.MANDATORY_NEWLINE:\n // keep as is\n break;\n\n default:\n this.items.push(newline);\n break;\n }\n }\n }\n }, {\n key: \"addIndentation\",\n value: function addIndentation() {\n for (var i = 0; i < this.indentation.getLevel(); i++) {\n this.items.push(WS.SINGLE_INDENT);\n }\n }\n /**\n * Returns the final SQL string.\n */\n\n }, {\n key: \"toString\",\n value: function toString() {\n var _this = this;\n\n return this.items.map(function (item) {\n return _this.itemToString(item);\n }).join('');\n }\n /**\n * Returns the internal layout data\n */\n\n }, {\n key: \"getLayoutItems\",\n value: function getLayoutItems() {\n return this.items;\n }\n }, {\n key: \"itemToString\",\n value: function itemToString(item) {\n switch (item) {\n case WS.SPACE:\n return ' ';\n\n case WS.NEWLINE:\n case WS.MANDATORY_NEWLINE:\n return '\\n';\n\n case WS.SINGLE_INDENT:\n return this.indentation.getSingleIndent();\n\n default:\n return item;\n }\n }\n }]);\n\n return Layout;\n}();\n\nexports[\"default\"] = Layout;\n\nvar isHorizontalWhitespace = function isHorizontalWhitespace(item) {\n return item === WS.SPACE || item === WS.SINGLE_INDENT;\n};\n\nvar isRemovableWhitespace = function isRemovableWhitespace(item) {\n return item === WS.SPACE || item === WS.SINGLE_INDENT || item === WS.NEWLINE;\n};\n//# sourceMappingURL=Layout.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Handles placeholder replacement with given params.\n */\nvar Params = /*#__PURE__*/function () {\n function Params(params) {\n _classCallCheck(this, Params);\n\n _defineProperty(this, \"params\", void 0);\n\n _defineProperty(this, \"index\", void 0);\n\n this.params = params;\n this.index = 0;\n }\n /**\n * Returns param value that matches given placeholder with param key.\n */\n\n\n _createClass(Params, [{\n key: \"get\",\n value: function get(_ref) {\n var key = _ref.key,\n text = _ref.text;\n\n if (!this.params) {\n return text;\n }\n\n if (key) {\n return this.params[key];\n }\n\n return this.params[this.index++];\n }\n /**\n * Returns index of current positional parameter.\n */\n\n }, {\n key: \"getPositionalParameterIndex\",\n value: function getPositionalParameterIndex() {\n return this.index;\n }\n /**\n * Sets index of current positional parameter.\n */\n\n }, {\n key: \"setPositionalParameterIndex\",\n value: function setPositionalParameterIndex(i) {\n this.index = i;\n }\n }]);\n\n return Params;\n}();\n\nexports[\"default\"] = Params;\nmodule.exports = exports.default;\n//# sourceMappingURL=Params.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.indentString = indentString;\nexports.isTabularStyle = isTabularStyle;\n\n// Utility functions for config options\n\n/**\n * Creates a string to use for one step of indentation.\n */\nfunction indentString(cfg) {\n if (cfg.indentStyle === 'tabularLeft' || cfg.indentStyle === 'tabularRight') {\n return ' '.repeat(10);\n }\n\n if (cfg.useTabs) {\n return '\\t';\n }\n\n return ' '.repeat(cfg.tabWidth);\n}\n/**\n * True when indentStyle is one of the tabular ones.\n */\n\n\nfunction isTabularStyle(cfg) {\n return cfg.indentStyle === 'tabularLeft' || cfg.indentStyle === 'tabularRight';\n}\n//# sourceMappingURL=config.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = formatAliasPositions;\n\nvar _utils = require(\"../utils\");\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Handles select alias placement - tabulates if enabled\n */\nfunction formatAliasPositions(query) {\n var lines = query.split('\\n');\n var newQuery = [];\n\n for (var i = 0; i < lines.length; i++) {\n // find SELECT rows with trailing comma, if no comma (only one row) - no-op\n if (lines[i].match(/^\\s*SELECT/i)) {\n var _ret = function () {\n var aliasLines = [];\n\n if (lines[i].match(/.*,$/)) {\n aliasLines = [lines[i]]; // add select to aliasLines in case of tabular formats\n } else {\n newQuery.push(lines[i]); // add select to new query\n\n if (lines[i].match(/^\\s*SELECT\\s+.+(?!,$)/i)) {\n return \"continue\";\n }\n\n aliasLines.push(lines[++i]);\n } // get all lines in SELECT clause\n\n\n while (lines[i++].match(/.*,$/)) {\n aliasLines.push(lines[i]);\n } // break lines into alias with optional AS, and all preceding text\n\n\n var splitLines = aliasLines.map(function (line) {\n return {\n line: line,\n matches: line.match(/(^.*?\\S) (AS )?(\\S+,?$)/i)\n };\n }).map(function (_ref) {\n var line = _ref.line,\n matches = _ref.matches;\n\n if (!matches) {\n return {\n precedingText: line\n };\n }\n\n return {\n precedingText: matches[1],\n as: matches[2],\n alias: matches[3]\n };\n }); // get longest of precedingText, trim trailing comma for non-alias columns\n\n var aliasMaxLength = (0, _utils.maxLength)(splitLines.map(function (_ref2) {\n var precedingText = _ref2.precedingText;\n return precedingText.replace(/\\s*,\\s*$/, '');\n })); // re-construct line, aligning by inserting space before AS or alias\n\n aliasLines = splitLines.map(function (_ref3) {\n var precedingText = _ref3.precedingText,\n as = _ref3.as,\n alias = _ref3.alias;\n return precedingText + (alias ? ' '.repeat(aliasMaxLength - precedingText.length + 1) + (as !== null && as !== void 0 ? as : '') + alias : '');\n });\n newQuery = [].concat(_toConsumableArray(newQuery), _toConsumableArray(aliasLines));\n }();\n\n if (_ret === \"continue\") continue;\n }\n\n newQuery.push(lines[i]);\n }\n\n return newQuery.join('\\n');\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=formatAliasPositions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = formatCommaPositions;\n\nvar _utils = require(\"../utils\");\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRECEDING_WHITESPACE_REGEX = /^[\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+/;\n/**\n * Handles comma placement - either before, after or tabulated\n */\n\nfunction formatCommaPositions(query, commaPosition, indent) {\n return groupCommaDelimitedLines(query.split('\\n')).flatMap(function (commaLines) {\n if (commaLines.length === 1) {\n return commaLines;\n } else if (commaPosition === 'tabular') {\n return formatTabular(commaLines);\n } else if (commaPosition === 'before') {\n return formatBefore(commaLines, indent);\n } else {\n throw new Error(\"Unexpected commaPosition: \".concat(commaPosition));\n }\n }).join('\\n');\n}\n/**\n * Given lines like this:\n *\n * [\n * 'SELECT',\n * ' foo,',\n * ' bar,',\n * ' baz',\n * 'FROM'\n * ]\n *\n * Returns groups like this:\n *\n * [\n * ['SELECT'],\n * [' foo,', ' bar,', ' baz'],\n * ['FROM']\n * ]\n */\n\n\nfunction groupCommaDelimitedLines(lines) {\n var groups = [];\n\n for (var i = 0; i < lines.length; i++) {\n var group = [lines[i]]; // when line ends with comma,\n // gather together all following lines that also end with comma,\n // plus one (which doesn't end with comma)\n\n while (lines[i].match(/.*,$/)) {\n i++;\n group.push(lines[i]);\n }\n\n groups.push(group);\n }\n\n return groups;\n} // makes all lines the same length by appending spaces before comma\n\n\nfunction formatTabular(commaLines) {\n var maxLineLength = (0, _utils.maxLength)(commaLines);\n return trimTrailingCommas(commaLines).map(function (line, i) {\n if (i === commaLines.length - 1) {\n return line; // do not add comma for last item\n }\n\n return line + ' '.repeat(maxLineLength - line.length - 1) + ',';\n });\n}\n\nfunction formatBefore(commaLines, indent) {\n return trimTrailingCommas(commaLines).map(function (line, i) {\n if (i === 0) {\n return line; // do not add comma for first item\n }\n\n var _ref = line.match(PRECEDING_WHITESPACE_REGEX) || [''],\n _ref2 = _slicedToArray(_ref, 1),\n whitespace = _ref2[0];\n\n return removeLastIndent(whitespace, indent) + indent.replace(/ {2}$/, ', ') + // add comma to the end of last indent\n line.trimStart();\n });\n}\n\nfunction removeLastIndent(whitespace, indent) {\n return whitespace.replace(new RegExp(indent + '$'), '');\n}\n\nfunction trimTrailingCommas(lines) {\n return lines.map(function (line) {\n return line.replace(/,$/, '');\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=formatCommaPositions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = toTabularFormat;\nexports.isTabularToken = isTabularToken;\n\nvar _token = require(\"../lexer/token\");\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * When tabular style enabled,\n * produces a 10-char wide version of token text.\n */\nfunction toTabularFormat(tokenText, indentStyle) {\n if (indentStyle === 'standard') {\n return tokenText;\n }\n\n var tail = []; // rest of keyword\n\n if (tokenText.length >= 10 && tokenText.includes(' ')) {\n // split for long keywords like INNER JOIN or UNION DISTINCT\n var _tokenText$split = tokenText.split(' ');\n\n var _tokenText$split2 = _toArray(_tokenText$split);\n\n tokenText = _tokenText$split2[0];\n tail = _tokenText$split2.slice(1);\n }\n\n if (indentStyle === 'tabularLeft') {\n tokenText = tokenText.padEnd(9, ' ');\n } else {\n tokenText = tokenText.padStart(9, ' ');\n }\n\n return tokenText + [''].concat(_toConsumableArray(tail)).join(' ');\n}\n/**\n * True when the token can be formatted in tabular style\n */\n\n\nfunction isTabularToken(type) {\n return (0, _token.isLogicalOperator)(type) || type === _token.TokenType.RESERVED_DEPENDENT_CLAUSE || type === _token.TokenType.RESERVED_COMMAND || type === _token.TokenType.RESERVED_SELECT || type === _token.TokenType.RESERVED_SET_OPERATION || type === _token.TokenType.RESERVED_JOIN || type === _token.TokenType.LIMIT;\n}\n//# sourceMappingURL=tabularStyle.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {\n Formatter: true,\n Tokenizer: true,\n expandPhrases: true\n};\nObject.defineProperty(exports, \"Formatter\", {\n enumerable: true,\n get: function get() {\n return _Formatter[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Tokenizer\", {\n enumerable: true,\n get: function get() {\n return _Tokenizer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"expandPhrases\", {\n enumerable: true,\n get: function get() {\n return _expandPhrases.expandPhrases;\n }\n});\n\nvar _sqlFormatter = require(\"./sqlFormatter\");\n\nObject.keys(_sqlFormatter).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _sqlFormatter[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _sqlFormatter[key];\n }\n });\n});\n\nvar _Formatter = _interopRequireDefault(require(\"./formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"./lexer/Tokenizer\"));\n\nvar _expandPhrases = require(\"./expandPhrases\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _bigquery = require(\"./bigquery.keywords\");\n\nvar _bigquery2 = require(\"./bigquery.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// Queries: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'QUALIFY', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'OMIT RECORD IF', // legacy\n// Data modification: https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax\n// - insert:\n'INSERT [INTO]', 'VALUES', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE [FROM]', // - truncate:\n'TRUNCATE TABLE', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]', 'UPDATE SET', // Data definition, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n'CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]', 'DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS]', 'ADD COLUMN [IF NOT EXISTS]', 'DROP COLUMN [IF EXISTS]', 'RENAME TO', 'ALTER COLUMN [IF EXISTS]', 'SET DEFAULT COLLATE', // for alter column\n'SET OPTIONS', // for alter column\n'DROP NOT NULL', // for alter column\n'SET DATA TYPE', // for alter column\n'CREATE SCHEMA [IF NOT EXISTS]', 'DEFAULT COLLATE', 'CLUSTER BY', 'FOR SYSTEM_TIME AS OF', // CREATE SNAPSHOT TABLE\n'WITH CONNECTION', 'WITH PARTITION COLUMNS', 'CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]', 'REMOTE WITH CONNECTION', 'RETURNS TABLE', 'CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]', 'CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]', 'GRANT TO', 'FILTER USING', 'CREATE CAPACITY', 'AS JSON', 'CREATE RESERVATION', 'CREATE ASSIGNMENT', 'CREATE SEARCH INDEX [IF NOT EXISTS]', 'ALTER SCHEMA [IF EXISTS]', 'ALTER [MATERIALIZED] VIEW [IF EXISTS]', 'ALTER BI_CAPACITY', 'DROP SCHEMA [IF EXISTS]', 'DROP [MATERIALIZED] VIEW [IF EXISTS]', 'DROP [TABLE] FUNCTION [IF EXISTS]', 'DROP PROCEDURE [IF EXISTS]', 'DROP ROW ACCESS POLICY', 'DROP ALL ROW ACCESS POLICIES', 'DROP CAPACITY [IF EXISTS]', 'DROP RESERVATION [IF EXISTS]', 'DROP ASSIGNMENT [IF EXISTS]', 'DROP SEARCH INDEX [IF EXISTS]', 'DROP [IF EXISTS]', // DCL, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-control-language\n'GRANT', 'REVOKE', // Script, https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting\n'DECLARE', 'EXECUTE IMMEDIATE', 'LOOP', 'END LOOP', 'REPEAT', 'END REPEAT', 'WHILE', 'END WHILE', 'BREAK', 'LEAVE', 'CONTINUE', 'ITERATE', 'FOR', 'END FOR', 'BEGIN', 'BEGIN TRANSACTION', 'COMMIT TRANSACTION', 'ROLLBACK TRANSACTION', 'RAISE', 'RETURN', 'CALL', // Debug, https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements\n'ASSERT', // Other, https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements\n'EXPORT DATA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION {ALL | DISTINCT}', 'EXCEPT DISTINCT', 'INTERSECT DISTINCT']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)([// https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#tablesample_operator\n'TABLESAMPLE SYSTEM', // From DDL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n'ANY TYPE', 'ALL COLUMNS', 'NOT DETERMINISTIC', // inside window definitions\n'{ROWS | RANGE} BETWEEN']); // https://cloud.google.com/bigquery/docs/reference/#standard-sql-reference\n\nvar BigQueryFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(BigQueryFormatter, _Formatter);\n\n var _super = _createSuper(BigQueryFormatter);\n\n function BigQueryFormatter() {\n _classCallCheck(this, BigQueryFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(BigQueryFormatter, [{\n key: \"tokenizer\",\n value: // TODO: handle trailing comma in select clause\n function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _bigquery.keywords,\n reservedFunctionNames: _bigquery2.functions,\n extraParens: ['[]'],\n stringTypes: [// The triple-quoted strings are listed first, so they get matched first.\n // Otherwise the first two quotes of \"\"\" will get matched as an empty \"\" string.\n {\n quote: '\"\"\"..\"\"\"',\n prefixes: ['R', 'B', 'RB', 'BR']\n }, {\n quote: \"'''..'''\",\n prefixes: ['R', 'B', 'RB', 'BR']\n }, '\"\"-bs', \"''-bs\", {\n quote: '\"\"-raw',\n prefixes: ['R', 'B', 'RB', 'BR'],\n requirePrefix: true\n }, {\n quote: \"''-raw\",\n prefixes: ['R', 'B', 'RB', 'BR'],\n requirePrefix: true\n }],\n identTypes: ['``'],\n identChars: {\n dashes: true\n },\n paramTypes: {\n positional: true,\n named: ['@'],\n quoted: ['@']\n },\n lineCommentTypes: ['--', '#'],\n operators: ['&', '|', '^', '~', '>>', '<<', '||'],\n postProcess: postProcess\n });\n }\n }]);\n\n return BigQueryFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = BigQueryFormatter;\n\nfunction postProcess(tokens) {\n return detectArraySubscripts(combineParameterizedTypes(tokens));\n} // Converts OFFSET token inside array from RESERVED_COMMAND to RESERVED_FUNCTION_NAME\n// See: https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#array_subscript_operator\n\n\nfunction detectArraySubscripts(tokens) {\n var prevToken = _token.EOF_TOKEN;\n return tokens.map(function (token) {\n if (token.text === 'OFFSET' && prevToken.text === '[') {\n prevToken = token;\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME\n });\n } else {\n prevToken = token;\n return token;\n }\n });\n} // Combines multiple tokens forming a parameterized type like STRUCT<ARRAY<INT64>> into a single token\n\n\nfunction combineParameterizedTypes(tokens) {\n var processed = [];\n\n for (var i = 0; i < tokens.length; i++) {\n var _tokens;\n\n var token = tokens[i];\n\n if ((_token.isToken.ARRAY(token) || _token.isToken.STRUCT(token)) && ((_tokens = tokens[i + 1]) === null || _tokens === void 0 ? void 0 : _tokens.text) === '<') {\n var endIndex = findClosingAngleBracketIndex(tokens, i + 1);\n var typeDefTokens = tokens.slice(i, endIndex + 1);\n processed.push({\n type: _token.TokenType.IDENTIFIER,\n raw: typeDefTokens.map(formatTypeDefToken('raw')).join(''),\n text: typeDefTokens.map(formatTypeDefToken('text')).join(''),\n start: token.start\n });\n i = endIndex;\n } else {\n processed.push(token);\n }\n }\n\n return processed;\n}\n\nvar formatTypeDefToken = function formatTypeDefToken(key) {\n return function (token) {\n if (token.type === _token.TokenType.IDENTIFIER || token.type === _token.TokenType.COMMA) {\n return token[key] + ' ';\n } else {\n return token[key];\n }\n };\n};\n\nfunction findClosingAngleBracketIndex(tokens, startIndex) {\n var level = 0;\n\n for (var i = startIndex; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.text === '<') {\n level++;\n } else if (token.text === '>') {\n level--;\n } else if (token.text === '>>') {\n level -= 2;\n }\n\n if (level === 0) {\n return i;\n }\n }\n\n return tokens.length - 1;\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=bigquery.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aead_encryption_functions\n aead: ['KEYS.NEW_KEYSET', 'KEYS.ADD_KEY_FROM_RAW_BYTES', 'AEAD.DECRYPT_BYTES', 'AEAD.DECRYPT_STRING', 'AEAD.ENCRYPT', 'KEYS.KEYSET_CHAIN', 'KEYS.KEYSET_FROM_JSON', 'KEYS.KEYSET_TO_JSON', 'KEYS.ROTATE_KEYSET', 'KEYS.KEYSET_LENGTH'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_analytic_functions\n aggregateAnalytic: ['ANY_VALUE', 'ARRAY_AGG', 'AVG', 'CORR', 'COUNT', 'COUNTIF', 'COVAR_POP', 'COVAR_SAMP', 'MAX', 'MIN', 'ST_CLUSTERDBSCAN', 'STDDEV_POP', 'STDDEV_SAMP', 'STRING_AGG', 'SUM', 'VAR_POP', 'VAR_SAMP'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions\n aggregate: ['ANY_VALUE', 'ARRAY_AGG', 'ARRAY_CONCAT_AGG', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'COUNT', 'COUNTIF', 'LOGICAL_AND', 'LOGICAL_OR', 'MAX', 'MIN', 'STRING_AGG', 'SUM'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/approximate_aggregate_functions\n approximateAggregate: ['APPROX_COUNT_DISTINCT', 'APPROX_QUANTILES', 'APPROX_TOP_COUNT', 'APPROX_TOP_SUM'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/array_functions\n array: [// 'ARRAY',\n 'ARRAY_CONCAT', 'ARRAY_LENGTH', 'ARRAY_TO_STRING', 'GENERATE_ARRAY', 'GENERATE_DATE_ARRAY', 'GENERATE_TIMESTAMP_ARRAY', 'ARRAY_REVERSE', 'OFFSET', 'SAFE_OFFSET', 'ORDINAL', 'SAFE_ORDINAL'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/bit_functions\n bitwise: ['BIT_COUNT'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions\n conversion: [// 'CASE',\n 'PARSE_BIGNUMERIC', 'PARSE_NUMERIC', 'SAFE_CAST'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions\n date: ['CURRENT_DATE', 'EXTRACT', 'DATE', 'DATE_ADD', 'DATE_SUB', 'DATE_DIFF', 'DATE_TRUNC', 'DATE_FROM_UNIX_DATE', 'FORMAT_DATE', 'LAST_DAY', 'PARSE_DATE', 'UNIX_DATE'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/datetime_functions\n datetime: ['CURRENT_DATETIME', 'DATETIME', 'EXTRACT', 'DATETIME_ADD', 'DATETIME_SUB', 'DATETIME_DIFF', 'DATETIME_TRUNC', 'FORMAT_DATETIME', 'LAST_DAY', 'PARSE_DATETIME'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging_functions\n debugging: ['ERROR'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions\n federatedQuery: ['EXTERNAL_QUERY'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions\n geography: ['S2_CELLIDFROMPOINT', 'S2_COVERINGCELLIDS', 'ST_ANGLE', 'ST_AREA', 'ST_ASBINARY', 'ST_ASGEOJSON', 'ST_ASTEXT', 'ST_AZIMUTH', 'ST_BOUNDARY', 'ST_BOUNDINGBOX', 'ST_BUFFER', 'ST_BUFFERWITHTOLERANCE', 'ST_CENTROID', 'ST_CENTROID_AGG', 'ST_CLOSESTPOINT', 'ST_CLUSTERDBSCAN', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_COVEREDBY', 'ST_COVERS', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DUMP', 'ST_DWITHIN', 'ST_ENDPOINT', 'ST_EQUALS', 'ST_EXTENT', 'ST_EXTERIORRING', 'ST_GEOGFROM', 'ST_GEOGFROMGEOJSON', 'ST_GEOGFROMTEXT', 'ST_GEOGFROMWKB', 'ST_GEOGPOINT', 'ST_GEOGPOINTFROMGEOHASH', 'ST_GEOHASH', 'ST_GEOMETRYTYPE', 'ST_INTERIORRINGS', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_INTERSECTSBOX', 'ST_ISCOLLECTION', 'ST_ISEMPTY', 'ST_LENGTH', 'ST_MAKELINE', 'ST_MAKEPOLYGON', 'ST_MAKEPOLYGONORIENTED', 'ST_MAXDISTANCE', 'ST_NPOINTS', 'ST_NUMGEOMETRIES', 'ST_NUMPOINTS', 'ST_PERIMETER', 'ST_POINTN', 'ST_SIMPLIFY', 'ST_SNAPTOGRID', 'ST_STARTPOINT', 'ST_TOUCHES', 'ST_UNION', 'ST_UNION_AGG', 'ST_WITHIN', 'ST_X', 'ST_Y'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hash_functions\n hash: ['FARM_FINGERPRINT', 'MD5', 'SHA1', 'SHA256', 'SHA512'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hll_functions\n hll: ['HLL_COUNT.INIT', 'HLL_COUNT.MERGE', 'HLL_COUNT.MERGE_PARTIAL', 'HLL_COUNT.EXTRACT'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/interval_functions\n interval: ['MAKE_INTERVAL', 'EXTRACT', 'JUSTIFY_DAYS', 'JUSTIFY_HOURS', 'JUSTIFY_INTERVAL'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions\n json: ['JSON_EXTRACT', 'JSON_QUERY', 'JSON_EXTRACT_SCALAR', 'JSON_VALUE', 'JSON_EXTRACT_ARRAY', 'JSON_QUERY_ARRAY', 'JSON_EXTRACT_STRING_ARRAY', 'JSON_VALUE_ARRAY', 'TO_JSON_STRING'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions\n math: ['ABS', 'SIGN', 'IS_INF', 'IS_NAN', 'IEEE_DIVIDE', 'RAND', 'SQRT', 'POW', 'POWER', 'EXP', 'LN', 'LOG', 'LOG10', 'GREATEST', 'LEAST', 'DIV', 'SAFE_DIVIDE', 'SAFE_MULTIPLY', 'SAFE_NEGATE', 'SAFE_ADD', 'SAFE_SUBTRACT', 'MOD', 'ROUND', 'TRUNC', 'CEIL', 'CEILING', 'FLOOR', 'COS', 'COSH', 'ACOS', 'ACOSH', 'SIN', 'SINH', 'ASIN', 'ASINH', 'TAN', 'TANH', 'ATAN', 'ATANH', 'ATAN2', 'RANGE_BUCKET'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions\n navigation: ['FIRST_VALUE', 'LAST_VALUE', 'NTH_VALUE', 'LEAD', 'LAG', 'PERCENTILE_CONT', 'PERCENTILE_DISC'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/net_functions\n net: ['NET.IP_FROM_STRING', 'NET.SAFE_IP_FROM_STRING', 'NET.IP_TO_STRING', 'NET.IP_NET_MASK', 'NET.IP_TRUNC', 'NET.IPV4_FROM_INT64', 'NET.IPV4_TO_INT64', 'NET.HOST', 'NET.PUBLIC_SUFFIX', 'NET.REG_DOMAIN'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/numbering_functions\n numbering: ['RANK', 'DENSE_RANK', 'PERCENT_RANK', 'CUME_DIST', 'NTILE', 'ROW_NUMBER'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/security_functions\n security: ['SESSION_USER'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/statistical_aggregate_functions\n statisticalAggregate: ['CORR', 'COVAR_POP', 'COVAR_SAMP', 'STDDEV_POP', 'STDDEV_SAMP', 'STDDEV', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions\n string: ['ASCII', 'BYTE_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHR', 'CODE_POINTS_TO_BYTES', 'CODE_POINTS_TO_STRING', 'CONCAT', 'CONTAINS_SUBSTR', 'ENDS_WITH', 'FORMAT', 'FROM_BASE32', 'FROM_BASE64', 'FROM_HEX', 'INITCAP', 'INSTR', 'LEFT', 'LENGTH', 'LPAD', 'LOWER', 'LTRIM', 'NORMALIZE', 'NORMALIZE_AND_CASEFOLD', 'OCTET_LENGTH', 'REGEXP_CONTAINS', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPLACE', 'REPEAT', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SAFE_CONVERT_BYTES_TO_STRING', 'SOUNDEX', 'SPLIT', 'STARTS_WITH', 'STRPOS', 'SUBSTR', 'SUBSTRING', 'TO_BASE32', 'TO_BASE64', 'TO_CODE_POINTS', 'TO_HEX', 'TRANSLATE', 'TRIM', 'UNICODE', 'UPPER'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions\n time: ['CURRENT_TIME', 'TIME', 'EXTRACT', 'TIME_ADD', 'TIME_SUB', 'TIME_DIFF', 'TIME_TRUNC', 'FORMAT_TIME', 'PARSE_TIME'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions\n timestamp: ['CURRENT_TIMESTAMP', 'EXTRACT', 'STRING', 'TIMESTAMP', 'TIMESTAMP_ADD', 'TIMESTAMP_SUB', 'TIMESTAMP_DIFF', 'TIMESTAMP_TRUNC', 'FORMAT_TIMESTAMP', 'PARSE_TIMESTAMP', 'TIMESTAMP_SECONDS', 'TIMESTAMP_MILLIS', 'TIMESTAMP_MICROS', 'UNIX_SECONDS', 'UNIX_MILLIS', 'UNIX_MICROS'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/uuid_functions\n uuid: ['GENERATE_UUID'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions\n conditional: ['COALESCE', 'IF', 'IFNULL', 'NULLIF'],\n // https://cloud.google.com/bigquery/docs/reference/legacy-sql\n legacyAggregate: ['AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'EXACT_COUNT_DISTINCT', 'FIRST', 'GROUP_CONCAT', 'GROUP_CONCAT_UNQUOTED', 'LAST', 'MAX', 'MIN', 'NEST', 'NTH', 'QUANTILES', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'TOP', 'UNIQUE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP'],\n legacyBitwise: ['BIT_COUNT'],\n legacyCasting: ['BOOLEAN', 'BYTES', 'CAST', 'FLOAT', 'HEX_STRING', 'INTEGER', 'STRING'],\n legacyComparison: [// expr 'IN',\n 'COALESCE', 'GREATEST', 'IFNULL', 'IS_INF', 'IS_NAN', 'IS_EXPLICITLY_DEFINED', 'LEAST', 'NVL'],\n legacyDatetime: ['CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE', 'DATE_ADD', 'DATEDIFF', 'DAY', 'DAYOFWEEK', 'DAYOFYEAR', 'FORMAT_UTC_USEC', 'HOUR', 'MINUTE', 'MONTH', 'MSEC_TO_TIMESTAMP', 'NOW', 'PARSE_UTC_USEC', 'QUARTER', 'SEC_TO_TIMESTAMP', 'SECOND', 'STRFTIME_UTC_USEC', 'TIME', 'TIMESTAMP', 'TIMESTAMP_TO_MSEC', 'TIMESTAMP_TO_SEC', 'TIMESTAMP_TO_USEC', 'USEC_TO_TIMESTAMP', 'UTC_USEC_TO_DAY', 'UTC_USEC_TO_HOUR', 'UTC_USEC_TO_MONTH', 'UTC_USEC_TO_WEEK', 'UTC_USEC_TO_YEAR', 'WEEK', 'YEAR'],\n legacyIp: ['FORMAT_IP', 'PARSE_IP', 'FORMAT_PACKED_IP', 'PARSE_PACKED_IP'],\n legacyJson: ['JSON_EXTRACT', 'JSON_EXTRACT_SCALAR'],\n legacyMath: ['ABS', 'ACOS', 'ACOSH', 'ASIN', 'ASINH', 'ATAN', 'ATANH', 'ATAN2', 'CEIL', 'COS', 'COSH', 'DEGREES', 'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'PI', 'POW', 'RADIANS', 'RAND', 'ROUND', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH'],\n legacyRegex: ['REGEXP_MATCH', 'REGEXP_EXTRACT', 'REGEXP_REPLACE'],\n legacyString: ['CONCAT', // expr CONTAINS 'str'\n 'INSTR', 'LEFT', 'LENGTH', 'LOWER', 'LPAD', 'LTRIM', 'REPLACE', 'RIGHT', 'RPAD', 'RTRIM', 'SPLIT', 'SUBSTR', 'UPPER'],\n legacyTableWildcard: ['TABLE_DATE_RANGE', 'TABLE_DATE_RANGE_STRICT', 'TABLE_QUERY'],\n legacyUrl: ['HOST', 'DOMAIN', 'TLD'],\n legacyWindow: ['AVG', 'COUNT', 'MAX', 'MIN', 'STDDEV', 'SUM', 'CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'RATIO_TO_REPORT', 'ROW_NUMBER'],\n legacyMisc: ['CURRENT_USER', 'EVERY', 'FROM_BASE64', 'HASH', 'FARM_FINGERPRINT', 'IF', 'POSITION', 'SHA1', 'SOME', 'TO_BASE64'],\n other: ['BQ.JOBS.CANCEL', 'BQ.REFRESH_MATERIALIZED_VIEW'],\n ddl: ['OPTIONS'],\n pivot: ['PIVOT', 'UNPIVOT'],\n // Data types with parameters like VARCHAR(100)\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#parameterized_data_types\n dataTypes: ['BYTES', 'NUMERIC', 'DECIMAL', 'BIGNUMERIC', 'BIGDECIMAL', 'STRING']\n});\nexports.functions = functions;\n//# sourceMappingURL=bigquery.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#reserved_keywords\n keywords: ['ALL', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASSERT_ROWS_MODIFIED', 'AT', 'BETWEEN', 'BY', 'CASE', 'CAST', 'COLLATE', 'CONTAINS', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'DEFAULT', 'DEFINE', 'DESC', 'DISTINCT', 'ELSE', 'END', 'ENUM', 'ESCAPE', 'EXCEPT', 'EXCLUDE', 'EXISTS', 'EXTRACT', 'FALSE', 'FETCH', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'GROUP', 'GROUPING', 'GROUPS', 'HASH', 'HAVING', 'IF', 'IGNORE', 'IN', 'INNER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'JOIN', 'LATERAL', 'LEFT', 'LIKE', 'LIMIT', 'LOOKUP', 'MERGE', 'NATURAL', 'NEW', 'NO', 'NOT', 'NULL', 'NULLS', 'OF', 'ON', 'OR', 'ORDER', 'OUTER', 'OVER', 'PARTITION', 'PRECEDING', 'PROTO', 'RANGE', 'RECURSIVE', 'RESPECT', 'RIGHT', 'ROLLUP', 'ROWS', 'SELECT', 'SET', 'SOME', 'STRUCT', 'TABLE', 'TABLESAMPLE', 'THEN', 'TO', 'TREAT', 'TRUE', 'UNBOUNDED', 'UNION', 'UNNEST', 'USING', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHIN'],\n datatypes: ['ARRAY', // parametric, ARRAY<T>\n 'BOOL', 'BYTES', // parameterised, BYTES(Length)\n 'DATE', 'DATETIME', 'GEOGRAPHY', 'INTERVAL', 'INT64', 'INT', 'SMALLINT', 'INTEGER', 'BIGINT', 'TINYINT', 'BYTEINT', 'NUMERIC', // parameterised, NUMERIC(Precision[, Scale])\n 'DECIMAL', // parameterised, DECIMAL(Precision[, Scale])\n 'BIGNUMERIC', // parameterised, BIGNUMERIC(Precision[, Scale])\n 'BIGDECIMAL', // parameterised, BIGDECIMAL(Precision[, Scale])\n 'FLOAT64', 'STRING', // parameterised, STRING(Length)\n 'STRUCT', // parametric, STRUCT<T>\n 'TIME', 'TIMEZONE'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions#formatting_syntax\n stringFormat: ['HEX', 'BASEX', 'BASE64M', 'ASCII', 'UTF-8', 'UTF8'],\n misc: ['SAFE'],\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n ddl: ['LIKE', // CREATE TABLE LIKE\n 'COPY', // CREATE TABLE COPY\n 'CLONE', // CREATE TABLE CLONE\n 'IN', 'OUT', 'INOUT', 'RETURNS', 'LANGUAGE', 'CASCADE', 'RESTRICT', 'DETERMINISTIC']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=bigquery.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _db = require(\"./db2.functions\");\n\nvar _db2 = require(\"./db2.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY [INPUT SEQUENCE]', 'FETCH FIRST', // Data modification\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE', 'SET', 'WHERE CURRENT OF', 'WITH {RR | RS | CS | UR}', // - delete:\n'DELETE FROM', // - truncate:\n'TRUNCATE [TABLE]', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', 'INSERT', // Data definition\n'CREATE [OR REPLACE] VIEW', 'CREATE [GLOBAL TEMPORARY] TABLE', 'DROP TABLE [HIERARCHY]', // alter table:\n'ALTER TABLE', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME [COLUMN]', 'ALTER [COLUMN]', 'SET DATA TYPE', // for alter column\n'SET NOT NULL', // for alter column\n'DROP {IDENTITY | EXPRESSION | DEFAULT | NOT NULL}', // for alter column\n// https://www.ibm.com/docs/en/db2-for-zos/11?topic=statements-list-supported\n'ALLOCATE CURSOR', 'ALTER DATABASE', 'ALTER FUNCTION', 'ALTER INDEX', 'ALTER MASK', 'ALTER PERMISSION', 'ALTER PROCEDURE', 'ALTER SEQUENCE', 'ALTER STOGROUP', 'ALTER TABLESPACE', 'ALTER TRIGGER', 'ALTER TRUSTED CONTEXT', 'ALTER VIEW', 'ASSOCIATE LOCATORS', 'BEGIN DECLARE SECTION', 'CALL', 'CLOSE', 'COMMENT', 'COMMIT', 'CONNECT', 'CREATE ALIAS', 'CREATE AUXILIARY TABLE', 'CREATE DATABASE', 'CREATE FUNCTION', 'CREATE GLOBAL TEMPORARY TABLE', 'CREATE INDEX', 'CREATE LOB TABLESPACE', 'CREATE MASK', 'CREATE PERMISSION', 'CREATE PROCEDURE', 'CREATE ROLE', 'CREATE SEQUENCE', 'CREATE STOGROUP', 'CREATE SYNONYM', 'CREATE TABLESPACE', 'CREATE TRIGGER', 'CREATE TRUSTED CONTEXT', 'CREATE TYPE', 'CREATE VARIABLE', 'DECLARE CURSOR', 'DECLARE GLOBAL TEMPORARY TABLE', 'DECLARE STATEMENT', 'DECLARE TABLE', 'DECLARE VARIABLE', 'DESCRIBE CURSOR', 'DESCRIBE INPUT', 'DESCRIBE OUTPUT', 'DESCRIBE PROCEDURE', 'DESCRIBE TABLE', 'DROP', 'END DECLARE SECTION', 'EXCHANGE', 'EXECUTE', 'EXECUTE IMMEDIATE', 'EXPLAIN', 'FETCH', 'FREE LOCATOR', 'GET DIAGNOSTICS', 'GRANT', 'HOLD LOCATOR', 'INCLUDE', 'LABEL', 'LOCK TABLE', 'OPEN', 'PREPARE', 'REFRESH', 'RELEASE', 'RELEASE SAVEPOINT', 'RENAME', 'REVOKE', 'ROLLBACK', 'SAVEPOINT', 'SELECT INTO', 'SET CONNECTION', 'SET CURRENT ACCELERATOR', 'SET CURRENT APPLICATION COMPATIBILITY', 'SET CURRENT APPLICATION ENCODING SCHEME', 'SET CURRENT DEBUG MODE', 'SET CURRENT DECFLOAT ROUNDING MODE', 'SET CURRENT DEGREE', 'SET CURRENT EXPLAIN MODE', 'SET CURRENT GET_ACCEL_ARCHIVE', 'SET CURRENT LOCALE LC_CTYPE', 'SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION', 'SET CURRENT OPTIMIZATION HINT', 'SET CURRENT PACKAGE PATH', 'SET CURRENT PACKAGESET', 'SET CURRENT PRECISION', 'SET CURRENT QUERY ACCELERATION', 'SET CURRENT QUERY ACCELERATION WAITFORDATA', 'SET CURRENT REFRESH AGE', 'SET CURRENT ROUTINE VERSION', 'SET CURRENT RULES', 'SET CURRENT SQLID', 'SET CURRENT TEMPORAL BUSINESS_TIME', 'SET CURRENT TEMPORAL SYSTEM_TIME', 'SET ENCRYPTION PASSWORD', 'SET PATH', 'SET SCHEMA', 'SET SESSION TIME ZONE', 'SIGNAL', 'VALUES INTO', 'WHENEVER', // other\n'AFTER', 'GO', 'SET CURRENT SCHEMA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT [ALL]', 'INTERSECT [ALL]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', '{ROWS | RANGE} BETWEEN']); // https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/db2/rbafzintro.htm\n\nvar Db2Formatter = /*#__PURE__*/function (_Formatter) {\n _inherits(Db2Formatter, _Formatter);\n\n var _super = _createSuper(Db2Formatter);\n\n function Db2Formatter() {\n _classCallCheck(this, Db2Formatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Db2Formatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE', 'ELSEIF'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _db2.keywords,\n reservedFunctionNames: _db.functions,\n stringTypes: [{\n quote: \"''-qq\",\n prefixes: ['G', 'N', 'U&']\n }, {\n quote: \"''-raw\",\n prefixes: ['X', 'BX', 'GX', 'UX'],\n requirePrefix: true\n }],\n identTypes: [\"\\\"\\\"-qq\"],\n paramTypes: {\n positional: true,\n named: [':']\n },\n paramChars: {\n first: '@#$',\n rest: '@#$'\n },\n operators: ['**', '¬=', '¬>', '¬<', '!>', '!<', '||']\n });\n }\n }]);\n\n return Db2Formatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = Db2Formatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=db2.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-aggregate\n aggregate: ['ARRAY_AGG', 'AVG', 'CORR', 'CORRELATION', 'COUNT', 'COUNT_BIG', 'COVAR_POP', 'COVARIANCE', 'COVAR', 'COVAR_SAMP', 'COVARIANCE_SAMP', 'CUME_DIST', 'GROUPING', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_ICPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'STDDEV_POP', 'STDDEV', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VARIANCE', 'VAR', 'VAR_SAMP', 'VARIANCE_SAMP', 'XMLAGG'],\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-scalar\n scalar: ['ABS', 'ABSVAL', 'ACOS', 'ADD_DAYS', 'ADD_MONTHS', 'ARRAY_DELETE', 'ARRAY_FIRST', 'ARRAY_LAST', 'ARRAY_NEXT', 'ARRAY_PRIOR', 'ARRAY_TRIM', 'ASCII', 'ASCII_CHR', 'ASCII_STR', 'ASCIISTR', 'ASIN', 'ATAN', 'ATANH', 'ATAN2', 'BIGINT', 'BINARY', 'BITAND', 'BITANDNOT', 'BITOR', 'BITXOR', 'BITNOT', 'BLOB', 'BTRIM', 'CARDINALITY', 'CCSID_ENCODING', 'CEILING', 'CEIL', 'CHAR', 'CHAR9', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'CLOB', 'COALESCE', 'COLLATION_KEY', 'COMPARE_DECFLOAT', 'CONCAT', 'CONTAINS', 'COS', 'COSH', 'DATE', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFWEEK_ISO', 'DAYOFYEAR', 'DAYS', 'DAYS_BETWEEN', 'DBCLOB', 'DECFLOAT', 'DECFLOAT_FORMAT', 'DECFLOAT_SORTKEY', 'DECIMAL', 'DEC', 'DECODE', 'DECRYPT_BINARY', 'DECRYPT_BIT', 'DECRYPT_CHAR', 'DECRYPT_DB', 'DECRYPT_DATAKEY_BIGINT', 'DECRYPT_DATAKEY_BIT', 'DECRYPT_DATAKEY_CLOB', 'DECRYPT_DATAKEY_DBCLOB', 'DECRYPT_DATAKEY_DECIMAL', 'DECRYPT_DATAKEY_INTEGER', 'DECRYPT_DATAKEY_VARCHAR', 'DECRYPT_DATAKEY_VARGRAPHIC', 'DEGREES', 'DIFFERENCE', 'DIGITS', 'DOUBLE_PRECISION', 'DOUBLE', 'DSN_XMLVALIDATE', 'EBCDIC_CHR', 'EBCDIC_STR', 'ENCRYPT_DATAKEY', 'ENCRYPT_TDES', 'EXP', 'EXTRACT', 'FLOAT', 'FLOOR', 'GENERATE_UNIQUE', 'GENERATE_UNIQUE_BINARY', 'GETHINT', 'GETVARIABLE', 'GRAPHIC', 'GREATEST', 'HASH', 'HASH_CRC32', 'HASH_MD5', 'HASH_SHA1', 'HASH_SHA256', 'HEX', 'HOUR', 'IDENTITY_VAL_LOCAL', 'IFNULL', 'INSERT', 'INSTR', 'INTEGER', 'INT', 'JULIAN_DAY', 'LAST_DAY', 'LCASE', 'LEAST', 'LEFT', 'LENGTH', 'LN', 'LOCATE', 'LOCATE_IN_STRING', 'LOG10', 'LOWER', 'LPAD', 'LTRIM', 'MAX', 'MAX_CARDINALITY', 'MICROSECOND', 'MIDNIGHT_SECONDS', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHS_BETWEEN', 'MQREAD', 'MQREADCLOB', 'MQRECEIVE', 'MQRECEIVECLOB', 'MQSEND', 'MULTIPLY_ALT', 'NEXT_DAY', 'NEXT_MONTH', 'NORMALIZE_DECFLOAT', 'NORMALIZE_STRING', 'NULLIF', 'NVL', 'OVERLAY', 'PACK', 'POSITION', 'POSSTR', 'POWER', 'POW', 'QUANTIZE', 'QUARTER', 'RADIANS', 'RAISE_ERROR', 'RANDOM', 'RAND', 'REAL', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPEAT', 'REPLACE', 'RID', 'RIGHT', 'ROUND', 'ROUND_TIMESTAMP', 'ROWID', 'RPAD', 'RTRIM', 'SCORE', 'SECOND', 'SIGN', 'SIN', 'SINH', 'SMALLINT', 'SOUNDEX', 'SOAPHTTPC', 'SOAPHTTPV', 'SOAPHTTPNC', 'SOAPHTTPNV', 'SPACE', 'SQRT', 'STRIP', 'STRLEFT', 'STRPOS', 'STRRIGHT', 'SUBSTR', 'SUBSTRING', 'TAN', 'TANH', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIMESTAMP_FORMAT', 'TIMESTAMP_ISO', 'TIMESTAMP_TZ', 'TO_CHAR', 'TO_CLOB', 'TO_DATE', 'TO_NUMBER', 'TOTALORDER', 'TO_TIMESTAMP', 'TRANSLATE', 'TRIM', 'TRIM_ARRAY', 'TRUNCATE', 'TRUNC', 'TRUNC_TIMESTAMP', 'UCASE', 'UNICODE', 'UNICODE_STR', 'UNISTR', 'UPPER', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHAR9', 'VARCHAR_BIT_FORMAT', 'VARCHAR_FORMAT', 'VARGRAPHIC', 'VERIFY_GROUP_FOR_USER', 'VERIFY_ROLE_FOR_USER', 'VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER', 'WEEK', 'WEEK_ISO', 'WRAP', 'XMLATTRIBUTES', 'XMLCOMMENT', 'XMLCONCAT', 'XMLDOCUMENT', 'XMLELEMENT', 'XMLFOREST', 'XMLMODIFY', 'XMLNAMESPACES', 'XMLPARSE', 'XMLPI', 'XMLQUERY', 'XMLSERIALIZE', 'XMLTEXT', 'XMLXSROBJECTID', 'XSLTRANSFORM', 'YEAR'],\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-table\n table: ['ADMIN_TASK_LIST', 'ADMIN_TASK_OUTPUT', 'ADMIN_TASK_STATUS', 'BLOCKING_THREADS', 'MQREADALL', 'MQREADALLCLOB', 'MQRECEIVEALL', 'MQRECEIVEALLCLOB', 'XMLTABLE'],\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-row\n row: ['UNPACK'],\n // https://www.ibm.com/docs/en/db2-for-zos/12?topic=expressions-olap-specification\n olap: ['CUME_DIST', 'PERCENT_RANK', 'RANK', 'DENSE_RANK', 'NTILE', 'LAG', 'LEAD', 'ROW_NUMBER', 'FIRST_VALUE', 'LAST_VALUE', 'NTH_VALUE', 'RATIO_TO_REPORT'],\n // Type casting\n cast: ['CAST']\n});\nexports.functions = functions;\n//# sourceMappingURL=db2.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=words-reserved#db2z_reservedwords__newresword\n standard: ['ALL', 'ALLOCATE', 'ALLOW', 'ALTERAND', 'ANY', 'AS', 'ARRAY', 'ARRAY_EXISTS', 'ASENSITIVE', 'ASSOCIATE', 'ASUTIME', 'AT', 'AUDIT', 'AUX', 'AUXILIARY', 'BEFORE', 'BEGIN', 'BETWEEN', 'BUFFERPOOL', 'BY', 'CAPTURE', 'CASCADED', 'CAST', 'CCSID', 'CHARACTER', 'CHECK', 'CLONE', 'CLUSTER', 'COLLECTION', 'COLLID', 'COLUMN', 'CONDITION', 'CONNECTION', 'CONSTRAINT', 'CONTENT', 'CONTINUE', 'CREATE', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_LC_CTYPE', 'CURRENT_PATH', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRVAL', 'CURSOR', 'DATA', 'DATABASE', 'DBINFO', 'DECLARE', 'DEFAULT', 'DESCRIPTOR', 'DETERMINISTIC', 'DISABLE', 'DISALLOW', 'DISTINCT', 'DO', 'DOCUMENT', 'DSSIZE', 'DYNAMIC', 'EDITPROC', 'ENCODING', 'ENCRYPTION', 'ENDING', 'END-EXEC', 'ERASE', 'ESCAPE', 'EXCEPTION', 'EXISTS', 'EXIT', 'EXTERNAL', 'FENCED', 'FIELDPROC', 'FINAL', 'FIRST', 'FOR', 'FREE', 'FULL', 'FUNCTION', 'GENERATED', 'GET', 'GLOBAL', 'GOTO', 'GROUP', 'HANDLER', 'HOLD', 'HOURS', 'IF', 'IMMEDIATE', 'IN', 'INCLUSIVE', 'INDEX', 'INHERIT', 'INNER', 'INOUT', 'INSENSITIVE', 'INTO', 'IS', 'ISOBID', 'ITERATE', 'JAR', 'KEEP', 'KEY', 'LANGUAGE', 'LAST', 'LC_CTYPE', 'LEAVE', 'LIKE', 'LOCAL', 'LOCALE', 'LOCATOR', 'LOCATORS', 'LOCK', 'LOCKMAX', 'LOCKSIZE', 'LONG', 'LOOP', 'MAINTAINED', 'MATERIALIZED', 'MICROSECONDS', 'MINUTEMINUTES', 'MODIFIES', 'MONTHS', 'NEXT', 'NEXTVAL', 'NO', 'NONE', 'NOT', 'NULL', 'NULLS', 'NUMPARTS', 'OBID', 'OF', 'OLD', 'ON', 'OPTIMIZATION', 'OPTIMIZE', 'ORDER', 'ORGANIZATION', 'OUT', 'OUTER', 'PACKAGE', 'PARAMETER', 'PART', 'PADDED', 'PARTITION', 'PARTITIONED', 'PARTITIONING', 'PATH', 'PIECESIZE', 'PERIOD', 'PLAN', 'PRECISION', 'PREVVAL', 'PRIOR', 'PRIQTY', 'PRIVILEGES', 'PROCEDURE', 'PROGRAM', 'PSID', 'PUBLIC', 'QUERY', 'QUERYNO', 'READS', 'REFERENCES', 'RESIGNAL', 'RESTRICT', 'RESULT', 'RESULT_SET_LOCATOR', 'RETURN', 'RETURNS', 'ROLE', 'ROLLUP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN', 'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'ROW', 'ROWSET', 'SCHEMA', 'SCRATCHPAD', 'SECONDS', 'SECQTY', 'SECURITY', 'SEQUENCE', 'SENSITIVE', 'SESSION_USER', 'SIMPLE', 'SOME', 'SOURCE', 'SPECIFIC', 'STANDARD', 'STATIC', 'STATEMENT', 'STAY', 'STOGROUP', 'STORES', 'STYLE', 'SUMMARY', 'SYNONYM', 'SYSDATE', 'SYSTEM', 'SYSTIMESTAMP', 'TABLE', 'TABLESPACE', 'THEN', 'TO', 'TRIGGER', 'TYPE', 'UNDO', 'UNIQUE', 'UNTIL', 'USER', 'USING', 'VALIDPROC', 'VARIABLE', 'VARIANT', 'VCAT', 'VERSIONING', 'VIEW', 'VOLATILE', 'VOLUMES', 'WHILE', 'WLM', 'XMLEXISTS', 'XMLCAST', 'YEARS', 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=db2.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _hive = require(\"./hive.functions\");\n\nvar _hive2 = require(\"./hive.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'SORT BY', 'CLUSTER BY', 'DISTRIBUTE BY', 'LIMIT', // Data manipulation\n// - insert:\n// Hive does not actually support plain INSERT INTO, only INSERT INTO TABLE\n// but it's a nuisance to not support it, as all other dialects do.\n'INSERT INTO [TABLE]', 'VALUES', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE FROM', // - truncate:\n'TRUNCATE [TABLE]', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', 'INSERT [VALUES]', // - insert overwrite directory:\n// https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothefilesystemfromqueries\n'INSERT OVERWRITE [LOCAL] DIRECTORY', // - load:\n// https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables\n'LOAD DATA [LOCAL] INPATH', '[OVERWRITE] INTO TABLE', // Data definition\n'CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'RENAME TO', // other\n'ALTER', 'CREATE', 'USE', 'DESCRIBE', 'DROP', 'FETCH', 'SET SCHEMA', // added\n'SHOW', // newline keywords\n'STORED AS', 'STORED BY', 'ROW FORMAT']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', // non-standard joins\n'LEFT SEMI JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['{ROWS | RANGE} BETWEEN']); // https://cwiki.apache.org/confluence/display/Hive/LanguageManual\n\nvar HiveFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(HiveFormatter, _Formatter);\n\n var _super = _createSuper(HiveFormatter);\n\n function HiveFormatter() {\n _classCallCheck(this, HiveFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(HiveFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _hive2.keywords,\n reservedFunctionNames: _hive.functions,\n extraParens: ['[]'],\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: ['``'],\n variableTypes: [{\n quote: '{}',\n prefixes: ['$'],\n requirePrefix: true\n }],\n operators: ['%', '~', '^', '|', '&', '<=>', '==', '!', '||']\n });\n }\n }]);\n\n return HiveFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = HiveFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=hive.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF\n math: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'BIN', 'BROUND', 'CBRT', 'CEIL', 'CEILING', 'CONV', 'COS', 'DEGREES', // 'E',\n 'EXP', 'FACTORIAL', 'FLOOR', 'GREATEST', 'HEX', 'LEAST', 'LN', 'LOG', 'LOG10', 'LOG2', 'NEGATIVE', 'PI', 'PMOD', 'POSITIVE', 'POW', 'POWER', 'RADIANS', 'RAND', 'ROUND', 'SHIFTLEFT', 'SHIFTRIGHT', 'SHIFTRIGHTUNSIGNED', 'SIGN', 'SIN', 'SQRT', 'TAN', 'UNHEX', 'WIDTH_BUCKET'],\n array: ['ARRAY_CONTAINS', 'MAP_KEYS', 'MAP_VALUES', 'SIZE', 'SORT_ARRAY'],\n conversion: ['BINARY', 'CAST'],\n date: ['ADD_MONTHS', 'DATE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_SUB', 'DATEDIFF', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFYEAR', 'EXTRACT', 'FROM_UNIXTIME', 'FROM_UTC_TIMESTAMP', 'HOUR', 'LAST_DAY', 'MINUTE', 'MONTH', 'MONTHS_BETWEEN', 'NEXT_DAY', 'QUARTER', 'SECOND', 'TIMESTAMP', 'TO_DATE', 'TO_UTC_TIMESTAMP', 'TRUNC', 'UNIX_TIMESTAMP', 'WEEKOFYEAR', 'YEAR'],\n conditional: ['ASSERT_TRUE', 'COALESCE', 'IF', 'ISNOTNULL', 'ISNULL', 'NULLIF', 'NVL'],\n string: ['ASCII', 'BASE64', 'CHARACTER_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'CONTEXT_NGRAMS', 'DECODE', 'ELT', 'ENCODE', 'FIELD', 'FIND_IN_SET', 'FORMAT_NUMBER', 'GET_JSON_OBJECT', 'IN_FILE', 'INITCAP', 'INSTR', 'LCASE', 'LENGTH', 'LEVENSHTEIN', 'LOCATE', 'LOWER', 'LPAD', 'LTRIM', 'NGRAMS', 'OCTET_LENGTH', 'PARSE_URL', 'PRINTF', 'QUOTE', 'REGEXP_EXTRACT', 'REGEXP_REPLACE', 'REPEAT', 'REVERSE', 'RPAD', 'RTRIM', 'SENTENCES', 'SOUNDEX', 'SPACE', 'SPLIT', 'STR_TO_MAP', 'SUBSTR', 'SUBSTRING', 'TRANSLATE', 'TRIM', 'UCASE', 'UNBASE64', 'UPPER'],\n masking: ['MASK', 'MASK_FIRST_N', 'MASK_HASH', 'MASK_LAST_N', 'MASK_SHOW_FIRST_N', 'MASK_SHOW_LAST_N'],\n misc: ['AES_DECRYPT', 'AES_ENCRYPT', 'CRC32', 'CURRENT_DATABASE', 'CURRENT_USER', 'HASH', 'JAVA_METHOD', 'LOGGED_IN_USER', 'MD5', 'REFLECT', 'SHA', 'SHA1', 'SHA2', 'SURROGATE_KEY', 'VERSION'],\n aggregate: ['AVG', 'COLLECT_LIST', 'COLLECT_SET', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'HISTOGRAM_NUMERIC', 'MAX', 'MIN', 'NTILE', 'PERCENTILE', 'PERCENTILE_APPROX', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n table: ['EXPLODE', 'INLINE', 'JSON_TUPLE', 'PARSE_URL_TUPLE', 'POSEXPLODE', 'STACK'],\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics\n window: ['LEAD', 'LAG', 'FIRST_VALUE', 'LAST_VALUE', 'RANK', 'ROW_NUMBER', 'DENSE_RANK', 'CUME_DIST', 'PERCENT_RANK', 'NTILE'],\n // Parameterized data types\n // https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=82706456\n // Though in reality Hive only supports parameters for DECIMAL(),\n // it doesn't hurt to allow others in here as well.\n dataTypes: ['DECIMAL', 'NUMERIC', 'VARCHAR', 'CHAR']\n});\nexports.functions = functions;\n//# sourceMappingURL=hive.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl\n // Non-reserved keywords have proscribed meanings in. HiveQL, but can still be used as table or column names\n nonReserved: ['ADD', 'ADMIN', 'AFTER', 'ANALYZE', 'ARCHIVE', 'ASC', 'BEFORE', 'BUCKET', 'BUCKETS', 'CASCADE', 'CHANGE', 'CLUSTER', 'CLUSTERED', 'CLUSTERSTATUS', 'COLLECTION', 'COLUMNS', 'COMMENT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONTINUE', 'DATA', 'DATABASES', 'DATETIME', 'DAY', 'DBPROPERTIES', 'DEFERRED', 'DEFINED', 'DELIMITED', 'DEPENDENCY', 'DESC', 'DIRECTORIES', 'DIRECTORY', 'DISABLE', 'DISTRIBUTE', 'ELEM_TYPE', 'ENABLE', 'ESCAPED', 'EXCLUSIVE', 'EXPLAIN', 'EXPORT', 'FIELDS', 'FILE', 'FILEFORMAT', 'FIRST', 'FORMAT', 'FORMATTED', 'FUNCTIONS', 'HOLD_DDLTIME', 'HOUR', 'IDXPROPERTIES', 'IGNORE', 'INDEX', 'INDEXES', 'INPATH', 'INPUTDRIVER', 'INPUTFORMAT', 'ITEMS', 'JAR', 'KEYS', 'KEY_TYPE', 'LIMIT', 'LINES', 'LOAD', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'LONG', 'MAPJOIN', 'MATERIALIZED', 'METADATA', 'MINUS', 'MINUTE', 'MONTH', 'MSCK', 'NOSCAN', 'NO_DROP', 'OFFLINE', 'OPTION', 'OUTPUTDRIVER', 'OUTPUTFORMAT', 'OVERWRITE', 'OWNER', 'PARTITIONED', 'PARTITIONS', 'PLUS', 'PRETTY', 'PRINCIPALS', 'PROTECTION', 'PURGE', 'READ', 'READONLY', 'REBUILD', 'RECORDREADER', 'RECORDWRITER', 'RELOAD', 'RENAME', 'REPAIR', 'REPLACE', 'REPLICATION', 'RESTRICT', 'REWRITE', 'ROLE', 'ROLES', 'SCHEMA', 'SCHEMAS', 'SECOND', 'SEMI', 'SERDE', 'SERDEPROPERTIES', 'SERVER', 'SETS', 'SHARED', 'SHOW', 'SHOW_DATABASE', 'SKEWED', 'SORT', 'SORTED', 'SSL', 'STATISTICS', 'STORED', 'STREAMTABLE', 'STRING', 'STRUCT', 'TABLES', 'TBLPROPERTIES', 'TEMPORARY', 'TERMINATED', 'TINYINT', 'TOUCH', 'TRANSACTIONS', 'UNARCHIVE', 'UNDO', 'UNIONTYPE', 'UNLOCK', 'UNSET', 'UNSIGNED', 'URI', 'USE', 'UTC', 'UTCTIMESTAMP', 'VALUE_TYPE', 'VIEW', 'WHILE', 'YEAR', 'AUTOCOMMIT', 'ISOLATION', 'LEVEL', 'OFFSET', 'SNAPSHOT', 'TRANSACTION', 'WORK', 'WRITE', 'ABORT', 'KEY', 'LAST', 'NORELY', 'NOVALIDATE', 'NULLS', 'RELY', 'VALIDATE', 'DETAIL', 'DOW', 'EXPRESSION', 'OPERATOR', 'QUARTER', 'SUMMARY', 'VECTORIZATION', 'WEEK', 'YEARS', 'MONTHS', 'WEEKS', 'DAYS', 'HOURS', 'MINUTES', 'SECONDS', 'TIMESTAMPTZ', 'ZONE'],\n reserved: ['ALL', 'ALTER', 'AND', 'ARRAY', 'AS', 'AUTHORIZATION', 'BETWEEN', 'BIGINT', 'BINARY', 'BOOLEAN', 'BOTH', 'BY', 'CASE', 'CAST', 'CHAR', 'COLUMN', 'CONF', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'CURSOR', 'DATABASE', 'DATE', 'DECIMAL', 'DELETE', 'DESCRIBE', 'DISTINCT', 'DOUBLE', 'DROP', 'ELSE', 'END', 'EXCHANGE', 'EXISTS', 'EXTENDED', 'EXTERNAL', 'FALSE', 'FETCH', 'FLOAT', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'FUNCTION', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'IF', 'IMPORT', 'IN', 'INNER', 'INSERT', 'INT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'JOIN', 'LATERAL', 'LEFT', 'LESS', 'LIKE', 'LOCAL', 'MACRO', 'MAP', 'MORE', 'NONE', 'NOT', 'NULL', 'OF', 'ON', 'OR', 'ORDER', 'OUT', 'OUTER', 'OVER', 'PARTIALSCAN', 'PARTITION', 'PERCENT', 'PRECEDING', 'PRESERVE', 'PROCEDURE', 'RANGE', 'READS', 'REDUCE', 'REVOKE', 'RIGHT', 'ROLLUP', 'ROW', 'ROWS', 'SELECT', 'SET', 'SMALLINT', 'TABLE', 'TABLESAMPLE', 'THEN', 'TIMESTAMP', 'TO', 'TRANSFORM', 'TRIGGER', 'TRUE', 'TRUNCATE', 'UNBOUNDED', 'UNION', 'UNIQUEJOIN', 'UPDATE', 'USER', 'USING', 'UTC_TMESTAMP', 'VALUES', 'VARCHAR', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'COMMIT', 'ONLY', 'REGEXP', 'RLIKE', 'ROLLBACK', 'START', 'CACHE', 'CONSTRAINT', 'FOREIGN', 'PRIMARY', 'REFERENCES', 'DAYOFWEEK', 'EXTRACT', 'FLOOR', 'INTEGER', 'PRECISION', 'VIEWS', 'TIME', 'NUMERIC', 'SYNC'],\n fileTypes: ['TEXTFILE', 'SEQUENCEFILE', 'ORC', 'CSV', 'TSV', 'PARQUET', 'AVRO', 'RCFILE', 'JSONFILE', 'INPUTFORMAT', 'OUTPUTFORMAT']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=hive.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _mariadb = require(\"./mariadb.keywords\");\n\nvar _mariadb2 = require(\"./mariadb.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]', 'REPLACE [LOW_PRIORITY | DELAYED] [INTO]', 'VALUES', // - update:\n'UPDATE [LOW_PRIORITY] [IGNORE]', 'SET', // - delete:\n'DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM', // - truncate:\n'TRUNCATE [TABLE]', // Data definition\n'CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]', 'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]', 'ADD [COLUMN] [IF NOT EXISTS]', '{CHANGE | MODIFY} [COLUMN] [IF EXISTS]', 'DROP [COLUMN] [IF EXISTS]', 'RENAME [TO]', 'RENAME COLUMN', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n'SET {VISIBLE | INVISIBLE}', // for alter column\n// https://mariadb.com/docs/reference/mdb/sql-statements/\n'ALTER DATABASE', 'ALTER DATABASE COMMENT', 'ALTER EVENT', 'ALTER FUNCTION', 'ALTER PROCEDURE', 'ALTER SCHEMA', 'ALTER SCHEMA COMMENT', 'ALTER SEQUENCE', 'ALTER SERVER', 'ALTER USER', 'ALTER VIEW', 'ANALYZE', 'ANALYZE TABLE', 'BACKUP LOCK', 'BACKUP STAGE', 'BACKUP UNLOCK', 'BEGIN', 'BINLOG', 'CACHE INDEX', 'CALL', 'CHANGE MASTER TO', 'CHECK TABLE', 'CHECK VIEW', 'CHECKSUM TABLE', 'COMMIT', 'CREATE AGGREGATE FUNCTION', 'CREATE DATABASE', 'CREATE EVENT', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE PROCEDURE', 'CREATE ROLE', 'CREATE SEQUENCE', 'CREATE SERVER', 'CREATE SPATIAL INDEX', 'CREATE TRIGGER', 'CREATE UNIQUE INDEX', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DO', 'DROP DATABASE', 'DROP EVENT', 'DROP FUNCTION', 'DROP INDEX', 'DROP PREPARE', 'DROP PROCEDURE', 'DROP ROLE', 'DROP SEQUENCE', 'DROP SERVER', 'DROP TRIGGER', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'GET DIAGNOSTICS', 'GET DIAGNOSTICS CONDITION', 'GRANT', 'HANDLER', 'HELP', 'INSTALL PLUGIN', 'INSTALL SONAME', 'KILL', 'LOAD DATA INFILE', 'LOAD INDEX INTO CACHE', 'LOAD XML INFILE', 'LOCK TABLE', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'PURGE MASTER LOGS', 'RELEASE SAVEPOINT', 'RENAME TABLE', 'RENAME USER', 'REPAIR TABLE', 'REPAIR VIEW', 'RESET MASTER', 'RESET QUERY CACHE', 'RESET REPLICA', 'RESET SLAVE', 'RESIGNAL', 'RETURNING', 'REVOKE', 'ROLLBACK', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET GLOBAL TRANSACTION', 'SET NAMES', 'SET PASSWORD', 'SET ROLE', 'SET STATEMENT', 'SET TRANSACTION', 'SHOW', 'SHOW ALL REPLICAS STATUS', 'SHOW ALL SLAVES STATUS', 'SHOW AUTHORS', 'SHOW BINARY LOGS', 'SHOW BINLOG EVENTS', 'SHOW BINLOG STATUS', 'SHOW CHARACTER SET', 'SHOW CLIENT_STATISTICS', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CONTRIBUTORS', 'SHOW CREATE DATABASE', 'SHOW CREATE EVENT', 'SHOW CREATE FUNCTION', 'SHOW CREATE PACKAGE', 'SHOW CREATE PACKAGE BODY', 'SHOW CREATE PROCEDURE', 'SHOW CREATE SEQUENCE', 'SHOW CREATE TABLE', 'SHOW CREATE TRIGGER', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINE INNODB STATUS', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW EVENTS', 'SHOW EXPLAIN', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW INDEXES', 'SHOW INDEX_STATISTICS', 'SHOW KEYS', 'SHOW LOCALES', 'SHOW MASTER LOGS', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PACKAGE BODY CODE', 'SHOW PACKAGE BODY STATUS', 'SHOW PACKAGE STATUS', 'SHOW PLUGINS', 'SHOW PLUGINS SONAME', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW QUERY_RESPONSE_TIME', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA', 'SHOW REPLICA HOSTS', 'SHOW REPLICA STATUS', 'SHOW SCHEMAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW SLAVE STATUS', 'SHOW STATUS', 'SHOW STORAGE ENGINES', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW TRIGGERS', 'SHOW USER_STATISTICS', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHOW WSREP_MEMBERSHIP', 'SHOW WSREP_STATUS', 'SHUTDOWN', 'SIGNAL', 'START ALL REPLICAS', 'START ALL SLAVES', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP ALL REPLICAS', 'STOP ALL SLAVES', 'STOP REPLICA', 'STOP SLAVE', 'UNINSTALL PLUGIN', 'UNINSTALL SONAME', 'UNLOCK TABLE', 'USE', 'XA BEGIN', 'XA COMMIT', 'XA END', 'XA PREPARE', 'XA RECOVER', 'XA ROLLBACK', 'XA START']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]', 'MINUS [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']); // For reference: https://mariadb.com/kb/en/sql-statements-structure/\n\nvar MariaDbFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(MariaDbFormatter, _Formatter);\n\n var _super = _createSuper(MariaDbFormatter);\n\n function MariaDbFormatter() {\n _classCallCheck(this, MariaDbFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(MariaDbFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE', 'ELSEIF', 'ELSIF'],\n reservedPhrases: reservedPhrases,\n supportsXor: true,\n reservedKeywords: _mariadb.keywords,\n reservedFunctionNames: _mariadb2.functions,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: ['\"\"-qq-bs', \"''-qq-bs\", {\n quote: \"''-raw\",\n prefixes: ['B', 'X'],\n requirePrefix: true\n }],\n identTypes: ['``'],\n identChars: {\n first: '$',\n rest: '$',\n allowFirstCharNumber: true\n },\n variableTypes: [{\n regex: '@@?[A-Za-z0-9_.$]+'\n }, {\n quote: '\"\"-qq-bs',\n prefixes: ['@'],\n requirePrefix: true\n }, {\n quote: \"''-qq-bs\",\n prefixes: ['@'],\n requirePrefix: true\n }, {\n quote: '``',\n prefixes: ['@'],\n requirePrefix: true\n }],\n paramTypes: {\n positional: true\n },\n lineCommentTypes: ['--', '#'],\n operators: ['%', ':=', '&', '|', '^', '~', '<<', '>>', '<=>', '&&', '||', '!'],\n postProcess: postProcess\n });\n }\n }]);\n\n return MariaDbFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = MariaDbFormatter;\n\nfunction postProcess(tokens) {\n return tokens.map(function (token, i) {\n var nextToken = tokens[i + 1] || _token.EOF_TOKEN;\n\n if (_token.isToken.SET(token) && nextToken.text === '(') {\n // This is SET datatype, not SET statement\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME\n });\n }\n\n return token;\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=mariadb.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://mariadb.com/kb/en/information-schema-sql_functions-table/\n all: ['ADDDATE', 'ADD_MONTHS', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'CAST', 'COUNT', 'CUME_DIST', 'CURDATE', 'CURTIME', 'DATE_ADD', 'DATE_SUB', 'DATE_FORMAT', 'DECODE', 'DENSE_RANK', 'EXTRACT', 'FIRST_VALUE', 'GROUP_CONCAT', 'JSON_ARRAYAGG', 'JSON_OBJECTAGG', 'LAG', 'LEAD', 'MAX', 'MEDIAN', 'MID', 'MIN', 'NOW', 'NTH_VALUE', 'NTILE', 'POSITION', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'ROW_NUMBER', 'SESSION_USER', 'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUM', 'SYSTEM_USER', 'TRIM', 'TRIM_ORACLE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'ABS', 'ACOS', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', 'ASIN', 'ATAN', 'ATAN2', 'BENCHMARK', 'BIN', 'BINLOG_GTID_POS', 'BIT_COUNT', 'BIT_LENGTH', 'CEIL', 'CEILING', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'COERCIBILITY', 'COLUMN_CHECK', 'COLUMN_EXISTS', 'COLUMN_LIST', 'COLUMN_JSON', 'COMPRESS', 'CONCAT', 'CONCAT_OPERATOR_ORACLE', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT_TZ', 'COS', 'COT', 'CRC32', 'DATEDIFF', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DEGREES', 'DECODE_HISTOGRAM', 'DECODE_ORACLE', 'DES_DECRYPT', 'DES_ENCRYPT', 'ELT', 'ENCODE', 'ENCRYPT', 'EXP', 'EXPORT_SET', 'EXTRACTVALUE', 'FIELD', 'FIND_IN_SET', 'FLOOR', 'FORMAT', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GET_LOCK', 'GREATEST', 'HEX', 'IFNULL', 'INSTR', 'ISNULL', 'IS_FREE_LOCK', 'IS_USED_LOCK', 'JSON_ARRAY', 'JSON_ARRAY_APPEND', 'JSON_ARRAY_INSERT', 'JSON_COMPACT', 'JSON_CONTAINS', 'JSON_CONTAINS_PATH', 'JSON_DEPTH', 'JSON_DETAILED', 'JSON_EXISTS', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_KEYS', 'JSON_LENGTH', 'JSON_LOOSE', 'JSON_MERGE', 'JSON_MERGE_PATCH', 'JSON_MERGE_PRESERVE', 'JSON_QUERY', 'JSON_QUOTE', 'JSON_OBJECT', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SET', 'JSON_SEARCH', 'JSON_TYPE', 'JSON_UNQUOTE', 'JSON_VALID', 'JSON_VALUE', 'LAST_DAY', 'LAST_INSERT_ID', 'LCASE', 'LEAST', 'LENGTH', 'LENGTHB', 'LN', 'LOAD_FILE', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LPAD_ORACLE', 'LTRIM', 'LTRIM_ORACLE', 'MAKEDATE', 'MAKETIME', 'MAKE_SET', 'MASTER_GTID_WAIT', 'MASTER_POS_WAIT', 'MD5', 'MONTHNAME', 'NAME_CONST', 'NVL', 'NVL2', 'OCT', 'OCTET_LENGTH', 'ORD', 'PERIOD_ADD', 'PERIOD_DIFF', 'PI', 'POW', 'POWER', 'QUOTE', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'RADIANS', 'RAND', 'RELEASE_ALL_LOCKS', 'RELEASE_LOCK', 'REPLACE_ORACLE', 'REVERSE', 'ROUND', 'RPAD', 'RPAD_ORACLE', 'RTRIM', 'RTRIM_ORACLE', 'SEC_TO_TIME', 'SHA', 'SHA1', 'SHA2', 'SIGN', 'SIN', 'SLEEP', 'SOUNDEX', 'SPACE', 'SQRT', 'STRCMP', 'STR_TO_DATE', 'SUBSTR_ORACLE', 'SUBSTRING_INDEX', 'SUBTIME', 'SYS_GUID', 'TAN', 'TIMEDIFF', 'TIME_FORMAT', 'TIME_TO_SEC', 'TO_BASE64', 'TO_CHAR', 'TO_DAYS', 'TO_SECONDS', 'UCASE', 'UNCOMPRESS', 'UNCOMPRESSED_LENGTH', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'UUID', 'UUID_SHORT', 'VERSION', 'WEEKDAY', 'WEEKOFYEAR', 'WSREP_LAST_WRITTEN_GTID', 'WSREP_LAST_SEEN_GTID', 'WSREP_SYNC_WAIT_UPTO_GTID', 'YEARWEEK', // CASE expression shorthands\n 'COALESCE', 'NULLIF', // Data types with parameters\n // https://mariadb.com/kb/en/data-types/\n 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', // 'NUMBER', // ?? In oracle mode only\n 'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'BIT', 'BINARY', 'BLOB', 'CHAR', 'NATIONAL CHAR', 'CHAR BYTE', 'ENUM', 'VARBINARY', 'VARCHAR', 'NATIONAL VARCHAR', // 'SET' // handled as special-case in postProcess\n 'TIME', 'DATETIME', 'TIMESTAMP', 'YEAR']\n});\nexports.functions = functions;\n//# sourceMappingURL=mariadb.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://mariadb.com/kb/en/information-schema-keywords-table/\n all: ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALL', 'ALGORITHM', 'ALTER', 'ALWAYS', 'ANALYZE', 'AND', 'ANY', 'AS', 'ASC', 'ASCII', 'ASENSITIVE', 'AT', 'ATOMIC', 'AUTHORS', 'AUTO_INCREMENT', 'AUTOEXTEND_SIZE', 'AUTO', 'AVG', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BINLOG', 'BIT', 'BLOB', 'BLOCK', 'BODY', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BY', 'BYTE', 'CACHE', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CATALOG_NAME', 'CHAIN', 'CHANGE', 'CHANGED', 'CHAR', 'CHARACTER', 'CHARSET', 'CHECK', 'CHECKPOINT', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOB', 'CLOSE', 'COALESCE', 'CODE', 'COLLATE', 'COLLATION', 'COLUMN', 'COLUMN_NAME', 'COLUMNS', 'COLUMN_ADD', 'COLUMN_CHECK', 'COLUMN_CREATE', 'COLUMN_DELETE', 'COLUMN_GET', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPRESSED', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CONTRIBUTORS', 'CONVERT', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_POS', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'CURSOR_NAME', 'CYCLE', 'DATA', 'DATABASE', 'DATABASES', 'DATAFILE', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFINER', 'DELAYED', 'DELAY_KEY_WRITE', 'DELETE', 'DELETE_DOMAIN_ID', 'DESC', 'DESCRIBE', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DIV', 'DO', 'DOUBLE', 'DO_DOMAIN_IDS', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'ELSE', 'ELSEIF', 'ELSIF', 'EMPTY', 'ENABLE', 'ENCLOSED', 'END', 'ENDS', 'ENGINE', 'ENGINES', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXAMINED', 'EXCEPT', 'EXCHANGE', 'EXCLUDE', 'EXECUTE', 'EXCEPTION', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXPLAIN', 'EXTENDED', 'EXTENT_SIZE', 'FALSE', 'FAST', 'FAULTS', 'FEDERATED', 'FETCH', 'FIELDS', 'FILE', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FLUSH', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FORMAT', 'FOUND', 'FROM', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GET_FORMAT', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GRANTS', 'GROUP', 'HANDLER', 'HARD', 'HASH', 'HAVING', 'HELP', 'HIGH_PRIORITY', 'HISTORY', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', // 'ID', // conflicts with common column name\n 'IDENTIFIED', 'IF', 'IGNORE', 'IGNORED', 'IGNORE_DOMAIN_IDS', 'IGNORE_SERVER_IDS', 'IMMEDIATE', 'IMPORT', 'INTERSECT', 'IN', 'INCREMENT', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL_SIZE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INSERT_METHOD', 'INSTALL', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTERVAL', 'INVISIBLE', 'INTO', 'IO', 'IO_THREAD', 'IPC', 'IS', 'ISOLATION', 'ISOPEN', 'ISSUER', 'ITERATE', 'INVOKER', 'JOIN', 'JSON', 'JSON_TABLE', 'KEY', 'KEYS', 'KEY_BLOCK_SIZE', 'KILL', 'LANGUAGE', 'LAST', 'LAST_VALUE', 'LASTVAL', 'LEADING', 'LEAVE', 'LEAVES', 'LEFT', 'LESS', 'LEVEL', 'LIKE', 'LIMIT', 'LINEAR', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_GTID_POS', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_USER', 'MASTER_USE_GTID', 'MASTER_HEARTBEAT_PERIOD', 'MATCH', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_STATEMENT_TIME', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MAXVALUE', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MICROSECOND', 'MIDDLEINT', 'MIGRATE', 'MINUS', 'MINUTE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MINVALUE', 'MIN_ROWS', 'MOD', 'MODE', 'MODIFIES', 'MODIFY', 'MONITOR', 'MONTH', 'MUTEX', 'MYSQL', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NESTED', 'NEVER', 'NEW', 'NEXT', 'NEXTVAL', 'NO', 'NOMAXVALUE', 'NOMINVALUE', 'NOCACHE', 'NOCYCLE', 'NO_WAIT', 'NOWAIT', 'NODEGROUP', 'NONE', 'NOT', 'NOTFOUND', 'NO_WRITE_TO_BINLOG', 'NULL', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFFSET', 'OLD_PASSWORD', 'ON', 'ONE', 'ONLINE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIONS', 'OPTION', 'OPTIONALLY', 'OR', 'ORDER', 'ORDINALITY', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OVERLAPS', 'OWNER', 'PACKAGE', 'PACK_KEYS', 'PAGE', 'PAGE_CHECKSUM', 'PARSER', 'PARSE_VCOL_EXPR', 'PATH', 'PERIOD', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PERSISTENT', 'PHASE', 'PLUGIN', 'PLUGINS', 'PORT', 'PORTION', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRESERVE', 'PREV', 'PREVIOUS', 'PRIMARY', 'PRIVILEGES', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUARTER', 'QUERY', 'QUICK', 'RAISE', 'RANGE', 'RAW', 'READ', 'READ_ONLY', 'READ_WRITE', 'READS', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDO_BUFFER_SIZE', 'REDOFILE', 'REDUNDANT', 'REFERENCES', 'REGEXP', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLACE', 'REPLAY', 'REPLICA', 'REPLICAS', 'REPLICA_POS', 'REPLICATION', 'REPEAT', 'REQUIRE', 'RESET', 'RESIGNAL', 'RESTART', 'RESTORE', 'RESTRICT', 'RESUME', 'RETURNED_SQLSTATE', 'RETURN', 'RETURNING', 'RETURNS', 'REUSE', 'REVERSE', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW', 'ROWCOUNT', 'ROWNUM', 'ROWS', 'ROWTYPE', 'ROW_COUNT', 'ROW_FORMAT', 'RTREE', 'SAVEPOINT', 'SCHEDULE', 'SCHEMA', 'SCHEMA_NAME', 'SCHEMAS', 'SECOND', 'SECOND_MICROSECOND', 'SECURITY', 'SELECT', 'SENSITIVE', 'SEPARATOR', 'SEQUENCE', 'SERIAL', 'SERIALIZABLE', 'SESSION', 'SERVER', 'SET', 'SETVAL', 'SHARE', 'SHOW', 'SHUTDOWN', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLAVES', 'SLAVE_POS', 'SLOW', 'SNAPSHOT', 'SMALLINT', 'SOCKET', 'SOFT', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'STAGE', 'STORED', 'SPATIAL', 'SPECIFIC', 'REF_SYSTEM_ID', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_SECOND', 'SQL_TSI_MINUTE', 'SQL_TSI_HOUR', 'SQL_TSI_DAY', 'SQL_TSI_WEEK', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_YEAR', 'SSL', 'START', 'STARTING', 'STARTS', 'STATEMENT', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STRAIGHT_JOIN', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSDATE', 'SYSTEM', 'SYSTEM_TIME', 'TABLE', 'TABLE_NAME', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THEN', 'TIES', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSACTIONAL', 'THREADS', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TRUNCATE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO_BUFFER_SIZE', 'UNDOFILE', 'UNDO', 'UNICODE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNINSTALL', 'UNSIGNED', 'UNTIL', 'UPDATE', 'UPGRADE', 'USAGE', 'USE', 'USER', 'USER_RESOURCES', 'USE_FRM', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARCHAR2', 'VARIABLES', 'VARYING', 'VIA', 'VIEW', 'VIRTUAL', 'VISIBLE', 'VERSIONING', 'WAIT', 'WARNINGS', 'WEEK', 'WEIGHT_STRING', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XOR', 'XA', 'XML', 'YEAR', 'YEAR_MONTH', 'ZEROFILL']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=mariadb.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _mysql = require(\"./mysql.keywords\");\n\nvar _mysql2 = require(\"./mysql.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]', 'REPLACE [LOW_PRIORITY | DELAYED] [INTO]', 'VALUES', // - update:\n'UPDATE [LOW_PRIORITY] [IGNORE]', 'SET', // - delete:\n'DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM', // - truncate:\n'TRUNCATE [TABLE]', // Data definition\n'CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY] TABLE [IF NOT EXISTS]', 'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD [COLUMN]', '{CHANGE | MODIFY} [COLUMN]', 'DROP [COLUMN]', 'RENAME [TO | AS]', 'RENAME COLUMN', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n// https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html\n'ALTER DATABASE', 'ALTER EVENT', 'ALTER FUNCTION', 'ALTER INSTANCE', 'ALTER LOGFILE GROUP', 'ALTER PROCEDURE', 'ALTER RESOURCE GROUP', 'ALTER SERVER', 'ALTER TABLESPACE', 'ALTER USER', 'ALTER VIEW', 'ANALYZE TABLE', 'BINLOG', 'CACHE INDEX', 'CALL', 'CHANGE MASTER TO', 'CHANGE REPLICATION FILTER', 'CHANGE REPLICATION SOURCE TO', 'CHECK TABLE', 'CHECKSUM TABLE', 'CLONE', 'COMMIT', 'CREATE DATABASE', 'CREATE EVENT', 'CREATE FUNCTION', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE LOGFILE GROUP', 'CREATE PROCEDURE', 'CREATE RESOURCE GROUP', 'CREATE ROLE', 'CREATE SERVER', 'CREATE SPATIAL REFERENCE SYSTEM', 'CREATE TABLESPACE', 'CREATE TRIGGER', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DO', 'DROP DATABASE', 'DROP EVENT', 'DROP FUNCTION', 'DROP FUNCTION', 'DROP INDEX', 'DROP LOGFILE GROUP', 'DROP PROCEDURE', 'DROP RESOURCE GROUP', 'DROP ROLE', 'DROP SERVER', 'DROP SPATIAL REFERENCE SYSTEM', 'DROP TABLESPACE', 'DROP TRIGGER', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'GRANT', 'HANDLER', 'HELP', 'IMPORT TABLE', 'INSTALL COMPONENT', 'INSTALL PLUGIN', 'KILL', 'LOAD DATA', 'LOAD INDEX INTO CACHE', 'LOAD XML', 'LOCK INSTANCE FOR BACKUP', 'LOCK TABLES', 'MASTER_POS_WAIT', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'RELEASE SAVEPOINT', 'RENAME TABLE', 'RENAME USER', 'REPAIR TABLE', 'RESET', 'RESET MASTER', 'RESET PERSIST', 'RESET REPLICA', 'RESET SLAVE', 'RESTART', 'REVOKE', 'ROLLBACK', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET NAMES', 'SET PASSWORD', 'SET RESOURCE GROUP', 'SET ROLE', 'SET TRANSACTION', 'SHOW', 'SHOW BINARY LOGS', 'SHOW BINLOG EVENTS', 'SHOW CHARACTER SET', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CREATE DATABASE', 'SHOW CREATE EVENT', 'SHOW CREATE FUNCTION', 'SHOW CREATE PROCEDURE', 'SHOW CREATE TABLE', 'SHOW CREATE TRIGGER', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW EVENTS', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PLUGINS', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA STATUS', 'SHOW REPLICAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW STATUS', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW TRIGGERS', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHUTDOWN', 'SOURCE_POS_WAIT', 'START GROUP_REPLICATION', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP GROUP_REPLICATION', 'STOP REPLICA', 'STOP SLAVE', 'TABLE', 'UNINSTALL COMPONENT', 'UNINSTALL PLUGIN', 'UNLOCK INSTANCE', 'UNLOCK TABLES', 'USE', 'XA', // flow control\n// 'IF',\n'ITERATE', 'LEAVE', 'LOOP', 'REPEAT', 'RETURN', 'WHILE']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']); // https://dev.mysql.com/doc/refman/8.0/en/\n\nvar MySqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(MySqlFormatter, _Formatter);\n\n var _super = _createSuper(MySqlFormatter);\n\n function MySqlFormatter() {\n _classCallCheck(this, MySqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(MySqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE', 'ELSEIF'],\n reservedPhrases: reservedPhrases,\n supportsXor: true,\n reservedKeywords: _mysql.keywords,\n reservedFunctionNames: _mysql2.functions,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: ['\"\"-qq-bs', {\n quote: \"''-qq-bs\",\n prefixes: ['N']\n }, {\n quote: \"''-raw\",\n prefixes: ['B', 'X'],\n requirePrefix: true\n }],\n identTypes: ['``'],\n identChars: {\n first: '$',\n rest: '$',\n allowFirstCharNumber: true\n },\n variableTypes: [{\n regex: '@@?[A-Za-z0-9_.$]+'\n }, {\n quote: '\"\"-qq-bs',\n prefixes: ['@'],\n requirePrefix: true\n }, {\n quote: \"''-qq-bs\",\n prefixes: ['@'],\n requirePrefix: true\n }, {\n quote: '``',\n prefixes: ['@'],\n requirePrefix: true\n }],\n paramTypes: {\n positional: true\n },\n lineCommentTypes: ['--', '#'],\n operators: ['%', ':=', '&', '|', '^', '~', '<<', '>>', '<=>', '->', '->>', '&&', '||', '!'],\n postProcess: postProcess\n });\n }\n }]);\n\n return MySqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = MySqlFormatter;\n\nfunction postProcess(tokens) {\n return tokens.map(function (token, i) {\n var nextToken = tokens[i + 1] || _token.EOF_TOKEN;\n\n if (_token.isToken.SET(token) && nextToken.text === '(') {\n // This is SET datatype, not SET statement\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME\n });\n }\n\n return token;\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=mysql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html\n all: ['ABS', 'ACOS', 'ADDDATE', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', // 'AND',\n 'ANY_VALUE', 'ASCII', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BENCHMARK', 'BIN', 'BIN_TO_UUID', 'BINARY', 'BIT_AND', 'BIT_COUNT', 'BIT_LENGTH', 'BIT_OR', 'BIT_XOR', 'CAN_ACCESS_COLUMN', 'CAN_ACCESS_DATABASE', 'CAN_ACCESS_TABLE', 'CAN_ACCESS_USER', 'CAN_ACCESS_VIEW', 'CAST', 'CEIL', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHARSET', 'COALESCE', 'COERCIBILITY', 'COLLATION', 'COMPRESS', 'CONCAT', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT', 'CONVERT_TZ', 'COS', 'COT', 'COUNT', 'CRC32', 'CUME_DIST', 'CURDATE', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURTIME', 'DATABASE', 'DATE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_SUB', 'DATEDIFF', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DEFAULT', 'DEGREES', 'DENSE_RANK', 'DIV', 'ELT', 'EXP', 'EXPORT_SET', 'EXTRACT', 'EXTRACTVALUE', 'FIELD', 'FIND_IN_SET', 'FIRST_VALUE', 'FLOOR', 'FORMAT', 'FORMAT_BYTES', 'FORMAT_PICO_TIME', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GEOMCOLLECTION', 'GEOMETRYCOLLECTION', 'GET_DD_COLUMN_PRIVILEGES', 'GET_DD_CREATE_OPTIONS', 'GET_DD_INDEX_SUB_PART_LENGTH', 'GET_FORMAT', 'GET_LOCK', 'GREATEST', 'GROUP_CONCAT', 'GROUPING', 'GTID_SUBSET', 'GTID_SUBTRACT', 'HEX', 'HOUR', 'ICU_VERSION', 'IF', 'IFNULL', // 'IN',\n 'INET_ATON', 'INET_NTOA', 'INET6_ATON', 'INET6_NTOA', 'INSERT', 'INSTR', 'INTERNAL_AUTO_INCREMENT', 'INTERNAL_AVG_ROW_LENGTH', 'INTERNAL_CHECK_TIME', 'INTERNAL_CHECKSUM', 'INTERNAL_DATA_FREE', 'INTERNAL_DATA_LENGTH', 'INTERNAL_DD_CHAR_LENGTH', 'INTERNAL_GET_COMMENT_OR_ERROR', 'INTERNAL_GET_ENABLED_ROLE_JSON', 'INTERNAL_GET_HOSTNAME', 'INTERNAL_GET_USERNAME', 'INTERNAL_GET_VIEW_WARNING_OR_ERROR', 'INTERNAL_INDEX_COLUMN_CARDINALITY', 'INTERNAL_INDEX_LENGTH', 'INTERNAL_IS_ENABLED_ROLE', 'INTERNAL_IS_MANDATORY_ROLE', 'INTERNAL_KEYS_DISABLED', 'INTERNAL_MAX_DATA_LENGTH', 'INTERNAL_TABLE_ROWS', 'INTERNAL_UPDATE_TIME', 'INTERVAL', 'IS', 'IS_FREE_LOCK', 'IS_IPV4', 'IS_IPV4_COMPAT', 'IS_IPV4_MAPPED', 'IS_IPV6', 'IS NOT', 'IS NOT NULL', 'IS NULL', 'IS_USED_LOCK', 'IS_UUID', 'ISNULL', 'JSON_ARRAY', 'JSON_ARRAY_APPEND', 'JSON_ARRAY_INSERT', 'JSON_ARRAYAGG', 'JSON_CONTAINS', 'JSON_CONTAINS_PATH', 'JSON_DEPTH', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_KEYS', 'JSON_LENGTH', 'JSON_MERGE', 'JSON_MERGE_PATCH', 'JSON_MERGE_PRESERVE', 'JSON_OBJECT', 'JSON_OBJECTAGG', 'JSON_OVERLAPS', 'JSON_PRETTY', 'JSON_QUOTE', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SCHEMA_VALID', 'JSON_SCHEMA_VALIDATION_REPORT', 'JSON_SEARCH', 'JSON_SET', 'JSON_STORAGE_FREE', 'JSON_STORAGE_SIZE', 'JSON_TABLE', 'JSON_TYPE', 'JSON_UNQUOTE', 'JSON_VALID', 'JSON_VALUE', 'LAG', 'LAST_DAY', 'LAST_INSERT_ID', 'LAST_VALUE', 'LCASE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LIKE', 'LINESTRING', 'LN', 'LOAD_FILE', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'MAKE_SET', 'MAKEDATE', 'MAKETIME', 'MASTER_POS_WAIT', 'MATCH', 'MAX', 'MBRCONTAINS', 'MBRCOVEREDBY', 'MBRCOVERS', 'MBRDISJOINT', 'MBREQUALS', 'MBRINTERSECTS', 'MBROVERLAPS', 'MBRTOUCHES', 'MBRWITHIN', 'MD5', 'MEMBER OF', 'MICROSECOND', 'MID', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHNAME', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'NAME_CONST', 'NOT', 'NOT IN', 'NOT LIKE', 'NOT REGEXP', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'OCT', 'OCTET_LENGTH', // 'OR',\n 'ORD', 'PERCENT_RANK', 'PERIOD_ADD', 'PERIOD_DIFF', 'PI', 'POINT', 'POLYGON', 'POSITION', 'POW', 'POWER', 'PS_CURRENT_THREAD_ID', 'PS_THREAD_ID', 'QUARTER', 'QUOTE', 'RADIANS', 'RAND', 'RANDOM_BYTES', 'RANK', 'REGEXP', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'RELEASE_ALL_LOCKS', 'RELEASE_LOCK', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RLIKE', 'ROLES_GRAPHML', 'ROUND', 'ROW_COUNT', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SCHEMA', 'SEC_TO_TIME', 'SECOND', 'SESSION_USER', 'SHA1', 'SHA2', 'SIGN', 'SIN', 'SLEEP', 'SOUNDEX', 'SOUNDS LIKE', 'SOURCE_POS_WAIT', 'SPACE', 'SQRT', 'ST_AREA', 'ST_ASBINARY', 'ST_ASGEOJSON', 'ST_ASTEXT', 'ST_BUFFER', 'ST_BUFFER_STRATEGY', 'ST_CENTROID', 'ST_COLLECT', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_CROSSES', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DISTANCE_SPHERE', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_EQUALS', 'ST_EXTERIORRING', 'ST_FRECHETDISTANCE', 'ST_GEOHASH', 'ST_GEOMCOLLFROMTEXT', 'ST_GEOMCOLLFROMWKB', 'ST_GEOMETRYN', 'ST_GEOMETRYTYPE', 'ST_GEOMFROMGEOJSON', 'ST_GEOMFROMTEXT', 'ST_GEOMFROMWKB', 'ST_HAUSDORFFDISTANCE', 'ST_INTERIORRINGN', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_ISCLOSED', 'ST_ISEMPTY', 'ST_ISSIMPLE', 'ST_ISVALID', 'ST_LATFROMGEOHASH', 'ST_LATITUDE', 'ST_LENGTH', 'ST_LINEFROMTEXT', 'ST_LINEFROMWKB', 'ST_LINEINTERPOLATEPOINT', 'ST_LINEINTERPOLATEPOINTS', 'ST_LONGFROMGEOHASH', 'ST_LONGITUDE', 'ST_MAKEENVELOPE', 'ST_MLINEFROMTEXT', 'ST_MLINEFROMWKB', 'ST_MPOINTFROMTEXT', 'ST_MPOINTFROMWKB', 'ST_MPOLYFROMTEXT', 'ST_MPOLYFROMWKB', 'ST_NUMGEOMETRIES', 'ST_NUMINTERIORRING', 'ST_NUMPOINTS', 'ST_OVERLAPS', 'ST_POINTATDISTANCE', 'ST_POINTFROMGEOHASH', 'ST_POINTFROMTEXT', 'ST_POINTFROMWKB', 'ST_POINTN', 'ST_POLYFROMTEXT', 'ST_POLYFROMWKB', 'ST_SIMPLIFY', 'ST_SRID', 'ST_STARTPOINT', 'ST_SWAPXY', 'ST_SYMDIFFERENCE', 'ST_TOUCHES', 'ST_TRANSFORM', 'ST_UNION', 'ST_VALIDATE', 'ST_WITHIN', 'ST_X', 'ST_Y', 'STATEMENT_DIGEST', 'STATEMENT_DIGEST_TEXT', 'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DATE', 'STRCMP', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'SUBTIME', 'SUM', 'SYSDATE', 'SYSTEM_USER', 'TAN', 'TIME', 'TIME_FORMAT', 'TIME_TO_SEC', 'TIMEDIFF', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TO_BASE64', 'TO_DAYS', 'TO_SECONDS', 'TRIM', 'TRUNCATE', 'UCASE', 'UNCOMPRESS', 'UNCOMPRESSED_LENGTH', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'USER', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', 'UUID_SHORT', 'UUID_TO_BIN', 'VALIDATE_PASSWORD_STRENGTH', 'VALUES', 'VAR_POP', 'VAR_SAMP', 'VARIANCE', 'VERSION', 'WAIT_FOR_EXECUTED_GTID_SET', 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS', 'WEEK', 'WEEKDAY', 'WEEKOFYEAR', 'WEIGHT_STRING', // 'XOR',\n 'YEAR', 'YEARWEEK', // Data types with parameters\n // https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n 'BIT', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', 'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'DATETIME', 'TIMESTAMP', 'TIME', 'YEAR', 'CHAR', 'NATIONAL CHAR', 'VARCHAR', 'NATIONAL VARCHAR', 'BINARY', 'VARBINARY', 'BLOB', 'TEXT', 'ENUM' // 'SET' // handled as special-case in postProcess\n ]\n});\nexports.functions = functions;\n//# sourceMappingURL=mysql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://dev.mysql.com/doc/refman/8.0/en/keywords.html\n all: ['ACCESSIBLE', // (R)\n 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADD', // (R)\n 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', // (R)\n 'ALTER', // (R)\n 'ALWAYS', 'ANALYZE', // (R)\n 'AND', // (R)\n 'ANY', 'ARRAY', 'AS', // (R)\n 'ASC', // (R)\n 'ASCII', 'ASENSITIVE', // (R)\n 'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', // (R)\n 'BEGIN', 'BETWEEN', // (R)\n 'BIGINT', // (R)\n 'BINARY', // (R)\n 'BINLOG', 'BIT', 'BLOB', // (R)\n 'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', // (R)\n 'BTREE', 'BUCKETS', 'BY', // (R)\n 'BYTE', 'CACHE', 'CALL', // (R)\n 'CASCADE', // (R)\n 'CASCADED', 'CASE', // (R)\n 'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', // (R)\n 'CHANGED', 'CHANNEL', 'CHAR', // (R)\n 'CHARACTER', // (R)\n 'CHARSET', 'CHECK', // (R)\n 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLONE', 'CLOSE', 'COALESCE', 'CODE', 'COLLATE', // (R)\n 'COLLATION', 'COLUMN', // (R)\n 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', // (R)\n 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', // (R)\n 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', // (R)\n 'CONVERT', // (R)\n 'CPU', 'CREATE', // (R)\n 'CROSS', // (R)\n 'CUBE', // (R)\n 'CUME_DIST', // (R)\n 'CURRENT', 'CURRENT_DATE', // (R)\n 'CURRENT_TIME', // (R)\n 'CURRENT_TIMESTAMP', // (R)\n 'CURRENT_USER', // (R)\n 'CURSOR', // (R)\n 'CURSOR_NAME', 'DATA', 'DATABASE', // (R)\n 'DATABASES', // (R)\n 'DATAFILE', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', // (R)\n 'DAY_MICROSECOND', // (R)\n 'DAY_MINUTE', // (R)\n 'DAY_SECOND', // (R)\n 'DEALLOCATE', 'DEC', // (R)\n 'DECIMAL', // (R)\n 'DECLARE', // (R)\n 'DEFAULT', // (R)\n 'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', // (R)\n 'DELAY_KEY_WRITE', 'DELETE', // (R)\n 'DENSE_RANK', // (R)\n 'DESC', // (R)\n 'DESCRIBE', // (R)\n 'DESCRIPTION', 'DETERMINISTIC', // (R)\n 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', // (R)\n 'DISTINCTROW', // (R)\n 'DIV', // (R)\n 'DO', 'DOUBLE', // (R)\n 'DROP', // (R)\n 'DUAL', // (R)\n 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', // (R)\n 'ELSE', // (R)\n 'ELSEIF', // (R)\n 'EMPTY', // (R)\n 'ENABLE', 'ENCLOSED', // (R)\n 'ENCRYPTION', 'END', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', // (R)\n 'EVENT', 'EVENTS', 'EVERY', 'EXCEPT', // (R)\n 'EXCHANGE', 'EXCLUDE', 'EXECUTE', 'EXISTS', // (R)\n 'EXIT', // (R)\n 'EXPANSION', 'EXPIRE', 'EXPLAIN', // (R)\n 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', // (R)\n 'FAST', 'FAULTS', 'FETCH', // (R)\n 'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIRST_VALUE', // (R)\n 'FIXED', 'FLOAT', // (R)\n 'FLOAT4', // (R)\n 'FLOAT8', // (R)\n 'FLUSH', 'FOLLOWING', 'FOLLOWS', 'FOR', // (R)\n 'FORCE', // (R)\n 'FOREIGN', // (R)\n 'FORMAT', 'FOUND', 'FROM', // (R)\n 'FULL', 'FULLTEXT', // (R)\n 'FUNCTION', // (R)\n 'GENERAL', 'GENERATED', // (R)\n 'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', // (R)\n 'GET_FORMAT', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', 'GRANT', // (R)\n 'GRANTS', 'GROUP', // (R)\n 'GROUPING', // (R)\n 'GROUPS', // (R)\n 'GROUP_REPLICATION', 'GTID_ONLY', 'HANDLER', 'HASH', 'HAVING', // (R)\n 'HELP', 'HIGH_PRIORITY', // (R)\n 'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', // (R)\n 'HOUR_MINUTE', // (R)\n 'HOUR_SECOND', // (R)\n 'IDENTIFIED', 'IF', // (R)\n 'IGNORE', // (R)\n 'IGNORE_SERVER_IDS', 'IMPORT', 'IN', // (R)\n 'INACTIVE', 'INDEX', // (R)\n 'INDEXES', 'INFILE', // (R)\n 'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', // (R)\n 'INOUT', // (R)\n 'INSENSITIVE', // (R)\n 'INSERT', // (R)\n 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'IN', // <-- moved over from functions\n 'INT', // (R)\n 'INT1', // (R)\n 'INT2', // (R)\n 'INT3', // (R)\n 'INT4', // (R)\n 'INT8', // (R)\n 'INTEGER', // (R)\n 'INTERSECT', // (R)\n 'INTERVAL', // (R)\n 'INTO', // (R)\n 'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', // (R)\n 'IO_BEFORE_GTIDS', // (R)\n 'IO_THREAD', 'IPC', 'IS', // (R)\n 'ISOLATION', 'ISSUER', 'ITERATE', // (R)\n 'JOIN', // (R)\n 'JSON', 'JSON_TABLE', // (R)\n 'JSON_VALUE', 'KEY', // (R)\n 'KEYRING', 'KEYS', // (R)\n 'KEY_BLOCK_SIZE', 'KILL', // (R)\n 'LAG', // (R)\n 'LANGUAGE', 'LAST', 'LAST_VALUE', // (R)\n 'LATERAL', // (R)\n 'LEAD', // (R)\n 'LEADING', // (R)\n 'LEAVE', // (R)\n 'LEAVES', 'LEFT', // (R)\n 'LESS', 'LEVEL', 'LIKE', // (R)\n 'LIMIT', // (R)\n 'LINEAR', // (R)\n 'LINES', // (R)\n 'LINESTRING', 'LIST', 'LOAD', // (R)\n 'LOCAL', 'LOCALTIME', // (R)\n 'LOCALTIMESTAMP', // (R)\n 'LOCK', // (R)\n 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', // (R)\n 'LONGBLOB', // (R)\n 'LONGTEXT', // (R)\n 'LOOP', // (R)\n 'LOW_PRIORITY', // (R)\n 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', // (R)\n 'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', // (R)\n 'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MATCH', // (R)\n 'MAXVALUE', // (R)\n 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', // (R)\n 'MEDIUMINT', // (R)\n 'MEDIUMTEXT', // (R)\n 'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MICROSECOND', 'MIDDLEINT', // (R)\n 'MIGRATE', 'MINUTE', 'MINUTE_MICROSECOND', // (R)\n 'MINUTE_SECOND', // (R)\n 'MIN_ROWS', 'MOD', // (R)\n 'MODE', 'MODIFIES', // (R)\n 'MODIFY', 'MONTH', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', // (R)\n 'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOT', // (R)\n 'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', // (R)\n 'NTH_VALUE', // (R)\n 'NTILE', // (R)\n 'NULL', // (R)\n 'NULLS', 'NUMBER', 'NUMERIC', // (R)\n 'NVARCHAR', 'OF', // (R)\n 'OFF', 'OFFSET', 'OJ', 'OLD', 'ON', // (R)\n 'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', // (R)\n 'OPTIMIZER_COSTS', // (R)\n 'OPTION', // (R)\n 'OPTIONAL', 'OPTIONALLY', // (R)\n 'OPTIONS', 'OR', // (R)\n 'ORDER', // (R)\n 'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', // (R)\n 'OUTER', // (R)\n 'OUTFILE', // (R)\n 'OVER', // (R)\n 'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARTIAL', 'PARTITION', // (R)\n 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERCENT_RANK', // (R)\n 'PERSIST', 'PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', // (R)\n 'PREPARE', 'PRESERVE', 'PREV', 'PRIMARY', // (R)\n 'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', // (R)\n 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', // (R)\n 'QUARTER', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', // (R)\n 'RANK', // (R)\n 'READ', // (R)\n 'READS', // (R)\n 'READ_ONLY', 'READ_WRITE', // (R)\n 'REAL', // (R)\n 'REBUILD', 'RECOVER', 'RECURSIVE', // (R)\n 'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', // (R)\n 'REGEXP', // (R)\n 'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', // (R)\n 'RELOAD', 'REMOVE', 'RENAME', // (R)\n 'REORGANIZE', 'REPAIR', 'REPEAT', // (R)\n 'REPEATABLE', 'REPLACE', // (R)\n 'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', // (R)\n 'REQUIRE_ROW_FORMAT', 'RESET', 'RESIGNAL', // (R)\n 'RESOURCE', 'RESPECT', 'RESTART', 'RESTORE', 'RESTRICT', // (R)\n 'RESUME', 'RETAIN', 'RETURN', // (R)\n 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'REVERSE', 'REVOKE', // (R)\n 'RIGHT', // (R)\n 'RLIKE', // (R)\n 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', // (R)\n 'ROWS', // (R)\n 'ROW_COUNT', 'ROW_FORMAT', 'ROW_NUMBER', // (R)\n 'RTREE', 'SAVEPOINT', 'SCHEDULE', 'SCHEMA', // (R)\n 'SCHEMAS', // (R)\n 'SCHEMA_NAME', 'SECOND', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', // (R)\n 'SECURITY', 'SELECT', // (R)\n 'SENSITIVE', // (R)\n 'SEPARATOR', // (R)\n 'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SET', // (R)\n 'SHARE', 'SHOW', // (R)\n 'SHUTDOWN', 'SIGNAL', // (R)\n 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', // (R)\n 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', // (R)\n 'SPECIFIC', // (R)\n 'SQL', // (R)\n 'SQLEXCEPTION', // (R)\n 'SQLSTATE', // (R)\n 'SQLWARNING', // (R)\n 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', // (R)\n 'SQL_BUFFER_RESULT', 'SQL_CALC_FOUND_ROWS', // (R)\n 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', // (R)\n 'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', // (R)\n 'STACKED', 'START', 'STARTING', // (R)\n 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', // (R)\n 'STRAIGHT_JOIN', // (R)\n 'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', // (R)\n 'TABLE', // (R)\n 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', // (R)\n 'TEXT', 'THAN', 'THEN', // (R)\n 'THREAD_PRIORITY', 'TIES', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TINYBLOB', // (R)\n 'TINYINT', // (R)\n 'TINYTEXT', // (R)\n 'TLS', 'TO', // (R)\n 'TRAILING', // (R)\n 'TRANSACTION', 'TRIGGER', // (R)\n 'TRIGGERS', 'TRUE', // (R)\n 'TRUNCATE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', // (R)\n 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNION', // (R)\n 'UNIQUE', // (R)\n 'UNKNOWN', 'UNLOCK', // (R)\n 'UNREGISTER', 'UNSIGNED', // (R)\n 'UNTIL', 'UPDATE', // (R)\n 'UPGRADE', 'USAGE', // (R)\n 'USE', // (R)\n 'USER', 'USER_RESOURCES', 'USE_FRM', 'USING', // (R)\n 'UTC_DATE', // (R)\n 'UTC_TIME', // (R)\n 'UTC_TIMESTAMP', // (R)\n 'VALIDATION', 'VALUE', 'VALUES', // (R)\n 'VARBINARY', // (R)\n 'VARCHAR', // (R)\n 'VARCHARACTER', // (R)\n 'VARIABLES', 'VARYING', // (R)\n 'VCPU', 'VIEW', 'VIRTUAL', // (R)\n 'VISIBLE', 'WAIT', 'WARNINGS', 'WEEK', 'WEIGHT_STRING', 'WHEN', // (R)\n 'WHERE', // (R)\n 'WHILE', // (R)\n 'WINDOW', // (R)\n 'WITH', // (R)\n 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', // (R)\n 'X509', 'XA', 'XID', 'XML', 'XOR', // (R)\n 'YEAR', 'YEAR_MONTH', // (R)\n 'ZEROFILL', // (R)\n 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=mysql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _n1ql = require(\"./n1ql.functions\");\n\nvar _n1ql2 = require(\"./n1ql.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE FROM', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED THEN', 'UPDATE SET', 'INSERT', // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n'ADVISE', 'ALTER INDEX', 'BEGIN TRANSACTION', 'BUILD INDEX', 'COMMIT TRANSACTION', 'CREATE COLLECTION', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE PRIMARY INDEX', 'CREATE SCOPE', 'DROP COLLECTION', 'DROP FUNCTION', 'DROP INDEX', 'DROP PRIMARY INDEX', 'DROP SCOPE', 'EXECUTE', 'EXECUTE FUNCTION', 'EXPLAIN', 'GRANT', 'INFER', 'PREPARE', 'RETURNING', 'REVOKE', 'ROLLBACK TRANSACTION', 'SAVEPOINT', 'SET TRANSACTION', 'UPDATE STATISTICS', 'UPSERT', // other\n'LET', 'NEST', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SHOW', 'UNNEST', 'USE KEYS']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT [ALL]', 'INTERSECT [ALL]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', 'INNER JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['{ROWS | RANGE | GROUPS} BETWEEN']); // For reference: http://docs.couchbase.com.s3-website-us-west-1.amazonaws.com/server/6.0/n1ql/n1ql-language-reference/index.html\n\nvar N1qlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(N1qlFormatter, _Formatter);\n\n var _super = _createSuper(N1qlFormatter);\n\n function N1qlFormatter() {\n _classCallCheck(this, N1qlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(N1qlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n supportsXor: true,\n reservedKeywords: _n1ql2.keywords,\n reservedFunctionNames: _n1ql.functions,\n // NOTE: single quotes are actually not supported in N1QL,\n // but we support them anyway as all other SQL dialects do,\n // which simplifies writing tests that are shared between all dialects.\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: ['``'],\n extraParens: ['[]', '{}'],\n paramTypes: {\n positional: true,\n numbered: ['$'],\n named: ['$']\n },\n lineCommentTypes: ['#', '--'],\n operators: ['%', '==', ':', '||']\n });\n }\n }]);\n\n return N1qlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = N1qlFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=n1ql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/functions.html\n all: ['ABORT', 'ABS', 'ACOS', 'ADVISOR', 'ARRAY_AGG', 'ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_AVG', 'ARRAY_BINARY_SEARCH', 'ARRAY_CONCAT', 'ARRAY_CONTAINS', 'ARRAY_COUNT', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_FLATTEN', 'ARRAY_IFNULL', 'ARRAY_INSERT', 'ARRAY_INTERSECT', 'ARRAY_LENGTH', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_MOVE', 'ARRAY_POSITION', 'ARRAY_PREPEND', 'ARRAY_PUT', 'ARRAY_RANGE', 'ARRAY_REMOVE', 'ARRAY_REPEAT', 'ARRAY_REPLACE', 'ARRAY_REVERSE', 'ARRAY_SORT', 'ARRAY_STAR', 'ARRAY_SUM', 'ARRAY_SYMDIFF', 'ARRAY_SYMDIFF1', 'ARRAY_SYMDIFFN', 'ARRAY_UNION', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BASE64', 'BASE64_DECODE', 'BASE64_ENCODE', 'BITAND ', 'BITCLEAR ', 'BITNOT ', 'BITOR ', 'BITSET ', 'BITSHIFT ', 'BITTEST ', 'BITXOR ', 'CEIL', 'CLOCK_LOCAL', 'CLOCK_MILLIS', 'CLOCK_STR', 'CLOCK_TZ', 'CLOCK_UTC', 'COALESCE', 'CONCAT', 'CONCAT2', 'CONTAINS', 'CONTAINS_TOKEN', 'CONTAINS_TOKEN_LIKE', 'CONTAINS_TOKEN_REGEXP', 'COS', 'COUNT', 'COUNT', 'COUNTN', 'CUME_DIST', 'CURL', 'DATE_ADD_MILLIS', 'DATE_ADD_STR', 'DATE_DIFF_MILLIS', 'DATE_DIFF_STR', 'DATE_FORMAT_STR', 'DATE_PART_MILLIS', 'DATE_PART_STR', 'DATE_RANGE_MILLIS', 'DATE_RANGE_STR', 'DATE_TRUNC_MILLIS', 'DATE_TRUNC_STR', 'DECODE', 'DECODE_JSON', 'DEGREES', 'DENSE_RANK', 'DURATION_TO_STR', // 'E',\n 'ENCODED_SIZE', 'ENCODE_JSON', 'EXP', 'FIRST_VALUE', 'FLOOR', 'GREATEST', 'HAS_TOKEN', 'IFINF', 'IFMISSING', 'IFMISSINGORNULL', 'IFNAN', 'IFNANORINF', 'IFNULL', 'INITCAP', 'ISARRAY', 'ISATOM', 'ISBITSET', 'ISBOOLEAN', 'ISNUMBER', 'ISOBJECT', 'ISSTRING', 'LAG', 'LAST_VALUE', 'LEAD', 'LEAST', 'LENGTH', 'LN', 'LOG', 'LOWER', 'LTRIM', 'MAX', 'MEAN', 'MEDIAN', 'META', 'MILLIS', 'MILLIS_TO_LOCAL', 'MILLIS_TO_STR', 'MILLIS_TO_TZ', 'MILLIS_TO_UTC', 'MILLIS_TO_ZONE_NAME', 'MIN', 'MISSINGIF', 'NANIF', 'NEGINFIF', 'NOW_LOCAL', 'NOW_MILLIS', 'NOW_STR', 'NOW_TZ', 'NOW_UTC', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NVL', 'NVL2', 'OBJECT_ADD', 'OBJECT_CONCAT', 'OBJECT_INNER_PAIRS', 'OBJECT_INNER_VALUES', 'OBJECT_LENGTH', 'OBJECT_NAMES', 'OBJECT_PAIRS', 'OBJECT_PUT', 'OBJECT_REMOVE', 'OBJECT_RENAME', 'OBJECT_REPLACE', 'OBJECT_UNWRAP', 'OBJECT_VALUES', 'PAIRS', 'PERCENT_RANK', 'PI', 'POLY_LENGTH', 'POSINFIF', 'POSITION', 'POWER', 'RADIANS', 'RANDOM', 'RANK', 'RATIO_TO_REPORT', 'REGEXP_CONTAINS', 'REGEXP_LIKE', 'REGEXP_MATCHES', 'REGEXP_POSITION', 'REGEXP_REPLACE', 'REGEXP_SPLIT', 'REGEX_CONTAINS', 'REGEX_LIKE', 'REGEX_MATCHES', 'REGEX_POSITION', 'REGEX_REPLACE', 'REGEX_SPLIT', 'REPEAT', 'REPLACE', 'REVERSE', 'ROUND', 'ROW_NUMBER', 'RTRIM', 'SEARCH', 'SEARCH_META', 'SEARCH_SCORE', 'SIGN', 'SIN', 'SPLIT', 'SQRT', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DURATION', 'STR_TO_MILLIS', 'STR_TO_TZ', 'STR_TO_UTC', 'STR_TO_ZONE_NAME', 'SUBSTR', 'SUFFIXES', 'SUM', 'TAN', 'TITLE', 'TOARRAY', 'TOATOM', 'TOBOOLEAN', 'TOKENS', 'TOKENS', 'TONUMBER', 'TOOBJECT', 'TOSTRING', 'TRIM', 'TRUNC', // 'TYPE', // disabled\n 'UPPER', 'UUID', 'VARIANCE', 'VARIANCE_POP', 'VARIANCE_SAMP', 'VAR_POP', 'VAR_SAMP', 'WEEKDAY_MILLIS', 'WEEKDAY_STR', // type casting\n // not implemented in N1QL, but added here now for the sake of tests\n // https://docs.couchbase.com/server/current/analytics/3_query.html#Vs_SQL-92\n 'CAST']\n});\nexports.functions = functions;\n//# sourceMappingURL=n1ql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n all: ['ADVISE', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'AT', 'BEGIN', 'BETWEEN', 'BINARY', 'BOOLEAN', 'BREAK', 'BUCKET', 'BUILD', 'BY', 'CALL', 'CASE', 'CAST', 'CLUSTER', 'COLLATE', 'COLLECTION', 'COMMIT', 'COMMITTED', 'CONNECT', 'CONTINUE', 'CORRELATED', 'COVER', 'CREATE', 'CURRENT', 'DATABASE', 'DATASET', 'DATASTORE', 'DECLARE', 'DECREMENT', 'DELETE', 'DERIVED', 'DESC', 'DESCRIBE', 'DISTINCT', 'DO', 'DROP', 'EACH', 'ELEMENT', 'ELSE', 'END', 'EVERY', 'EXCEPT', 'EXCLUDE', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'FALSE', 'FETCH', 'FILTER', 'FIRST', 'FLATTEN', 'FLUSH', 'FOLLOWING', 'FOR', 'FORCE', 'FROM', 'FTS', 'FUNCTION', 'GOLANG', 'GRANT', 'GROUP', 'GROUPS', 'GSI', 'HASH', 'HAVING', 'IF', 'ISOLATION', 'IGNORE', 'ILIKE', 'IN', 'INCLUDE', 'INCREMENT', 'INDEX', 'INFER', 'INLINE', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'JAVASCRIPT', 'JOIN', 'KEY', 'KEYS', 'KEYSPACE', 'KNOWN', 'LANGUAGE', 'LAST', 'LEFT', 'LET', 'LETTING', 'LEVEL', 'LIKE', 'LIMIT', 'LSM', 'MAP', 'MAPPING', 'MATCHED', 'MATERIALIZED', 'MERGE', 'MINUS', 'MISSING', 'NAMESPACE', 'NEST', 'NL', 'NO', 'NOT', 'NTH_VALUE', 'NULL', 'NULLS', 'NUMBER', 'OBJECT', 'OFFSET', 'ON', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OTHERS', 'OUTER', 'OVER', 'PARSE', 'PARTITION', 'PASSWORD', 'PATH', 'POOL', 'PRECEDING', 'PREPARE', 'PRIMARY', 'PRIVATE', 'PRIVILEGE', 'PROBE', 'PROCEDURE', 'PUBLIC', 'RANGE', 'RAW', 'REALM', 'REDUCE', 'RENAME', 'RESPECT', 'RETURN', 'RETURNING', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROW', 'ROWS', 'SATISFIES', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SELECT', 'SELF', 'SEMI', 'SET', 'SHOW', 'SOME', 'START', 'STATISTICS', 'STRING', 'SYSTEM', 'THEN', 'TIES', 'TO', 'TRAN', 'TRANSACTION', 'TRIGGER', 'TRUE', 'TRUNCATE', 'UNBOUNDED', 'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UNSET', 'UPDATE', 'UPSERT', 'USE', 'USER', 'USING', 'VALIDATE', 'VALUE', 'VALUED', 'VALUES', 'VIA', 'VIEW', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WITHIN', 'WORK', 'XOR']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=n1ql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _plsql = require(\"./plsql.keywords\");\n\nvar _plsql2 = require(\"./plsql.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT | UNIQUE]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER [SIBLINGS] BY', 'OFFSET', 'FETCH {FIRST | NEXT}', 'FOR UPDATE', // Data manipulation\n// - insert:\n'INSERT [INTO | ALL INTO]', 'VALUES', // - update:\n'UPDATE [ONLY]', 'SET', // - delete:\n'DELETE FROM [ONLY]', // - truncate:\n'TRUNCATE TABLE', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', // Data definition\n'CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW', 'CREATE MATERIALIZED VIEW', 'CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE', 'DROP TABLE', // - alter table:\n'ALTER TABLE', 'ADD', 'DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}', 'MODIFY', 'RENAME TO', 'RENAME COLUMN', // other\n'BEGIN', 'CONNECT BY', 'DECLARE', 'EXCEPT', 'EXCEPTION', 'LOOP', 'RETURNING', 'START WITH', 'SET SCHEMA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT', 'INTERSECT']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN', // non-standard joins\n'{CROSS | OUTER} APPLY']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', 'ON COMMIT', '{ROWS | RANGE} BETWEEN']);\n\nvar PlSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(PlSqlFormatter, _Formatter);\n\n var _super = _createSuper(PlSqlFormatter);\n\n function PlSqlFormatter() {\n _classCallCheck(this, PlSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PlSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n supportsXor: true,\n reservedKeywords: _plsql.keywords,\n reservedFunctionNames: _plsql2.functions,\n stringTypes: [{\n quote: \"''-qq\",\n prefixes: ['N']\n }, {\n quote: \"q''\",\n prefixes: ['N']\n }],\n // PL/SQL doesn't actually support escaping of quotes in identifiers,\n // but for the sake of simpler testing we'll support this anyway\n // as all other SQL dialects with \"identifiers\" do.\n identTypes: [\"\\\"\\\"-qq\"],\n identChars: {\n rest: '$#'\n },\n variableTypes: [{\n regex: '&{1,2}[A-Za-z][A-Za-z0-9_$#]*'\n }],\n paramTypes: {\n numbered: [':'],\n named: [':']\n },\n paramChars: {},\n // Empty object used on purpose to not allow $ and # chars as specified in identChars\n operators: ['**', ':=', '%', '~=', '^=', // '..', // Conflicts with float followed by dot (so \"2..3\" gets parsed as [\"2.\", \".\", \"3\"])\n '>>', '<<', '=>', '@', '||'],\n postProcess: postProcess\n });\n }\n }]);\n\n return PlSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = PlSqlFormatter;\n\nfunction postProcess(tokens) {\n var previousReservedToken = _token.EOF_TOKEN;\n return tokens.map(function (token) {\n // BY [SET]\n if (_token.isToken.SET(token) && _token.isToken.BY(previousReservedToken)) {\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_KEYWORD\n });\n }\n\n if ((0, _token.isReserved)(token.type)) {\n previousReservedToken = token;\n }\n\n return token;\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=plsql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm\n numeric: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'BITAND', 'CEIL', 'COS', 'COSH', 'EXP', 'FLOOR', 'LN', 'LOG', 'MOD', 'NANVL', 'POWER', 'REMAINDER', 'ROUND', 'SIGN', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH', 'TRUNC', 'WIDTH_BUCKET'],\n character: ['CHR', 'CONCAT', 'INITCAP', 'LOWER', 'LPAD', 'LTRIM', 'NLS_INITCAP', 'NLS_LOWER', 'NLSSORT', 'NLS_UPPER', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPLACE', 'RPAD', 'RTRIM', 'SOUNDEX', 'SUBSTR', 'TRANSLATE', 'TREAT', 'TRIM', 'UPPER', 'NLS_CHARSET_DECL_LEN', 'NLS_CHARSET_ID', 'NLS_CHARSET_NAME', 'ASCII', 'INSTR', 'LENGTH', 'REGEXP_INSTR'],\n datetime: ['ADD_MONTHS', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'DBTIMEZONE', 'EXTRACT', 'FROM_TZ', 'LAST_DAY', 'LOCALTIMESTAMP', 'MONTHS_BETWEEN', 'NEW_TIME', 'NEXT_DAY', 'NUMTODSINTERVAL', 'NUMTOYMINTERVAL', 'ROUND', 'SESSIONTIMEZONE', 'SYS_EXTRACT_UTC', 'SYSDATE', 'SYSTIMESTAMP', 'TO_CHAR', 'TO_TIMESTAMP', 'TO_TIMESTAMP_TZ', 'TO_DSINTERVAL', 'TO_YMINTERVAL', 'TRUNC', 'TZ_OFFSET'],\n comparison: ['GREATEST', 'LEAST'],\n conversion: ['ASCIISTR', 'BIN_TO_NUM', 'CAST', 'CHARTOROWID', 'COMPOSE', 'CONVERT', 'DECOMPOSE', 'HEXTORAW', 'NUMTODSINTERVAL', 'NUMTOYMINTERVAL', 'RAWTOHEX', 'RAWTONHEX', 'ROWIDTOCHAR', 'ROWIDTONCHAR', 'SCN_TO_TIMESTAMP', 'TIMESTAMP_TO_SCN', 'TO_BINARY_DOUBLE', 'TO_BINARY_FLOAT', 'TO_CHAR', 'TO_CLOB', 'TO_DATE', 'TO_DSINTERVAL', 'TO_LOB', 'TO_MULTI_BYTE', 'TO_NCHAR', 'TO_NCLOB', 'TO_NUMBER', 'TO_DSINTERVAL', 'TO_SINGLE_BYTE', 'TO_TIMESTAMP', 'TO_TIMESTAMP_TZ', 'TO_YMINTERVAL', 'TO_YMINTERVAL', 'TRANSLATE', 'UNISTR'],\n largeObject: ['BFILENAME', 'EMPTY_BLOB,', 'EMPTY_CLOB'],\n collection: ['CARDINALITY', 'COLLECT', 'POWERMULTISET', 'POWERMULTISET_BY_CARDINALITY', 'SET'],\n hierarchical: ['SYS_CONNECT_BY_PATH'],\n dataMining: ['CLUSTER_ID', 'CLUSTER_PROBABILITY', 'CLUSTER_SET', 'FEATURE_ID', 'FEATURE_SET', 'FEATURE_VALUE', 'PREDICTION', 'PREDICTION_COST', 'PREDICTION_DETAILS', 'PREDICTION_PROBABILITY', 'PREDICTION_SET'],\n xml: ['APPENDCHILDXML', 'DELETEXML', 'DEPTH', 'EXTRACT', 'EXISTSNODE', 'EXTRACTVALUE', 'INSERTCHILDXML', 'INSERTXMLBEFORE', 'PATH', 'SYS_DBURIGEN', 'SYS_XMLAGG', 'SYS_XMLGEN', 'UPDATEXML', 'XMLAGG', 'XMLCDATA', 'XMLCOLATTVAL', 'XMLCOMMENT', 'XMLCONCAT', 'XMLFOREST', 'XMLPARSE', 'XMLPI', 'XMLQUERY', 'XMLROOT', 'XMLSEQUENCE', 'XMLSERIALIZE', 'XMLTABLE', 'XMLTRANSFORM'],\n encoding: ['DECODE', 'DUMP', 'ORA_HASH', 'VSIZE'],\n nullRelated: ['COALESCE', 'LNNVL', 'NULLIF', 'NVL', 'NVL2'],\n env: ['SYS_CONTEXT', 'SYS_GUID', 'SYS_TYPEID', 'UID', 'USER', 'USERENV'],\n aggregate: ['AVG', 'COLLECT', 'CORR', 'CORR_S', 'CORR_K', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'DENSE_RANK', 'FIRST', 'GROUP_ID', 'GROUPING', 'GROUPING_ID', 'LAST', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'RANK', 'REGR_SLOPE', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_R2', 'REGR_AVGX', 'REGR_AVGY', 'REGR_SXX', 'REGR_SYY', 'REGR_SXY', 'STATS_BINOMIAL_TEST', 'STATS_CROSSTAB', 'STATS_F_TEST', 'STATS_KS_TEST', 'STATS_MODE', 'STATS_MW_TEST', 'STATS_ONE_WAY_ANOVA', 'STATS_T_TEST_ONE', 'STATS_T_TEST_PAIRED', 'STATS_T_TEST_INDEP', 'STATS_T_TEST_INDEPU', 'STATS_WSR_TEST', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n // Windowing functions (minus the ones already listed in aggregates)\n window: ['FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTILE', 'RATIO_TO_REPORT', 'ROW_NUMBER'],\n objectReference: ['DEREF', 'MAKE_REF', 'REF', 'REFTOHEX', 'VALUE'],\n model: ['CV', 'ITERATION_NUMBER', 'PRESENTNNV', 'PRESENTV', 'PREVIOUS'],\n // Parameterized data types\n // https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Types.html\n dataTypes: [// Oracle builtin data types\n 'VARCHAR2', 'NVARCHAR2', 'NUMBER', 'FLOAT', 'TIMESTAMP', 'INTERVAL YEAR', 'INTERVAL DAY', 'RAW', 'UROWID', 'NCHAR', // ANSI Data Types\n 'CHARACTER', 'CHAR', 'CHARACTER VARYING', 'CHAR VARYING', 'NATIONAL CHARACTER', 'NATIONAL CHAR', 'NATIONAL CHARACTER VARYING', 'NATIONAL CHAR VARYING', 'NCHAR VARYING', 'NUMERIC', 'DECIMAL', 'FLOAT', // SQL/DS and DB2 Data Types\n 'VARCHAR']\n});\nexports.functions = functions;\n//# sourceMappingURL=plsql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/reservewords.htm\n all: [// 'A',\n 'ADD', 'AGENT', 'AGGREGATE', 'ALL', 'ALTER', 'AND', 'ANY', 'ARRAY', 'ARROW', 'AS', 'ASC', 'AT', 'ATTRIBUTE', 'AUTHID', 'AVG', 'BEGIN', 'BETWEEN', 'BFILE_BASE', 'BINARY', 'BLOB_BASE', 'BLOCK', 'BODY', 'BOTH', 'BOUND', 'BULK', 'BY', 'BYTE', // 'C',\n 'CALL', 'CALLING', 'CASCADE', 'CASE', 'CHAR', 'CHAR_BASE', 'CHARACTER', 'CHARSET', 'CHARSETFORM', 'CHARSETID', 'CHECK', 'CLOB_BASE', 'CLOSE', 'CLUSTER', 'CLUSTERS', 'COLAUTH', 'COLLECT', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPILED', 'COMPRESS', 'CONNECT', 'CONSTANT', 'CONSTRUCTOR', 'CONTEXT', 'CONVERT', 'COUNT', 'CRASH', 'CREATE', 'CURRENT', 'CURSOR', 'CUSTOMDATUM', 'DANGLING', 'DATA', 'DATE', 'DATE_BASE', 'DAY', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFINE', 'DELETE', 'DESC', 'DETERMINISTIC', 'DISTINCT', 'DOUBLE', 'DROP', 'DURATION', 'ELEMENT', 'ELSE', 'ELSIF', 'EMPTY', 'END', 'ESCAPE', 'EXCEPT', 'EXCEPTION', 'EXCEPTIONS', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXIT', 'EXTERNAL', 'FETCH', 'FINAL', 'FIXED', 'FLOAT', 'FOR', 'FORALL', 'FORCE', 'FORM', 'FROM', 'FUNCTION', 'GENERAL', 'GOTO', 'GRANT', 'GROUP', 'HASH', 'HAVING', 'HEAP', 'HIDDEN', 'HOUR', 'IDENTIFIED', 'IF', 'IMMEDIATE', 'IN', 'INCLUDING', 'INDEX', 'INDEXES', 'INDICATOR', 'INDICES', 'INFINITE', 'INSERT', 'INSTANTIABLE', 'INT', 'INTERFACE', 'INTERSECT', 'INTERVAL', 'INTO', 'INVALIDATE', 'IS', 'ISOLATION', 'JAVA', 'LANGUAGE', 'LARGE', 'LEADING', 'LENGTH', 'LEVEL', 'LIBRARY', 'LIKE', 'LIKE2', 'LIKE4', 'LIKEC', 'LIMIT', 'LIMITED', 'LOCAL', 'LOCK', 'LONG', 'LOOP', 'MAP', 'MAX', 'MAXLEN', 'MEMBER', 'MERGE', 'MIN', 'MINUS', 'MINUTE', 'MOD', 'MODE', 'MODIFY', 'MONTH', 'MULTISET', 'NAME', 'NAN', 'NATIONAL', 'NATIVE', 'NCHAR', 'NEW', 'NOCOMPRESS', 'NOCOPY', 'NOT', 'NOWAIT', 'NULL', 'NUMBER_BASE', 'OBJECT', 'OCICOLL', 'OCIDATE', 'OCIDATETIME', 'OCIDURATION', 'OCIINTERVAL', 'OCILOBLOCATOR', 'OCINUMBER', 'OCIRAW', 'OCIREF', 'OCIREFCURSOR', 'OCIROWID', 'OCISTRING', 'OCITYPE', 'OF', 'ON', 'ONLY', 'OPAQUE', 'OPEN', 'OPERATOR', 'OPTION', 'OR', 'ORACLE', 'ORADATA', 'ORDER', 'OVERLAPS', 'ORGANIZATION', 'ORLANY', 'ORLVARY', 'OTHERS', 'OUT', 'OVERRIDING', 'PACKAGE', 'PARALLEL_ENABLE', 'PARAMETER', 'PARAMETERS', 'PARTITION', 'PASCAL', 'PIPE', 'PIPELINED', 'PRAGMA', 'PRECISION', 'PRIOR', 'PRIVATE', 'PROCEDURE', 'PUBLIC', 'RAISE', 'RANGE', 'RAW', 'READ', 'RECORD', 'REF', 'REFERENCE', 'REM', 'REMAINDER', 'RENAME', 'RESOURCE', 'RESULT', 'RETURN', 'RETURNING', 'REVERSE', 'REVOKE', 'ROLLBACK', 'ROW', 'SAMPLE', 'SAVE', 'SAVEPOINT', 'SB1', 'SB2', 'SB4', 'SECOND', 'SEGMENT', 'SELECT', 'SELF', 'SEPARATE', 'SEQUENCE', 'SERIALIZABLE', 'SET', 'SHARE', 'SHORT', 'SIZE', 'SIZE_T', 'SOME', 'SPARSE', 'SQL', 'SQLCODE', 'SQLDATA', 'SQLNAME', 'SQLSTATE', 'STANDARD', 'START', 'STATIC', 'STDDEV', 'STORED', 'STRING', 'STRUCT', 'STYLE', 'SUBMULTISET', 'SUBPARTITION', 'SUBSTITUTABLE', 'SUBTYPE', 'SUM', 'SYNONYM', 'TABAUTH', 'TABLE', 'TDO', 'THE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_ABBR', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TIMEZONE_REGION', 'TO', 'TRAILING', 'TRANSAC', 'TRANSACTIONAL', 'TRUSTED', 'TYPE', 'UB1', 'UB2', 'UB4', 'UNDER', 'UNION', 'UNIQUE', 'UNSIGNED', 'UNTRUSTED', 'UPDATE', 'USE', 'USING', 'VALIST', 'VALUE', 'VALUES', 'VARIABLE', 'VARIANCE', 'VARRAY', 'VARYING', 'VIEW', 'VIEWS', 'VOID', 'WHEN', 'WHERE', 'WHILE', 'WITH', 'WORK', 'WRAPPED', 'WRITE', 'YEAR', 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=plsql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _postgresql = require(\"./postgresql.functions\");\n\nvar _postgresql2 = require(\"./postgresql.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE [ONLY]', 'SET', 'WHERE CURRENT OF', // - delete:\n'DELETE FROM [ONLY]', // - truncate:\n'TRUNCATE [TABLE] [ONLY]', // Data definition\n'CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW', 'CREATE MATERIALIZED VIEW [IF NOT EXISTS]', 'CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS] [ONLY]', 'ALTER TABLE ALL IN TABLESPACE', 'RENAME [COLUMN]', 'RENAME TO', 'ADD [COLUMN] [IF NOT EXISTS]', 'DROP [COLUMN] [IF EXISTS]', 'ALTER [COLUMN]', '[SET DATA] TYPE', // for alter column\n'{SET | DROP} DEFAULT', // for alter column\n'{SET | DROP} NOT NULL', // for alter column\n// https://www.postgresql.org/docs/14/sql-commands.html\n'ABORT', 'ALTER AGGREGATE', 'ALTER COLLATION', 'ALTER CONVERSION', 'ALTER DATABASE', 'ALTER DEFAULT PRIVILEGES', 'ALTER DOMAIN', 'ALTER EVENT TRIGGER', 'ALTER EXTENSION', 'ALTER FOREIGN DATA WRAPPER', 'ALTER FOREIGN TABLE', 'ALTER FUNCTION', 'ALTER GROUP', 'ALTER INDEX', 'ALTER LANGUAGE', 'ALTER LARGE OBJECT', 'ALTER MATERIALIZED VIEW', 'ALTER OPERATOR', 'ALTER OPERATOR CLASS', 'ALTER OPERATOR FAMILY', 'ALTER POLICY', 'ALTER PROCEDURE', 'ALTER PUBLICATION', 'ALTER ROLE', 'ALTER ROUTINE', 'ALTER RULE', 'ALTER SCHEMA', 'ALTER SEQUENCE', 'ALTER SERVER', 'ALTER STATISTICS', 'ALTER SUBSCRIPTION', 'ALTER SYSTEM', 'ALTER TABLESPACE', 'ALTER TEXT SEARCH CONFIGURATION', 'ALTER TEXT SEARCH DICTIONARY', 'ALTER TEXT SEARCH PARSER', 'ALTER TEXT SEARCH TEMPLATE', 'ALTER TRIGGER', 'ALTER TYPE', 'ALTER USER', 'ALTER USER MAPPING', 'ALTER VIEW', 'ANALYZE', 'BEGIN', 'CALL', 'CHECKPOINT', 'CLOSE', 'CLUSTER', 'COMMENT', 'COMMIT', 'COMMIT PREPARED', 'COPY', 'CREATE ACCESS METHOD', 'CREATE AGGREGATE', 'CREATE CAST', 'CREATE COLLATION', 'CREATE CONVERSION', 'CREATE DATABASE', 'CREATE DOMAIN', 'CREATE EVENT TRIGGER', 'CREATE EXTENSION', 'CREATE FOREIGN DATA WRAPPER', 'CREATE FOREIGN TABLE', 'CREATE FUNCTION', 'CREATE GROUP', 'CREATE INDEX', 'CREATE LANGUAGE', 'CREATE OPERATOR', 'CREATE OPERATOR CLASS', 'CREATE OPERATOR FAMILY', 'CREATE POLICY', 'CREATE PROCEDURE', 'CREATE PUBLICATION', 'CREATE ROLE', 'CREATE RULE', 'CREATE SCHEMA', 'CREATE SEQUENCE', 'CREATE SERVER', 'CREATE STATISTICS', 'CREATE SUBSCRIPTION', 'CREATE TABLESPACE', 'CREATE TEXT SEARCH CONFIGURATION', 'CREATE TEXT SEARCH DICTIONARY', 'CREATE TEXT SEARCH PARSER', 'CREATE TEXT SEARCH TEMPLATE', 'CREATE TRANSFORM', 'CREATE TRIGGER', 'CREATE TYPE', 'CREATE USER', 'CREATE USER MAPPING', 'DEALLOCATE', 'DECLARE', 'DISCARD', 'DO', 'DROP ACCESS METHOD', 'DROP AGGREGATE', 'DROP CAST', 'DROP COLLATION', 'DROP CONVERSION', 'DROP DATABASE', 'DROP DOMAIN', 'DROP EVENT TRIGGER', 'DROP EXTENSION', 'DROP FOREIGN DATA WRAPPER', 'DROP FOREIGN TABLE', 'DROP FUNCTION', 'DROP GROUP', 'DROP INDEX', 'DROP LANGUAGE', 'DROP MATERIALIZED VIEW', 'DROP OPERATOR', 'DROP OPERATOR CLASS', 'DROP OPERATOR FAMILY', 'DROP OWNED', 'DROP POLICY', 'DROP PROCEDURE', 'DROP PUBLICATION', 'DROP ROLE', 'DROP ROUTINE', 'DROP RULE', 'DROP SCHEMA', 'DROP SEQUENCE', 'DROP SERVER', 'DROP STATISTICS', 'DROP SUBSCRIPTION', 'DROP TABLESPACE', 'DROP TEXT SEARCH CONFIGURATION', 'DROP TEXT SEARCH DICTIONARY', 'DROP TEXT SEARCH PARSER', 'DROP TEXT SEARCH TEMPLATE', 'DROP TRANSFORM', 'DROP TRIGGER', 'DROP TYPE', 'DROP USER', 'DROP USER MAPPING', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FETCH', 'GRANT', 'IMPORT FOREIGN SCHEMA', 'LISTEN', 'LOAD', 'LOCK', 'MOVE', 'NOTIFY', 'PREPARE', 'PREPARE TRANSACTION', 'REASSIGN OWNED', 'REFRESH MATERIALIZED VIEW', 'REINDEX', 'RELEASE SAVEPOINT', 'RESET', 'RETURNING', 'REVOKE', 'ROLLBACK', 'ROLLBACK PREPARED', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SECURITY LABEL', 'SELECT INTO', 'SET CONSTRAINTS', 'SET ROLE', 'SET SESSION AUTHORIZATION', 'SET TRANSACTION', 'SHOW', 'START TRANSACTION', 'UNLISTEN', 'VACUUM', // other\n'AFTER', 'SET SCHEMA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', '{ROWS | RANGE | GROUPS} BETWEEN', // https://www.postgresql.org/docs/current/datatype-datetime.html\n'{TIMESTAMP | TIME} {WITH | WITHOUT} TIME ZONE']); // https://www.postgresql.org/docs/14/index.html\n\nvar PostgreSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(PostgreSqlFormatter, _Formatter);\n\n var _super = _createSuper(PostgreSqlFormatter);\n\n function PostgreSqlFormatter() {\n _classCallCheck(this, PostgreSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PostgreSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _postgresql2.keywords,\n reservedFunctionNames: _postgresql.functions,\n nestedBlockComments: true,\n extraParens: ['[]'],\n stringTypes: ['$$', {\n quote: \"''-qq\",\n prefixes: ['U&']\n }, {\n quote: \"''-bs\",\n prefixes: ['E'],\n requirePrefix: true\n }, {\n quote: \"''-raw\",\n prefixes: ['B', 'X'],\n requirePrefix: true\n }],\n identTypes: [{\n quote: '\"\"-qq',\n prefixes: ['U&']\n }],\n identChars: {\n rest: '$'\n },\n paramTypes: {\n numbered: ['$']\n },\n operators: [// Arithmetic\n '%', '^', '|/', '||/', '@', // Assignment\n ':=', // Bitwise\n '&', '|', '#', '~', '<<', '>>', // Byte comparison\n '~>~', '~<~', '~>=~', '~<=~', // Geometric\n '@-@', '@@', '##', '<->', '&&', '&<', '&>', '<<|', '&<|', '|>>', '|&>', '<^', '^>', '?#', '?-', '?|', '?-|', '?||', '@>', '<@', '~=', // JSON\n '?', '@?', '?&', '->', '->>', '#>', '#>>', '#-', // Named function params\n '=>', // Network address\n '>>=', '<<=', // Pattern matching\n '~~', '~~*', '!~~', '!~~*', // POSIX RegExp\n '~', '~*', '!~', '!~*', // Range/multirange\n '-|-', // String concatenation\n '||', // Text search\n '@@@', '!!', // Trigram/trigraph\n '<%', '%>', '<<%', '%>>', '<<->', '<->>', '<<<->', '<->>>', // Type cast\n '::']\n });\n }\n }]);\n\n return PostgreSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = PostgreSqlFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=postgresql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://www.postgresql.org/docs/14/functions.html\n //\n // https://www.postgresql.org/docs/14/functions-math.html\n math: ['ABS', 'ACOS', 'ACOSD', 'ACOSH', 'ASIN', 'ASIND', 'ASINH', 'ATAN', 'ATAN2', 'ATAN2D', 'ATAND', 'ATANH', 'CBRT', 'CEIL', 'CEILING', 'COS', 'COSD', 'COSH', 'COT', 'COTD', 'DEGREES', 'DIV', 'EXP', 'FACTORIAL', 'FLOOR', 'GCD', 'LCM', 'LN', 'LOG', 'LOG10', 'MIN_SCALE', 'MOD', 'PI', 'POWER', 'RADIANS', 'RANDOM', 'ROUND', 'SCALE', 'SETSEED', 'SIGN', 'SIN', 'SIND', 'SINH', 'SQRT', 'TAN', 'TAND', 'TANH', 'TRIM_SCALE', 'TRUNC', 'WIDTH_BUCKET'],\n // https://www.postgresql.org/docs/14/functions-string.html\n string: ['ABS', 'ASCII', 'BIT_LENGTH', 'BTRIM', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'FORMAT', 'INITCAP', 'LEFT', 'LENGTH', 'LOWER', 'LPAD', 'LTRIM', 'MD5', 'NORMALIZE', 'OCTET_LENGTH', 'OVERLAY', 'PARSE_IDENT', 'PG_CLIENT_ENCODING', 'POSITION', 'QUOTE_IDENT', 'QUOTE_LITERAL', 'QUOTE_NULLABLE', 'REGEXP_MATCH', 'REGEXP_MATCHES', 'REGEXP_REPLACE', 'REGEXP_SPLIT_TO_ARRAY', 'REGEXP_SPLIT_TO_TABLE', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SPLIT_PART', 'SPRINTF', 'STARTS_WITH', 'STRING_AGG', 'STRING_TO_ARRAY', 'STRING_TO_TABLE', 'STRPOS', 'SUBSTR', 'SUBSTRING', 'TO_ASCII', 'TO_HEX', 'TRANSLATE', 'TRIM', 'UNISTR', 'UPPER'],\n // https://www.postgresql.org/docs/14/functions-binarystring.html\n binary: ['BIT_COUNT', 'BIT_LENGTH', 'BTRIM', 'CONVERT', 'CONVERT_FROM', 'CONVERT_TO', 'DECODE', 'ENCODE', 'GET_BIT', 'GET_BYTE', 'LENGTH', 'LTRIM', 'MD5', 'OCTET_LENGTH', 'OVERLAY', 'POSITION', 'RTRIM', 'SET_BIT', 'SET_BYTE', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'STRING_AGG', 'SUBSTR', 'SUBSTRING', 'TRIM'],\n // https://www.postgresql.org/docs/14/functions-bitstring.html\n bitstring: ['BIT_COUNT', 'BIT_LENGTH', 'GET_BIT', 'LENGTH', 'OCTET_LENGTH', 'OVERLAY', 'POSITION', 'SET_BIT', 'SUBSTRING'],\n // https://www.postgresql.org/docs/14/functions-matching.html\n pattern: ['REGEXP_MATCH', 'REGEXP_MATCHES', 'REGEXP_REPLACE', 'REGEXP_SPLIT_TO_ARRAY', 'REGEXP_SPLIT_TO_TABLE'],\n // https://www.postgresql.org/docs/14/functions-formatting.html\n datatype: ['TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP'],\n // https://www.postgresql.org/docs/14/functions-datetime.html\n datetime: [// 'AGE',\n 'CLOCK_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE_BIN', 'DATE_PART', 'DATE_TRUNC', 'EXTRACT', 'ISFINITE', 'JUSTIFY_DAYS', 'JUSTIFY_HOURS', 'JUSTIFY_INTERVAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'MAKE_DATE', 'MAKE_INTERVAL', 'MAKE_TIME', 'MAKE_TIMESTAMP', 'MAKE_TIMESTAMPTZ', 'NOW', 'PG_SLEEP', 'PG_SLEEP_FOR', 'PG_SLEEP_UNTIL', 'STATEMENT_TIMESTAMP', 'TIMEOFDAY', 'TO_TIMESTAMP', 'TRANSACTION_TIMESTAMP'],\n // https://www.postgresql.org/docs/14/functions-enum.html\n \"enum\": ['ENUM_FIRST', 'ENUM_LAST', 'ENUM_RANGE'],\n // https://www.postgresql.org/docs/14/functions-geometry.html\n geometry: ['AREA', 'BOUND_BOX', 'BOX', 'CENTER', 'CIRCLE', 'DIAGONAL', 'DIAMETER', 'HEIGHT', 'ISCLOSED', 'ISOPEN', 'LENGTH', 'LINE', 'LSEG', 'NPOINTS', 'PATH', 'PCLOSE', 'POINT', 'POLYGON', 'POPEN', 'RADIUS', 'SLOPE', 'WIDTH'],\n // https://www.postgresql.org/docs/14/functions-net.html\n network: ['ABBREV', 'BROADCAST', 'FAMILY', 'HOST', 'HOSTMASK', 'INET_MERGE', 'INET_SAME_FAMILY', 'MACADDR8_SET7BIT', 'MASKLEN', 'NETMASK', 'NETWORK', 'SET_MASKLEN', 'TEXT', 'TRUNC'],\n // https://www.postgresql.org/docs/14/functions-textsearch.html\n textsearch: ['ARRAY_TO_TSVECTOR', 'GET_CURRENT_TS_CONFIG', 'JSONB_TO_TSVECTOR', 'JSON_TO_TSVECTOR', 'LENGTH', 'NUMNODE', 'PHRASETO_TSQUERY', 'PLAINTO_TSQUERY', 'QUERYTREE', 'SETWEIGHT', 'STRIP', 'TO_TSQUERY', 'TO_TSVECTOR', 'TSQUERY_PHRASE', 'TSVECTOR_TO_ARRAY', 'TS_DEBUG', 'TS_DELETE', 'TS_FILTER', 'TS_HEADLINE', 'TS_LEXIZE', 'TS_PARSE', 'TS_RANK', 'TS_RANK_CD', 'TS_REWRITE', 'TS_STAT', 'TS_TOKEN_TYPE', 'WEBSEARCH_TO_TSQUERY'],\n // https://www.postgresql.org/docs/14/functions-uuid.html\n uuid: ['UUID'],\n // https://www.postgresql.org/docs/14/functions-xml.html\n xml: ['CURSOR_TO_XML', 'CURSOR_TO_XMLSCHEMA', 'DATABASE_TO_XML', 'DATABASE_TO_XMLSCHEMA', 'DATABASE_TO_XML_AND_XMLSCHEMA', 'NEXTVAL', 'QUERY_TO_XML', 'QUERY_TO_XMLSCHEMA', 'QUERY_TO_XML_AND_XMLSCHEMA', 'SCHEMA_TO_XML', 'SCHEMA_TO_XMLSCHEMA', 'SCHEMA_TO_XML_AND_XMLSCHEMA', 'STRING', 'TABLE_TO_XML', 'TABLE_TO_XMLSCHEMA', 'TABLE_TO_XML_AND_XMLSCHEMA', 'XMLAGG', 'XMLCOMMENT', 'XMLCONCAT', 'XMLELEMENT', 'XMLEXISTS', 'XMLFOREST', 'XMLPARSE', 'XMLPI', 'XMLROOT', 'XMLSERIALIZE', 'XMLTABLE', 'XML_IS_WELL_FORMED', 'XML_IS_WELL_FORMED_CONTENT', 'XML_IS_WELL_FORMED_DOCUMENT', 'XPATH', 'XPATH_EXISTS'],\n // https://www.postgresql.org/docs/14/functions-json.html\n json: ['ARRAY_TO_JSON', 'JSONB_AGG', 'JSONB_ARRAY_ELEMENTS', 'JSONB_ARRAY_ELEMENTS_TEXT', 'JSONB_ARRAY_LENGTH', 'JSONB_BUILD_ARRAY', 'JSONB_BUILD_OBJECT', 'JSONB_EACH', 'JSONB_EACH_TEXT', 'JSONB_EXTRACT_PATH', 'JSONB_EXTRACT_PATH_TEXT', 'JSONB_INSERT', 'JSONB_OBJECT', 'JSONB_OBJECT_AGG', 'JSONB_OBJECT_KEYS', 'JSONB_PATH_EXISTS', 'JSONB_PATH_EXISTS_TZ', 'JSONB_PATH_MATCH', 'JSONB_PATH_MATCH_TZ', 'JSONB_PATH_QUERY', 'JSONB_PATH_QUERY_ARRAY', 'JSONB_PATH_QUERY_ARRAY_TZ', 'JSONB_PATH_QUERY_FIRST', 'JSONB_PATH_QUERY_FIRST_TZ', 'JSONB_PATH_QUERY_TZ', 'JSONB_POPULATE_RECORD', 'JSONB_POPULATE_RECORDSET', 'JSONB_PRETTY', 'JSONB_SET', 'JSONB_SET_LAX', 'JSONB_STRIP_NULLS', 'JSONB_TO_RECORD', 'JSONB_TO_RECORDSET', 'JSONB_TYPEOF', 'JSON_AGG', 'JSON_ARRAY_ELEMENTS', 'JSON_ARRAY_ELEMENTS_TEXT', 'JSON_ARRAY_LENGTH', 'JSON_BUILD_ARRAY', 'JSON_BUILD_OBJECT', 'JSON_EACH', 'JSON_EACH_TEXT', 'JSON_EXTRACT_PATH', 'JSON_EXTRACT_PATH_TEXT', 'JSON_OBJECT', 'JSON_OBJECT_AGG', 'JSON_OBJECT_KEYS', 'JSON_POPULATE_RECORD', 'JSON_POPULATE_RECORDSET', 'JSON_STRIP_NULLS', 'JSON_TO_RECORD', 'JSON_TO_RECORDSET', 'JSON_TYPEOF', 'ROW_TO_JSON', 'TO_JSON', 'TO_JSONB', 'TO_TIMESTAMP'],\n // https://www.postgresql.org/docs/14/functions-sequence.html\n sequence: ['CURRVAL', 'LASTVAL', 'NEXTVAL', 'SETVAL'],\n // https://www.postgresql.org/docs/14/functions-conditional.html\n conditional: [// 'CASE',\n 'COALESCE', 'GREATEST', 'LEAST', 'NULLIF'],\n // https://www.postgresql.org/docs/14/functions-array.html\n array: ['ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_CAT', 'ARRAY_DIMS', 'ARRAY_FILL', 'ARRAY_LENGTH', 'ARRAY_LOWER', 'ARRAY_NDIMS', 'ARRAY_POSITION', 'ARRAY_POSITIONS', 'ARRAY_PREPEND', 'ARRAY_REMOVE', 'ARRAY_REPLACE', 'ARRAY_TO_STRING', 'ARRAY_UPPER', 'CARDINALITY', 'STRING_TO_ARRAY', 'TRIM_ARRAY', 'UNNEST'],\n // https://www.postgresql.org/docs/14/functions-range.html\n range: ['ISEMPTY', 'LOWER', 'LOWER_INC', 'LOWER_INF', 'MULTIRANGE', 'RANGE_MERGE', 'UPPER', 'UPPER_INC', 'UPPER_INF'],\n // https://www.postgresql.org/docs/14/functions-aggregate.html\n aggregate: [// 'ANY',\n 'ARRAY_AGG', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'BOOL_AND', 'BOOL_OR', 'COALESCE', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'DENSE_RANK', 'EVERY', 'GROUPING', 'JSONB_AGG', 'JSONB_OBJECT_AGG', 'JSON_AGG', 'JSON_OBJECT_AGG', 'MAX', 'MIN', 'MODE', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'RANGE_AGG', 'RANGE_INTERSECT_AGG', 'RANK', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', // 'SOME',\n 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRING_AGG', 'SUM', 'TO_JSON', 'TO_JSONB', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'XMLAGG'],\n // https://www.postgresql.org/docs/14/functions-window.html\n window: ['CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'RANK', 'ROW_NUMBER'],\n // https://www.postgresql.org/docs/14/functions-srf.html\n set: ['GENERATE_SERIES', 'GENERATE_SUBSCRIPTS'],\n // https://www.postgresql.org/docs/14/functions-info.html\n sysInfo: ['ACLDEFAULT', 'ACLEXPLODE', 'COL_DESCRIPTION', 'CURRENT_CATALOG', 'CURRENT_DATABASE', 'CURRENT_QUERY', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_USER', 'FORMAT_TYPE', 'HAS_ANY_COLUMN_PRIVILEGE', 'HAS_COLUMN_PRIVILEGE', 'HAS_DATABASE_PRIVILEGE', 'HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE', 'HAS_FUNCTION_PRIVILEGE', 'HAS_LANGUAGE_PRIVILEGE', 'HAS_SCHEMA_PRIVILEGE', 'HAS_SEQUENCE_PRIVILEGE', 'HAS_SERVER_PRIVILEGE', 'HAS_TABLESPACE_PRIVILEGE', 'HAS_TABLE_PRIVILEGE', 'HAS_TYPE_PRIVILEGE', 'INET_CLIENT_ADDR', 'INET_CLIENT_PORT', 'INET_SERVER_ADDR', 'INET_SERVER_PORT', 'MAKEACLITEM', 'OBJ_DESCRIPTION', 'PG_BACKEND_PID', 'PG_BLOCKING_PIDS', 'PG_COLLATION_IS_VISIBLE', 'PG_CONF_LOAD_TIME', 'PG_CONTROL_CHECKPOINT', 'PG_CONTROL_INIT', 'PG_CONTROL_SYSTEM', 'PG_CONVERSION_IS_VISIBLE', 'PG_CURRENT_LOGFILE', 'PG_CURRENT_SNAPSHOT', 'PG_CURRENT_XACT_ID', 'PG_CURRENT_XACT_ID_IF_ASSIGNED', 'PG_DESCRIBE_OBJECT', 'PG_FUNCTION_IS_VISIBLE', 'PG_GET_CATALOG_FOREIGN_KEYS', 'PG_GET_CONSTRAINTDEF', 'PG_GET_EXPR', 'PG_GET_FUNCTIONDEF', 'PG_GET_FUNCTION_ARGUMENTS', 'PG_GET_FUNCTION_IDENTITY_ARGUMENTS', 'PG_GET_FUNCTION_RESULT', 'PG_GET_INDEXDEF', 'PG_GET_KEYWORDS', 'PG_GET_OBJECT_ADDRESS', 'PG_GET_OWNED_SEQUENCE', 'PG_GET_RULEDEF', 'PG_GET_SERIAL_SEQUENCE', 'PG_GET_STATISTICSOBJDEF', 'PG_GET_TRIGGERDEF', 'PG_GET_USERBYID', 'PG_GET_VIEWDEF', 'PG_HAS_ROLE', 'PG_IDENTIFY_OBJECT', 'PG_IDENTIFY_OBJECT_AS_ADDRESS', 'PG_INDEXAM_HAS_PROPERTY', 'PG_INDEX_COLUMN_HAS_PROPERTY', 'PG_INDEX_HAS_PROPERTY', 'PG_IS_OTHER_TEMP_SCHEMA', 'PG_JIT_AVAILABLE', 'PG_LAST_COMMITTED_XACT', 'PG_LISTENING_CHANNELS', 'PG_MY_TEMP_SCHEMA', 'PG_NOTIFICATION_QUEUE_USAGE', 'PG_OPCLASS_IS_VISIBLE', 'PG_OPERATOR_IS_VISIBLE', 'PG_OPFAMILY_IS_VISIBLE', 'PG_OPTIONS_TO_TABLE', 'PG_POSTMASTER_START_TIME', 'PG_SAFE_SNAPSHOT_BLOCKING_PIDS', 'PG_SNAPSHOT_XIP', 'PG_SNAPSHOT_XMAX', 'PG_SNAPSHOT_XMIN', 'PG_STATISTICS_OBJ_IS_VISIBLE', 'PG_TABLESPACE_DATABASES', 'PG_TABLESPACE_LOCATION', 'PG_TABLE_IS_VISIBLE', 'PG_TRIGGER_DEPTH', 'PG_TS_CONFIG_IS_VISIBLE', 'PG_TS_DICT_IS_VISIBLE', 'PG_TS_PARSER_IS_VISIBLE', 'PG_TS_TEMPLATE_IS_VISIBLE', 'PG_TYPEOF', 'PG_TYPE_IS_VISIBLE', 'PG_VISIBLE_IN_SNAPSHOT', 'PG_XACT_COMMIT_TIMESTAMP', 'PG_XACT_COMMIT_TIMESTAMP_ORIGIN', 'PG_XACT_STATUS', 'PQSERVERVERSION', 'ROW_SECURITY_ACTIVE', 'SESSION_USER', 'SHOBJ_DESCRIPTION', 'TO_REGCLASS', 'TO_REGCOLLATION', 'TO_REGNAMESPACE', 'TO_REGOPER', 'TO_REGOPERATOR', 'TO_REGPROC', 'TO_REGPROCEDURE', 'TO_REGROLE', 'TO_REGTYPE', 'TXID_CURRENT', 'TXID_CURRENT_IF_ASSIGNED', 'TXID_CURRENT_SNAPSHOT', 'TXID_SNAPSHOT_XIP', 'TXID_SNAPSHOT_XMAX', 'TXID_SNAPSHOT_XMIN', 'TXID_STATUS', 'TXID_VISIBLE_IN_SNAPSHOT', 'USER', 'VERSION'],\n // https://www.postgresql.org/docs/14/functions-admin.html\n sysAdmin: ['BRIN_DESUMMARIZE_RANGE', 'BRIN_SUMMARIZE_NEW_VALUES', 'BRIN_SUMMARIZE_RANGE', 'CONVERT_FROM', 'CURRENT_SETTING', 'GIN_CLEAN_PENDING_LIST', 'PG_ADVISORY_LOCK', 'PG_ADVISORY_LOCK_SHARED', 'PG_ADVISORY_UNLOCK', 'PG_ADVISORY_UNLOCK_ALL', 'PG_ADVISORY_UNLOCK_SHARED', 'PG_ADVISORY_XACT_LOCK', 'PG_ADVISORY_XACT_LOCK_SHARED', 'PG_BACKUP_START_TIME', 'PG_CANCEL_BACKEND', 'PG_COLLATION_ACTUAL_VERSION', 'PG_COLUMN_COMPRESSION', 'PG_COLUMN_SIZE', 'PG_COPY_LOGICAL_REPLICATION_SLOT', 'PG_COPY_PHYSICAL_REPLICATION_SLOT', 'PG_CREATE_LOGICAL_REPLICATION_SLOT', 'PG_CREATE_PHYSICAL_REPLICATION_SLOT', 'PG_CREATE_RESTORE_POINT', 'PG_CURRENT_WAL_FLUSH_LSN', 'PG_CURRENT_WAL_INSERT_LSN', 'PG_CURRENT_WAL_LSN', 'PG_DATABASE_SIZE', 'PG_DROP_REPLICATION_SLOT', 'PG_EXPORT_SNAPSHOT', 'PG_FILENODE_RELATION', 'PG_GET_WAL_REPLAY_PAUSE_STATE', 'PG_IMPORT_SYSTEM_COLLATIONS', 'PG_INDEXES_SIZE', 'PG_IS_IN_BACKUP', 'PG_IS_IN_RECOVERY', 'PG_IS_WAL_REPLAY_PAUSED', 'PG_LAST_WAL_RECEIVE_LSN', 'PG_LAST_WAL_REPLAY_LSN', 'PG_LAST_XACT_REPLAY_TIMESTAMP', 'PG_LOGICAL_EMIT_MESSAGE', 'PG_LOGICAL_SLOT_GET_BINARY_CHANGES', 'PG_LOGICAL_SLOT_GET_CHANGES', 'PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES', 'PG_LOGICAL_SLOT_PEEK_CHANGES', 'PG_LOG_BACKEND_MEMORY_CONTEXTS', 'PG_LS_ARCHIVE_STATUSDIR', 'PG_LS_DIR', 'PG_LS_LOGDIR', 'PG_LS_TMPDIR', 'PG_LS_WALDIR', 'PG_PARTITION_ANCESTORS', 'PG_PARTITION_ROOT', 'PG_PARTITION_TREE', 'PG_PROMOTE', 'PG_READ_BINARY_FILE', 'PG_READ_FILE', 'PG_RELATION_FILENODE', 'PG_RELATION_FILEPATH', 'PG_RELATION_SIZE', 'PG_RELOAD_CONF', 'PG_REPLICATION_ORIGIN_ADVANCE', 'PG_REPLICATION_ORIGIN_CREATE', 'PG_REPLICATION_ORIGIN_DROP', 'PG_REPLICATION_ORIGIN_OID', 'PG_REPLICATION_ORIGIN_PROGRESS', 'PG_REPLICATION_ORIGIN_SESSION_IS_SETUP', 'PG_REPLICATION_ORIGIN_SESSION_PROGRESS', 'PG_REPLICATION_ORIGIN_SESSION_RESET', 'PG_REPLICATION_ORIGIN_SESSION_SETUP', 'PG_REPLICATION_ORIGIN_XACT_RESET', 'PG_REPLICATION_ORIGIN_XACT_SETUP', 'PG_REPLICATION_SLOT_ADVANCE', 'PG_ROTATE_LOGFILE', 'PG_SIZE_BYTES', 'PG_SIZE_PRETTY', 'PG_START_BACKUP', 'PG_STAT_FILE', 'PG_STOP_BACKUP', 'PG_SWITCH_WAL', 'PG_TABLESPACE_SIZE', 'PG_TABLE_SIZE', 'PG_TERMINATE_BACKEND', 'PG_TOTAL_RELATION_SIZE', 'PG_TRY_ADVISORY_LOCK', 'PG_TRY_ADVISORY_LOCK_SHARED', 'PG_TRY_ADVISORY_XACT_LOCK', 'PG_TRY_ADVISORY_XACT_LOCK_SHARED', 'PG_WALFILE_NAME', 'PG_WALFILE_NAME_OFFSET', 'PG_WAL_LSN_DIFF', 'PG_WAL_REPLAY_PAUSE', 'PG_WAL_REPLAY_RESUME', 'SET_CONFIG'],\n // https://www.postgresql.org/docs/14/functions-trigger.html\n trigger: ['SUPPRESS_REDUNDANT_UPDATES_TRIGGER', 'TSVECTOR_UPDATE_TRIGGER', 'TSVECTOR_UPDATE_TRIGGER_COLUMN'],\n // https://www.postgresql.org/docs/14/functions-event-triggers.html\n eventTrigger: ['PG_EVENT_TRIGGER_DDL_COMMANDS', 'PG_EVENT_TRIGGER_DROPPED_OBJECTS', 'PG_EVENT_TRIGGER_TABLE_REWRITE_OID', 'PG_EVENT_TRIGGER_TABLE_REWRITE_REASON', 'PG_GET_OBJECT_ADDRESS'],\n // https://www.postgresql.org/docs/14/functions-statistics.html\n stats: ['PG_MCV_LIST_ITEMS'],\n cast: ['CAST'],\n // Parameterized data types\n // https://www.postgresql.org/docs/current/datatype.html\n dataTypes: ['BIT', 'BIT VARYING', 'CHARACTER', 'CHARACTER VARYING', 'VARCHAR', 'CHAR', 'DECIMAL', 'NUMERIC', 'TIME', 'TIMESTAMP', 'ENUM']\n});\nexports.functions = functions;\n//# sourceMappingURL=postgresql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://www.postgresql.org/docs/14/sql-keywords-appendix.html\n all: ['ABORT', 'ABSOLUTE', 'ACCESS', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALL', // reserved\n 'ALSO', 'ALTER', 'ALWAYS', 'ANALYSE', // reserved\n 'ANALYZE', // reserved\n 'AND', // reserved\n 'ANY', // reserved\n 'ARRAY', // reserved, requires AS\n 'AS', // reserved, requires AS\n 'ASC', // reserved\n 'ASENSITIVE', 'ASSERTION', 'ASSIGNMENT', 'ASYMMETRIC', // reserved\n 'AT', 'ATOMIC', 'ATTACH', 'ATTRIBUTE', 'AUTHORIZATION', // reserved (can be function or type)\n 'BACKWARD', 'BEFORE', 'BEGIN', 'BETWEEN', // (cannot be function or type)\n 'BIGINT', // (cannot be function or type)\n 'BINARY', // reserved (can be function or type)\n 'BIT', // (cannot be function or type)\n 'BOOLEAN', // (cannot be function or type)\n 'BOTH', // reserved\n 'BREADTH', 'BY', 'CACHE', 'CALL', 'CALLED', 'CASCADE', 'CASCADED', 'CASE', // reserved\n 'CAST', // reserved\n 'CATALOG', 'CHAIN', 'CHAR', // (cannot be function or type), requires AS\n 'CHARACTER', // (cannot be function or type), requires AS\n 'CHARACTERISTICS', 'CHECK', // reserved\n 'CHECKPOINT', 'CLASS', 'CLOSE', 'CLUSTER', 'COALESCE', // (cannot be function or type)\n 'COLLATE', // reserved\n 'COLLATION', // reserved (can be function or type)\n 'COLUMN', // reserved\n 'COLUMNS', 'COMMENT', 'COMMENTS', 'COMMIT', 'COMMITTED', 'COMPRESSION', 'CONCURRENTLY', // reserved (can be function or type)\n 'CONFIGURATION', 'CONFLICT', 'CONNECTION', 'CONSTRAINT', // reserved\n 'CONSTRAINTS', 'CONTENT', 'CONTINUE', 'CONVERSION', 'COPY', 'COST', 'CREATE', // reserved, requires AS\n 'CROSS', // reserved (can be function or type)\n 'CSV', 'CUBE', 'CURRENT', 'CURRENT_CATALOG', // reserved\n 'CURRENT_DATE', // reserved\n 'CURRENT_ROLE', // reserved\n 'CURRENT_SCHEMA', // reserved (can be function or type)\n 'CURRENT_TIME', // reserved\n 'CURRENT_TIMESTAMP', // reserved\n 'CURRENT_USER', // reserved\n 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DAY', // requires AS\n 'DEALLOCATE', 'DEC', // (cannot be function or type)\n 'DECIMAL', // (cannot be function or type)\n 'DECLARE', 'DEFAULT', // reserved\n 'DEFAULTS', 'DEFERRABLE', // reserved\n 'DEFERRED', 'DEFINER', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DEPENDS', 'DEPTH', 'DESC', // reserved\n 'DETACH', 'DICTIONARY', 'DISABLE', 'DISCARD', 'DISTINCT', // reserved\n 'DO', // reserved\n 'DOCUMENT', 'DOMAIN', 'DOUBLE', 'DROP', 'EACH', 'ELSE', // reserved\n 'ENABLE', 'ENCODING', 'ENCRYPTED', 'END', // reserved\n 'ENUM', 'ESCAPE', 'EVENT', 'EXCEPT', // reserved, requires AS\n 'EXCLUDE', 'EXCLUDING', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', // (cannot be function or type)\n 'EXPLAIN', 'EXPRESSION', 'EXTENSION', 'EXTERNAL', 'EXTRACT', // (cannot be function or type)\n 'FALSE', // reserved\n 'FAMILY', 'FETCH', // reserved, requires AS\n 'FILTER', // requires AS\n 'FINALIZE', 'FIRST', 'FLOAT', // (cannot be function or type)\n 'FOLLOWING', 'FOR', // reserved, requires AS\n 'FORCE', 'FOREIGN', // reserved\n 'FORWARD', 'FREEZE', // reserved (can be function or type)\n 'FROM', // reserved, requires AS\n 'FULL', // reserved (can be function or type)\n 'FUNCTION', 'FUNCTIONS', 'GENERATED', 'GLOBAL', 'GRANT', // reserved, requires AS\n 'GRANTED', 'GREATEST', // (cannot be function or type)\n 'GROUP', // reserved, requires AS\n 'GROUPING', // (cannot be function or type)\n 'GROUPS', 'HANDLER', 'HAVING', // reserved, requires AS\n 'HEADER', 'HOLD', 'HOUR', // requires AS\n 'IDENTITY', 'IF', 'ILIKE', // reserved (can be function or type)\n 'IMMEDIATE', 'IMMUTABLE', 'IMPLICIT', 'IMPORT', 'IN', // reserved\n 'INCLUDE', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDEXES', 'INHERIT', 'INHERITS', 'INITIALLY', // reserved\n 'INLINE', 'INNER', // reserved (can be function or type)\n 'INOUT', // (cannot be function or type)\n 'INPUT', 'INSENSITIVE', 'INSERT', 'INSTEAD', 'INT', // (cannot be function or type)\n 'INTEGER', // (cannot be function or type)\n 'INTERSECT', // reserved, requires AS\n 'INTERVAL', // (cannot be function or type)\n 'INTO', // reserved, requires AS\n 'INVOKER', 'IS', // reserved (can be function or type)\n 'ISNULL', // reserved (can be function or type), requires AS\n 'ISOLATION', 'JOIN', // reserved (can be function or type)\n 'KEY', 'LABEL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', // reserved\n 'LEADING', // reserved\n 'LEAKPROOF', 'LEAST', // (cannot be function or type)\n 'LEFT', // reserved (can be function or type)\n 'LEVEL', 'LIKE', // reserved (can be function or type)\n 'LIMIT', // reserved, requires AS\n 'LISTEN', 'LOAD', 'LOCAL', 'LOCALTIME', // reserved\n 'LOCALTIMESTAMP', // reserved\n 'LOCATION', 'LOCK', 'LOCKED', 'LOGGED', 'MAPPING', 'MATCH', 'MATERIALIZED', 'MAXVALUE', 'METHOD', 'MINUTE', // requires AS\n 'MINVALUE', 'MODE', 'MONTH', // requires AS\n 'MOVE', 'NAME', 'NAMES', 'NATIONAL', // (cannot be function or type)\n 'NATURAL', // reserved (can be function or type)\n 'NCHAR', // (cannot be function or type)\n 'NEW', 'NEXT', 'NFC', 'NFD', 'NFKC', 'NFKD', 'NO', 'NONE', // (cannot be function or type)\n 'NORMALIZE', // (cannot be function or type)\n 'NORMALIZED', 'NOT', // reserved\n 'NOTHING', 'NOTIFY', 'NOTNULL', // reserved (can be function or type), requires AS\n 'NOWAIT', 'NULL', // reserved\n 'NULLIF', // (cannot be function or type)\n 'NULLS', 'NUMERIC', // (cannot be function or type)\n 'OBJECT', 'OF', 'OFF', 'OFFSET', // reserved, requires AS\n 'OIDS', 'OLD', 'ON', // reserved, requires AS\n 'ONLY', // reserved\n 'OPERATOR', 'OPTION', 'OPTIONS', 'OR', // reserved\n 'ORDER', // reserved, requires AS\n 'ORDINALITY', 'OTHERS', 'OUT', // (cannot be function or type)\n 'OUTER', // reserved (can be function or type)\n 'OVER', // requires AS\n 'OVERLAPS', // reserved (can be function or type), requires AS\n 'OVERLAY', // (cannot be function or type)\n 'OVERRIDING', 'OWNED', 'OWNER', 'PARALLEL', 'PARSER', 'PARTIAL', 'PARTITION', 'PASSING', 'PASSWORD', 'PLACING', // reserved\n 'PLANS', 'POLICY', 'POSITION', // (cannot be function or type)\n 'PRECEDING', 'PRECISION', // (cannot be function or type), requires AS\n 'PREPARE', 'PREPARED', 'PRESERVE', 'PRIMARY', // reserved\n 'PRIOR', 'PRIVILEGES', 'PROCEDURAL', 'PROCEDURE', 'PROCEDURES', 'PROGRAM', 'PUBLICATION', 'QUOTE', 'RANGE', 'READ', 'REAL', // (cannot be function or type)\n 'REASSIGN', 'RECHECK', 'RECURSIVE', 'REF', 'REFERENCES', // reserved\n 'REFERENCING', 'REFRESH', 'REINDEX', 'RELATIVE', 'RELEASE', 'RENAME', 'REPEATABLE', 'REPLACE', 'REPLICA', 'RESET', 'RESTART', 'RESTRICT', 'RETURN', 'RETURNING', // reserved, requires AS\n 'RETURNS', 'REVOKE', 'RIGHT', // reserved (can be function or type)\n 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROUTINES', 'ROW', // (cannot be function or type)\n 'ROWS', 'RULE', 'SAVEPOINT', 'SCHEMA', 'SCHEMAS', 'SCROLL', 'SEARCH', 'SECOND', // requires AS\n 'SECURITY', 'SELECT', // reserved\n 'SEQUENCE', 'SEQUENCES', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SESSION_USER', // reserved\n 'SET', 'SETOF', // (cannot be function or type)\n 'SETS', 'SHARE', 'SHOW', 'SIMILAR', // reserved (can be function or type)\n 'SIMPLE', 'SKIP', 'SMALLINT', // (cannot be function or type)\n 'SNAPSHOT', 'SOME', // reserved\n 'SQL', 'STABLE', 'STANDALONE', 'START', 'STATEMENT', 'STATISTICS', 'STDIN', 'STDOUT', 'STORAGE', 'STORED', 'STRICT', 'STRIP', 'SUBSCRIPTION', 'SUBSTRING', // (cannot be function or type)\n 'SUPPORT', 'SYMMETRIC', // reserved\n 'SYSID', 'SYSTEM', 'TABLE', // reserved\n 'TABLES', 'TABLESAMPLE', // reserved (can be function or type)\n 'TABLESPACE', 'TEMP', 'TEMPLATE', 'TEMPORARY', 'TEXT', 'THEN', // reserved\n 'TIES', 'TIME', // (cannot be function or type)\n 'TIMESTAMP', // (cannot be function or type)\n 'TO', // reserved, requires AS\n 'TRAILING', // reserved\n 'TRANSACTION', 'TRANSFORM', 'TREAT', // (cannot be function or type)\n 'TRIGGER', 'TRIM', // (cannot be function or type)\n 'TRUE', // reserved\n 'TRUNCATE', 'TRUSTED', 'TYPE', 'TYPES', 'UESCAPE', 'UNBOUNDED', 'UNCOMMITTED', 'UNENCRYPTED', 'UNION', // reserved, requires AS\n 'UNIQUE', // reserved\n 'UNKNOWN', 'UNLISTEN', 'UNLOGGED', 'UNTIL', 'UPDATE', 'USER', // reserved\n 'USING', // reserved\n 'VACUUM', 'VALID', 'VALIDATE', 'VALIDATOR', 'VALUE', 'VALUES', // (cannot be function or type)\n 'VARCHAR', // (cannot be function or type)\n 'VARIADIC', // reserved\n 'VARYING', // requires AS\n 'VERBOSE', // reserved (can be function or type)\n 'VERSION', 'VIEW', 'VIEWS', 'VOLATILE', 'WHEN', // reserved\n 'WHERE', // reserved, requires AS\n 'WHITESPACE', 'WINDOW', // reserved, requires AS\n 'WITH', // reserved, requires AS\n 'WITHIN', // requires AS\n 'WITHOUT', // requires AS\n 'WORK', 'WRAPPER', 'WRITE', 'XML', 'XMLATTRIBUTES', // (cannot be function or type)\n 'XMLCONCAT', // (cannot be function or type)\n 'XMLELEMENT', // (cannot be function or type)\n 'XMLEXISTS', // (cannot be function or type)\n 'XMLFOREST', // (cannot be function or type)\n 'XMLNAMESPACES', // (cannot be function or type)\n 'XMLPARSE', // (cannot be function or type)\n 'XMLPI', // (cannot be function or type)\n 'XMLROOT', // (cannot be function or type)\n 'XMLSERIALIZE', // (cannot be function or type)\n 'XMLTABLE', // (cannot be function or type)\n 'YEAR', // requires AS\n 'YES', 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=postgresql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _redshift = require(\"./redshift.functions\");\n\nvar _redshift2 = require(\"./redshift.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE [FROM]', // - truncate:\n'TRUNCATE [TABLE]', // Data definition\n'CREATE [OR REPLACE | MATERIALIZED] VIEW', 'CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ALTER TABLE APPEND', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME TO', 'RENAME COLUMN', 'ALTER COLUMN', 'TYPE', // for alter column\n'ENCODE', // for alter column\n// https://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands.html\n'ABORT', 'ALTER DATABASE', 'ALTER DATASHARE', 'ALTER DEFAULT PRIVILEGES', 'ALTER GROUP', 'ALTER MATERIALIZED VIEW', 'ALTER PROCEDURE', 'ALTER SCHEMA', 'ALTER USER', 'ANALYSE', 'ANALYZE', 'ANALYSE COMPRESSION', 'ANALYZE COMPRESSION', 'BEGIN', 'CALL', 'CANCEL', 'CLOSE', 'COMMENT', 'COMMIT', 'COPY', 'CREATE DATABASE', 'CREATE DATASHARE', 'CREATE EXTERNAL FUNCTION', 'CREATE EXTERNAL SCHEMA', 'CREATE EXTERNAL TABLE', 'CREATE FUNCTION', 'CREATE GROUP', 'CREATE LIBRARY', 'CREATE MODEL', 'CREATE PROCEDURE', 'CREATE SCHEMA', 'CREATE USER', 'DEALLOCATE', 'DECLARE', 'DESC DATASHARE', 'DROP DATABASE', 'DROP DATASHARE', 'DROP FUNCTION', 'DROP GROUP', 'DROP LIBRARY', 'DROP MODEL', 'DROP MATERIALIZED VIEW', 'DROP PROCEDURE', 'DROP SCHEMA', 'DROP USER', 'DROP VIEW', 'DROP', 'EXECUTE', 'EXPLAIN', 'FETCH', 'GRANT', 'LOCK', 'PREPARE', 'REFRESH MATERIALIZED VIEW', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT INTO', 'SET SESSION AUTHORIZATION', 'SET SESSION CHARACTERISTICS', 'SHOW', 'SHOW EXTERNAL TABLE', 'SHOW MODEL', 'SHOW DATASHARES', 'SHOW PROCEDURE', 'SHOW TABLE', 'SHOW VIEW', 'START TRANSACTION', 'UNLOAD', 'VACUUM', // other\n'ALTER COLUMN']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT', 'INTERSECT', 'MINUS']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)([// https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n'NULL AS', // https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html\n'DATA CATALOG', 'HIVE METASTORE', // in window specifications\n'{ROWS | RANGE} BETWEEN']); // https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_SQLCommandRef.html\n\nvar RedshiftFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(RedshiftFormatter, _Formatter);\n\n var _super = _createSuper(RedshiftFormatter);\n\n function RedshiftFormatter() {\n _classCallCheck(this, RedshiftFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(RedshiftFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _redshift2.keywords,\n reservedFunctionNames: _redshift.functions,\n stringTypes: [\"''-qq\"],\n identTypes: [\"\\\"\\\"-qq\"],\n identChars: {\n first: '#'\n },\n paramTypes: {\n numbered: ['$']\n },\n operators: ['^', '%', '@', '|/', '||/', '&', '|', // '#', conflicts with first char of identifier\n '~', '<<', '>>', '||', '::']\n });\n }\n }]);\n\n return RedshiftFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = RedshiftFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=redshift.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Aggregate_Functions.html\n aggregate: ['ANY_VALUE', 'APPROXIMATE PERCENTILE_DISC', 'AVG', 'COUNT', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'STDDEV_SAMP', 'STDDEV_POP', 'SUM', 'VAR_SAMP', 'VAR_POP'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Array_Functions.html\n array: ['array', 'array_concat', 'array_flatten', 'get_array_length', 'split_to_array', 'subarray'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_bitwise_aggregate_functions.html\n bitwise: ['BIT_AND', 'BIT_OR', 'BOOL_AND', 'BOOL_OR'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_conditional_expressions.html\n conditional: ['COALESCE', 'DECODE', 'GREATEST', 'LEAST', 'NVL', 'NVL2', 'NULLIF'],\n // https://docs.aws.amazon.com/redshift/latest/dg/Date_functions_header.html\n dateTime: ['ADD_MONTHS', 'AT TIME ZONE', 'CONVERT_TIMEZONE', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE_CMP', 'DATE_CMP_TIMESTAMP', 'DATE_CMP_TIMESTAMPTZ', 'DATE_PART_YEAR', 'DATEADD', 'DATEDIFF', 'DATE_PART', 'DATE_TRUNC', 'EXTRACT', 'GETDATE', 'INTERVAL_CMP', 'LAST_DAY', 'MONTHS_BETWEEN', 'NEXT_DAY', 'SYSDATE', 'TIMEOFDAY', 'TIMESTAMP_CMP', 'TIMESTAMP_CMP_DATE', 'TIMESTAMP_CMP_TIMESTAMPTZ', 'TIMESTAMPTZ_CMP', 'TIMESTAMPTZ_CMP_DATE', 'TIMESTAMPTZ_CMP_TIMESTAMP', 'TIMEZONE', 'TO_TIMESTAMP', 'TRUNC'],\n // https://docs.aws.amazon.com/redshift/latest/dg/geospatial-functions.html\n spatial: ['AddBBox', 'DropBBox', 'GeometryType', 'ST_AddPoint', 'ST_Angle', 'ST_Area', 'ST_AsBinary', 'ST_AsEWKB', 'ST_AsEWKT', 'ST_AsGeoJSON', 'ST_AsText', 'ST_Azimuth', 'ST_Boundary', 'ST_Collect', 'ST_Contains', 'ST_ContainsProperly', 'ST_ConvexHull', 'ST_CoveredBy', 'ST_Covers', 'ST_Crosses', 'ST_Dimension', 'ST_Disjoint', 'ST_Distance', 'ST_DistanceSphere', 'ST_DWithin', 'ST_EndPoint', 'ST_Envelope', 'ST_Equals', 'ST_ExteriorRing', 'ST_Force2D', 'ST_Force3D', 'ST_Force3DM', 'ST_Force3DZ', 'ST_Force4D', 'ST_GeometryN', 'ST_GeometryType', 'ST_GeomFromEWKB', 'ST_GeomFromEWKT', 'ST_GeomFromText', 'ST_GeomFromWKB', 'ST_InteriorRingN', 'ST_Intersects', 'ST_IsPolygonCCW', 'ST_IsPolygonCW', 'ST_IsClosed', 'ST_IsCollection', 'ST_IsEmpty', 'ST_IsSimple', 'ST_IsValid', 'ST_Length', 'ST_LengthSphere', 'ST_Length2D', 'ST_LineFromMultiPoint', 'ST_LineInterpolatePoint', 'ST_M', 'ST_MakeEnvelope', 'ST_MakeLine', 'ST_MakePoint', 'ST_MakePolygon', 'ST_MemSize', 'ST_MMax', 'ST_MMin', 'ST_Multi', 'ST_NDims', 'ST_NPoints', 'ST_NRings', 'ST_NumGeometries', 'ST_NumInteriorRings', 'ST_NumPoints', 'ST_Perimeter', 'ST_Perimeter2D', 'ST_Point', 'ST_PointN', 'ST_Points', 'ST_Polygon', 'ST_RemovePoint', 'ST_Reverse', 'ST_SetPoint', 'ST_SetSRID', 'ST_Simplify', 'ST_SRID', 'ST_StartPoint', 'ST_Touches', 'ST_Within', 'ST_X', 'ST_XMax', 'ST_XMin', 'ST_Y', 'ST_YMax', 'ST_YMin', 'ST_Z', 'ST_ZMax', 'ST_ZMin', 'SupportsBBox'],\n // https://docs.aws.amazon.com/redshift/latest/dg/hash-functions.html\n hash: ['CHECKSUM', 'FUNC_SHA1', 'FNV_HASH', 'MD5', 'SHA', 'SHA1', 'SHA2'],\n // https://docs.aws.amazon.com/redshift/latest/dg/hyperloglog-functions.html\n hyperLogLog: ['HLL', 'HLL_CREATE_SKETCH', 'HLL_CARDINALITY', 'HLL_COMBINE'],\n // https://docs.aws.amazon.com/redshift/latest/dg/json-functions.html\n json: ['IS_VALID_JSON', 'IS_VALID_JSON_ARRAY', 'JSON_ARRAY_LENGTH', 'JSON_EXTRACT_ARRAY_ELEMENT_TEXT', 'JSON_EXTRACT_PATH_TEXT', 'JSON_PARSE', 'JSON_SERIALIZE'],\n // https://docs.aws.amazon.com/redshift/latest/dg/Math_functions.html\n math: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CBRT', 'CEILING', 'CEIL', 'COS', 'COT', 'DEGREES', 'DEXP', 'DLOG1', 'DLOG10', 'EXP', 'FLOOR', 'LN', 'LOG', 'MOD', 'PI', 'POWER', 'RADIANS', 'RANDOM', 'ROUND', 'SIN', 'SIGN', 'SQRT', 'TAN', 'TO_HEX', 'TRUNC'],\n // https://docs.aws.amazon.com/redshift/latest/dg/ml-function.html\n machineLearning: ['EXPLAIN_MODEL'],\n // https://docs.aws.amazon.com/redshift/latest/dg/String_functions_header.html\n string: ['ASCII', 'BPCHARCMP', 'BTRIM', 'BTTEXT_PATTERN_CMP', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHARINDEX', 'CHR', 'COLLATE', 'CONCAT', 'CRC32', 'DIFFERENCE', 'INITCAP', 'LEFT', 'RIGHT', 'LEN', 'LENGTH', 'LOWER', 'LPAD', 'RPAD', 'LTRIM', 'OCTETINDEX', 'OCTET_LENGTH', 'POSITION', 'QUOTE_IDENT', 'QUOTE_LITERAL', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPEAT', 'REPLACE', 'REPLICATE', 'REVERSE', 'RTRIM', 'SOUNDEX', 'SPLIT_PART', 'STRPOS', 'STRTOL', 'SUBSTRING', 'TEXTLEN', 'TRANSLATE', 'TRIM', 'UPPER'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Type_Info_Functions.html\n superType: ['decimal_precision', 'decimal_scale', 'is_array', 'is_bigint', 'is_boolean', 'is_char', 'is_decimal', 'is_float', 'is_integer', 'is_object', 'is_scalar', 'is_smallint', 'is_varchar', 'json_typeof'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Window_functions.html\n window: ['AVG', 'COUNT', 'CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAST_VALUE', 'LAG', 'LEAD', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'RATIO_TO_REPORT', 'ROW_NUMBER', 'STDDEV_SAMP', 'STDDEV_POP', 'SUM', 'VAR_SAMP', 'VAR_POP'],\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Data_type_formatting.html\n dataType: ['CAST', 'CONVERT', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TEXT_TO_INT_ALT', 'TEXT_TO_NUMERIC_ALT'],\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_administration_functions.html\n sysAdmin: ['CHANGE_QUERY_PRIORITY', 'CHANGE_SESSION_PRIORITY', 'CHANGE_USER_PRIORITY', 'CURRENT_SETTING', 'PG_CANCEL_BACKEND', 'PG_TERMINATE_BACKEND', 'REBOOT_CLUSTER', 'SET_CONFIG'],\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_information_functions.html\n sysInfo: ['CURRENT_AWS_ACCOUNT', 'CURRENT_DATABASE', 'CURRENT_NAMESPACE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_USER', 'CURRENT_USER_ID', 'HAS_ASSUMEROLE_PRIVILEGE', 'HAS_DATABASE_PRIVILEGE', 'HAS_SCHEMA_PRIVILEGE', 'HAS_TABLE_PRIVILEGE', 'PG_BACKEND_PID', 'PG_GET_COLS', 'PG_GET_GRANTEE_BY_IAM_ROLE', 'PG_GET_IAM_ROLE_BY_USER', 'PG_GET_LATE_BINDING_VIEW_COLS', 'PG_LAST_COPY_COUNT', 'PG_LAST_COPY_ID', 'PG_LAST_UNLOAD_ID', 'PG_LAST_QUERY_ID', 'PG_LAST_UNLOAD_COUNT', 'SESSION_USER', 'SLICE_NUM', 'USER', 'VERSION'],\n dataTypes: ['DECIMAL', 'NUMERIC', 'CHAR', 'CHARACTER', 'VARCHAR', 'CHARACTER VARYING', 'NCHAR', 'NVARCHAR', 'VARBYTE']\n});\nexports.functions = functions;\n//# sourceMappingURL=redshift.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html\n standard: ['AES128', 'AES256', 'ALL', 'ALLOWOVERWRITE', 'ANY', 'ARRAY', 'AS', 'ASC', 'AUTHORIZATION', 'BACKUP', 'BETWEEN', 'BINARY', 'BOTH', 'CHECK', 'COLUMN', 'CONSTRAINT', 'CREATE', 'CROSS', 'DEFAULT', 'DEFERRABLE', 'DEFLATE', 'DEFRAG', 'DESC', 'DISABLE', 'DISTINCT', 'DO', 'ENABLE', 'ENCODE', 'ENCRYPT', 'ENCRYPTION', 'EXPLICIT', 'FALSE', 'FOR', 'FOREIGN', 'FREEZE', 'FROM', 'FULL', 'GLOBALDICT256', 'GLOBALDICT64K', 'GROUP', 'IDENTITY', 'IGNORE', 'ILIKE', 'IN', 'INITIALLY', 'INNER', 'INTO', 'IS', 'ISNULL', 'LANGUAGE', 'LEADING', 'LIKE', 'LIMIT', 'LOCALTIME', 'LOCALTIMESTAMP', 'LUN', 'LUNS', 'MINUS', 'NATURAL', 'NEW', 'NOT', 'NOTNULL', 'NULL', 'NULLS', 'OFF', 'OFFLINE', 'OFFSET', 'OID', 'OLD', 'ON', 'ONLY', 'OPEN', 'ORDER', 'OUTER', 'OVERLAPS', 'PARALLEL', 'PARTITION', 'PERCENT', 'PERMISSIONS', 'PLACING', 'PRIMARY', 'RECOVER', 'REFERENCES', 'REJECTLOG', 'RESORT', 'RESPECT', 'RESTORE', 'SIMILAR', 'SNAPSHOT', 'SOME', 'SYSTEM', 'TABLE', 'TAG', 'TDES', 'THEN', 'TIMESTAMP', 'TO', 'TOP', 'TRAILING', 'TRUE', 'UNIQUE', 'USING', 'VERBOSE', 'WALLET', 'WITHOUT'],\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n dataConversionParams: ['ACCEPTANYDATE', 'ACCEPTINVCHARS', 'BLANKSASNULL', 'DATEFORMAT', 'EMPTYASNULL', 'ENCODING', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'REMOVEQUOTES', 'ROUNDEC', 'TIMEFORMAT', 'TRIMBLANKS', 'TRUNCATECOLUMNS'],\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html\n dataLoadParams: ['COMPROWS', 'COMPUPDATE', 'MAXERROR', 'NOLOAD', 'STATUPDATE'],\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html\n dataFormatParams: ['FORMAT', 'CSV', 'DELIMITER', 'FIXEDWIDTH', 'SHAPEFILE', 'AVRO', 'JSON', 'PARQUET', 'ORC'],\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html\n copyAuthParams: ['ACCESS_KEY_ID', 'CREDENTIALS', 'ENCRYPTED', 'IAM_ROLE', 'MASTER_SYMMETRIC_KEY', 'SECRET_ACCESS_KEY', 'SESSION_TOKEN'],\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-file-compression.html\n copyCompressionParams: ['BZIP2', 'GZIP', 'LZOP', 'ZSTD'],\n // https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html\n copyMiscParams: ['MANIFEST', 'READRATIO', 'REGION', 'SSH'],\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html\n compressionEncodings: ['RAW', 'AZ64', 'BYTEDICT', 'DELTA', 'DELTA32K', 'LZO', 'MOSTLY8', 'MOSTLY16', 'MOSTLY32', 'RUNLENGTH', 'TEXT255', 'TEXT32K'],\n misc: [// CREATE EXTERNAL SCHEMA (https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)\n 'CATALOG_ROLE', 'SECRET_ARN', 'EXTERNAL', // https://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html\n 'AUTO', 'EVEN', 'KEY', 'PREDICATE', // ANALYZE | ANALYSE (https://docs.aws.amazon.com/redshift/latest/dg/r_ANALYZE.html)\n // unknown\n 'COMPRESSION'],\n\n /**\n * Other keywords not included:\n * STL: https://docs.aws.amazon.com/redshift/latest/dg/c_intro_STL_tables.html\n * SVCS: https://docs.aws.amazon.com/redshift/latest/dg/svcs_views.html\n * SVL: https://docs.aws.amazon.com/redshift/latest/dg/svl_views.html\n * SVV: https://docs.aws.amazon.com/redshift/latest/dg/svv_views.html\n */\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-text-and-bpchar-types\n dataTypes: ['BPCHAR', 'TEXT']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=redshift.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _singlestoredb = require(\"./singlestoredb.keywords\");\n\nvar _singlestoredb2 = require(\"./singlestoredb.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [IGNORE] [INTO]', 'VALUES', 'REPLACE [INTO]', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE [FROM]', // - truncate:\n'TRUNCATE [TABLE]', // Data definition\n'CREATE VIEW', 'CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]', 'CREATE [OR REPLACE] [EXTERNAL] FUNCTION', 'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER [ONLINE] TABLE', 'ADD [COLUMN]', 'ADD [UNIQUE] {INDEX | KEY}', 'DROP [COLUMN]', 'MODIFY [COLUMN]', 'CHANGE', 'RENAME [TO | AS]', // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n'ADD AGGREGATOR', 'ADD LEAF', 'AGGREGATOR SET AS MASTER', 'ALTER DATABASE', 'ALTER PIPELINE', 'ALTER RESOURCE POOL', 'ALTER USER', 'ALTER VIEW', 'ANALYZE TABLE', 'ATTACH DATABASE', 'ATTACH LEAF', 'ATTACH LEAF ALL', 'BACKUP DATABASE', 'BINLOG', 'BOOTSTRAP AGGREGATOR', 'CACHE INDEX', 'CALL', 'CHANGE', 'CHANGE MASTER TO', 'CHANGE REPLICATION FILTER', 'CHANGE REPLICATION SOURCE TO', 'CHECK BLOB CHECKSUM', 'CHECK TABLE', 'CHECKSUM TABLE', 'CLEAR ORPHAN DATABASES', 'CLONE', 'COMMIT', 'CREATE DATABASE', 'CREATE GROUP', 'CREATE INDEX', 'CREATE LINK', 'CREATE MILESTONE', 'CREATE PIPELINE', 'CREATE RESOURCE POOL', 'CREATE ROLE', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DETACH DATABASE', 'DETACH PIPELINE', 'DO', 'DROP DATABASE', 'DROP FUNCTION', 'DROP INDEX', 'DROP LINK', 'DROP PIPELINE', 'DROP PROCEDURE', 'DROP RESOURCE POOL', 'DROP ROLE', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'FORCE', 'GRANT', 'HANDLER', 'HELP', 'KILL CONNECTION', 'KILLALL QUERIES', 'LOAD DATA', 'LOAD INDEX INTO CACHE', 'LOAD XML', 'LOCK INSTANCE FOR BACKUP', 'LOCK TABLES', 'MASTER_POS_WAIT', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'REBALANCE PARTITIONS', 'RELEASE SAVEPOINT', 'REMOVE AGGREGATOR', 'REMOVE LEAF', 'REPAIR TABLE', 'REPLACE', 'REPLICATE DATABASE', 'RESET', 'RESET MASTER', 'RESET PERSIST', 'RESET REPLICA', 'RESET SLAVE', 'RESTART', 'RESTORE DATABASE', 'RESTORE REDUNDANCY', 'REVOKE', 'ROLLBACK', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET NAMES', 'SET PASSWORD', 'SET RESOURCE GROUP', 'SET ROLE', 'SET TRANSACTION', 'SHOW', 'SHOW CHARACTER SET', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CREATE DATABASE', 'SHOW CREATE FUNCTION', 'SHOW CREATE PIPELINE', 'SHOW CREATE PROCEDURE', 'SHOW CREATE TABLE', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PLUGINS', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA STATUS', 'SHOW REPLICAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW STATUS', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHUTDOWN', 'SNAPSHOT DATABASE', 'SOURCE_POS_WAIT', 'START GROUP_REPLICATION', 'START PIPELINE', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP GROUP_REPLICATION', 'STOP PIPELINE', 'STOP REPLICA', 'STOP REPLICATING', 'STOP SLAVE', 'TEST PIPELINE', 'TRUNCATE TABLE', 'UNLOCK INSTANCE', 'UNLOCK TABLES', 'USE', 'XA', // flow control\n'ITERATE', 'LEAVE', 'LOOP', 'REPEAT', 'RETURN', 'WHILE']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT', 'INTERSECT', 'MINUS']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']);\n\nvar SingleStoreDbFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(SingleStoreDbFormatter, _Formatter);\n\n var _super = _createSuper(SingleStoreDbFormatter);\n\n function SingleStoreDbFormatter() {\n _classCallCheck(this, SingleStoreDbFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SingleStoreDbFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE', 'ELSEIF'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _singlestoredb.keywords,\n reservedFunctionNames: _singlestoredb2.functions,\n // TODO: support _binary\"some string\" prefix\n stringTypes: ['\"\"-qq-bs', \"''-qq-bs\", {\n quote: \"''-raw\",\n prefixes: ['B', 'X'],\n requirePrefix: true\n }],\n identTypes: ['``'],\n identChars: {\n first: '$',\n rest: '$',\n allowFirstCharNumber: true\n },\n variableTypes: [{\n regex: '@@?[A-Za-z0-9_$]+'\n }, {\n quote: '``',\n prefixes: ['@'],\n requirePrefix: true\n }],\n lineCommentTypes: ['--', '#'],\n operators: [':=', '&', '|', '^', '~', '<<', '>>', '<=>', '&&', '||'],\n postProcess: postProcess\n });\n }\n }]);\n\n return SingleStoreDbFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = SingleStoreDbFormatter;\n\nfunction postProcess(tokens) {\n return tokens.map(function (token, i) {\n var nextToken = tokens[i + 1] || _token.EOF_TOKEN;\n\n if (_token.isToken.SET(token) && nextToken.text === '(') {\n // This is SET datatype, not SET statement\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME\n });\n }\n\n return token;\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=singlestoredb.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/vector-functions/vector-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/window-functions/window-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/string-functions/string-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/conditional-functions/conditional-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/numeric-functions/numeric-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/geospatial-functions/geospatial-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/json-functions/json-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/information-functions/information-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/aggregate-functions/aggregate-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/time-series-functions/time-series-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/identifier-generation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/date-and-time-functions/date-and-time-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/distinct-count-estimation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/full-text-search-functions/full-text-search-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/regular-expression-functions.html\n all: ['ABS', 'ACOS', 'ADDDATE', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', 'ANY_VALUE', 'APPROX_COUNT_DISTINCT', 'APPROX_COUNT_DISTINCT_ACCUMULATE', 'APPROX_COUNT_DISTINCT_COMBINE', 'APPROX_COUNT_DISTINCT_ESTIMATE', 'APPROX_GEOGRAPHY_INTERSECTS', 'APPROX_PERCENTILE', 'ASCII', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BIN', 'BINARY', 'BIT_AND', 'BIT_COUNT', 'BIT_OR', 'BIT_XOR', 'CAST', 'CEIL', 'CEILING', 'CHAR', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHARSET', 'COALESCE', 'COERCIBILITY', 'COLLATION', 'COLLECT', 'CONCAT', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT', 'CONVERT_TZ', 'COS', 'COT', 'COUNT', 'CUME_DIST', 'CURDATE', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURTIME', 'DATABASE', 'DATE', 'DATE_ADD', 'DATEDIFF', 'DATE_FORMAT', 'DATE_SUB', 'DATE_TRUNC', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DECODE', 'DEFAULT', 'DEGREES', 'DENSE_RANK', 'DIV', 'DOT_PRODUCT', 'ELT', 'EUCLIDEAN_DISTANCE', 'EXP', 'EXTRACT', 'FIELD', 'FIRST', 'FIRST_VALUE', 'FLOOR', 'FORMAT', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GEOGRAPHY_AREA', 'GEOGRAPHY_CONTAINS', 'GEOGRAPHY_DISTANCE', 'GEOGRAPHY_INTERSECTS', 'GEOGRAPHY_LATITUDE', 'GEOGRAPHY_LENGTH', 'GEOGRAPHY_LONGITUDE', 'GEOGRAPHY_POINT', 'GEOGRAPHY_WITHIN_DISTANCE', 'GEOMETRY_AREA', 'GEOMETRY_CONTAINS', 'GEOMETRY_DISTANCE', 'GEOMETRY_FILTER', 'GEOMETRY_INTERSECTS', 'GEOMETRY_LENGTH', 'GEOMETRY_POINT', 'GEOMETRY_WITHIN_DISTANCE', 'GEOMETRY_X', 'GEOMETRY_Y', 'GREATEST', 'GROUPING', 'GROUP_CONCAT', 'HEX', 'HIGHLIGHT', 'HOUR', 'ICU_VERSION', 'IF', 'IFNULL', 'INET_ATON', 'INET_NTOA', 'INET6_ATON', 'INET6_NTOA', 'INITCAP', 'INSERT', 'INSTR', 'INTERVAL', 'IS', 'IS NULL', 'JSON_AGG', 'JSON_ARRAY_CONTAINS_DOUBLE', 'JSON_ARRAY_CONTAINS_JSON', 'JSON_ARRAY_CONTAINS_STRING', 'JSON_ARRAY_PUSH_DOUBLE', 'JSON_ARRAY_PUSH_JSON', 'JSON_ARRAY_PUSH_STRING', 'JSON_DELETE_KEY', 'JSON_EXTRACT_DOUBLE', 'JSON_EXTRACT_JSON', 'JSON_EXTRACT_STRING', 'JSON_EXTRACT_BIGINT', 'JSON_GET_TYPE', 'JSON_LENGTH', 'JSON_SET_DOUBLE', 'JSON_SET_JSON', 'JSON_SET_STRING', 'JSON_SPLICE_DOUBLE', 'JSON_SPLICE_JSON', 'JSON_SPLICE_STRING', 'LAG', 'LAST_DAY', 'LAST_VALUE', 'LCASE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LIKE', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LPAD', 'LTRIM', 'MATCH', 'MAX', 'MD5', 'MEDIAN', 'MICROSECOND', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHNAME', 'MONTHS_BETWEEN', 'NOT', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'OCTET_LENGTH', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PI', 'PIVOT', 'POSITION', 'POW', 'POWER', 'QUARTER', 'QUOTE', 'RADIANS', 'RAND', 'RANK', 'REGEXP', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RLIKE', 'ROUND', 'ROW_COUNT', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SCALAR', 'SCHEMA', 'SEC_TO_TIME', 'SHA1', 'SHA2', 'SIGMOID', 'SIGN', 'SIN', 'SLEEP', 'SPLIT', 'SOUNDEX', 'SOUNDS LIKE', 'SOURCE_POS_WAIT', 'SPACE', 'SQRT', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DATE', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'SUM', 'SYS_GUID', 'TAN', 'TIME', 'TIMEDIFF', 'TIME_BUCKET', 'TIME_FORMAT', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIME_TO_SEC', 'TO_BASE64', 'TO_CHAR', 'TO_DAYS', 'TO_JSON', 'TO_NUMBER', 'TO_SECONDS', 'TO_TIMESTAMP', 'TRIM', 'TRUNC', 'TRUNCATE', 'UCASE', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'USER', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', 'VALUES', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'VECTOR_SUB', 'VERSION', 'WEEK', 'WEEKDAY', 'WEEKOFYEAR', 'YEAR', // Data types with parameters\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/data-types.html\n 'BIT', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', 'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'DATETIME', 'TIMESTAMP', 'TIME', 'YEAR', 'CHAR', 'NATIONAL CHAR', 'VARCHAR', 'NATIONAL VARCHAR', 'BINARY', 'VARBINARY', 'BLOB', 'TEXT', 'ENUM']\n});\nexports.functions = functions;\n//# sourceMappingURL=singlestoredb.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/restricted-keywords/list-of-restricted-keywords.html\n all: ['ABORT', 'ABSOLUTE', 'ACCESS', 'ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADD', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'AGGREGATES', 'AGGREGATOR', 'AGGREGATOR_ID', 'AGGREGATOR_PLAN_HASH', 'AGGREGATORS', 'ALGORITHM', 'ALL', 'ALSO', 'ALTER', 'ALWAYS', 'ANALYZE', 'AND', 'ANY', 'ARGHISTORY', 'ARRANGE', 'ARRANGEMENT', 'ARRAY', 'AS', 'ASC', 'ASCII', 'ASENSITIVE', 'ASM', 'ASSERTION', 'ASSIGNMENT', 'AST', 'ASYMMETRIC', 'ASYNC', 'AT', 'ATTACH', 'ATTRIBUTE', 'AUTHORIZATION', 'AUTO', 'AUTO_INCREMENT', 'AUTO_REPROVISION', 'AUTOSTATS', 'AUTOSTATS_CARDINALITY_MODE', 'AUTOSTATS_ENABLED', 'AUTOSTATS_HISTOGRAM_MODE', 'AUTOSTATS_SAMPLING', 'AVAILABILITY', 'AVG', 'AVG_ROW_LENGTH', 'AVRO', 'AZURE', 'BACKGROUND', '_BACKGROUND_THREADS_FOR_CLEANUP', 'BACKUP', 'BACKUP_HISTORY', 'BACKUP_ID', 'BACKWARD', 'BATCH', 'BATCHES', 'BATCH_INTERVAL', '_BATCH_SIZE_LIMIT', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', '_BINARY', 'BIT', 'BLOB', 'BOOL', 'BOOLEAN', 'BOOTSTRAP', 'BOTH', '_BT', 'BTREE', 'BUCKET_COUNT', 'BUCKETS', 'BY', 'BYTE', 'BYTE_LENGTH', 'CACHE', 'CALL', 'CALL_FOR_PIPELINE', 'CALLED', 'CAPTURE', 'CASCADE', 'CASCADED', 'CASE', 'CATALOG', 'CHAIN', 'CHANGE', 'CHAR', 'CHARACTER', 'CHARACTERISTICS', 'CHARSET', 'CHECK', 'CHECKPOINT', '_CHECK_CAN_CONNECT', '_CHECK_CONSISTENCY', 'CHECKSUM', '_CHECKSUM', 'CLASS', 'CLEAR', 'CLIENT', 'CLIENT_FOUND_ROWS', 'CLOSE', 'CLUSTER', 'CLUSTERED', 'CNF', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COLUMNAR', 'COLUMNS', 'COLUMNSTORE', 'COLUMNSTORE_SEGMENT_ROWS', 'COMMENT', 'COMMENTS', 'COMMIT', 'COMMITTED', '_COMMIT_LOG_TAIL', 'COMPACT', 'COMPILE', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONCURRENTLY', 'CONDITION', 'CONFIGURATION', 'CONNECTION', 'CONNECTIONS', 'CONFIG', 'CONSTRAINT', 'CONTAINS', 'CONTENT', 'CONTINUE', '_CONTINUE_REPLAY', 'CONVERSION', 'CONVERT', 'COPY', '_CORE', 'COST', 'CREATE', 'CREDENTIALS', 'CROSS', 'CUBE', 'CSV', 'CUME_DIST', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_SCHEMA', 'CURRENT_SECURITY_GROUPS', 'CURRENT_SECURITY_ROLES', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATABASES', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFAULTS', 'DEFERRABLE', 'DEFERRED', 'DEFINED', 'DEFINER', 'DELAYED', 'DELAY_KEY_WRITE', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DENSE_RANK', 'DESC', 'DESCRIBE', 'DETACH', 'DETERMINISTIC', 'DICTIONARY', 'DIFFERENTIAL', 'DIRECTORY', 'DISABLE', 'DISCARD', '_DISCONNECT', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DISTRIBUTED_JOINS', 'DIV', 'DO', 'DOCUMENT', 'DOMAIN', 'DOUBLE', 'DROP', '_DROP_PROFILE', 'DUAL', 'DUMP', 'DUPLICATE', 'DURABILITY', 'DYNAMIC', 'EARLIEST', 'EACH', 'ECHO', 'ELECTION', 'ELSE', 'ELSEIF', 'ENABLE', 'ENCLOSED', 'ENCODING', 'ENCRYPTED', 'END', 'ENGINE', 'ENGINES', 'ENUM', 'ERRORS', 'ESCAPE', 'ESCAPED', 'ESTIMATE', 'EVENT', 'EVENTS', 'EXCEPT', 'EXCLUDE', 'EXCLUDING', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXIT', 'EXPLAIN', 'EXTENDED', 'EXTENSION', 'EXTERNAL', 'EXTERNAL_HOST', 'EXTERNAL_PORT', 'EXTRACTOR', 'EXTRACTORS', 'EXTRA_JOIN', '_FAILOVER', 'FAILED_LOGIN_ATTEMPTS', 'FAILURE', 'FALSE', 'FAMILY', 'FAULT', 'FETCH', 'FIELDS', 'FILE', 'FILES', 'FILL', 'FIX_ALTER', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FLUSH', 'FOLLOWING', 'FOR', 'FORCE', 'FORCE_COMPILED_MODE', 'FORCE_INTERPRETER_MODE', 'FOREGROUND', 'FOREIGN', 'FORMAT', 'FORWARD', 'FREEZE', 'FROM', 'FS', '_FSYNC', 'FULL', 'FULLTEXT', 'FUNCTION', 'FUNCTIONS', 'GC', 'GCS', 'GET_FORMAT', '_GC', '_GCX', 'GENERATE', 'GEOGRAPHY', 'GEOGRAPHYPOINT', 'GEOMETRY', 'GEOMETRYPOINT', 'GLOBAL', '_GLOBAL_VERSION_TIMESTAMP', 'GRANT', 'GRANTED', 'GRANTS', 'GROUP', 'GROUPING', 'GROUPS', 'GZIP', 'HANDLE', 'HANDLER', 'HARD_CPU_LIMIT_PERCENTAGE', 'HASH', 'HAS_TEMP_TABLES', 'HAVING', 'HDFS', 'HEADER', 'HEARTBEAT_NO_LOGGING', 'HIGH_PRIORITY', 'HISTOGRAM', 'HOLD', 'HOLDING', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IDENTITY', 'IF', 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMUTABLE', 'IMPLICIT', 'IMPORT', 'IN', 'INCLUDING', 'INCREMENT', 'INCREMENTAL', 'INDEX', 'INDEXES', 'INFILE', 'INHERIT', 'INHERITS', '_INIT_PROFILE', 'INIT', 'INITIALIZE', 'INITIALLY', 'INJECT', 'INLINE', 'INNER', 'INOUT', 'INPUT', 'INSENSITIVE', 'INSERT', 'INSERT_METHOD', 'INSTANCE', 'INSTEAD', 'IN', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', '_INTERNAL_DYNAMIC_TYPECAST', 'INTERPRETER_MODE', 'INTERSECT', 'INTERVAL', 'INTO', 'INVOKER', 'ISOLATION', 'ITERATE', 'JOIN', 'JSON', 'KAFKA', 'KEY', 'KEY_BLOCK_SIZE', 'KEYS', 'KILL', 'KILLALL', 'LABEL', 'LAG', 'LANGUAGE', 'LARGE', 'LAST', 'LAST_VALUE', 'LATERAL', 'LATEST', 'LC_COLLATE', 'LC_CTYPE', 'LEAD', 'LEADING', 'LEAF', 'LEAKPROOF', 'LEAVE', 'LEAVES', 'LEFT', 'LEVEL', 'LICENSE', 'LIKE', 'LIMIT', 'LINES', 'LISTEN', 'LLVM', 'LOADDATA_WHERE', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATION', 'LOCK', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', '_LS', 'LZ4', 'MANAGEMENT', '_MANAGEMENT_THREAD', 'MAPPING', 'MASTER', 'MATCH', 'MATERIALIZED', 'MAXVALUE', 'MAX_CONCURRENCY', 'MAX_ERRORS', 'MAX_PARTITIONS_PER_BATCH', 'MAX_QUEUE_DEPTH', 'MAX_RETRIES_PER_BATCH_PARTITION', 'MAX_ROWS', 'MBC', 'MPL', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MEMORY_PERCENTAGE', '_MEMSQL_TABLE_ID_LOOKUP', 'MEMSQL', 'MEMSQL_DESERIALIZE', 'MEMSQL_IMITATING_KAFKA', 'MEMSQL_SERIALIZE', 'MERGE', 'METADATA', 'MICROSECOND', 'MIDDLEINT', 'MIN_ROWS', 'MINUS', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MINVALUE', 'MOD', 'MODE', 'MODEL', 'MODIFIES', 'MODIFY', 'MONTH', 'MOVE', 'MPL', 'NAMES', 'NAMED', 'NAMESPACE', 'NATIONAL', 'NATURAL', 'NCHAR', 'NEXT', 'NO', 'NODE', 'NONE', 'NO_QUERY_REWRITE', 'NOPARAM', 'NOT', 'NOTHING', 'NOTIFY', 'NOWAIT', 'NO_WRITE_TO_BINLOG', 'NO_QUERY_REWRITE', 'NORELY', 'NTH_VALUE', 'NTILE', 'NULL', 'NULLCOLS', 'NULLS', 'NUMERIC', 'NVARCHAR', 'OBJECT', 'OF', 'OFF', 'OFFLINE', 'OFFSET', 'OFFSETS', 'OIDS', 'ON', 'ONLINE', 'ONLY', 'OPEN', 'OPERATOR', 'OPTIMIZATION', 'OPTIMIZE', 'OPTIMIZER', 'OPTIMIZER_STATE', 'OPTION', 'OPTIONS', 'OPTIONALLY', 'OR', 'ORDER', 'ORDERED_SERIALIZE', 'ORPHAN', 'OUT', 'OUT_OF_ORDER', 'OUTER', 'OUTFILE', 'OVER', 'OVERLAPS', 'OVERLAY', 'OWNED', 'OWNER', 'PACK_KEYS', 'PAIRED', 'PARSER', 'PARQUET', 'PARTIAL', 'PARTITION', 'PARTITION_ID', 'PARTITIONING', 'PARTITIONS', 'PASSING', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PAUSE', '_PAUSE_REPLAY', 'PERIODIC', 'PERSISTED', 'PIPELINE', 'PIPELINES', 'PLACING', 'PLAN', 'PLANS', 'PLANCACHE', 'PLUGINS', 'POOL', 'POOLS', 'PORT', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL', 'PROCEDURE', 'PROCEDURES', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROGRAM', 'PROMOTE', 'PROXY', 'PURGE', 'QUARTER', 'QUERIES', 'QUERY', 'QUERY_TIMEOUT', 'QUEUE', 'RANGE', 'RANK', 'READ', '_READ', 'READS', 'REAL', 'REASSIGN', 'REBALANCE', 'RECHECK', 'RECORD', 'RECURSIVE', 'REDUNDANCY', 'REDUNDANT', 'REF', 'REFERENCE', 'REFERENCES', 'REFRESH', 'REGEXP', 'REINDEX', 'RELATIVE', 'RELEASE', 'RELOAD', 'RELY', 'REMOTE', 'REMOVE', 'RENAME', 'REPAIR', '_REPAIR_TABLE', 'REPEAT', 'REPEATABLE', '_REPL', '_REPROVISIONING', 'REPLACE', 'REPLICA', 'REPLICATE', 'REPLICATING', 'REPLICATION', 'REQUIRE', 'RESOURCE', 'RESOURCE_POOL', 'RESET', 'RESTART', 'RESTORE', 'RESTRICT', 'RESULT', '_RESURRECT', 'RETRY', 'RETURN', 'RETURNING', 'RETURNS', 'REVERSE', 'RG_POOL', 'REVOKE', 'RIGHT', 'RIGHT_ANTI_JOIN', 'RIGHT_SEMI_JOIN', 'RIGHT_STRAIGHT_JOIN', 'RLIKE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW', 'ROW_COUNT', 'ROW_FORMAT', 'ROW_NUMBER', 'ROWS', 'ROWSTORE', 'RULE', '_RPC', 'RUNNING', 'S3', 'SAFE', 'SAVE', 'SAVEPOINT', 'SCALAR', 'SCHEMA', 'SCHEMAS', 'SCHEMA_BINDING', 'SCROLL', 'SEARCH', 'SECOND', 'SECOND_MICROSECOND', 'SECURITY', 'SELECT', 'SEMI_JOIN', '_SEND_THREADS', 'SENSITIVE', 'SEPARATOR', 'SEQUENCE', 'SEQUENCES', 'SERIAL', 'SERIALIZABLE', 'SERIES', 'SERVICE_USER', 'SERVER', 'SESSION', 'SESSION_USER', 'SET', 'SETOF', 'SECURITY_LISTS_INTERSECT', 'SHA', 'SHARD', 'SHARDED', 'SHARDED_ID', 'SHARE', 'SHOW', 'SHUTDOWN', 'SIGNAL', 'SIGNED', 'SIMILAR', 'SIMPLE', 'SITE', 'SKIP', 'SKIPPED_BATCHES', '__SLEEP', 'SMALLINT', 'SNAPSHOT', '_SNAPSHOT', '_SNAPSHOTS', 'SOFT_CPU_LIMIT_PERCENTAGE', 'SOME', 'SONAME', 'SPARSE', 'SPATIAL', 'SPATIAL_CHECK_INDEX', 'SPECIFIC', 'SQL', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQLEXCEPTION', 'SQL_MODE', 'SQL_NO_CACHE', 'SQL_NO_LOGGING', 'SQL_SMALL_RESULT', 'SQLSTATE', 'SQLWARNING', 'STDIN', 'STDOUT', 'STOP', 'STORAGE', 'STRAIGHT_JOIN', 'STRICT', 'STRING', 'STRIP', 'SUCCESS', 'SUPER', 'SYMMETRIC', 'SYNC_SNAPSHOT', 'SYNC', '_SYNC', '_SYNC2', '_SYNC_PARTITIONS', '_SYNC_SNAPSHOT', 'SYNCHRONIZE', 'SYSID', 'SYSTEM', 'TABLE', 'TABLE_CHECKSUM', 'TABLES', 'TABLESPACE', 'TAGS', 'TARGET_SIZE', 'TASK', 'TEMP', 'TEMPLATE', 'TEMPORARY', 'TEMPTABLE', '_TERM_BUMP', 'TERMINATE', 'TERMINATED', 'TEXT', 'THEN', 'TIME', 'TIMEOUT', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIMEZONE', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRACELOGS', 'TRADITIONAL', 'TRAILING', 'TRANSFORM', 'TRANSACTION', '_TRANSACTIONS_EXPERIMENTAL', 'TREAT', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TRUNC', 'TRUNCATE', 'TRUSTED', 'TWO_PHASE', '_TWOPCID', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNENCRYPTED', 'UNENFORCED', 'UNHOLD', 'UNICODE', 'UNION', 'UNIQUE', '_UNITTEST', 'UNKNOWN', 'UNLISTEN', '_UNLOAD', 'UNLOCK', 'UNLOGGED', 'UNPIVOT', 'UNSIGNED', 'UNTIL', 'UPDATE', 'UPGRADE', 'USAGE', 'USE', 'USER', 'USERS', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', '_UTF8', 'VACUUM', 'VALID', 'VALIDATE', 'VALIDATOR', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARIADIC', 'VARYING', 'VERBOSE', 'VIEW', 'VOID', 'VOLATILE', 'VOTING', 'WAIT', '_WAKE', 'WARNINGS', 'WEEK', 'WHEN', 'WHERE', 'WHILE', 'WHITESPACE', 'WINDOW', 'WITH', 'WITHOUT', 'WITHIN', '_WM_HEARTBEAT', 'WORK', 'WORKLOAD', 'WRAPPER', 'WRITE', 'XACT_ID', 'XOR', 'YEAR', 'YEAR_MONTH', 'YES', 'ZEROFILL', 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=singlestoredb.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _token = require(\"../../lexer/token\");\n\nvar _spark = require(\"./spark.keywords\");\n\nvar _spark2 = require(\"./spark.functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// http://spark.apache.org/docs/latest/sql-ref-syntax.html\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'SORT BY', 'CLUSTER BY', 'DISTRIBUTE BY', 'LIMIT', // Data manipulation\n// - insert:\n'INSERT [INTO | OVERWRITE] [TABLE]', 'VALUES', // - truncate:\n'TRUNCATE TABLE', // - insert overwrite directory:\n// https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-overwrite-directory.html\n'INSERT OVERWRITE [LOCAL] DIRECTORY', // - load:\n// https://spark.apache.org/docs/latest/sql-ref-syntax-dml-load.html\n'LOAD DATA [LOCAL] INPATH', '[OVERWRITE] INTO TABLE', // Data definition\n'CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]', 'CREATE [EXTERNAL] TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD COLUMNS', 'DROP {COLUMN | COLUMNS}', 'RENAME TO', 'RENAME COLUMN', 'ALTER COLUMN', 'ALTER DATABASE', 'ALTER VIEW', 'CREATE DATABASE', 'CREATE FUNCTION', 'DROP DATABASE', 'DROP FUNCTION', 'DROP VIEW', 'REPAIR TABLE', 'USE DATABASE', // Data Retrieval\n'TABLESAMPLE', 'PIVOT', 'TRANSFORM', 'EXPLAIN', // Auxiliary\n'ADD FILE', 'ADD JAR', 'ANALYZE TABLE', 'CACHE TABLE', 'CLEAR CACHE', 'DESCRIBE DATABASE', 'DESCRIBE FUNCTION', 'DESCRIBE QUERY', 'DESCRIBE TABLE', 'LIST FILE', 'LIST JAR', 'REFRESH', 'REFRESH TABLE', 'REFRESH FUNCTION', 'RESET', 'SHOW COLUMNS', 'SHOW CREATE TABLE', 'SHOW DATABASES', 'SHOW FUNCTIONS', 'SHOW PARTITIONS', 'SHOW TABLE EXTENDED', 'SHOW TABLES', 'SHOW TBLPROPERTIES', 'SHOW VIEWS', 'UNCACHE TABLE', // other\n'LATERAL VIEW']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN', // non-standard-joins\n'[LEFT] {ANTI | SEMI} JOIN', 'NATURAL [LEFT] {ANTI | SEMI} JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', 'CURRENT ROW', '{ROWS | RANGE} BETWEEN']); // http://spark.apache.org/docs/latest/sql-programming-guide.html\n\nvar SparkFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(SparkFormatter, _Formatter);\n\n var _super = _createSuper(SparkFormatter);\n\n function SparkFormatter() {\n _classCallCheck(this, SparkFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SparkFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n supportsXor: true,\n reservedKeywords: _spark.keywords,\n reservedFunctionNames: _spark2.functions,\n extraParens: ['[]'],\n stringTypes: [\"''-bs\", '\"\"-bs', {\n quote: \"''-raw\",\n prefixes: ['R', 'X'],\n requirePrefix: true\n }, {\n quote: '\"\"-raw',\n prefixes: ['R', 'X'],\n requirePrefix: true\n }],\n identTypes: ['``'],\n variableTypes: [{\n quote: '{}',\n prefixes: ['$'],\n requirePrefix: true\n }],\n operators: ['%', '~', '^', '|', '&', '<=>', '==', '!', '||', '->'],\n postProcess: postProcess\n });\n }\n }]);\n\n return SparkFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = SparkFormatter;\n\nfunction postProcess(tokens) {\n return tokens.map(function (token, i) {\n var prevToken = tokens[i - 1] || _token.EOF_TOKEN;\n var nextToken = tokens[i + 1] || _token.EOF_TOKEN; // [WINDOW](...)\n\n if (_token.isToken.WINDOW(token) && nextToken.type === _token.TokenType.OPEN_PAREN) {\n // This is a function call, treat it as a reserved function name\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME\n });\n } // TODO: deprecate this once ITEMS is merged with COLLECTION\n\n\n if (token.text === 'ITEMS' && token.type === _token.TokenType.RESERVED_KEYWORD) {\n if (!(prevToken.text === 'COLLECTION' && nextToken.text === 'TERMINATED')) {\n // this is a word and not COLLECTION ITEMS\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.IDENTIFIER,\n text: token.raw\n });\n }\n }\n\n return token;\n });\n}\n\nmodule.exports = exports.default;\n//# sourceMappingURL=spark.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // http://spark.apache.org/docs/latest/sql-ref-functions.html\n //\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#aggregate-functions\n aggregate: [// 'ANY',\n 'APPROX_COUNT_DISTINCT', 'APPROX_PERCENTILE', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'BOOL_AND', 'BOOL_OR', 'COLLECT_LIST', 'COLLECT_SET', 'CORR', 'COUNT', 'COUNT', 'COUNT', 'COUNT_IF', 'COUNT_MIN_SKETCH', 'COVAR_POP', 'COVAR_SAMP', 'EVERY', 'FIRST', 'FIRST_VALUE', 'GROUPING', 'GROUPING_ID', 'KURTOSIS', 'LAST', 'LAST_VALUE', 'MAX', 'MAX_BY', 'MEAN', 'MIN', 'MIN_BY', 'PERCENTILE', 'PERCENTILE', 'PERCENTILE_APPROX', 'SKEWNESS', // 'SOME',\n 'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#window-functions\n window: ['CUME_DIST', 'DENSE_RANK', 'LAG', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'RANK', 'ROW_NUMBER'],\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#array-functions\n array: ['ARRAY', 'ARRAY_CONTAINS', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_INTERSECT', 'ARRAY_JOIN', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_POSITION', 'ARRAY_REMOVE', 'ARRAY_REPEAT', 'ARRAY_UNION', 'ARRAYS_OVERLAP', 'ARRAYS_ZIP', 'FLATTEN', 'SEQUENCE', 'SHUFFLE', 'SLICE', 'SORT_ARRAY'],\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#map-functions\n map: ['ELEMENT_AT', 'ELEMENT_AT', 'MAP', 'MAP_CONCAT', 'MAP_ENTRIES', 'MAP_FROM_ARRAYS', 'MAP_FROM_ENTRIES', 'MAP_KEYS', 'MAP_VALUES', 'STR_TO_MAP'],\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#date-and-timestamp-functions\n datetime: ['ADD_MONTHS', 'CURRENT_DATE', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_FROM_UNIX_DATE', 'DATE_PART', 'DATE_SUB', 'DATE_TRUNC', 'DATEDIFF', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'EXTRACT', 'FROM_UNIXTIME', 'FROM_UTC_TIMESTAMP', 'HOUR', 'LAST_DAY', 'MAKE_DATE', 'MAKE_DT_INTERVAL', 'MAKE_INTERVAL', 'MAKE_TIMESTAMP', 'MAKE_YM_INTERVAL', 'MINUTE', 'MONTH', 'MONTHS_BETWEEN', 'NEXT_DAY', 'NOW', 'QUARTER', 'SECOND', 'SESSION_WINDOW', 'TIMESTAMP_MICROS', 'TIMESTAMP_MILLIS', 'TIMESTAMP_SECONDS', 'TO_DATE', 'TO_TIMESTAMP', 'TO_UNIX_TIMESTAMP', 'TO_UTC_TIMESTAMP', 'TRUNC', 'UNIX_DATE', 'UNIX_MICROS', 'UNIX_MILLIS', 'UNIX_SECONDS', 'UNIX_TIMESTAMP', 'WEEKDAY', 'WEEKOFYEAR', 'WINDOW', 'YEAR'],\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#json-functions\n json: ['FROM_JSON', 'GET_JSON_OBJECT', 'JSON_ARRAY_LENGTH', 'JSON_OBJECT_KEYS', 'JSON_TUPLE', 'SCHEMA_OF_JSON', 'TO_JSON'],\n // http://spark.apache.org/docs/latest/api/sql/index.html\n misc: ['ABS', 'ACOS', 'ACOSH', 'AGGREGATE', 'ARRAY_SORT', 'ASCII', 'ASIN', 'ASINH', 'ASSERT_TRUE', 'ATAN', 'ATAN2', 'ATANH', 'BASE64', 'BIGINT', 'BIN', 'BINARY', 'BIT_COUNT', 'BIT_GET', 'BIT_LENGTH', 'BOOLEAN', 'BROUND', 'BTRIM', 'CARDINALITY', 'CBRT', 'CEIL', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'CONV', 'COS', 'COSH', 'COT', 'CRC32', 'CURRENT_CATALOG', 'CURRENT_DATABASE', 'CURRENT_USER', 'DATE', 'DECIMAL', 'DEGREES', 'DOUBLE', // 'E',\n 'ELT', 'EXP', 'EXPM1', 'FACTORIAL', 'FIND_IN_SET', 'FLOAT', 'FLOOR', 'FORALL', 'FORMAT_NUMBER', 'FORMAT_STRING', 'FROM_CSV', 'GETBIT', 'HASH', 'HEX', 'HYPOT', 'INITCAP', 'INLINE', 'INLINE_OUTER', 'INPUT_FILE_BLOCK_LENGTH', 'INPUT_FILE_BLOCK_START', 'INPUT_FILE_NAME', 'INSTR', 'INT', 'ISNAN', 'ISNOTNULL', 'ISNULL', 'JAVA_METHOD', 'LCASE', 'LEFT', 'LENGTH', 'LEVENSHTEIN', 'LN', 'LOCATE', 'LOG', 'LOG10', 'LOG1P', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'MAP_FILTER', 'MAP_ZIP_WITH', 'MD5', 'MOD', 'MONOTONICALLY_INCREASING_ID', 'NAMED_STRUCT', 'NANVL', 'NEGATIVE', 'NVL', 'NVL2', 'OCTET_LENGTH', 'OVERLAY', 'PARSE_URL', 'PI', 'PMOD', 'POSEXPLODE', 'POSEXPLODE_OUTER', 'POSITION', 'POSITIVE', 'POW', 'POWER', 'PRINTF', 'RADIANS', 'RAISE_ERROR', 'RAND', 'RANDN', 'RANDOM', 'REFLECT', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RINT', 'ROUND', 'RPAD', 'RTRIM', 'SCHEMA_OF_CSV', 'SENTENCES', 'SHA', 'SHA1', 'SHA2', 'SHIFTLEFT', 'SHIFTRIGHT', 'SHIFTRIGHTUNSIGNED', 'SIGN', 'SIGNUM', 'SIN', 'SINH', 'SMALLINT', 'SOUNDEX', 'SPACE', 'SPARK_PARTITION_ID', 'SPLIT', 'SQRT', 'STACK', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'TAN', 'TANH', 'TIMESTAMP', 'TINYINT', 'TO_CSV', 'TRANSFORM_KEYS', 'TRANSFORM_VALUES', 'TRANSLATE', 'TRIM', 'TRY_ADD', 'TRY_DIVIDE', 'TYPEOF', 'UCASE', 'UNBASE64', 'UNHEX', 'UPPER', 'UUID', 'VERSION', 'WIDTH_BUCKET', 'XPATH', 'XPATH_BOOLEAN', 'XPATH_DOUBLE', 'XPATH_FLOAT', 'XPATH_INT', 'XPATH_LONG', 'XPATH_NUMBER', 'XPATH_SHORT', 'XPATH_STRING', 'XXHASH64', 'ZIP_WITH'],\n cast: ['CAST'],\n // Shorthand functions to use in place of CASE expression\n caseAbbrev: ['COALESCE', 'NULLIF'],\n // Parameterized data types\n // https://spark.apache.org/docs/latest/sql-ref-datatypes.html\n dataTypes: ['DECIMAL', 'DEC', 'NUMERIC', // No varchar type in Spark, only STRING. Added for the sake of tests\n 'VARCHAR']\n});\nexports.functions = functions;\n//# sourceMappingURL=spark.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://deepkb.com/CO_000013/en/kb/IMPORT-fbfa59f0-2bf1-31fe-bb7b-0f9efe9932c6/spark-sql-keywords\n all: ['ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', 'DATABASES', 'DAY', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DIV', 'DROP', 'ESCAPE', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILTER', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HOUR', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LINES', 'LIST', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MATCHED', 'MERGE', 'MINUTE', 'MONTH', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', 'NOT', 'NULL', 'NULLS', 'OF', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'OWNER', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PROPERTIES', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'RENAME', 'REPAIR', 'REPLACE', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TBLPROPERTIES', 'TEMPORARY', 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRIM', 'TRUE', 'TRUNCATE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'USE', 'USER', 'USING', 'VIEW', 'WINDOW', 'YEAR', // other\n 'ANALYSE', 'ARRAY_ZIP', 'COALESCE', 'CONTAINS', 'CONVERT', 'DAYS', 'DAY_HOUR', 'DAY_MINUTE', 'DAY_SECOND', 'DECODE', 'DEFAULT', 'DISTINCTROW', 'ENCODE', 'EXPLODE', 'EXPLODE_OUTER', 'FIXED', 'GREATEST', 'GROUP_CONCAT', 'HOURS', 'HOUR_MINUTE', 'HOUR_SECOND', 'IFNULL', 'LEAST', 'LEVEL', 'MINUTE_SECOND', 'NULLIF', 'OFFSET', 'ON', 'OPTIMIZE', 'REGEXP', 'SEPARATOR', 'SIZE', 'STRING', 'TYPE', 'TYPES', 'UNSIGNED', 'VARIABLES', 'YEAR_MONTH']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=spark.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _sql = require(\"./sql.functions\");\n\nvar _sql2 = require(\"./sql.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE', 'SET', 'WHERE CURRENT OF', // - delete:\n'DELETE FROM', // - truncate:\n'TRUNCATE TABLE', // Data definition\n'CREATE [RECURSIVE] VIEW', 'CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE', 'DROP TABLE', // - alter table:\n'ALTER TABLE', 'ADD COLUMN', 'DROP [COLUMN]', 'RENAME COLUMN', 'RENAME TO', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n'ADD SCOPE', // for alter column\n'DROP SCOPE {CASCADE | RESTRICT}', // for alter column\n'RESTART WITH', // for alter column\n// other\n'SET SCHEMA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', '{ROWS | RANGE} BETWEEN']);\n\nvar SqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(SqlFormatter, _Formatter);\n\n var _super = _createSuper(SqlFormatter);\n\n function SqlFormatter() {\n _classCallCheck(this, SqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _sql2.keywords,\n reservedFunctionNames: _sql.functions,\n stringTypes: [{\n quote: \"''-qq-bs\",\n prefixes: ['N', 'U&']\n }, {\n quote: \"''-raw\",\n prefixes: ['X'],\n requirePrefix: true\n }],\n identTypes: [\"\\\"\\\"-qq\", '``'],\n paramTypes: {\n positional: true\n },\n operators: ['||']\n });\n }\n }]);\n\n return SqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = SqlFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=sql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_9_set_function_specification\n set: ['GROUPING'],\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_10_window_function\n window: ['RANK', 'DENSE_RANK', 'PERCENT_RANK', 'CUME_DIST', 'ROW_NUMBER'],\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_27_numeric_value_function\n numeric: ['POSITION', 'OCCURRENCES_REGEX', 'POSITION_REGEX', 'EXTRACT', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'OCTET_LENGTH', 'CARDINALITY', 'ABS', 'MOD', 'LN', 'EXP', 'POWER', 'SQRT', 'FLOOR', 'CEIL', 'CEILING', 'WIDTH_BUCKET'],\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_29_string_value_function\n string: ['SUBSTRING', 'SUBSTRING_REGEX', 'UPPER', 'LOWER', 'CONVERT', 'TRANSLATE', 'TRANSLATE_REGEX', 'TRIM', 'OVERLAY', 'NORMALIZE', 'SPECIFICTYPE'],\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_31_datetime_value_function\n datetime: ['CURRENT_DATE', 'CURRENT_TIME', 'LOCALTIME', 'CURRENT_TIMESTAMP', 'LOCALTIMESTAMP'],\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_38_multiset_value_function\n // SET serves multiple roles: a SET() function and a SET keyword e.g. in UPDATE table SET ...\n // multiset: ['SET'], (disabled for now)\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_10_9_aggregate_function\n aggregate: ['COUNT', 'AVG', 'MAX', 'MIN', 'SUM', // 'EVERY',\n // 'ANY',\n // 'SOME',\n 'STDDEV_POP', 'STDDEV_SAMP', 'VAR_SAMP', 'VAR_POP', 'COLLECT', 'FUSION', 'INTERSECTION', 'COVAR_POP', 'COVAR_SAMP', 'CORR', 'REGR_SLOPE', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_R2', 'REGR_AVGX', 'REGR_AVGY', 'REGR_SXX', 'REGR_SYY', 'REGR_SXY', 'PERCENTILE_CONT', 'PERCENTILE_DISC'],\n // CAST is a pretty complex case, involving multiple forms:\n // - CAST(col AS int)\n // - CAST(...) WITH ...\n // - CAST FROM int\n // - CREATE CAST(mycol AS int) WITH ...\n cast: ['CAST'],\n // Shorthand functions to use in place of CASE expression\n caseAbbrev: ['COALESCE', 'NULLIF'],\n // Non-standard functions that have widespread support\n nonStandard: ['ROUND', 'SIN', 'COS', 'TAN', 'ASIN', 'ACOS', 'ATAN'],\n // Data types with parameters like VARCHAR(100)\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#predefined-type\n dataTypes: ['CHARACTER', 'CHAR', 'CHARACTER VARYING', 'CHAR VARYING', 'VARCHAR', 'CHARACTER LARGE OBJECT', 'CHAR LARGE OBJECT', 'CLOB', 'NATIONAL CHARACTER', 'NATIONAL CHAR', 'NCHAR', 'NATIONAL CHARACTER VARYING', 'NATIONAL CHAR VARYING', 'NCHAR VARYING', 'NATIONAL CHARACTER LARGE OBJECT', 'NCHAR LARGE OBJECT', 'NCLOB', 'BINARY', 'BINARY VARYING', 'VARBINARY', 'BINARY LARGE OBJECT', 'BLOB', 'NUMERIC', 'DECIMAL', 'DEC', 'TIME', 'TIMESTAMP']\n});\nexports.functions = functions;\n//# sourceMappingURL=sql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#reserved-word\n all: ['ALL', 'ALLOCATE', 'ALTER', 'ANY', // <- moved over from functions\n 'ARE', 'ARRAY', 'AS', 'ASENSITIVE', 'ASYMMETRIC', 'AT', 'ATOMIC', 'AUTHORIZATION', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BY', 'CALL', 'CALLED', 'CASCADED', 'CAST', 'CHAR', 'CHARACTER', 'CHECK', 'CLOB', 'CLOSE', 'COALESCE', 'COLLATE', 'COLUMN', 'COMMIT', 'CONDITION', 'CONNECT', 'CONSTRAINT', 'CORRESPONDING', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DEFAULT_TRANSFORM_GROUP', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_TRANSFORM_GROUP_FOR_TYPE', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DELETE', 'DEREF', 'DESCRIBE', 'DETERMINISTIC', 'DISCONNECT', 'DISTINCT', 'DOUBLE', 'DROP', 'DYNAMIC', 'EACH', 'ELEMENT', 'END-EXEC', 'ESCAPE', 'EVERY', // <- moved over from functions\n 'EXCEPT', 'EXEC', 'EXECUTE', 'EXISTS', 'EXTERNAL', 'FALSE', 'FETCH', 'FILTER', 'FLOAT', 'FOR', 'FOREIGN', 'FREE', 'FROM', 'FULL', 'FUNCTION', 'GET', 'GLOBAL', 'GRANT', 'GROUP', 'HAVING', 'HOLD', 'HOUR', 'IDENTITY', 'IN', 'INDICATOR', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'LANGUAGE', 'LARGE', 'LATERAL', 'LEADING', 'LEFT', 'LIKE', 'LIKE_REGEX', 'LOCAL', 'MATCH', 'MEMBER', 'MERGE', 'METHOD', 'MINUTE', 'MODIFIES', 'MODULE', 'MONTH', 'MULTISET', 'NATIONAL', 'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NO', 'NONE', 'NOT', 'NULL', 'NULLIF', 'NUMERIC', 'OF', 'OLD', 'ON', 'ONLY', 'OPEN', 'ORDER', 'OUT', 'OUTER', 'OVER', 'OVERLAPS', 'PARAMETER', 'PARTITION', 'PRECISION', 'PREPARE', 'PRIMARY', 'PROCEDURE', 'RANGE', 'READS', 'REAL', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELEASE', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SAVEPOINT', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SELECT', 'SENSITIVE', 'SESSION_USER', 'SET', 'SIMILAR', 'SMALLINT', 'SOME', // <- moved over from functions\n 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATIC', 'SUBMULTISET', 'SYMMETRIC', 'SYSTEM', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'UESCAPE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARYING', 'WHENEVER', 'WINDOW', 'WITHIN', 'WITHOUT', 'YEAR']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=sql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _sqlite = require(\"./sqlite.functions\");\n\nvar _sqlite2 = require(\"./sqlite.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO', 'REPLACE INTO', 'VALUES', // - update:\n'UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]', 'SET', // - delete:\n'DELETE FROM', // Data definition\n'CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME [COLUMN]', 'RENAME TO', // other\n'SET SCHEMA']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT', 'INTERSECT']); // joins - https://www.sqlite.org/syntax/join-operator.html\n\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', '{ROWS | RANGE | GROUPS} BETWEEN']);\n\nvar SqliteFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(SqliteFormatter, _Formatter);\n\n var _super = _createSuper(SqliteFormatter);\n\n function SqliteFormatter() {\n _classCallCheck(this, SqliteFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SqliteFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _sqlite2.keywords,\n reservedFunctionNames: _sqlite.functions,\n stringTypes: [\"''-qq\", {\n quote: \"''-raw\",\n prefixes: ['X'],\n requirePrefix: true\n } // Depending on context SQLite also supports double-quotes for strings,\n // and single-quotes for identifiers.\n ],\n identTypes: [\"\\\"\\\"-qq\", '``', '[]'],\n // https://www.sqlite.org/lang_expr.html#parameters\n paramTypes: {\n positional: true,\n numbered: ['?'],\n named: [':', '@', '$']\n },\n operators: ['%', '~', '&', '|', '<<', '>>', '==', '->', '->>', '||']\n });\n }\n }]);\n\n return SqliteFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = SqliteFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=sqlite.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://www.sqlite.org/lang_corefunc.html\n scalar: ['ABS', 'CHANGES', 'CHAR', 'COALESCE', 'FORMAT', 'GLOB', 'HEX', 'IFNULL', 'IIF', 'INSTR', 'LAST_INSERT_ROWID', 'LENGTH', 'LIKE', 'LIKELIHOOD', 'LIKELY', 'LOAD_EXTENSION', 'LOWER', 'LTRIM', 'NULLIF', 'PRINTF', 'QUOTE', 'RANDOM', 'RANDOMBLOB', 'REPLACE', 'ROUND', 'RTRIM', 'SIGN', 'SOUNDEX', 'SQLITE_COMPILEOPTION_GET', 'SQLITE_COMPILEOPTION_USED', 'SQLITE_OFFSET', 'SQLITE_SOURCE_ID', 'SQLITE_VERSION', 'SUBSTR', 'SUBSTRING', 'TOTAL_CHANGES', 'TRIM', 'TYPEOF', 'UNICODE', 'UNLIKELY', 'UPPER', 'ZEROBLOB'],\n // https://www.sqlite.org/lang_aggfunc.html\n aggregate: ['AVG', 'COUNT', 'GROUP_CONCAT', 'MAX', 'MIN', 'SUM', 'TOTAL'],\n // https://www.sqlite.org/lang_datefunc.html\n datetime: ['DATE', 'TIME', 'DATETIME', 'JULIANDAY', 'UNIXEPOCH', 'STRFTIME'],\n // https://www.sqlite.org/windowfunctions.html#biwinfunc\n window: ['row_number', 'rank', 'dense_rank', 'percent_rank', 'cume_dist', 'ntile', 'lag', 'lead', 'first_value', 'last_value', 'nth_value'],\n // https://www.sqlite.org/lang_mathfunc.html\n math: ['ACOS', 'ACOSH', 'ASIN', 'ASINH', 'ATAN', 'ATAN2', 'ATANH', 'CEIL', 'CEILING', 'COS', 'COSH', 'DEGREES', 'EXP', 'FLOOR', 'LN', 'LOG', 'LOG', 'LOG10', 'LOG2', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH', 'TRUNC'],\n // https://www.sqlite.org/json1.html\n json: ['JSON', 'JSON_ARRAY', 'JSON_ARRAY_LENGTH', 'JSON_ARRAY_LENGTH', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_OBJECT', 'JSON_PATCH', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SET', 'JSON_TYPE', 'JSON_TYPE', 'JSON_VALID', 'JSON_QUOTE', 'JSON_GROUP_ARRAY', 'JSON_GROUP_OBJECT', 'JSON_EACH', 'JSON_TREE'],\n cast: ['CAST'],\n // SQLite allows parameters for all data types\n // Well, in fact it allows any word as a data type, e.g. CREATE TABLE foo (col1 madeupname(123));\n // https://www.sqlite.org/datatype3.html\n dataTypes: ['CHARACTER', 'VARCHAR', 'VARYING CHARACTER', 'NCHAR', 'NATIVE CHARACTER', 'NVARCHAR', 'NUMERIC', 'DECIMAL']\n});\nexports.functions = functions;\n//# sourceMappingURL=sqlite.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://www.sqlite.org/lang_keywords.html\n all: ['ABORT', 'ACTION', 'ADD', 'AFTER', 'ALL', 'ALTER', 'AND', 'ANY', 'ARE', 'ARRAY', 'ALWAYS', 'ANALYZE', 'AS', 'ASC', 'ATTACH', 'AUTOINCREMENT', 'BEFORE', 'BEGIN', 'BETWEEN', 'BY', 'CASCADE', 'CASE', 'CAST', 'CHECK', 'COLLATE', 'COLUMN', 'COMMIT', 'CONFLICT', 'CONSTRAINT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATABASE', 'DEFAULT', 'DEFERRABLE', 'DEFERRED', 'DELETE', 'DESC', 'DETACH', 'DISTINCT', 'DO', 'DROP', 'EACH', 'ELSE', 'END', 'ESCAPE', 'EXCEPT', 'EXCLUDE', 'EXCLUSIVE', 'EXISTS', 'EXPLAIN', 'FAIL', 'FILTER', 'FIRST', 'FOLLOWING', 'FOR', 'FOREIGN', 'FROM', 'FULL', 'GENERATED', 'GLOB', 'GROUP', 'GROUPS', 'HAVING', 'IF', 'IGNORE', 'IMMEDIATE', 'IN', 'INDEX', 'INDEXED', 'INITIALLY', 'INNER', 'INSERT', 'INSTEAD', 'INTERSECT', 'INTO', 'IS', 'ISNULL', 'JOIN', 'KEY', 'LAST', 'LEFT', 'LIKE', 'LIMIT', 'MATCH', 'MATERIALIZED', 'NATURAL', 'NO', 'NOT', 'NOTHING', 'NOTNULL', 'NULL', 'NULLS', 'OF', 'OFFSET', 'ON', 'ONLY', 'OPEN', 'OR', 'ORDER', 'OTHERS', 'OUTER', 'OVER', 'PARTITION', 'PLAN', 'PRAGMA', 'PRECEDING', 'PRIMARY', 'QUERY', 'RAISE', 'RANGE', 'RECURSIVE', 'REFERENCES', 'REGEXP', 'REINDEX', 'RELEASE', 'RENAME', 'REPLACE', 'RESTRICT', 'RETURNING', 'RIGHT', 'ROLLBACK', 'ROW', 'ROWS', 'SAVEPOINT', 'SELECT', 'SET', 'TABLE', 'TEMP', 'TEMPORARY', 'THEN', 'TIES', 'TO', 'TRANSACTION', 'TRIGGER', 'UNBOUNDED', 'UNION', 'UNIQUE', 'UPDATE', 'USING', 'VACUUM', 'VALUES', 'VIEW', 'VIRTUAL', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHOUT']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=sqlite.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _transactsql = require(\"./transactsql.functions\");\n\nvar _transactsql2 = require(\"./transactsql.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']);\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT [INTO]', 'VALUES', // - update:\n'UPDATE', 'SET', 'WHERE CURRENT OF', // - delete:\n'DELETE [FROM]', // - truncate:\n'TRUNCATE TABLE', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]', 'UPDATE SET', // Data definition\n'CREATE [OR ALTER] [MATERIALIZED] VIEW', 'CREATE TABLE', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD', 'DROP COLUMN [IF EXISTS]', 'ALTER COLUMN', // https://docs.microsoft.com/en-us/sql/t-sql/statements/statements?view=sql-server-ver15\n'ADD SENSITIVITY CLASSIFICATION', 'ADD SIGNATURE', 'AGGREGATE', 'ANSI_DEFAULTS', 'ANSI_NULLS', 'ANSI_NULL_DFLT_OFF', 'ANSI_NULL_DFLT_ON', 'ANSI_PADDING', 'ANSI_WARNINGS', 'APPLICATION ROLE', 'ARITHABORT', 'ARITHIGNORE', 'ASSEMBLY', 'ASYMMETRIC KEY', 'AUTHORIZATION', 'AVAILABILITY GROUP', 'BACKUP', 'BACKUP CERTIFICATE', 'BACKUP MASTER KEY', 'BACKUP SERVICE MASTER KEY', 'BEGIN CONVERSATION TIMER', 'BEGIN DIALOG CONVERSATION', 'BROKER PRIORITY', 'BULK INSERT', 'CERTIFICATE', 'CLOSE MASTER KEY', 'CLOSE SYMMETRIC KEY', 'COLLATE', 'COLUMN ENCRYPTION KEY', 'COLUMN MASTER KEY', 'COLUMNSTORE INDEX', 'CONCAT_NULL_YIELDS_NULL', 'CONTEXT_INFO', 'CONTRACT', 'CREDENTIAL', 'CRYPTOGRAPHIC PROVIDER', 'CURSOR_CLOSE_ON_COMMIT', 'DATABASE', 'DATABASE AUDIT SPECIFICATION', 'DATABASE ENCRYPTION KEY', 'DATABASE HADR', 'DATABASE SCOPED CONFIGURATION', 'DATABASE SCOPED CREDENTIAL', 'DATABASE SET', 'DATEFIRST', 'DATEFORMAT', 'DEADLOCK_PRIORITY', 'DENY', 'DENY XML', 'DISABLE TRIGGER', 'ENABLE TRIGGER', 'END CONVERSATION', 'ENDPOINT', 'EVENT NOTIFICATION', 'EVENT SESSION', 'EXECUTE AS', 'EXTERNAL DATA SOURCE', 'EXTERNAL FILE FORMAT', 'EXTERNAL LANGUAGE', 'EXTERNAL LIBRARY', 'EXTERNAL RESOURCE POOL', 'EXTERNAL TABLE', 'FIPS_FLAGGER', 'FMTONLY', 'FORCEPLAN', 'FULLTEXT CATALOG', 'FULLTEXT INDEX', 'FULLTEXT STOPLIST', 'FUNCTION', 'GET CONVERSATION GROUP', 'GET_TRANSMISSION_STATUS', 'GRANT', 'GRANT XML', 'IDENTITY_INSERT', 'IMPLICIT_TRANSACTIONS', 'INDEX', 'LANGUAGE', 'LOCK_TIMEOUT', 'LOGIN', 'MASTER KEY', 'MESSAGE TYPE', 'MOVE CONVERSATION', 'NOCOUNT', 'NOEXEC', 'NUMERIC_ROUNDABORT', 'OFFSETS', 'OPEN MASTER KEY', 'OPEN SYMMETRIC KEY', 'PARSEONLY', 'PARTITION FUNCTION', 'PARTITION SCHEME', 'PROCEDURE', 'QUERY_GOVERNOR_COST_LIMIT', 'QUEUE', 'QUOTED_IDENTIFIER', 'RECEIVE', 'REMOTE SERVICE BINDING', 'REMOTE_PROC_TRANSACTIONS', 'RESOURCE GOVERNOR', 'RESOURCE POOL', 'RESTORE', 'RESTORE FILELISTONLY', 'RESTORE HEADERONLY', 'RESTORE LABELONLY', 'RESTORE MASTER KEY', 'RESTORE REWINDONLY', 'RESTORE SERVICE MASTER KEY', 'RESTORE VERIFYONLY', 'REVERT', 'REVOKE', 'REVOKE XML', 'ROLE', 'ROUTE', 'ROWCOUNT', 'RULE', 'SCHEMA', 'SEARCH PROPERTY LIST', 'SECURITY POLICY', 'SELECTIVE XML INDEX', 'SEND', 'SENSITIVITY CLASSIFICATION', 'SEQUENCE', 'SERVER AUDIT', 'SERVER AUDIT SPECIFICATION', 'SERVER CONFIGURATION', 'SERVER ROLE', 'SERVICE', 'SERVICE MASTER KEY', 'SETUSER', 'SHOWPLAN_ALL', 'SHOWPLAN_TEXT', 'SHOWPLAN_XML', 'SIGNATURE', 'SPATIAL INDEX', 'STATISTICS', 'STATISTICS IO', 'STATISTICS PROFILE', 'STATISTICS TIME', 'STATISTICS XML', 'SYMMETRIC KEY', 'SYNONYM', 'TABLE', 'TABLE IDENTITY', 'TEXTSIZE', 'TRANSACTION ISOLATION LEVEL', 'TRIGGER', 'TYPE', 'UPDATE STATISTICS', 'USER', 'WORKLOAD GROUP', 'XACT_ABORT', 'XML INDEX', 'XML SCHEMA COLLECTION']);\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL]', 'EXCEPT', 'INTERSECT']);\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', // non-standard joins\n'{CROSS | OUTER} APPLY']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['ON DELETE', 'ON UPDATE', '{ROWS | RANGE} BETWEEN']); // https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver15\n\nvar TransactSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(TransactSqlFormatter, _Formatter);\n\n var _super = _createSuper(TransactSqlFormatter);\n\n function TransactSqlFormatter() {\n _classCallCheck(this, TransactSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TransactSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _transactsql2.keywords,\n reservedFunctionNames: _transactsql.functions,\n nestedBlockComments: true,\n stringTypes: [{\n quote: \"''-qq\",\n prefixes: ['N']\n }],\n identTypes: [\"\\\"\\\"-qq\", '[]'],\n identChars: {\n first: '#@',\n rest: '#@$'\n },\n paramTypes: {\n named: ['@'],\n quoted: ['@']\n },\n operators: ['%', '&', '|', '^', '~', '!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::'] // TODO: Support for money constants\n\n });\n }\n }]);\n\n return TransactSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = TransactSqlFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=transactsql.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://docs.microsoft.com/en-us/sql/t-sql/functions/functions?view=sql-server-ver15\n aggregate: ['APPROX_COUNT_DISTINCT', 'AVG', 'CHECKSUM_AGG', 'COUNT', 'COUNT_BIG', 'GROUPING', 'GROUPING_ID', 'MAX', 'MIN', 'STDEV', 'STDEVP', 'SUM', 'VAR', 'VARP'],\n analytic: ['CUME_DIST', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'Collation - COLLATIONPROPERTY', 'Collation - TERTIARY_WEIGHTS'],\n configuration: ['@@DBTS', '@@LANGID', '@@LANGUAGE', '@@LOCK_TIMEOUT', '@@MAX_CONNECTIONS', '@@MAX_PRECISION', '@@NESTLEVEL', '@@OPTIONS', '@@REMSERVER', '@@SERVERNAME', '@@SERVICENAME', '@@SPID', '@@TEXTSIZE', '@@VERSION'],\n conversion: ['CAST', 'CONVERT', 'PARSE', 'TRY_CAST', 'TRY_CONVERT', 'TRY_PARSE'],\n cryptographic: ['ASYMKEY_ID', 'ASYMKEYPROPERTY', 'CERTPROPERTY', 'CERT_ID', 'CRYPT_GEN_RANDOM', 'DECRYPTBYASYMKEY', 'DECRYPTBYCERT', 'DECRYPTBYKEY', 'DECRYPTBYKEYAUTOASYMKEY', 'DECRYPTBYKEYAUTOCERT', 'DECRYPTBYPASSPHRASE', 'ENCRYPTBYASYMKEY', 'ENCRYPTBYCERT', 'ENCRYPTBYKEY', 'ENCRYPTBYPASSPHRASE', 'HASHBYTES', 'IS_OBJECTSIGNED', 'KEY_GUID', 'KEY_ID', 'KEY_NAME', 'SIGNBYASYMKEY', 'SIGNBYCERT', 'SYMKEYPROPERTY', 'VERIFYSIGNEDBYCERT', 'VERIFYSIGNEDBYASYMKEY'],\n cursor: ['@@CURSOR_ROWS', '@@FETCH_STATUS', 'CURSOR_STATUS'],\n dataType: ['DATALENGTH', 'IDENT_CURRENT', 'IDENT_INCR', 'IDENT_SEED', 'IDENTITY', 'SQL_VARIANT_PROPERTY'],\n datetime: ['@@DATEFIRST', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'CURRENT_TIMEZONE_ID', 'DATEADD', 'DATEDIFF', 'DATEDIFF_BIG', 'DATEFROMPARTS', 'DATENAME', 'DATEPART', 'DATETIME2FROMPARTS', 'DATETIMEFROMPARTS', 'DATETIMEOFFSETFROMPARTS', 'DAY', 'EOMONTH', 'GETDATE', 'GETUTCDATE', 'ISDATE', 'MONTH', 'SMALLDATETIMEFROMPARTS', 'SWITCHOFFSET', 'SYSDATETIME', 'SYSDATETIMEOFFSET', 'SYSUTCDATETIME', 'TIMEFROMPARTS', 'TODATETIMEOFFSET', 'YEAR', 'JSON', 'ISJSON', 'JSON_VALUE', 'JSON_QUERY', 'JSON_MODIFY'],\n mathematical: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATN2', 'CEILING', 'COS', 'COT', 'DEGREES', 'EXP', 'FLOOR', 'LOG', 'LOG10', 'PI', 'POWER', 'RADIANS', 'RAND', 'ROUND', 'SIGN', 'SIN', 'SQRT', 'SQUARE', 'TAN', 'CHOOSE', 'GREATEST', 'IIF', 'LEAST'],\n metadata: ['@@PROCID', 'APP_NAME', 'APPLOCK_MODE', 'APPLOCK_TEST', 'ASSEMBLYPROPERTY', 'COL_LENGTH', 'COL_NAME', 'COLUMNPROPERTY', 'DATABASEPROPERTYEX', 'DB_ID', 'DB_NAME', 'FILE_ID', 'FILE_IDEX', 'FILE_NAME', 'FILEGROUP_ID', 'FILEGROUP_NAME', 'FILEGROUPPROPERTY', 'FILEPROPERTY', 'FILEPROPERTYEX', 'FULLTEXTCATALOGPROPERTY', 'FULLTEXTSERVICEPROPERTY', 'INDEX_COL', 'INDEXKEY_PROPERTY', 'INDEXPROPERTY', 'NEXT VALUE FOR', 'OBJECT_DEFINITION', 'OBJECT_ID', 'OBJECT_NAME', 'OBJECT_SCHEMA_NAME', 'OBJECTPROPERTY', 'OBJECTPROPERTYEX', 'ORIGINAL_DB_NAME', 'PARSENAME', 'SCHEMA_ID', 'SCHEMA_NAME', 'SCOPE_IDENTITY', 'SERVERPROPERTY', 'STATS_DATE', 'TYPE_ID', 'TYPE_NAME', 'TYPEPROPERTY'],\n ranking: ['DENSE_RANK', 'NTILE', 'RANK', 'ROW_NUMBER', 'PUBLISHINGSERVERNAME'],\n security: ['CERTENCODED', 'CERTPRIVATEKEY', 'CURRENT_USER', 'DATABASE_PRINCIPAL_ID', 'HAS_DBACCESS', 'HAS_PERMS_BY_NAME', 'IS_MEMBER', 'IS_ROLEMEMBER', 'IS_SRVROLEMEMBER', 'LOGINPROPERTY', 'ORIGINAL_LOGIN', 'PERMISSIONS', 'PWDENCRYPT', 'PWDCOMPARE', 'SESSION_USER', 'SESSIONPROPERTY', 'SUSER_ID', 'SUSER_NAME', 'SUSER_SID', 'SUSER_SNAME', 'SYSTEM_USER', 'USER', 'USER_ID', 'USER_NAME'],\n string: ['ASCII', 'CHAR', 'CHARINDEX', 'CONCAT', 'CONCAT_WS', 'DIFFERENCE', 'FORMAT', 'LEFT', 'LEN', 'LOWER', 'LTRIM', 'NCHAR', 'PATINDEX', 'QUOTENAME', 'REPLACE', 'REPLICATE', 'REVERSE', 'RIGHT', 'RTRIM', 'SOUNDEX', 'SPACE', 'STR', 'STRING_AGG', 'STRING_ESCAPE', 'STUFF', 'SUBSTRING', 'TRANSLATE', 'TRIM', 'UNICODE', 'UPPER'],\n system: ['$PARTITION', '@@ERROR', '@@IDENTITY', '@@PACK_RECEIVED', '@@ROWCOUNT', '@@TRANCOUNT', 'BINARY_CHECKSUM', 'CHECKSUM', 'COMPRESS', 'CONNECTIONPROPERTY', 'CONTEXT_INFO', 'CURRENT_REQUEST_ID', 'CURRENT_TRANSACTION_ID', 'DECOMPRESS', 'ERROR_LINE', 'ERROR_MESSAGE', 'ERROR_NUMBER', 'ERROR_PROCEDURE', 'ERROR_SEVERITY', 'ERROR_STATE', 'FORMATMESSAGE', 'GET_FILESTREAM_TRANSACTION_CONTEXT', 'GETANSINULL', 'HOST_ID', 'HOST_NAME', 'ISNULL', 'ISNUMERIC', 'MIN_ACTIVE_ROWVERSION', 'NEWID', 'NEWSEQUENTIALID', 'ROWCOUNT_BIG', 'SESSION_CONTEXT', 'XACT_STATE'],\n statistical: ['@@CONNECTIONS', '@@CPU_BUSY', '@@IDLE', '@@IO_BUSY', '@@PACK_SENT', '@@PACKET_ERRORS', '@@TIMETICKS', '@@TOTAL_ERRORS', '@@TOTAL_READ', '@@TOTAL_WRITE', 'TEXTPTR', 'TEXTVALID'],\n trigger: ['COLUMNS_UPDATED', 'EVENTDATA', 'TRIGGER_NESTLEVEL', 'UPDATE'],\n // Shorthand functions to use in place of CASE expression\n caseAbbrev: ['COALESCE', 'NULLIF'],\n // Parameterized types\n // https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15\n dataTypes: ['DECIMAL', 'NUMERIC', 'FLOAT', 'REAL', 'DATETIME2', 'DATETIMEOFFSET', 'TIME', 'CHAR', 'VARCHAR', 'NCHAR', 'NVARCHAR', 'BINARY', 'VARBINARY']\n});\nexports.functions = functions;\n//# sourceMappingURL=transactsql.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver15\n standard: ['ADD', 'ALL', 'ALTER', 'AND', 'ANY', 'AS', 'ASC', 'AUTHORIZATION', 'BACKUP', 'BEGIN', 'BETWEEN', 'BREAK', 'BROWSE', 'BULK', 'BY', 'CASCADE', 'CHECK', 'CHECKPOINT', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLUMN', 'COMMIT', 'COMPUTE', 'CONSTRAINT', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATABASE', 'DBCC', 'DEALLOCATE', 'DECLARE', 'DEFAULT', 'DELETE', 'DENY', 'DESC', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOUBLE', 'DROP', 'DUMP', 'ERRLVL', 'ESCAPE', 'EXEC', 'EXECUTE', 'EXISTS', 'EXIT', 'EXTERNAL', 'FETCH', 'FILE', 'FILLFACTOR', 'FOR', 'FOREIGN', 'FREETEXT', 'FREETEXTTABLE', 'FROM', 'FULL', 'FUNCTION', 'GOTO', 'GRANT', 'GROUP', 'HAVING', 'HOLDLOCK', 'IDENTITY', 'IDENTITYCOL', 'IDENTITY_INSERT', 'IF', 'IN', 'INDEX', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'JOIN', 'KEY', 'KILL', 'LEFT', 'LIKE', 'LINENO', 'LOAD', 'MERGE', 'NATIONAL', 'NOCHECK', 'NONCLUSTERED', 'NOT', 'NULL', 'NULLIF', 'OF', 'OFF', 'OFFSETS', 'ON', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPTION', 'OR', 'ORDER', 'OUTER', 'OVER', 'PERCENT', 'PIVOT', 'PLAN', 'PRECISION', 'PRIMARY', 'PRINT', 'PROC', 'PROCEDURE', 'PUBLIC', 'RAISERROR', 'READ', 'READTEXT', 'RECONFIGURE', 'REFERENCES', 'REPLICATION', 'RESTORE', 'RESTRICT', 'RETURN', 'REVERT', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROWCOUNT', 'ROWGUIDCOL', 'RULE', 'SAVE', 'SCHEMA', 'SECURITYAUDIT', 'SELECT', 'SEMANTICKEYPHRASETABLE', 'SEMANTICSIMILARITYDETAILSTABLE', 'SEMANTICSIMILARITYTABLE', 'SESSION_USER', 'SET', 'SETUSER', 'SHUTDOWN', 'SOME', 'STATISTICS', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'TEXTSIZE', 'THEN', 'TO', 'TOP', 'TRAN', 'TRANSACTION', 'TRIGGER', 'TRUNCATE', 'TRY_CONVERT', 'TSEQUAL', 'UNION', 'UNIQUE', 'UNPIVOT', 'UPDATE', 'UPDATETEXT', 'USE', 'USER', 'VALUES', 'VARYING', 'VIEW', 'WAITFOR', 'WHERE', 'WHILE', 'WITH', 'WITHIN GROUP', 'WRITETEXT'],\n odbc: ['ABSOLUTE', 'ACTION', 'ADA', 'ADD', 'ALL', 'ALLOCATE', 'ALTER', 'AND', 'ANY', 'ARE', 'AS', 'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'AVG', 'BEGIN', 'BETWEEN', 'BIT', 'BIT_LENGTH', 'BOTH', 'BY', 'CASCADE', 'CASCADED', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHECK', 'CLOSE', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'CONNECT', 'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'COUNT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE', 'DEFERRED', 'DELETE', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DIAGNOSTICS', 'DISCONNECT', 'DISTINCT', 'DOMAIN', 'DOUBLE', 'DROP', 'END-EXEC', 'ESCAPE', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXISTS', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FORTRAN', 'FOUND', 'FROM', 'FULL', 'GET', 'GLOBAL', 'GO', 'GOTO', 'GRANT', 'GROUP', 'HAVING', 'HOUR', 'IDENTITY', 'IMMEDIATE', 'IN', 'INCLUDE', 'INDEX', 'INDICATOR', 'INITIALLY', 'INNER', 'INPUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'JOIN', 'KEY', 'LANGUAGE', 'LAST', 'LEADING', 'LEFT', 'LEVEL', 'LIKE', 'LOCAL', 'LOWER', 'MATCH', 'MAX', 'MIN', 'MINUTE', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NEXT', 'NO', 'NONE', 'NOT', 'NULL', 'NULLIF', 'NUMERIC', 'OCTET_LENGTH', 'OF', 'ONLY', 'OPEN', 'OPTION', 'OR', 'ORDER', 'OUTER', 'OUTPUT', 'OVERLAPS', 'PAD', 'PARTIAL', 'PASCAL', 'POSITION', 'PRECISION', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURE', 'PUBLIC', 'READ', 'REAL', 'REFERENCES', 'RELATIVE', 'RESTRICT', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROWS', 'SCHEMA', 'SCROLL', 'SECOND', 'SECTION', 'SELECT', 'SESSION', 'SESSION_USER', 'SET', 'SIZE', 'SMALLINT', 'SOME', 'SPACE', 'SQL', 'SQLCA', 'SQLCODE', 'SQLERROR', 'SQLSTATE', 'SQLWARNING', 'SUBSTRING', 'SUM', 'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSLATE', 'TRANSLATION', 'TRIM', 'TRUE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UPDATE', 'UPPER', 'USAGE', 'USER', 'VALUE', 'VALUES', 'VARCHAR', 'VARYING', 'VIEW', 'WHENEVER', 'WHERE', 'WITH', 'WORK', 'WRITE', 'YEAR', 'ZONE']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=transactsql.keywords.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _expandPhrases = require(\"../../expandPhrases\");\n\nvar _Formatter2 = _interopRequireDefault(require(\"../../formatter/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../../lexer/Tokenizer\"));\n\nvar _trino = require(\"./trino.functions\");\n\nvar _trino2 = require(\"./trino.keywords\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedSelect = (0, _expandPhrases.expandPhrases)(['SELECT [ALL | DISTINCT]']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L41\n\nvar reservedCommands = (0, _expandPhrases.expandPhrases)([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'UPDATE', 'SET', // - delete:\n'DELETE FROM', // - truncate:\n'TRUNCATE TABLE', // Data definition\n'CREATE [OR REPLACE] [MATERIALIZED] VIEW', 'CREATE TABLE [IF NOT EXISTS]', 'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS]', 'ADD COLUMN [IF NOT EXISTS]', 'DROP COLUMN [IF EXISTS]', 'RENAME COLUMN [IF EXISTS]', 'RENAME TO', 'SET AUTHORIZATION [USER | ROLE]', 'SET PROPERTIES', 'EXECUTE', 'ALTER SCHEMA', 'ALTER MATERIALIZED VIEW', 'ALTER VIEW', 'CREATE SCHEMA', 'CREATE ROLE', 'DROP SCHEMA', 'DROP COLUMN', 'DROP MATERIALIZED VIEW', 'DROP VIEW', 'DROP ROLE', // Auxiliary\n'EXPLAIN', 'ANALYZE', 'EXPLAIN ANALYZE', 'EXPLAIN ANALYZE VERBOSE', 'USE', 'COMMENT ON TABLE', 'COMMENT ON COLUMN', 'DESCRIBE INPUT', 'DESCRIBE OUTPUT', 'REFRESH MATERIALIZED VIEW', 'RESET SESSION', 'SET SESSION', 'SET PATH', 'SET TIME ZONE', 'SHOW GRANTS', 'SHOW CREATE TABLE', 'SHOW CREATE SCHEMA', 'SHOW CREATE VIEW', 'SHOW CREATE MATERIALIZED VIEW', 'SHOW TABLES', 'SHOW SCHEMAS', 'SHOW CATALOGS', 'SHOW COLUMNS', 'SHOW STATS FOR', 'SHOW ROLES', 'SHOW CURRENT ROLES', 'SHOW ROLE GRANTS', 'SHOW FUNCTIONS', 'SHOW SESSION', // MATCH_RECOGNIZE\n'MATCH_RECOGNIZE', 'MEASURES', 'ONE ROW PER MATCH', 'ALL ROWS PER MATCH', 'AFTER MATCH', 'PATTERN', 'SUBSET', 'DEFINE']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L231-L235\n// https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L288-L291\n\nvar reservedSetOperations = (0, _expandPhrases.expandPhrases)(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L299-L313\n\nvar reservedJoins = (0, _expandPhrases.expandPhrases)(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nvar reservedPhrases = (0, _expandPhrases.expandPhrases)(['{ROWS | RANGE | GROUPS} BETWEEN']);\n\nvar TrinoFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(TrinoFormatter, _Formatter);\n\n var _super = _createSuper(TrinoFormatter);\n\n function TrinoFormatter() {\n _classCallCheck(this, TrinoFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TrinoFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedCommands: reservedCommands,\n reservedSelect: reservedSelect,\n reservedSetOperations: reservedSetOperations,\n reservedJoins: reservedJoins,\n reservedDependentClauses: ['WHEN', 'ELSE'],\n reservedPhrases: reservedPhrases,\n reservedKeywords: _trino2.keywords,\n reservedFunctionNames: _trino.functions,\n // Trino also supports {- ... -} parenthesis.\n // The formatting of these currently works out as a result of { and -\n // not getting a space added in-between.\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-syntax\n extraParens: ['[]', '{}'],\n // https://trino.io/docs/current/language/types.html#string\n // https://trino.io/docs/current/language/types.html#varbinary\n stringTypes: [{\n quote: \"''-qq\",\n prefixes: ['U&']\n }, {\n quote: \"''-raw\",\n prefixes: ['X'],\n requirePrefix: true\n }],\n // https://trino.io/docs/current/language/reserved.html\n identTypes: ['\"\"-qq'],\n paramTypes: {\n positional: true\n },\n operators: ['%', '->', ':', '||', // Row pattern syntax\n '|', '^', '$' // '?', conflicts with positional placeholders\n ]\n });\n }\n }]);\n\n return TrinoFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = TrinoFormatter;\nmodule.exports = exports.default;\n//# sourceMappingURL=trino.formatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.functions = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar functions = (0, _utils.flatKeywordList)({\n // https://github.com/trinodb/trino/tree/432d2897bdef99388c1a47188743a061c4ac1f34/docs/src/main/sphinx/functions\n // rg '^\\.\\. function::' ./docs/src/main/sphinx/functions | cut -d' ' -f 3 | cut -d '(' -f 1 | sort | uniq\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep '\\* :func:' | cut -d'`' -f 2\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep -v '\\* :func:'\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -e '^- :func:' | cut -d'`' -f2\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -ve '^- :func:'\n all: ['ABS', 'ACOS', 'ALL_MATCH', 'ANY_MATCH', 'APPROX_DISTINCT', 'APPROX_MOST_FREQUENT', 'APPROX_PERCENTILE', 'APPROX_SET', 'ARBITRARY', 'ARRAYS_OVERLAP', 'ARRAY_AGG', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_INTERSECT', 'ARRAY_JOIN', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_POSITION', 'ARRAY_REMOVE', 'ARRAY_SORT', 'ARRAY_UNION', 'ASIN', 'ATAN', 'ATAN2', 'AT_TIMEZONE', 'AVG', 'BAR', 'BETA_CDF', 'BING_TILE', 'BING_TILES_AROUND', 'BING_TILE_AT', 'BING_TILE_COORDINATES', 'BING_TILE_POLYGON', 'BING_TILE_QUADKEY', 'BING_TILE_ZOOM_LEVEL', 'BITWISE_AND', 'BITWISE_AND_AGG', 'BITWISE_LEFT_SHIFT', 'BITWISE_NOT', 'BITWISE_OR', 'BITWISE_OR_AGG', 'BITWISE_RIGHT_SHIFT', 'BITWISE_RIGHT_SHIFT_ARITHMETIC', 'BITWISE_XOR', 'BIT_COUNT', 'BOOL_AND', 'BOOL_OR', 'CARDINALITY', 'CAST', 'CBRT', 'CEIL', 'CEILING', 'CHAR2HEXINT', 'CHECKSUM', 'CHR', 'CLASSIFY', 'COALESCE', 'CODEPOINT', 'COLOR', 'COMBINATIONS', 'CONCAT', 'CONCAT_WS', 'CONTAINS', 'CONTAINS_SEQUENCE', 'CONVEX_HULL_AGG', 'CORR', 'COS', 'COSH', 'COSINE_SIMILARITY', 'COUNT', 'COUNT_IF', 'COVAR_POP', 'COVAR_SAMP', 'CRC32', 'CUME_DIST', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_GROUPS', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'CURRENT_USER', 'DATE', 'DATE_ADD', 'DATE_DIFF', 'DATE_FORMAT', 'DATE_PARSE', 'DATE_TRUNC', 'DAY', 'DAY_OF_MONTH', 'DAY_OF_WEEK', 'DAY_OF_YEAR', 'DEGREES', 'DENSE_RANK', 'DOW', 'DOY', 'E', 'ELEMENT_AT', 'EMPTY_APPROX_SET', 'EVALUATE_CLASSIFIER_PREDICTIONS', 'EVERY', 'EXP', 'EXTRACT', 'FEATURES', 'FILTER', 'FIRST_VALUE', 'FLATTEN', 'FLOOR', 'FORMAT', 'FORMAT_DATETIME', 'FORMAT_NUMBER', 'FROM_BASE', 'FROM_BASE32', 'FROM_BASE64', 'FROM_BASE64URL', 'FROM_BIG_ENDIAN_32', 'FROM_BIG_ENDIAN_64', 'FROM_ENCODED_POLYLINE', 'FROM_GEOJSON_GEOMETRY', 'FROM_HEX', 'FROM_IEEE754_32', 'FROM_IEEE754_64', 'FROM_ISO8601_DATE', 'FROM_ISO8601_TIMESTAMP', 'FROM_ISO8601_TIMESTAMP_NANOS', 'FROM_UNIXTIME', 'FROM_UNIXTIME_NANOS', 'FROM_UTF8', 'GEOMETRIC_MEAN', 'GEOMETRY_FROM_HADOOP_SHAPE', 'GEOMETRY_INVALID_REASON', 'GEOMETRY_NEAREST_POINTS', 'GEOMETRY_TO_BING_TILES', 'GEOMETRY_UNION', 'GEOMETRY_UNION_AGG', 'GREATEST', 'GREAT_CIRCLE_DISTANCE', 'HAMMING_DISTANCE', 'HASH_COUNTS', 'HISTOGRAM', 'HMAC_MD5', 'HMAC_SHA1', 'HMAC_SHA256', 'HMAC_SHA512', 'HOUR', 'HUMAN_READABLE_SECONDS', 'IF', 'INDEX', 'INFINITY', 'INTERSECTION_CARDINALITY', 'INVERSE_BETA_CDF', 'INVERSE_NORMAL_CDF', 'IS_FINITE', 'IS_INFINITE', 'IS_JSON_SCALAR', 'IS_NAN', 'JACCARD_INDEX', 'JSON_ARRAY_CONTAINS', 'JSON_ARRAY_GET', 'JSON_ARRAY_LENGTH', 'JSON_EXISTS', 'JSON_EXTRACT', 'JSON_EXTRACT_SCALAR', 'JSON_FORMAT', 'JSON_PARSE', 'JSON_QUERY', 'JSON_SIZE', 'JSON_VALUE', 'KURTOSIS', 'LAG', 'LAST_DAY_OF_MONTH', 'LAST_VALUE', 'LEAD', 'LEARN_CLASSIFIER', 'LEARN_LIBSVM_CLASSIFIER', 'LEARN_LIBSVM_REGRESSOR', 'LEARN_REGRESSOR', 'LEAST', 'LENGTH', 'LEVENSHTEIN_DISTANCE', 'LINE_INTERPOLATE_POINT', 'LINE_INTERPOLATE_POINTS', 'LINE_LOCATE_POINT', 'LISTAGG', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'LUHN_CHECK', 'MAKE_SET_DIGEST', 'MAP', 'MAP_AGG', 'MAP_CONCAT', 'MAP_ENTRIES', 'MAP_FILTER', 'MAP_FROM_ENTRIES', 'MAP_KEYS', 'MAP_UNION', 'MAP_VALUES', 'MAP_ZIP_WITH', 'MAX', 'MAX_BY', 'MD5', 'MERGE', 'MERGE_SET_DIGEST', 'MILLISECOND', 'MIN', 'MINUTE', 'MIN_BY', 'MOD', 'MONTH', 'MULTIMAP_AGG', 'MULTIMAP_FROM_ENTRIES', 'MURMUR3', 'NAN', 'NGRAMS', 'NONE_MATCH', 'NORMALIZE', 'NORMAL_CDF', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NUMERIC_HISTOGRAM', 'OBJECTID', 'OBJECTID_TIMESTAMP', 'PARSE_DATA_SIZE', 'PARSE_DATETIME', 'PARSE_DURATION', 'PERCENT_RANK', 'PI', 'POSITION', 'POW', 'POWER', 'QDIGEST_AGG', 'QUARTER', 'RADIANS', 'RAND', 'RANDOM', 'RANK', 'REDUCE', 'REDUCE_AGG', 'REGEXP_COUNT', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_LIKE', 'REGEXP_POSITION', 'REGEXP_REPLACE', 'REGEXP_SPLIT', 'REGRESS', 'REGR_INTERCEPT', 'REGR_SLOPE', 'RENDER', 'REPEAT', 'REPLACE', 'REVERSE', 'RGB', 'ROUND', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SECOND', 'SEQUENCE', 'SHA1', 'SHA256', 'SHA512', 'SHUFFLE', 'SIGN', 'SIMPLIFY_GEOMETRY', 'SIN', 'SKEWNESS', 'SLICE', 'SOUNDEX', 'SPATIAL_PARTITIONING', 'SPATIAL_PARTITIONS', 'SPLIT', 'SPLIT_PART', 'SPLIT_TO_MAP', 'SPLIT_TO_MULTIMAP', 'SPOOKY_HASH_V2_32', 'SPOOKY_HASH_V2_64', 'SQRT', 'STARTS_WITH', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRPOS', 'ST_AREA', 'ST_ASBINARY', 'ST_ASTEXT', 'ST_BOUNDARY', 'ST_BUFFER', 'ST_CENTROID', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_COORDDIM', 'ST_CROSSES', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_ENVELOPEASPTS', 'ST_EQUALS', 'ST_EXTERIORRING', 'ST_GEOMETRIES', 'ST_GEOMETRYFROMTEXT', 'ST_GEOMETRYN', 'ST_GEOMETRYTYPE', 'ST_GEOMFROMBINARY', 'ST_INTERIORRINGN', 'ST_INTERIORRINGS', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_ISCLOSED', 'ST_ISEMPTY', 'ST_ISRING', 'ST_ISSIMPLE', 'ST_ISVALID', 'ST_LENGTH', 'ST_LINEFROMTEXT', 'ST_LINESTRING', 'ST_MULTIPOINT', 'ST_NUMGEOMETRIES', 'ST_NUMINTERIORRING', 'ST_NUMPOINTS', 'ST_OVERLAPS', 'ST_POINT', 'ST_POINTN', 'ST_POINTS', 'ST_POLYGON', 'ST_RELATE', 'ST_STARTPOINT', 'ST_SYMDIFFERENCE', 'ST_TOUCHES', 'ST_UNION', 'ST_WITHIN', 'ST_X', 'ST_XMAX', 'ST_XMIN', 'ST_Y', 'ST_YMAX', 'ST_YMIN', 'SUBSTR', 'SUBSTRING', 'SUM', 'TAN', 'TANH', 'TDIGEST_AGG', 'TIMESTAMP_OBJECTID', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO_BASE', 'TO_BASE32', 'TO_BASE64', 'TO_BASE64URL', 'TO_BIG_ENDIAN_32', 'TO_BIG_ENDIAN_64', 'TO_CHAR', 'TO_DATE', 'TO_ENCODED_POLYLINE', 'TO_GEOJSON_GEOMETRY', 'TO_GEOMETRY', 'TO_HEX', 'TO_IEEE754_32', 'TO_IEEE754_64', 'TO_ISO8601', 'TO_MILLISECONDS', 'TO_SPHERICAL_GEOGRAPHY', 'TO_TIMESTAMP', 'TO_UNIXTIME', 'TO_UTF8', 'TRANSFORM', 'TRANSFORM_KEYS', 'TRANSFORM_VALUES', 'TRANSLATE', 'TRIM', 'TRIM_ARRAY', 'TRUNCATE', 'TRY', 'TRY_CAST', 'TYPEOF', 'UPPER', 'URL_DECODE', 'URL_ENCODE', 'URL_EXTRACT_FRAGMENT', 'URL_EXTRACT_HOST', 'URL_EXTRACT_PARAMETER', 'URL_EXTRACT_PATH', 'URL_EXTRACT_PORT', 'URL_EXTRACT_PROTOCOL', 'URL_EXTRACT_QUERY', 'UUID', 'VALUES_AT_QUANTILES', 'VALUE_AT_QUANTILE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'VERSION', 'WEEK', 'WEEK_OF_YEAR', 'WIDTH_BUCKET', 'WILSON_INTERVAL_LOWER', 'WILSON_INTERVAL_UPPER', 'WITH_TIMEZONE', 'WORD_STEM', 'XXHASH64', 'YEAR', 'YEAR_OF_WEEK', 'YOW', 'ZIP', 'ZIP_WITH'],\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-recognition-expressions\n rowPattern: ['CLASSIFIER', 'FIRST', 'LAST', 'MATCH_NUMBER', 'NEXT', 'PERMUTE', 'PREV']\n});\nexports.functions = functions;\n//# sourceMappingURL=trino.functions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.keywords = void 0;\n\nvar _utils = require(\"../../utils\");\n\nvar keywords = (0, _utils.flatKeywordList)({\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L858-L1128\n all: ['ABSENT', 'ADD', 'ADMIN', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BERNOULLI', 'BETWEEN', 'BOTH', 'BY', 'CALL', 'CASCADE', 'CASE', 'CATALOGS', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMMITTED', 'CONDITIONAL', 'CONSTRAINT', 'COPARTITION', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_PATH', 'CURRENT_ROLE', 'DATA', 'DEALLOCATE', 'DEFAULT', 'DEFINE', 'DEFINER', 'DELETE', 'DENY', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DISTINCT', 'DISTRIBUTED', 'DOUBLE', 'DROP', 'ELSE', 'EMPTY', 'ENCODING', 'END', 'ERROR', 'ESCAPE', 'EXCEPT', 'EXCLUDING', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'FALSE', 'FETCH', 'FINAL', 'FIRST', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'FUNCTIONS', 'GRANT', 'GRANTED', 'GRANTS', 'GRAPHVIZ', 'GROUP', 'GROUPING', 'GROUPS', 'HAVING', 'IGNORE', 'IN', 'INCLUDING', 'INITIAL', 'INNER', 'INPUT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'INVOKER', 'IO', 'IS', 'ISOLATION', 'JOIN', 'JSON', 'JSON_ARRAY', 'JSON_OBJECT', 'KEEP', 'KEY', 'KEYS', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LEVEL', 'LIKE', 'LIMIT', 'LOCAL', 'LOGICAL', 'MATCH', 'MATCHED', 'MATCHES', 'MATCH_RECOGNIZE', 'MATERIALIZED', 'MEASURES', 'NATURAL', 'NEXT', 'NFC', 'NFD', 'NFKC', 'NFKD', 'NO', 'NONE', 'NOT', 'NULL', 'NULLS', 'OBJECT', 'OF', 'OFFSET', 'OMIT', 'ON', 'ONE', 'ONLY', 'OPTION', 'OR', 'ORDER', 'ORDINALITY', 'OUTER', 'OUTPUT', 'OVER', 'OVERFLOW', 'PARTITION', 'PARTITIONS', 'PASSING', 'PAST', 'PATH', 'PATTERN', 'PER', 'PERMUTE', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRIVILEGES', 'PROPERTIES', 'PRUNE', 'QUOTES', 'RANGE', 'READ', 'RECURSIVE', 'REFRESH', 'RENAME', 'REPEATABLE', 'RESET', 'RESPECT', 'RESTRICT', 'RETURNING', 'REVOKE', 'RIGHT', 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'RUNNING', 'SCALAR', 'SCHEMA', 'SCHEMAS', 'SECURITY', 'SEEK', 'SELECT', 'SERIALIZABLE', 'SESSION', 'SET', 'SETS', 'SHOW', 'SKIP', 'SOME', 'START', 'STATS', 'STRING', 'SUBSET', 'SYSTEM', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TEXT', 'THEN', 'TIES', 'TIME', 'TIMESTAMP', 'TO', 'TRAILING', 'TRANSACTION', 'TRUE', 'TYPE', 'UESCAPE', 'UNBOUNDED', 'UNCOMMITTED', 'UNCONDITIONAL', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNMATCHED', 'UNNEST', 'UPDATE', 'USE', 'USER', 'USING', 'UTF16', 'UTF32', 'UTF8', 'VALIDATE', 'VALUE', 'VALUES', 'VERBOSE', 'VIEW', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'ZONE'],\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-main/src/main/java/io/trino/metadata/TypeRegistry.java#L131-L168\n // or https://trino.io/docs/current/language/types.html\n types: ['BIGINT', 'INT', 'INTEGER', 'SMALLINT', 'TINYINT', 'BOOLEAN', 'DATE', 'DECIMAL', 'REAL', 'DOUBLE', 'HYPERLOGLOG', 'QDIGEST', 'TDIGEST', 'P4HYPERLOGLOG', 'INTERVAL', 'TIMESTAMP', 'TIME', 'VARBINARY', 'VARCHAR', 'CHAR', 'ROW', 'ARRAY', 'MAP', 'JSON', 'JSON2016', 'IPADDRESS', 'GEOMETRY', 'UUID', 'SETDIGEST', 'JONIREGEXP', 'RE2JREGEXP', 'LIKEPATTERN', 'COLOR', 'CODEPOINTS', 'FUNCTION', 'JSONPATH']\n});\nexports.keywords = keywords;\n//# sourceMappingURL=trino.keywords.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NestedComment = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint-disable no-cond-assign */\nvar START = new RegExp(\"\\\\/\\\\*\", \"y\"); // matches: /*\n\nvar MIDDLE = new RegExp(\"((?:(?![\\\\*\\\\/])[\\\\s\\\\S])|\\\\*(?:(?!\\\\/)[\\\\s\\\\S])|\\\\/(?:(?!\\\\*)[\\\\s\\\\S]))+\", \"y\"); // matches text NOT containing /* or */\n\nvar END = new RegExp(\"\\\\*\\\\/\", \"y\"); // matches: */\n\n/**\n * An object mimicking a regular expression,\n * for matching nested block-comments.\n */\n\nvar NestedComment = /*#__PURE__*/function () {\n function NestedComment() {\n _classCallCheck(this, NestedComment);\n\n _defineProperty(this, \"lastIndex\", 0);\n }\n\n _createClass(NestedComment, [{\n key: \"exec\",\n value: function exec(input) {\n var result = '';\n var match;\n var nestLevel = 0;\n\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else {\n return null;\n }\n\n while (nestLevel > 0) {\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else if (match = this.matchSection(END, input)) {\n result += match;\n nestLevel--;\n } else if (match = this.matchSection(MIDDLE, input)) {\n result += match;\n } else {\n return null;\n }\n }\n\n return [result];\n }\n }, {\n key: \"matchSection\",\n value: function matchSection(regex, input) {\n regex.lastIndex = this.lastIndex;\n var matches = regex.exec(input);\n\n if (matches) {\n this.lastIndex += matches[0].length;\n }\n\n return matches ? matches[0] : null;\n }\n }]);\n\n return NestedComment;\n}();\n\nexports.NestedComment = NestedComment;\n//# sourceMappingURL=NestedComment.js.map","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _token = require(\"./token\");\n\nvar regex = _interopRequireWildcard(require(\"./regexFactory\"));\n\nvar _TokenizerEngine = _interopRequireDefault(require(\"./TokenizerEngine\"));\n\nvar _regexUtil = require(\"./regexUtil\");\n\nvar _utils = require(\"../utils\");\n\nvar _NestedComment = require(\"./NestedComment\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Tokenizer = /*#__PURE__*/function () {\n function Tokenizer(cfg) {\n _classCallCheck(this, Tokenizer);\n\n this.cfg = cfg;\n\n _defineProperty(this, \"rulesBeforeParams\", void 0);\n\n _defineProperty(this, \"rulesAfterParams\", void 0);\n\n this.rulesBeforeParams = this.buildRulesBeforeParams(cfg);\n this.rulesAfterParams = this.buildRulesAfterParams(cfg);\n }\n\n _createClass(Tokenizer, [{\n key: \"tokenize\",\n value: function tokenize(input, paramTypesOverrides) {\n var rules = [].concat(_toConsumableArray(this.rulesBeforeParams), _toConsumableArray(this.buildParamRules(this.cfg, paramTypesOverrides)), _toConsumableArray(this.rulesAfterParams));\n var tokens = new _TokenizerEngine[\"default\"](rules).tokenize(input);\n return this.cfg.postProcess ? this.cfg.postProcess(tokens) : tokens;\n } // These rules can be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n\n }, {\n key: \"buildRulesBeforeParams\",\n value: function buildRulesBeforeParams(cfg) {\n var _cfg$lineCommentTypes, _cfg$reservedPhrases;\n\n return this.validRules([{\n type: _token.TokenType.BLOCK_COMMENT,\n regex: cfg.nestedBlockComments ? new _NestedComment.NestedComment() : new RegExp(\"(\\\\/\\\\*(?:(?![])[\\\\s\\\\S])*?\\\\*\\\\/)\", \"y\")\n }, {\n type: _token.TokenType.LINE_COMMENT,\n regex: regex.lineComment((_cfg$lineCommentTypes = cfg.lineCommentTypes) !== null && _cfg$lineCommentTypes !== void 0 ? _cfg$lineCommentTypes : ['--'])\n }, {\n type: _token.TokenType.QUOTED_IDENTIFIER,\n regex: regex.string(cfg.identTypes)\n }, {\n type: _token.TokenType.NUMBER,\n regex: new RegExp(\"(?:0x[0-9A-Fa-f]+|0b[01]+|(?:\\\\x2D[\\\\t-\\\\r \\\\xA0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028\\\\u2029\\\\u202F\\\\u205F\\\\u3000\\\\uFEFF]*)?[0-9]+(?:\\\\.[0-9]*)?(?:[Ee][\\\\+\\\\x2D]?[0-9]+(?:\\\\.[0-9]+)?)?)(?![0-9A-Z_a-z])\", \"y\")\n }, // RESERVED_PHRASE is matched before all other keyword tokens\n // to e.g. prioritize matching \"TIMESTAMP WITH TIME ZONE\" phrase over \"WITH\" command.\n {\n type: _token.TokenType.RESERVED_PHRASE,\n regex: regex.reservedWord((_cfg$reservedPhrases = cfg.reservedPhrases) !== null && _cfg$reservedPhrases !== void 0 ? _cfg$reservedPhrases : [], cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.CASE,\n regex: new RegExp(\"CA[S\\\\u017F]E\\\\b\", \"iy\"),\n text: toCanonical\n }, {\n type: _token.TokenType.END,\n regex: new RegExp(\"END\\\\b\", \"iy\"),\n text: toCanonical\n }, {\n type: _token.TokenType.BETWEEN,\n regex: new RegExp(\"BETWEEN\\\\b\", \"iy\"),\n text: toCanonical\n }, {\n type: _token.TokenType.LIMIT,\n regex: cfg.reservedCommands.includes('LIMIT') ? new RegExp(\"LIMIT\\\\b\", \"iy\") : undefined,\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_COMMAND,\n regex: regex.reservedWord(cfg.reservedCommands, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_SELECT,\n regex: regex.reservedWord(cfg.reservedSelect, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_SET_OPERATION,\n regex: regex.reservedWord(cfg.reservedSetOperations, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_DEPENDENT_CLAUSE,\n regex: regex.reservedWord(cfg.reservedDependentClauses, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_JOIN,\n regex: regex.reservedWord(cfg.reservedJoins, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.AND,\n regex: new RegExp(\"AND\\\\b\", \"iy\"),\n text: toCanonical\n }, {\n type: _token.TokenType.OR,\n regex: new RegExp(\"OR\\\\b\", \"iy\"),\n text: toCanonical\n }, {\n type: _token.TokenType.XOR,\n regex: cfg.supportsXor ? new RegExp(\"XOR\\\\b\", \"iy\") : undefined,\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_FUNCTION_NAME,\n regex: regex.reservedWord(cfg.reservedFunctionNames, cfg.identChars),\n text: toCanonical\n }, {\n type: _token.TokenType.RESERVED_KEYWORD,\n regex: regex.reservedWord(cfg.reservedKeywords, cfg.identChars),\n text: toCanonical\n }]);\n } // These rules can also be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n\n }, {\n key: \"buildRulesAfterParams\",\n value: function buildRulesAfterParams(cfg) {\n var _cfg$operators;\n\n return this.validRules([{\n type: _token.TokenType.VARIABLE,\n regex: cfg.variableTypes ? regex.variable(cfg.variableTypes) : undefined\n }, {\n type: _token.TokenType.STRING,\n regex: regex.string(cfg.stringTypes)\n }, {\n type: _token.TokenType.IDENTIFIER,\n regex: regex.identifier(cfg.identChars)\n }, {\n type: _token.TokenType.DELIMITER,\n regex: new RegExp(\";\", \"y\")\n }, {\n type: _token.TokenType.COMMA,\n regex: new RegExp(\"[,]\", \"y\")\n }, {\n type: _token.TokenType.OPEN_PAREN,\n regex: regex.parenthesis('open', cfg.extraParens)\n }, {\n type: _token.TokenType.CLOSE_PAREN,\n regex: regex.parenthesis('close', cfg.extraParens)\n }, {\n type: _token.TokenType.OPERATOR,\n regex: regex.operator([// standard operators\n '+', '-', '/', '>', '<', '=', '<>', '<=', '>=', '!='].concat(_toConsumableArray((_cfg$operators = cfg.operators) !== null && _cfg$operators !== void 0 ? _cfg$operators : [])))\n }, {\n type: _token.TokenType.ASTERISK,\n regex: new RegExp(\"\\\\*\", \"y\")\n }, {\n type: _token.TokenType.DOT,\n regex: new RegExp(\"\\\\.\", \"y\")\n }]);\n } // These rules can't be blindly cached as the paramTypesOverrides object\n // can differ on each invocation of the format() function.\n\n }, {\n key: \"buildParamRules\",\n value: function buildParamRules(cfg, paramTypesOverrides) {\n var _cfg$paramTypes, _cfg$paramTypes2, _cfg$paramTypes3, _cfg$paramTypes4;\n\n // Each dialect has its own default parameter types (if any),\n // but these can be overriden by the user of the library.\n var paramTypes = {\n named: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.named) || ((_cfg$paramTypes = cfg.paramTypes) === null || _cfg$paramTypes === void 0 ? void 0 : _cfg$paramTypes.named) || [],\n quoted: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.quoted) || ((_cfg$paramTypes2 = cfg.paramTypes) === null || _cfg$paramTypes2 === void 0 ? void 0 : _cfg$paramTypes2.quoted) || [],\n numbered: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.numbered) || ((_cfg$paramTypes3 = cfg.paramTypes) === null || _cfg$paramTypes3 === void 0 ? void 0 : _cfg$paramTypes3.numbered) || [],\n positional: typeof (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.positional) === 'boolean' ? paramTypesOverrides.positional : (_cfg$paramTypes4 = cfg.paramTypes) === null || _cfg$paramTypes4 === void 0 ? void 0 : _cfg$paramTypes4.positional\n };\n return this.validRules([{\n type: _token.TokenType.NAMED_PARAMETER,\n regex: regex.parameter(paramTypes.named, regex.identifierPattern(cfg.paramChars || cfg.identChars)),\n key: function key(v) {\n return v.slice(1);\n }\n }, {\n type: _token.TokenType.QUOTED_PARAMETER,\n regex: regex.parameter(paramTypes.quoted, regex.stringPattern(cfg.identTypes)),\n key: function key(v) {\n return function (_ref) {\n var tokenKey = _ref.tokenKey,\n quoteChar = _ref.quoteChar;\n return tokenKey.replace(new RegExp((0, _regexUtil.escapeRegExp)('\\\\' + quoteChar), 'gu'), quoteChar);\n }({\n tokenKey: v.slice(2, -1),\n quoteChar: v.slice(-1)\n });\n }\n }, {\n type: _token.TokenType.NUMBERED_PARAMETER,\n regex: regex.parameter(paramTypes.numbered, '[0-9]+'),\n key: function key(v) {\n return v.slice(1);\n }\n }, {\n type: _token.TokenType.POSITIONAL_PARAMETER,\n regex: paramTypes.positional ? new RegExp(\"[?]\", \"y\") : undefined\n }]);\n } // filters out rules for token types whose regex is undefined\n\n }, {\n key: \"validRules\",\n value: function validRules(rules) {\n return rules.filter(function (rule) {\n return Boolean(rule.regex);\n });\n }\n }]);\n\n return Tokenizer;\n}();\n/**\n * Converts keywords (and keyword sequences) to canonical form:\n * - in uppercase\n * - single spaces between words\n */\n\n\nexports[\"default\"] = Tokenizer;\n\nvar toCanonical = function toCanonical(v) {\n return (0, _utils.equalizeWhitespace)(v.toUpperCase());\n};\n\nmodule.exports = exports.default;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _lineColFromIndex2 = require(\"./lineColFromIndex\");\n\nvar _regexUtil = require(\"./regexUtil\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar TokenizerEngine = /*#__PURE__*/function () {\n // The input SQL string to process\n // Current position in string\n function TokenizerEngine(rules) {\n _classCallCheck(this, TokenizerEngine);\n\n this.rules = rules;\n\n _defineProperty(this, \"input\", '');\n\n _defineProperty(this, \"index\", 0);\n }\n /**\n * Takes a SQL string and breaks it into tokens.\n * Each token is an object with type and value.\n *\n * @param {string} input - The SQL string\n * @returns {Token[]} output token stream\n */\n\n\n _createClass(TokenizerEngine, [{\n key: \"tokenize\",\n value: function tokenize(input) {\n this.input = input;\n this.index = 0;\n var tokens = [];\n var token; // Keep processing the string until end is reached\n\n while (this.index < this.input.length) {\n // skip any preceding whitespace\n var precedingWhitespace = this.getWhitespace();\n\n if (this.index < this.input.length) {\n // Get the next token and the token type\n token = this.getNextToken();\n\n if (!token) {\n throw this.createParseError();\n }\n\n tokens.push(_objectSpread(_objectSpread({}, token), {}, {\n precedingWhitespace: precedingWhitespace\n }));\n }\n }\n\n return tokens;\n }\n }, {\n key: \"createParseError\",\n value: function createParseError() {\n var text = this.input.slice(this.index, this.index + 10);\n\n var _lineColFromIndex = (0, _lineColFromIndex2.lineColFromIndex)(this.input, this.index),\n line = _lineColFromIndex.line,\n col = _lineColFromIndex.col;\n\n return new Error(\"Parse error: Unexpected \\\"\".concat(text, \"\\\" at line \").concat(line, \" column \").concat(col));\n }\n }, {\n key: \"getWhitespace\",\n value: function getWhitespace() {\n _regexUtil.WHITESPACE_REGEX.lastIndex = this.index;\n\n var matches = _regexUtil.WHITESPACE_REGEX.exec(this.input);\n\n if (matches) {\n // Advance current position by matched whitespace length\n this.index += matches[0].length;\n return matches[0];\n }\n\n return undefined;\n }\n }, {\n key: \"getNextToken\",\n value: function getNextToken() {\n var _iterator = _createForOfIteratorHelper(this.rules),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var rule = _step.value;\n var token = this.match(rule);\n\n if (token) {\n return token;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return undefined;\n } // Attempts to match token rule regex at current position in input\n\n }, {\n key: \"match\",\n value: function match(rule) {\n rule.regex.lastIndex = this.index;\n var matches = rule.regex.exec(this.input);\n\n if (matches) {\n var matchedText = matches[0];\n var token = {\n type: rule.type,\n raw: matchedText,\n text: rule.text ? rule.text(matchedText) : matchedText,\n start: this.index\n };\n\n if (rule.key) {\n token.key = rule.key(matchedText);\n } // Advance current position by matched token length\n\n\n this.index += matchedText.length;\n return token;\n }\n\n return undefined;\n }\n }]);\n\n return TokenizerEngine;\n}();\n\nexports[\"default\"] = TokenizerEngine;\nmodule.exports = exports.default;\n//# sourceMappingURL=TokenizerEngine.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.disambiguateTokens = disambiguateTokens;\n\nvar _token = require(\"./token\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Ensures that no keyword token (RESERVED_*) is preceded by dot (.).\n *\n * Ensures that all RESERVED_FUNCTION_NAME tokens are followed by \"(\".\n * If they're not, converts the token to RESERVED_KEYWORD.\n *\n * When IDENTIFIER and RESERVED_KEYWORD token is followed by \"[\"\n * converts it to ARRAY_IDENTIFIER or ARRAY_KEYWORD accordingly.\n *\n * This is needed to avoid ambiguity in parser which expects function names\n * to always be followed by open-paren, and to distinguish between\n * array accessor `foo[1]` and array literal `[1, 2, 3]`.\n */\nfunction disambiguateTokens(tokens) {\n return tokens.map(dotKeywordToIdent).map(funcNameToKeyword).map(identToArrayIdent).map(keywordToArrayKeyword);\n}\n\nvar dotKeywordToIdent = function dotKeywordToIdent(token, i, tokens) {\n if ((0, _token.isReserved)(token.type)) {\n var prevToken = prevNonCommentToken(tokens, i);\n\n if (prevToken && prevToken.text === '.') {\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.IDENTIFIER,\n text: token.raw\n });\n }\n }\n\n return token;\n};\n\nvar funcNameToKeyword = function funcNameToKeyword(token, i, tokens) {\n if (token.type === _token.TokenType.RESERVED_FUNCTION_NAME) {\n var nextToken = nextNonCommentToken(tokens, i);\n\n if (!nextToken || !isOpenParen(nextToken)) {\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.RESERVED_KEYWORD\n });\n }\n }\n\n return token;\n};\n\nvar identToArrayIdent = function identToArrayIdent(token, i, tokens) {\n if (token.type === _token.TokenType.IDENTIFIER) {\n var nextToken = nextNonCommentToken(tokens, i);\n\n if (nextToken && isOpenBracket(nextToken)) {\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.ARRAY_IDENTIFIER\n });\n }\n }\n\n return token;\n};\n\nvar keywordToArrayKeyword = function keywordToArrayKeyword(token, i, tokens) {\n if (token.type === _token.TokenType.RESERVED_KEYWORD) {\n var nextToken = nextNonCommentToken(tokens, i);\n\n if (nextToken && isOpenBracket(nextToken)) {\n return _objectSpread(_objectSpread({}, token), {}, {\n type: _token.TokenType.ARRAY_KEYWORD\n });\n }\n }\n\n return token;\n};\n\nvar prevNonCommentToken = function prevNonCommentToken(tokens, index) {\n return nextNonCommentToken(tokens, index, -1);\n};\n\nvar nextNonCommentToken = function nextNonCommentToken(tokens, index) {\n var dir = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var i = 1;\n\n while (tokens[index + i * dir] && isComment(tokens[index + i * dir])) {\n i++;\n }\n\n return tokens[index + i * dir];\n};\n\nvar isOpenParen = function isOpenParen(t) {\n return t.type === _token.TokenType.OPEN_PAREN && t.text === '(';\n};\n\nvar isOpenBracket = function isOpenBracket(t) {\n return t.type === _token.TokenType.OPEN_PAREN && t.text === '[';\n};\n\nvar isComment = function isComment(t) {\n return t.type === _token.TokenType.BLOCK_COMMENT || t.type === _token.TokenType.LINE_COMMENT;\n};\n//# sourceMappingURL=disambiguateTokens.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.lineColFromIndex = lineColFromIndex;\n\n/**\n * Determines line and column number of character index in source code.\n */\nfunction lineColFromIndex(source, index) {\n var lines = source.slice(0, index).split(/\\n/);\n return {\n line: lines.length,\n col: lines[lines.length - 1].length + 1\n };\n}\n//# sourceMappingURL=lineColFromIndex.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.variable = exports.stringPattern = exports.string = exports.reservedWord = exports.quotePatterns = exports.parenthesis = exports.parameter = exports.operator = exports.lineComment = exports.identifierPattern = exports.identifier = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _regexUtil = require(\"./regexUtil\");\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Builds a RegExp for valid line comments in a SQL dialect\n * @param {string[]} lineCommentTypes - list of character strings that denote line comments\n */\nvar lineComment = function lineComment(lineCommentTypes) {\n return new RegExp(\"(?:\".concat(lineCommentTypes.map(_regexUtil.escapeRegExp).join('|'), \").*?(?=\\r\\n|\\r|\\n|$)\"), 'uy');\n};\n/**\n * Builds a RegExp for matching either open- or close-parenthesis patterns\n */\n\n\nexports.lineComment = lineComment;\n\nvar parenthesis = function parenthesis(kind) {\n var extraParens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var index = kind === 'open' ? 0 : 1;\n var parens = ['()'].concat(_toConsumableArray(extraParens)).map(function (pair) {\n return pair[index];\n });\n return (0, _regexUtil.patternToRegex)(parens.map(_regexUtil.escapeRegExp).join('|'));\n};\n/**\n * Builds a RegExp containing all operators for a SQL dialect\n */\n\n\nexports.parenthesis = parenthesis;\n\nvar operator = function operator(operators) {\n return (0, _regexUtil.patternToRegex)(\"\".concat((0, _utils.sortByLengthDesc)(operators).map(_regexUtil.escapeRegExp).join('|')));\n}; // Negative lookahead to avoid matching a keyword that's actually part of identifier,\n// which can happen when identifier allows word-boundary characters inside it.\n//\n// For example \"SELECT$ME\" should be tokenized as:\n// - [\"SELECT$ME\"] when $ is allowed inside identifiers\n// - [\"SELECT\", \"$\", \"ME\"] when $ can't be part of identifiers.\n\n\nexports.operator = operator;\n\nvar rejectIdentCharsPattern = function rejectIdentCharsPattern(_ref) {\n var rest = _ref.rest,\n dashes = _ref.dashes;\n return rest || dashes ? \"(?![\".concat(rest || '').concat(dashes ? '-' : '', \"])\") : '';\n};\n/**\n * Builds a RegExp for all Reserved Keywords in a SQL dialect\n */\n\n\nvar reservedWord = function reservedWord(reservedKeywords) {\n var identChars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (reservedKeywords.length === 0) {\n return /^\\b$/;\n }\n\n var avoidIdentChars = rejectIdentCharsPattern(identChars);\n var reservedKeywordsPattern = (0, _utils.sortByLengthDesc)(reservedKeywords).join('|').replace(/ /g, '\\\\s+');\n return new RegExp(\"(?:\".concat(reservedKeywordsPattern, \")\").concat(avoidIdentChars, \"\\\\b\"), 'iuy');\n};\n/**\n * Builds a RegExp for parameter placeholder patterns\n * @param {string[]} paramTypes - list of strings that denote placeholder types\n * @param {string} pattern - string that denotes placeholder pattern\n */\n\n\nexports.reservedWord = reservedWord;\n\nvar parameter = function parameter(paramTypes, pattern) {\n if (!paramTypes.length) {\n return undefined;\n }\n\n var typesRegex = paramTypes.map(_regexUtil.escapeRegExp).join('|');\n return (0, _regexUtil.patternToRegex)(\"(?:\".concat(typesRegex, \")(?:\").concat(pattern, \")\"));\n};\n\nexports.parameter = parameter;\n\nvar buildQStringPatterns = function buildQStringPatterns() {\n var specialDelimiterMap = {\n '<': '>',\n '[': ']',\n '(': ')',\n '{': '}'\n }; // base pattern for special delimiters, left must correspond with right\n\n var singlePattern = \"{left}(?:(?!{right}').)*?{right}\"; // replace {left} and {right} with delimiters, collect as array\n\n var patternList = Object.entries(specialDelimiterMap).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n left = _ref3[0],\n right = _ref3[1];\n\n return singlePattern.replace(/{left}/g, (0, _regexUtil.escapeRegExp)(left)).replace(/{right}/g, (0, _regexUtil.escapeRegExp)(right));\n });\n var specialDelimiters = (0, _regexUtil.escapeRegExp)(Object.keys(specialDelimiterMap).join('')); // standard pattern for common delimiters, ignores special delimiters\n\n var standardDelimiterPattern = String.raw(_templateObject || (_templateObject = _taggedTemplateLiteral([\"(?<tag>[^s\", \"])(?:(?!k<tag>').)*?k<tag>\"], [\"(?<tag>[^\\\\s\", \"])(?:(?!\\\\k<tag>').)*?\\\\k<tag>\"])), specialDelimiters); // constructs final pattern by joining all cases\n\n var qStringPattern = \"[Qq]'(?:\".concat(standardDelimiterPattern, \"|\").concat(patternList.join('|'), \")'\");\n return qStringPattern;\n}; // Regex patterns for all supported quote styles.\n//\n// Most of them have a single escaping-style built in,\n// but \"\" and '' support multiple versions of escapes,\n// which must be selected with suffixes: -qq, -bs, -qq-bs, -raw\n\n\nvar quotePatterns = {\n // - backtick quoted (using `` to escape)\n '``': '(?:`[^`]*`)+',\n // - Transact-SQL square bracket quoted (using ]] to escape)\n '[]': String.raw(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"(?:[[^]]*])(?:][^]]*])*\"], [\"(?:\\\\[[^\\\\]]*\\\\])(?:\\\\][^\\\\]]*\\\\])*\"]))),\n // double-quoted\n '\"\"-qq': String.raw(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"(?:\\\"[^\\\"]*\\\")+\"]))),\n // with repeated quote escapes\n '\"\"-bs': String.raw(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"(?:\\\"[^\\\"\\\\]*(?:\\\\.[^\\\"\\\\]*)*\\\")\"], [\"(?:\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\")\"]))),\n // with backslash escapes\n '\"\"-qq-bs': String.raw(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"(?:\\\"[^\\\"\\\\]*(?:\\\\.[^\\\"\\\\]*)*\\\")+\"], [\"(?:\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\")+\"]))),\n // with repeated quote or backslash escapes\n '\"\"-raw': String.raw(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"(?:\\\"[^\\\"]*\\\")\"]))),\n // no escaping\n // single-quoted\n \"''-qq\": String.raw(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"(?:'[^']*')+\"]))),\n // with repeated quote escapes\n \"''-bs\": String.raw(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')\"], [\"(?:'[^'\\\\\\\\]*(?:\\\\\\\\.[^'\\\\\\\\]*)*')\"]))),\n // with backslash escapes\n \"''-qq-bs\": String.raw(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')+\"], [\"(?:'[^'\\\\\\\\]*(?:\\\\\\\\.[^'\\\\\\\\]*)*')+\"]))),\n // with repeated quote or backslash escapes\n \"''-raw\": String.raw(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"(?:'[^']*')\"]))),\n // no escaping\n // PostgreSQL dollar-quoted\n '$$': String.raw(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"(?<tag>$w*$)[sS]*?k<tag>\"], [\"(?<tag>\\\\$\\\\w*\\\\$)[\\\\s\\\\S]*?\\\\k<tag>\"]))),\n // BigQuery '''triple-quoted''' (using \\' to escape)\n \"'''..'''\": String.raw(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"'''[^\\\\]*?(?:\\\\.[^\\\\]*?)*?'''\"], [\"'''[^\\\\\\\\]*?(?:\\\\\\\\.[^\\\\\\\\]*?)*?'''\"]))),\n // BigQuery \"\"\"triple-quoted\"\"\" (using \\\" to escape)\n '\"\"\"..\"\"\"': String.raw(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\\"\\\"\\\"[^\\\\]*?(?:\\\\.[^\\\\]*?)*?\\\"\\\"\\\"\"], [\"\\\"\\\"\\\"[^\\\\\\\\]*?(?:\\\\\\\\.[^\\\\\\\\]*?)*?\\\"\\\"\\\"\"]))),\n // Hive and Spark variables: ${name}\n '{}': String.raw(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"(?:{[^}]*})\"], [\"(?:\\\\{[^\\\\}]*\\\\})\"]))),\n // Oracle q'' strings: q'<text>' q'|text|' ...\n \"q''\": buildQStringPatterns()\n};\nexports.quotePatterns = quotePatterns;\n\nvar singleQuotePattern = function singleQuotePattern(quoteTypes) {\n if (typeof quoteTypes === 'string') {\n return quotePatterns[quoteTypes];\n } else {\n return (0, _regexUtil.prefixesPattern)(quoteTypes) + quotePatterns[quoteTypes.quote];\n }\n};\n/** Builds a RegExp for matching variables */\n\n\nvar variable = function variable(varTypes) {\n return (0, _regexUtil.patternToRegex)(varTypes.map(function (varType) {\n return 'regex' in varType ? varType.regex : singleQuotePattern(varType);\n }).join('|'));\n};\n/** Builds a quote-delimited pattern for matching all given quote types */\n\n\nexports.variable = variable;\n\nvar stringPattern = function stringPattern(quoteTypes) {\n return quoteTypes.map(singleQuotePattern).join('|');\n};\n/** Builds a RegExp for matching quote-delimited patterns */\n\n\nexports.stringPattern = stringPattern;\n\nvar string = function string(quoteTypes) {\n return (0, _regexUtil.patternToRegex)(stringPattern(quoteTypes));\n};\n/**\n * Builds a RegExp for valid identifiers in a SQL dialect\n */\n\n\nexports.string = string;\n\nvar identifier = function identifier() {\n var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _regexUtil.patternToRegex)(identifierPattern(specialChars));\n};\n/**\n * Builds a RegExp string for valid identifiers in a SQL dialect\n */\n\n\nexports.identifier = identifier;\n\nvar identifierPattern = function identifierPattern() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n first = _ref4.first,\n rest = _ref4.rest,\n dashes = _ref4.dashes,\n allowFirstCharNumber = _ref4.allowFirstCharNumber;\n\n // Unicode letters, diacritical marks and underscore\n var letter = '\\\\p{Alphabetic}\\\\p{Mark}_'; // Numbers 0..9, plus various unicode numbers\n\n var number = '\\\\p{Decimal_Number}';\n var firstChars = (0, _regexUtil.escapeRegExp)(first !== null && first !== void 0 ? first : '');\n var restChars = (0, _regexUtil.escapeRegExp)(rest !== null && rest !== void 0 ? rest : '');\n var pattern = allowFirstCharNumber ? \"[\".concat(letter).concat(number).concat(firstChars, \"][\").concat(letter).concat(number).concat(restChars, \"]*\") : \"[\".concat(letter).concat(firstChars, \"][\").concat(letter).concat(number).concat(restChars, \"]*\");\n return dashes ? (0, _regexUtil.withDashes)(pattern) : pattern;\n};\n\nexports.identifierPattern = identifierPattern;\n//# sourceMappingURL=regexFactory.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withDashes = exports.toCaseInsensitivePattern = exports.prefixesPattern = exports.patternToRegex = exports.escapeRegExp = exports.WHITESPACE_REGEX = void 0;\n\n// Escapes regex special chars\nvar escapeRegExp = function escapeRegExp(string) {\n return string.replace(/[\\$\\(-\\+\\.\\?\\[-\\^\\{-\\}]/g, '\\\\$&');\n};\n\nexports.escapeRegExp = escapeRegExp;\nvar WHITESPACE_REGEX = new RegExp(\"[\\\\t-\\\\r \\\\xA0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028\\\\u2029\\\\u202F\\\\u205F\\\\u3000\\\\uFEFF]+\", \"y\");\nexports.WHITESPACE_REGEX = WHITESPACE_REGEX;\n\nvar patternToRegex = function patternToRegex(pattern) {\n return new RegExp(\"(?:\".concat(pattern, \")\"), 'uy');\n}; // Converts \"ab\" to \"[Aa][Bb]\"\n\n\nexports.patternToRegex = patternToRegex;\n\nvar toCaseInsensitivePattern = function toCaseInsensitivePattern(prefix) {\n return prefix.split('').map(function (_char) {\n return / /g.test(_char) ? '\\\\s+' : \"[\".concat(_char.toUpperCase()).concat(_char.toLowerCase(), \"]\");\n }).join('');\n};\n\nexports.toCaseInsensitivePattern = toCaseInsensitivePattern;\n\nvar withDashes = function withDashes(pattern) {\n return pattern + '(?:-' + pattern + ')*';\n}; // Converts [\"a\", \"b\"] to \"(?:[Aa]|[Bb]|)\" or \"(?:[Aa]|[Bb])\" when required = true\n\n\nexports.withDashes = withDashes;\n\nvar prefixesPattern = function prefixesPattern(_ref) {\n var prefixes = _ref.prefixes,\n requirePrefix = _ref.requirePrefix;\n return \"(?:\".concat(prefixes.map(toCaseInsensitivePattern).join('|')).concat(requirePrefix ? '' : '|', \")\");\n};\n\nexports.prefixesPattern = prefixesPattern;\n//# sourceMappingURL=regexUtil.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.testToken = exports.isToken = exports.isReserved = exports.isLogicalOperator = exports.createEofToken = exports.TokenType = exports.EOF_TOKEN = void 0;\n\n/** Token type enum for all possible Token categories */\nvar TokenType;\n/** Struct to store the most basic cohesive unit of language grammar */\n\nexports.TokenType = TokenType;\n\n(function (TokenType) {\n TokenType[\"QUOTED_IDENTIFIER\"] = \"QUOTED_IDENTIFIER\";\n TokenType[\"IDENTIFIER\"] = \"IDENTIFIER\";\n TokenType[\"STRING\"] = \"STRING\";\n TokenType[\"VARIABLE\"] = \"VARIABLE\";\n TokenType[\"RESERVED_KEYWORD\"] = \"RESERVED_KEYWORD\";\n TokenType[\"RESERVED_FUNCTION_NAME\"] = \"RESERVED_FUNCTION_NAME\";\n TokenType[\"RESERVED_PHRASE\"] = \"RESERVED_PHRASE\";\n TokenType[\"RESERVED_DEPENDENT_CLAUSE\"] = \"RESERVED_DEPENDENT_CLAUSE\";\n TokenType[\"RESERVED_SET_OPERATION\"] = \"RESERVED_SET_OPERATION\";\n TokenType[\"RESERVED_COMMAND\"] = \"RESERVED_COMMAND\";\n TokenType[\"RESERVED_SELECT\"] = \"RESERVED_SELECT\";\n TokenType[\"RESERVED_JOIN\"] = \"RESERVED_JOIN\";\n TokenType[\"ARRAY_IDENTIFIER\"] = \"ARRAY_IDENTIFIER\";\n TokenType[\"ARRAY_KEYWORD\"] = \"ARRAY_KEYWORD\";\n TokenType[\"CASE\"] = \"CASE\";\n TokenType[\"END\"] = \"END\";\n TokenType[\"LIMIT\"] = \"LIMIT\";\n TokenType[\"BETWEEN\"] = \"BETWEEN\";\n TokenType[\"AND\"] = \"AND\";\n TokenType[\"OR\"] = \"OR\";\n TokenType[\"XOR\"] = \"XOR\";\n TokenType[\"OPERATOR\"] = \"OPERATOR\";\n TokenType[\"COMMA\"] = \"COMMA\";\n TokenType[\"ASTERISK\"] = \"ASTERISK\";\n TokenType[\"DOT\"] = \"DOT\";\n TokenType[\"OPEN_PAREN\"] = \"OPEN_PAREN\";\n TokenType[\"CLOSE_PAREN\"] = \"CLOSE_PAREN\";\n TokenType[\"LINE_COMMENT\"] = \"LINE_COMMENT\";\n TokenType[\"BLOCK_COMMENT\"] = \"BLOCK_COMMENT\";\n TokenType[\"NUMBER\"] = \"NUMBER\";\n TokenType[\"NAMED_PARAMETER\"] = \"NAMED_PARAMETER\";\n TokenType[\"QUOTED_PARAMETER\"] = \"QUOTED_PARAMETER\";\n TokenType[\"NUMBERED_PARAMETER\"] = \"NUMBERED_PARAMETER\";\n TokenType[\"POSITIONAL_PARAMETER\"] = \"POSITIONAL_PARAMETER\";\n TokenType[\"DELIMITER\"] = \"DELIMITER\";\n TokenType[\"EOF\"] = \"EOF\";\n})(TokenType || (exports.TokenType = TokenType = {}));\n\n/** Creates EOF token positioned at given location */\nvar createEofToken = function createEofToken(index) {\n return {\n type: TokenType.EOF,\n raw: '«EOF»',\n text: '«EOF»',\n start: index\n };\n};\n/**\n * For use as a \"missing token\"\n * e.g. in lookAhead and lookBehind to avoid dealing with null values\n */\n\n\nexports.createEofToken = createEofToken;\nvar EOF_TOKEN = createEofToken(Infinity);\n/** Checks if two tokens are equivalent */\n\nexports.EOF_TOKEN = EOF_TOKEN;\n\nvar testToken = function testToken(compareToken) {\n return function (token) {\n return token.type === compareToken.type && token.text === compareToken.text;\n };\n};\n/** Util object that allows for easy checking of Reserved Keywords */\n\n\nexports.testToken = testToken;\nvar isToken = {\n ARRAY: testToken({\n text: 'ARRAY',\n type: TokenType.RESERVED_KEYWORD\n }),\n BY: testToken({\n text: 'BY',\n type: TokenType.RESERVED_KEYWORD\n }),\n SET: testToken({\n text: 'SET',\n type: TokenType.RESERVED_COMMAND\n }),\n STRUCT: testToken({\n text: 'STRUCT',\n type: TokenType.RESERVED_KEYWORD\n }),\n WINDOW: testToken({\n text: 'WINDOW',\n type: TokenType.RESERVED_COMMAND\n })\n};\n/** Checks if token is any Reserved Keyword or Command */\n\nexports.isToken = isToken;\n\nvar isReserved = function isReserved(type) {\n return type === TokenType.RESERVED_KEYWORD || type === TokenType.RESERVED_FUNCTION_NAME || type === TokenType.RESERVED_PHRASE || type === TokenType.RESERVED_DEPENDENT_CLAUSE || type === TokenType.RESERVED_COMMAND || type === TokenType.RESERVED_SELECT || type === TokenType.RESERVED_SET_OPERATION || type === TokenType.RESERVED_JOIN || type === TokenType.ARRAY_KEYWORD || type === TokenType.CASE || type === TokenType.END || type === TokenType.LIMIT || type === TokenType.BETWEEN || type === TokenType.AND || type === TokenType.OR || type === TokenType.XOR;\n};\n\nexports.isReserved = isReserved;\n\nvar isLogicalOperator = function isLogicalOperator(type) {\n return type === TokenType.AND || type === TokenType.OR || type === TokenType.XOR;\n};\n\nexports.isLogicalOperator = isLogicalOperator;\n//# sourceMappingURL=token.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _lineColFromIndex2 = require(\"../lexer/lineColFromIndex\");\n\nvar _token = require(\"../lexer/token\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar LexerAdapter = /*#__PURE__*/function () {\n function LexerAdapter(tokenize) {\n _classCallCheck(this, LexerAdapter);\n\n this.tokenize = tokenize;\n\n _defineProperty(this, \"index\", 0);\n\n _defineProperty(this, \"tokens\", []);\n\n _defineProperty(this, \"input\", '');\n }\n\n _createClass(LexerAdapter, [{\n key: \"reset\",\n value: function reset(chunk, _info) {\n this.input = chunk;\n this.index = 0;\n this.tokens = this.tokenize(chunk);\n }\n }, {\n key: \"next\",\n value: function next() {\n return this.tokens[this.index++];\n }\n }, {\n key: \"save\",\n value: function save() {}\n }, {\n key: \"formatError\",\n value: function formatError(token) {\n var _lineColFromIndex = (0, _lineColFromIndex2.lineColFromIndex)(this.input, token.start),\n line = _lineColFromIndex.line,\n col = _lineColFromIndex.col;\n\n return \"Parse error at token: \".concat(token.text, \" at line \").concat(line, \" column \").concat(col);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return name in _token.TokenType;\n }\n }]);\n\n return LexerAdapter;\n}();\n\nexports[\"default\"] = LexerAdapter;\nmodule.exports = exports.default;\n//# sourceMappingURL=LexerAdapter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NodeType = void 0;\nvar NodeType;\nexports.NodeType = NodeType;\n\n(function (NodeType) {\n NodeType[\"statement\"] = \"statement\";\n NodeType[\"clause\"] = \"clause\";\n NodeType[\"set_operation\"] = \"set_operation\";\n NodeType[\"function_call\"] = \"function_call\";\n NodeType[\"array_subscript\"] = \"array_subscript\";\n NodeType[\"property_access\"] = \"property_access\";\n NodeType[\"parenthesis\"] = \"parenthesis\";\n NodeType[\"between_predicate\"] = \"between_predicate\";\n NodeType[\"limit_clause\"] = \"limit_clause\";\n NodeType[\"all_columns_asterisk\"] = \"all_columns_asterisk\";\n NodeType[\"literal\"] = \"literal\";\n NodeType[\"identifier\"] = \"identifier\";\n NodeType[\"keyword\"] = \"keyword\";\n NodeType[\"parameter\"] = \"parameter\";\n NodeType[\"operator\"] = \"operator\";\n NodeType[\"comma\"] = \"comma\";\n NodeType[\"line_comment\"] = \"line_comment\";\n NodeType[\"block_comment\"] = \"block_comment\";\n})(NodeType || (exports.NodeType = NodeType = {}));\n//# sourceMappingURL=ast.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createParser = createParser;\n\nvar _nearley = require(\"nearley\");\n\nvar _disambiguateTokens = require(\"../lexer/disambiguateTokens\");\n\nvar _grammar = _interopRequireDefault(require(\"./grammar\"));\n\nvar _LexerAdapter = _interopRequireDefault(require(\"./LexerAdapter\"));\n\nvar _token = require(\"../lexer/token\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Creates a parser object which wraps the setup of Nearley parser\n */\nfunction createParser(tokenizer) {\n var paramTypesOverrides = {};\n var lexer = new _LexerAdapter[\"default\"](function (chunk) {\n return [].concat(_toConsumableArray((0, _disambiguateTokens.disambiguateTokens)(tokenizer.tokenize(chunk, paramTypesOverrides))), [(0, _token.createEofToken)(chunk.length)]);\n });\n var parser = new _nearley.Parser(_nearley.Grammar.fromCompiled(_grammar[\"default\"]), {\n lexer: lexer\n });\n return {\n parse: function parse(sql, paramTypes) {\n // share paramTypesOverrides with Tokenizer\n paramTypesOverrides = paramTypes;\n\n var _parser$feed = parser.feed(sql),\n results = _parser$feed.results;\n\n if (results.length === 1) {\n return results[0];\n } else if (results.length === 0) {\n // Ideally we would report a line number where the parser failed,\n // but I haven't found a way to get this info from Nearley :(\n throw new Error('Parse error: Invalid SQL');\n } else {\n throw new Error('Parse error: Ambiguous grammar');\n }\n }\n };\n}\n//# sourceMappingURL=createParser.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _LexerAdapter = _interopRequireDefault(require(\"./LexerAdapter\"));\n\nvar _ast = require(\"./ast\");\n\nvar _token = require(\"../lexer/token\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// Generated automatically by nearley, version 2.20.1\n// http://github.com/Hardmath123/nearley\n// Bypasses TS6133. Allow declared but unused functions.\n// @ts-ignore\nfunction id(d) {\n return d[0];\n}\n\n// The lexer here is only to provide the has() method,\n// that's used inside the generated grammar definition.\n// A proper lexer gets passed to Nearley Parser constructor.\nvar lexer = new _LexerAdapter[\"default\"](function (chunk) {\n return [];\n}); // Used for unwrapping grammar rules like:\n//\n// rule -> ( foo | bar | baz )\n//\n// which otherwise produce single element nested inside two arrays\n\nvar unwrap = function unwrap(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n _ref2$ = _slicedToArray(_ref2[0], 1),\n el = _ref2$[0];\n\n return el;\n};\n\nvar toKeywordNode = function toKeywordNode(token) {\n return {\n type: _ast.NodeType.keyword,\n tokenType: token.type,\n text: token.text,\n raw: token.raw\n };\n};\n\nvar addLeadingComments = function addLeadingComments(node, comments) {\n return comments.length > 0 ? _objectSpread(_objectSpread({}, node), {}, {\n leadingComments: comments\n }) : node;\n};\n\nvar addTrailingComments = function addTrailingComments(node, comments) {\n return comments.length > 0 ? _objectSpread(_objectSpread({}, node), {}, {\n trailingComments: comments\n }) : node;\n};\n\n;\n;\n;\n;\nvar grammar = {\n Lexer: lexer,\n ParserRules: [{\n \"name\": \"main$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"main$ebnf$1\",\n \"symbols\": [\"main$ebnf$1\", \"statement\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"main\",\n \"symbols\": [\"main$ebnf$1\"],\n \"postprocess\": function postprocess(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n statements = _ref4[0];\n\n var last = statements[statements.length - 1];\n\n if (last && !last.hasSemicolon) {\n // we have fully parsed the whole file\n // discard the last statement when it's empty\n return last.children.length > 0 ? statements : statements.slice(0, -1);\n } else {\n // parsing still in progress, do nothing\n return statements;\n }\n }\n }, {\n \"name\": \"statement$subexpression$1\",\n \"symbols\": [lexer.has(\"DELIMITER\") ? {\n type: \"DELIMITER\"\n } : DELIMITER]\n }, {\n \"name\": \"statement$subexpression$1\",\n \"symbols\": [lexer.has(\"EOF\") ? {\n type: \"EOF\"\n } : EOF]\n }, {\n \"name\": \"statement\",\n \"symbols\": [\"expressions_or_clauses\", \"statement$subexpression$1\"],\n \"postprocess\": function postprocess(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n children = _ref6[0],\n _ref6$ = _slicedToArray(_ref6[1], 1),\n delimiter = _ref6$[0];\n\n return {\n type: _ast.NodeType.statement,\n children: children,\n hasSemicolon: delimiter.type === _token.TokenType.DELIMITER\n };\n }\n }, {\n \"name\": \"expressions_or_clauses$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"expressions_or_clauses$ebnf$1\",\n \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"expressions_or_clauses$ebnf$2\",\n \"symbols\": []\n }, {\n \"name\": \"expressions_or_clauses$ebnf$2\",\n \"symbols\": [\"expressions_or_clauses$ebnf$2\", \"clause\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"expressions_or_clauses\",\n \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"expressions_or_clauses$ebnf$2\"],\n \"postprocess\": function postprocess(_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n expressions = _ref8[0],\n clauses = _ref8[1];\n\n return [].concat(_toConsumableArray(expressions), _toConsumableArray(clauses));\n }\n }, {\n \"name\": \"clause$subexpression$1\",\n \"symbols\": [\"limit_clause\"]\n }, {\n \"name\": \"clause$subexpression$1\",\n \"symbols\": [\"select_clause\"]\n }, {\n \"name\": \"clause$subexpression$1\",\n \"symbols\": [\"other_clause\"]\n }, {\n \"name\": \"clause$subexpression$1\",\n \"symbols\": [\"set_operation\"]\n }, {\n \"name\": \"clause\",\n \"symbols\": [\"clause$subexpression$1\"],\n \"postprocess\": unwrap\n }, {\n \"name\": \"limit_clause$ebnf$1\",\n \"symbols\": [\"expression_with_comments\"]\n }, {\n \"name\": \"limit_clause$ebnf$1\",\n \"symbols\": [\"limit_clause$ebnf$1\", \"expression_with_comments\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"limit_clause$ebnf$2$subexpression$1$ebnf$1\",\n \"symbols\": [\"expression\"]\n }, {\n \"name\": \"limit_clause$ebnf$2$subexpression$1$ebnf$1\",\n \"symbols\": [\"limit_clause$ebnf$2$subexpression$1$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"limit_clause$ebnf$2$subexpression$1\",\n \"symbols\": [lexer.has(\"COMMA\") ? {\n type: \"COMMA\"\n } : COMMA, \"limit_clause$ebnf$2$subexpression$1$ebnf$1\"]\n }, {\n \"name\": \"limit_clause$ebnf$2\",\n \"symbols\": [\"limit_clause$ebnf$2$subexpression$1\"],\n \"postprocess\": id\n }, {\n \"name\": \"limit_clause$ebnf$2\",\n \"symbols\": [],\n \"postprocess\": function postprocess() {\n return null;\n }\n }, {\n \"name\": \"limit_clause\",\n \"symbols\": [lexer.has(\"LIMIT\") ? {\n type: \"LIMIT\"\n } : LIMIT, \"_\", \"limit_clause$ebnf$1\", \"limit_clause$ebnf$2\"],\n \"postprocess\": function postprocess(_ref9) {\n var _ref10 = _slicedToArray(_ref9, 4),\n limitToken = _ref10[0],\n _ = _ref10[1],\n exp1 = _ref10[2],\n optional = _ref10[3];\n\n if (optional) {\n var _optional = _slicedToArray(optional, 2),\n comma = _optional[0],\n exp2 = _optional[1];\n\n return {\n type: _ast.NodeType.limit_clause,\n name: addTrailingComments(toKeywordNode(limitToken), _),\n offset: exp1,\n count: exp2\n };\n } else {\n return {\n type: _ast.NodeType.limit_clause,\n name: addTrailingComments(toKeywordNode(limitToken), _),\n count: exp1\n };\n }\n }\n }, {\n \"name\": \"select_clause$subexpression$1$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"select_clause$subexpression$1$ebnf$1\",\n \"symbols\": [\"select_clause$subexpression$1$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"select_clause$subexpression$1\",\n \"symbols\": [\"all_columns_asterisk\", \"select_clause$subexpression$1$ebnf$1\"]\n }, {\n \"name\": \"select_clause$subexpression$1$ebnf$2\",\n \"symbols\": []\n }, {\n \"name\": \"select_clause$subexpression$1$ebnf$2\",\n \"symbols\": [\"select_clause$subexpression$1$ebnf$2\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"select_clause$subexpression$1\",\n \"symbols\": [\"asteriskless_expression\", \"select_clause$subexpression$1$ebnf$2\"]\n }, {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? {\n type: \"RESERVED_SELECT\"\n } : RESERVED_SELECT, \"select_clause$subexpression$1\"],\n \"postprocess\": function postprocess(_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n nameToken = _ref12[0],\n _ref12$ = _slicedToArray(_ref12[1], 2),\n exp = _ref12$[0],\n expressions = _ref12$[1];\n\n return {\n type: _ast.NodeType.clause,\n name: toKeywordNode(nameToken),\n children: [exp].concat(_toConsumableArray(expressions))\n };\n }\n }, {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? {\n type: \"RESERVED_SELECT\"\n } : RESERVED_SELECT],\n \"postprocess\": function postprocess(_ref13) {\n var _ref14 = _slicedToArray(_ref13, 1),\n nameToken = _ref14[0];\n\n return {\n type: _ast.NodeType.clause,\n name: toKeywordNode(nameToken),\n children: []\n };\n }\n }, {\n \"name\": \"all_columns_asterisk\",\n \"symbols\": [lexer.has(\"ASTERISK\") ? {\n type: \"ASTERISK\"\n } : ASTERISK],\n \"postprocess\": function postprocess() {\n return {\n type: _ast.NodeType.all_columns_asterisk\n };\n }\n }, {\n \"name\": \"other_clause$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"other_clause$ebnf$1\",\n \"symbols\": [\"other_clause$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"other_clause\",\n \"symbols\": [lexer.has(\"RESERVED_COMMAND\") ? {\n type: \"RESERVED_COMMAND\"\n } : RESERVED_COMMAND, \"other_clause$ebnf$1\"],\n \"postprocess\": function postprocess(_ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n nameToken = _ref16[0],\n children = _ref16[1];\n\n return {\n type: _ast.NodeType.clause,\n name: toKeywordNode(nameToken),\n children: children\n };\n }\n }, {\n \"name\": \"set_operation$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"set_operation$ebnf$1\",\n \"symbols\": [\"set_operation$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"set_operation\",\n \"symbols\": [lexer.has(\"RESERVED_SET_OPERATION\") ? {\n type: \"RESERVED_SET_OPERATION\"\n } : RESERVED_SET_OPERATION, \"set_operation$ebnf$1\"],\n \"postprocess\": function postprocess(_ref17) {\n var _ref18 = _slicedToArray(_ref17, 2),\n nameToken = _ref18[0],\n children = _ref18[1];\n\n return {\n type: _ast.NodeType.set_operation,\n name: toKeywordNode(nameToken),\n children: children\n };\n }\n }, {\n \"name\": \"expression_with_comments\",\n \"symbols\": [\"simple_expression\", \"_\"],\n \"postprocess\": function postprocess(_ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n expr = _ref20[0],\n _ = _ref20[1];\n\n return addTrailingComments(expr, _);\n }\n }, {\n \"name\": \"expression$subexpression$1\",\n \"symbols\": [\"simple_expression\"]\n }, {\n \"name\": \"expression$subexpression$1\",\n \"symbols\": [\"between_predicate\"]\n }, {\n \"name\": \"expression$subexpression$1\",\n \"symbols\": [\"comma\"]\n }, {\n \"name\": \"expression$subexpression$1\",\n \"symbols\": [\"comment\"]\n }, {\n \"name\": \"expression\",\n \"symbols\": [\"expression$subexpression$1\"],\n \"postprocess\": unwrap\n }, {\n \"name\": \"asteriskless_expression$subexpression$1\",\n \"symbols\": [\"simple_expression_without_asterisk\"]\n }, {\n \"name\": \"asteriskless_expression$subexpression$1\",\n \"symbols\": [\"between_predicate\"]\n }, {\n \"name\": \"asteriskless_expression$subexpression$1\",\n \"symbols\": [\"comma\"]\n }, {\n \"name\": \"asteriskless_expression$subexpression$1\",\n \"symbols\": [\"comment\"]\n }, {\n \"name\": \"asteriskless_expression\",\n \"symbols\": [\"asteriskless_expression$subexpression$1\"],\n \"postprocess\": unwrap\n }, {\n \"name\": \"simple_expression$subexpression$1\",\n \"symbols\": [\"simple_expression_without_asterisk\"]\n }, {\n \"name\": \"simple_expression$subexpression$1\",\n \"symbols\": [\"asterisk\"]\n }, {\n \"name\": \"simple_expression\",\n \"symbols\": [\"simple_expression$subexpression$1\"],\n \"postprocess\": unwrap\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"array_subscript\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"function_call\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"property_access\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"parenthesis\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"curly_braces\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"square_brackets\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"operator\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"identifier\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"parameter\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"literal\"]\n }, {\n \"name\": \"simple_expression_without_asterisk$subexpression$1\",\n \"symbols\": [\"keyword\"]\n }, {\n \"name\": \"simple_expression_without_asterisk\",\n \"symbols\": [\"simple_expression_without_asterisk$subexpression$1\"],\n \"postprocess\": unwrap\n }, {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_IDENTIFIER\") ? {\n type: \"ARRAY_IDENTIFIER\"\n } : ARRAY_IDENTIFIER, \"_\", \"square_brackets\"],\n \"postprocess\": function postprocess(_ref21) {\n var _ref22 = _slicedToArray(_ref21, 3),\n arrayToken = _ref22[0],\n _ = _ref22[1],\n brackets = _ref22[2];\n\n return {\n type: _ast.NodeType.array_subscript,\n array: addTrailingComments({\n type: _ast.NodeType.identifier,\n text: arrayToken.text\n }, _),\n parenthesis: brackets\n };\n }\n }, {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_KEYWORD\") ? {\n type: \"ARRAY_KEYWORD\"\n } : ARRAY_KEYWORD, \"_\", \"square_brackets\"],\n \"postprocess\": function postprocess(_ref23) {\n var _ref24 = _slicedToArray(_ref23, 3),\n arrayToken = _ref24[0],\n _ = _ref24[1],\n brackets = _ref24[2];\n\n return {\n type: _ast.NodeType.array_subscript,\n array: addTrailingComments(toKeywordNode(arrayToken), _),\n parenthesis: brackets\n };\n }\n }, {\n \"name\": \"function_call\",\n \"symbols\": [lexer.has(\"RESERVED_FUNCTION_NAME\") ? {\n type: \"RESERVED_FUNCTION_NAME\"\n } : RESERVED_FUNCTION_NAME, \"_\", \"parenthesis\"],\n \"postprocess\": function postprocess(_ref25) {\n var _ref26 = _slicedToArray(_ref25, 3),\n nameToken = _ref26[0],\n _ = _ref26[1],\n parens = _ref26[2];\n\n return {\n type: _ast.NodeType.function_call,\n name: addTrailingComments(toKeywordNode(nameToken), _),\n parenthesis: parens\n };\n }\n }, {\n \"name\": \"parenthesis\",\n \"symbols\": [{\n \"literal\": \"(\"\n }, \"expressions_or_clauses\", {\n \"literal\": \")\"\n }],\n \"postprocess\": function postprocess(_ref27) {\n var _ref28 = _slicedToArray(_ref27, 3),\n open = _ref28[0],\n children = _ref28[1],\n close = _ref28[2];\n\n return {\n type: _ast.NodeType.parenthesis,\n children: children,\n openParen: \"(\",\n closeParen: \")\"\n };\n }\n }, {\n \"name\": \"curly_braces$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"curly_braces$ebnf$1\",\n \"symbols\": [\"curly_braces$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"curly_braces\",\n \"symbols\": [{\n \"literal\": \"{\"\n }, \"curly_braces$ebnf$1\", {\n \"literal\": \"}\"\n }],\n \"postprocess\": function postprocess(_ref29) {\n var _ref30 = _slicedToArray(_ref29, 3),\n open = _ref30[0],\n children = _ref30[1],\n close = _ref30[2];\n\n return {\n type: _ast.NodeType.parenthesis,\n children: children,\n openParen: \"{\",\n closeParen: \"}\"\n };\n }\n }, {\n \"name\": \"square_brackets$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"square_brackets$ebnf$1\",\n \"symbols\": [\"square_brackets$ebnf$1\", \"expression\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"square_brackets\",\n \"symbols\": [{\n \"literal\": \"[\"\n }, \"square_brackets$ebnf$1\", {\n \"literal\": \"]\"\n }],\n \"postprocess\": function postprocess(_ref31) {\n var _ref32 = _slicedToArray(_ref31, 3),\n open = _ref32[0],\n children = _ref32[1],\n close = _ref32[2];\n\n return {\n type: _ast.NodeType.parenthesis,\n children: children,\n openParen: \"[\",\n closeParen: \"]\"\n };\n }\n }, {\n \"name\": \"property_access$subexpression$1\",\n \"symbols\": [\"identifier\"]\n }, {\n \"name\": \"property_access$subexpression$1\",\n \"symbols\": [\"array_subscript\"]\n }, {\n \"name\": \"property_access$subexpression$1\",\n \"symbols\": [\"all_columns_asterisk\"]\n }, {\n \"name\": \"property_access\",\n \"symbols\": [\"simple_expression\", \"_\", lexer.has(\"DOT\") ? {\n type: \"DOT\"\n } : DOT, \"_\", \"property_access$subexpression$1\"],\n \"postprocess\": // Allowing property to be <array_subscript> is currently a hack.\n // A better way would be to allow <property_access> on the left side of array_subscript,\n // but we currently can't do that because of another hack that requires\n // %ARRAY_IDENTIFIER on the left side of <array_subscript>.\n function postprocess(_ref33) {\n var _ref34 = _slicedToArray(_ref33, 5),\n object = _ref34[0],\n _1 = _ref34[1],\n dot = _ref34[2],\n _2 = _ref34[3],\n _ref34$ = _slicedToArray(_ref34[4], 1),\n property = _ref34$[0];\n\n return {\n type: _ast.NodeType.property_access,\n object: addTrailingComments(object, _1),\n property: addLeadingComments(property, _2)\n };\n }\n }, {\n \"name\": \"between_predicate\",\n \"symbols\": [lexer.has(\"BETWEEN\") ? {\n type: \"BETWEEN\"\n } : BETWEEN, \"_\", \"simple_expression\", \"_\", lexer.has(\"AND\") ? {\n type: \"AND\"\n } : AND, \"_\", \"simple_expression\"],\n \"postprocess\": function postprocess(_ref35) {\n var _ref36 = _slicedToArray(_ref35, 7),\n betweenToken = _ref36[0],\n _1 = _ref36[1],\n expr1 = _ref36[2],\n _2 = _ref36[3],\n andToken = _ref36[4],\n _3 = _ref36[5],\n expr2 = _ref36[6];\n\n return {\n type: _ast.NodeType.between_predicate,\n between: toKeywordNode(betweenToken),\n expr1: [addTrailingComments(addLeadingComments(expr1, _1), _2)],\n and: toKeywordNode(andToken),\n expr2: [addLeadingComments(expr2, _3)]\n };\n }\n }, {\n \"name\": \"comma$subexpression$1\",\n \"symbols\": [lexer.has(\"COMMA\") ? {\n type: \"COMMA\"\n } : COMMA]\n }, {\n \"name\": \"comma\",\n \"symbols\": [\"comma$subexpression$1\"],\n \"postprocess\": function postprocess(_ref37) {\n var _ref38 = _slicedToArray(_ref37, 1),\n _ref38$ = _slicedToArray(_ref38[0], 1),\n token = _ref38$[0];\n\n return {\n type: _ast.NodeType.comma\n };\n }\n }, {\n \"name\": \"asterisk$subexpression$1\",\n \"symbols\": [lexer.has(\"ASTERISK\") ? {\n type: \"ASTERISK\"\n } : ASTERISK]\n }, {\n \"name\": \"asterisk\",\n \"symbols\": [\"asterisk$subexpression$1\"],\n \"postprocess\": function postprocess(_ref39) {\n var _ref40 = _slicedToArray(_ref39, 1),\n _ref40$ = _slicedToArray(_ref40[0], 1),\n token = _ref40$[0];\n\n return {\n type: _ast.NodeType.operator,\n text: token.text\n };\n }\n }, {\n \"name\": \"operator$subexpression$1\",\n \"symbols\": [lexer.has(\"OPERATOR\") ? {\n type: \"OPERATOR\"\n } : OPERATOR]\n }, {\n \"name\": \"operator\",\n \"symbols\": [\"operator$subexpression$1\"],\n \"postprocess\": function postprocess(_ref41) {\n var _ref42 = _slicedToArray(_ref41, 1),\n _ref42$ = _slicedToArray(_ref42[0], 1),\n token = _ref42$[0];\n\n return {\n type: _ast.NodeType.operator,\n text: token.text\n };\n }\n }, {\n \"name\": \"identifier$subexpression$1\",\n \"symbols\": [lexer.has(\"IDENTIFIER\") ? {\n type: \"IDENTIFIER\"\n } : IDENTIFIER]\n }, {\n \"name\": \"identifier$subexpression$1\",\n \"symbols\": [lexer.has(\"QUOTED_IDENTIFIER\") ? {\n type: \"QUOTED_IDENTIFIER\"\n } : QUOTED_IDENTIFIER]\n }, {\n \"name\": \"identifier$subexpression$1\",\n \"symbols\": [lexer.has(\"VARIABLE\") ? {\n type: \"VARIABLE\"\n } : VARIABLE]\n }, {\n \"name\": \"identifier\",\n \"symbols\": [\"identifier$subexpression$1\"],\n \"postprocess\": function postprocess(_ref43) {\n var _ref44 = _slicedToArray(_ref43, 1),\n _ref44$ = _slicedToArray(_ref44[0], 1),\n token = _ref44$[0];\n\n return {\n type: _ast.NodeType.identifier,\n text: token.text\n };\n }\n }, {\n \"name\": \"parameter$subexpression$1\",\n \"symbols\": [lexer.has(\"NAMED_PARAMETER\") ? {\n type: \"NAMED_PARAMETER\"\n } : NAMED_PARAMETER]\n }, {\n \"name\": \"parameter$subexpression$1\",\n \"symbols\": [lexer.has(\"QUOTED_PARAMETER\") ? {\n type: \"QUOTED_PARAMETER\"\n } : QUOTED_PARAMETER]\n }, {\n \"name\": \"parameter$subexpression$1\",\n \"symbols\": [lexer.has(\"NUMBERED_PARAMETER\") ? {\n type: \"NUMBERED_PARAMETER\"\n } : NUMBERED_PARAMETER]\n }, {\n \"name\": \"parameter$subexpression$1\",\n \"symbols\": [lexer.has(\"POSITIONAL_PARAMETER\") ? {\n type: \"POSITIONAL_PARAMETER\"\n } : POSITIONAL_PARAMETER]\n }, {\n \"name\": \"parameter\",\n \"symbols\": [\"parameter$subexpression$1\"],\n \"postprocess\": function postprocess(_ref45) {\n var _ref46 = _slicedToArray(_ref45, 1),\n _ref46$ = _slicedToArray(_ref46[0], 1),\n token = _ref46$[0];\n\n return {\n type: _ast.NodeType.parameter,\n key: token.key,\n text: token.text\n };\n }\n }, {\n \"name\": \"literal$subexpression$1\",\n \"symbols\": [lexer.has(\"NUMBER\") ? {\n type: \"NUMBER\"\n } : NUMBER]\n }, {\n \"name\": \"literal$subexpression$1\",\n \"symbols\": [lexer.has(\"STRING\") ? {\n type: \"STRING\"\n } : STRING]\n }, {\n \"name\": \"literal\",\n \"symbols\": [\"literal$subexpression$1\"],\n \"postprocess\": function postprocess(_ref47) {\n var _ref48 = _slicedToArray(_ref47, 1),\n _ref48$ = _slicedToArray(_ref48[0], 1),\n token = _ref48$[0];\n\n return {\n type: _ast.NodeType.literal,\n text: token.text\n };\n }\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"RESERVED_KEYWORD\") ? {\n type: \"RESERVED_KEYWORD\"\n } : RESERVED_KEYWORD]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"RESERVED_PHRASE\") ? {\n type: \"RESERVED_PHRASE\"\n } : RESERVED_PHRASE]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"RESERVED_DEPENDENT_CLAUSE\") ? {\n type: \"RESERVED_DEPENDENT_CLAUSE\"\n } : RESERVED_DEPENDENT_CLAUSE]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"RESERVED_JOIN\") ? {\n type: \"RESERVED_JOIN\"\n } : RESERVED_JOIN]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"CASE\") ? {\n type: \"CASE\"\n } : CASE]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"END\") ? {\n type: \"END\"\n } : END]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"AND\") ? {\n type: \"AND\"\n } : AND]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"OR\") ? {\n type: \"OR\"\n } : OR]\n }, {\n \"name\": \"keyword$subexpression$1\",\n \"symbols\": [lexer.has(\"XOR\") ? {\n type: \"XOR\"\n } : XOR]\n }, {\n \"name\": \"keyword\",\n \"symbols\": [\"keyword$subexpression$1\"],\n \"postprocess\": function postprocess(_ref49) {\n var _ref50 = _slicedToArray(_ref49, 1),\n _ref50$ = _slicedToArray(_ref50[0], 1),\n token = _ref50$[0];\n\n return toKeywordNode(token);\n }\n }, {\n \"name\": \"_$ebnf$1\",\n \"symbols\": []\n }, {\n \"name\": \"_$ebnf$1\",\n \"symbols\": [\"_$ebnf$1\", \"comment\"],\n \"postprocess\": function postprocess(d) {\n return d[0].concat([d[1]]);\n }\n }, {\n \"name\": \"_\",\n \"symbols\": [\"_$ebnf$1\"],\n \"postprocess\": function postprocess(_ref51) {\n var _ref52 = _slicedToArray(_ref51, 1),\n comments = _ref52[0];\n\n return comments;\n }\n }, {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"LINE_COMMENT\") ? {\n type: \"LINE_COMMENT\"\n } : LINE_COMMENT],\n \"postprocess\": function postprocess(_ref53) {\n var _ref54 = _slicedToArray(_ref53, 1),\n token = _ref54[0];\n\n return {\n type: _ast.NodeType.line_comment,\n text: token.text,\n precedingWhitespace: token.precedingWhitespace\n };\n }\n }, {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"BLOCK_COMMENT\") ? {\n type: \"BLOCK_COMMENT\"\n } : BLOCK_COMMENT],\n \"postprocess\": function postprocess(_ref55) {\n var _ref56 = _slicedToArray(_ref55, 1),\n token = _ref56[0];\n\n return {\n type: _ast.NodeType.block_comment,\n text: token.text\n };\n }\n }],\n ParserStart: \"main\"\n};\nvar _default = grammar;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n//# sourceMappingURL=grammar.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportedDialects = exports.formatters = exports.format = exports.ConfigError = void 0;\n\nvar _bigquery = _interopRequireDefault(require(\"./languages/bigquery/bigquery.formatter\"));\n\nvar _db = _interopRequireDefault(require(\"./languages/db2/db2.formatter\"));\n\nvar _hive = _interopRequireDefault(require(\"./languages/hive/hive.formatter\"));\n\nvar _mariadb = _interopRequireDefault(require(\"./languages/mariadb/mariadb.formatter\"));\n\nvar _mysql = _interopRequireDefault(require(\"./languages/mysql/mysql.formatter\"));\n\nvar _n1ql = _interopRequireDefault(require(\"./languages/n1ql/n1ql.formatter\"));\n\nvar _plsql = _interopRequireDefault(require(\"./languages/plsql/plsql.formatter\"));\n\nvar _postgresql = _interopRequireDefault(require(\"./languages/postgresql/postgresql.formatter\"));\n\nvar _redshift = _interopRequireDefault(require(\"./languages/redshift/redshift.formatter\"));\n\nvar _spark = _interopRequireDefault(require(\"./languages/spark/spark.formatter\"));\n\nvar _sqlite = _interopRequireDefault(require(\"./languages/sqlite/sqlite.formatter\"));\n\nvar _sql = _interopRequireDefault(require(\"./languages/sql/sql.formatter\"));\n\nvar _trino = _interopRequireDefault(require(\"./languages/trino/trino.formatter\"));\n\nvar _transactsql = _interopRequireDefault(require(\"./languages/transactsql/transactsql.formatter\"));\n\nvar _singlestoredb = _interopRequireDefault(require(\"./languages/singlestoredb/singlestoredb.formatter\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar formatters = {\n bigquery: _bigquery[\"default\"],\n db2: _db[\"default\"],\n hive: _hive[\"default\"],\n mariadb: _mariadb[\"default\"],\n mysql: _mysql[\"default\"],\n n1ql: _n1ql[\"default\"],\n plsql: _plsql[\"default\"],\n postgresql: _postgresql[\"default\"],\n redshift: _redshift[\"default\"],\n singlestoredb: _singlestoredb[\"default\"],\n spark: _spark[\"default\"],\n sql: _sql[\"default\"],\n sqlite: _sqlite[\"default\"],\n transactsql: _transactsql[\"default\"],\n trino: _trino[\"default\"],\n tsql: _transactsql[\"default\"] // alias for transactsql\n\n};\nexports.formatters = formatters;\nvar supportedDialects = Object.keys(formatters);\nexports.supportedDialects = supportedDialects;\nvar defaultOptions = {\n language: 'sql',\n tabWidth: 2,\n useTabs: false,\n keywordCase: 'preserve',\n indentStyle: 'standard',\n logicalOperatorNewline: 'before',\n tabulateAlias: false,\n commaPosition: 'after',\n expressionWidth: 50,\n linesBetweenQueries: 1,\n denseOperators: false,\n newlineBeforeSemicolon: false\n};\n/**\n * Format whitespace in a query to make it easier to read.\n *\n * @param {string} query - input SQL query string\n * @param {FormatOptions} cfg Configuration options (see docs in README)\n * @return {string} formatted query\n */\n\nvar format = function format(query) {\n var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof query !== 'string') {\n throw new Error('Invalid query argument. Expected string, instead got ' + _typeof(query));\n }\n\n var options = validateConfig(_objectSpread(_objectSpread({}, defaultOptions), cfg));\n var FormatterCls = typeof options.language === 'string' ? formatters[options.language] : options.language;\n return new FormatterCls(options).format(query);\n};\n\nexports.format = format;\n\nvar ConfigError = /*#__PURE__*/function (_Error) {\n _inherits(ConfigError, _Error);\n\n var _super = _createSuper(ConfigError);\n\n function ConfigError() {\n _classCallCheck(this, ConfigError);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass(ConfigError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.ConfigError = ConfigError;\n\nfunction validateConfig(cfg) {\n if (typeof cfg.language === 'string' && !supportedDialects.includes(cfg.language)) {\n throw new ConfigError(\"Unsupported SQL dialect: \".concat(cfg.language));\n }\n\n if ('multilineLists' in cfg) {\n throw new ConfigError('multilineLists config is no more supported.');\n }\n\n if ('newlineBeforeOpenParen' in cfg) {\n throw new ConfigError('newlineBeforeOpenParen config is no more supported.');\n }\n\n if ('newlineBeforeCloseParen' in cfg) {\n throw new ConfigError('newlineBeforeCloseParen config is no more supported.');\n }\n\n if ('aliasAs' in cfg) {\n throw new ConfigError('aliasAs config is no more supported.');\n }\n\n if (cfg.expressionWidth <= 0) {\n throw new ConfigError(\"expressionWidth config must be positive number. Received \".concat(cfg.expressionWidth, \" instead.\"));\n }\n\n if (cfg.commaPosition === 'before' && cfg.useTabs) {\n throw new ConfigError('commaPosition: before does not work when tabs are used for indentation.');\n }\n\n if (cfg.params && !validateParams(cfg.params)) {\n // eslint-disable-next-line no-console\n console.warn('WARNING: All \"params\" option values should be strings.');\n }\n\n return cfg;\n}\n\nfunction validateParams(params) {\n var paramValues = params instanceof Array ? params : Object.values(params);\n return paramValues.every(function (p) {\n return typeof p === 'string';\n });\n}\n//# sourceMappingURL=sqlFormatter.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sum = exports.sortByLengthDesc = exports.maxLength = exports.last = exports.flatKeywordList = exports.equalizeWhitespace = exports.dedupe = void 0;\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar dedupe = function dedupe(arr) {\n return _toConsumableArray(new Set(arr));\n}; // Last element from array\n\n\nexports.dedupe = dedupe;\n\nvar last = function last(arr) {\n return arr[arr.length - 1];\n}; // Sorts strings by length, so that longer ones are first\n// Also sorts alphabetically after sorting by length.\n\n\nexports.last = last;\n\nvar sortByLengthDesc = function sortByLengthDesc(strings) {\n return strings.sort(function (a, b) {\n return b.length - a.length || a.localeCompare(b);\n });\n};\n/** Get length of longest string in list of strings */\n\n\nexports.sortByLengthDesc = sortByLengthDesc;\n\nvar maxLength = function maxLength(strings) {\n return strings.reduce(function (max, cur) {\n return Math.max(max, cur.length);\n }, 0);\n}; // replaces long whitespace sequences with just one space\n\n\nexports.maxLength = maxLength;\n\nvar equalizeWhitespace = function equalizeWhitespace(s) {\n return s.replace(/[\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+/g, ' ');\n}; // Adds up all values in array\n\n\nexports.equalizeWhitespace = equalizeWhitespace;\n\nvar sum = function sum(arr) {\n var total = 0;\n\n var _iterator = _createForOfIteratorHelper(arr),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var x = _step.value;\n total += x;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return total;\n}; // Used for flattening keyword lists\n\n\nexports.sum = sum;\n\nvar flatKeywordList = function flatKeywordList(obj) {\n return dedupe(Object.values(obj).flat());\n}; // Given a type and a field name, returns a type where this field is optional\n//\n// For example, these two type definitions are equivalent:\n//\n// type Foo = Optional<{ foo: string, bar: number }, 'foo'>;\n// type Foo = { foo?: string, bar: number };\n//\n\n\nexports.flatKeywordList = flatKeywordList;\n//# sourceMappingURL=utils.js.map","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object)\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getElementFromSelector,\n getjQuery,\n getNextActiveElement,\n getSelectorFromElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // todo: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n let evt = new Event(event, { bubbles, cancelable: true })\n evt = hydrateObj(evt, args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta) {\n for (const [key, value] of Object.entries(meta || {})) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isElement, toType } from './index'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport { executeAfterTransition, getElement } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Config from './util/config'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow } from './index'\nimport Config from './config'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport Config from './config'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElementFromSelector, isRTL, isVisible, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY)\n }\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n event.preventDefault()\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n"],"names":["factory","Rule","name","symbols","postprocess","this","id","highestId","State","rule","dot","reference","wantedBy","data","isComplete","length","Column","grammar","index","states","wants","scannable","completed","Grammar","rules","start","byName","forEach","hasOwnProperty","push","StreamLexer","reset","Parser","options","fromCompiled","key","keepHistory","lexer","lexerState","undefined","column","table","predict","process","current","getSymbolShortDisplay","symbol","type","literal","JSON","stringify","RegExp","toString","test","String","Error","prototype","withCursorAt","symbolSequence","map","join","slice","nextState","child","state","left","right","build","children","node","reverse","finish","fail","nextColumn","w","i","complete","exp","nulls","r","s","copy","Lexer","ParserStart","ParserRules","g","buffer","line","lastLineBreak","col","next","ch","value","save","formatError","token","message","lines","split","Math","max","nextLineBreak","indexOf","lastLineDigits","pad","n","Array","feed","chunk","e","err","reportLexerError","offset","text","constructor","expect","isToken","reportError","results","lexerError","tokenDisplay","lexerMessage","reportErrorCommon","lastColumnIndex","lastColumn","expectantStates","filter","nextSymbol","displayStateStack","buildFirstStateStack","stateStack","symbolDisplay","getSymbolDisplay","lastDisplay","sameDisplayCount","j","display","getSymbolLongDisplay","visited","prevState","childVisited","concat","childResult","restore","splice","rewind","considerations","t","c","module","exports","nearley","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","Object","call","from","_iterableToArray","iter","Symbol","iterator","arr","len","arr2","defineProperty","expandSinglePhrase","expandPhrases","phrases","flatMap","phrase","buildCombinations","parsePhrase","trim","REQUIRED_PART","REQUIRED_BLOCK","OPTIONAL_BLOCK","result","lastIndex","requiredMatch","exec","optionalBlockMatch","choices","isArray","_arrayWithoutHoles","TypeError","_nonIterableSpread","requiredBlockMatch","_choices","_ref","_ref2","_arrayWithHoles","_nonIterableRest","first","rest","tail","head","_typeof","obj","_utils","_config","_token","_ast","_Layout","_tabularStyle","_interopRequireWildcard","_InlineLayout","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","__esModule","cache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_defineProperties","target","props","descriptor","enumerable","configurable","writable","_defineProperty","ExpressionFormatter","cfg","params","layout","_ref$inline","inline","instance","Constructor","_classCallCheck","protoProps","nodes","formatNode","formatComments","leadingComments","formatNodeWithoutComments","trailingComments","NodeType","function_call","formatFunctionCall","array_subscript","formatArraySubscript","property_access","formatPropertyAccess","parenthesis","formatParenthesis","between_predicate","formatBetweenPredicate","clause","formatClause","set_operation","formatSetOperation","limit_clause","formatLimitClause","all_columns_asterisk","formatAllColumnsAsterisk","formatLiteral","identifier","formatIdentifier","parameter","formatParameter","operator","formatOperator","comma","formatComma","line_comment","formatLineComment","block_comment","formatBlockComment","keyword","formatKeywordNode","_this","withComments","add","showKw","_this2","array","object","WS","NO_SPACE","property","_this$layout","inlineLayout","formatInlineExpression","openParen","apply","getLayoutItems","closeParen","SPACE","NEWLINE","isTabularStyle","INDENT","formatSubExpression","indentation","increaseBlockLevel","decreaseBlockLevel","between","expr1","showNonTabularKw","and","expr2","increaseTopLevel","decreaseTopLevel","_this3","count","_node","language","denseOperators","fn","comments","_this4","com","precedingWhitespace","MANDATORY_NEWLINE","NO_NEWLINE","_this5","splitBlockComment","comment","replace","format","oldParamIndex","getPositionalParameterIndex","expressionWidth","InlineLayoutError","setPositionalParameterIndex","tokenType","TokenType","RESERVED_JOIN","formatJoin","RESERVED_DEPENDENT_CLAUSE","formatDependentClause","AND","OR","XOR","formatLogicalOperator","RESERVED_KEYWORD","RESERVED_FUNCTION_NAME","RESERVED_PHRASE","formatKeyword","CASE","formatCaseStart","END","formatCaseEnd","logicalOperatorNewline","formatMultilineBlockEnd","isTabularToken","indentStyle","keywordCase","equalizeWhitespace","raw","toLowerCase","default","_Params","_interopRequireDefault","_createParser","_formatCommaPositions","_formatAliasPositions","_ExpressionFormatter","_Indentation","Formatter","cls","cachedTokenizer","tokenizer","query","ast","parse","formattedQuery","formatAst","postFormat","trimEnd","createParser","paramTypes","statements","stat","formatStatement","repeat","linesBetweenQueries","statement","indentString","hasSemicolon","newlineBeforeSemicolon","tabulateAlias","commaPosition","INDENT_TYPE_TOP_LEVEL","Indentation","indent","indentTypes","last","pop","_Layout2","_wrapNativeSuper","Class","_cache","Map","Function","Wrapper","_construct","arguments","_getPrototypeOf","create","_setPrototypeOf","Parent","args","_isNativeReflectConstruct","Reflect","construct","bind","a","_createClass","staticProps","_get","receiver","base","_superPropBase","_inherits","subClass","superClass","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","InlineLayout","_super","_get2","_len","items","_key","item","addToLength","trailingSpace","SINGLE_INDENT","_Error","_super2","Layout","_i","_items","trimHorizontalWhitespace","trimWhitespace","addNewline","addIndentation","isHorizontalWhitespace","isRemovableWhitespace","newline","getLevel","itemToString","getSingleIndent","Params","useTabs","tabWidth","newQuery","match","aliasLines","splitLines","matches","precedingText","as","alias","aliasMaxLength","maxLength","_ref3","_toConsumableArray","groups","group","groupCommaDelimitedLines","commaLines","maxLineLength","trimTrailingCommas","formatTabular","whitespace","removeLastIndent","PRECEDING_WHITESPACE_REGEX","_s","_e","_arr","_n","_d","done","_iterableToArrayLimit","trimStart","formatBefore","tokenText","includes","_tokenText$split2","padEnd","padStart","isLogicalOperator","RESERVED_COMMAND","RESERVED_SELECT","RESERVED_SET_OPERATION","LIMIT","_exportNames","Tokenizer","_Formatter","_Tokenizer","_expandPhrases","_sqlFormatter","keys","_Formatter2","_bigquery","_bigquery2","ownKeys","enumerableOnly","getOwnPropertySymbols","sym","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","reservedSelect","reservedCommands","reservedSetOperations","reservedJoins","reservedPhrases","BigQueryFormatter","reservedDependentClauses","reservedKeywords","keywords","reservedFunctionNames","functions","extraParens","stringTypes","quote","prefixes","requirePrefix","identTypes","identChars","dashes","positional","named","quoted","lineCommentTypes","operators","postProcess","tokens","prevToken","EOF_TOKEN","detectArraySubscripts","processed","_tokens","ARRAY","STRUCT","endIndex","findClosingAngleBracketIndex","typeDefTokens","IDENTIFIER","formatTypeDefToken","combineParameterizedTypes","COMMA","startIndex","level","flatKeywordList","aead","aggregateAnalytic","aggregate","approximateAggregate","bitwise","conversion","date","datetime","debugging","federatedQuery","geography","hash","hll","interval","json","math","navigation","net","numbering","security","statisticalAggregate","string","time","timestamp","uuid","conditional","legacyAggregate","legacyBitwise","legacyCasting","legacyComparison","legacyDatetime","legacyIp","legacyJson","legacyMath","legacyRegex","legacyString","legacyTableWildcard","legacyUrl","legacyWindow","legacyMisc","other","ddl","pivot","dataTypes","datatypes","stringFormat","misc","_db","_db2","Db2Formatter","paramChars","scalar","row","olap","cast","standard","_hive","_hive2","HiveFormatter","variableTypes","masking","window","nonReserved","reserved","fileTypes","_mariadb","_mariadb2","MariaDbFormatter","supportsXor","allowFirstCharNumber","regex","nextToken","SET","all","_mysql","_mysql2","MySqlFormatter","_n1ql","_n1ql2","N1qlFormatter","numbered","_plsql","_plsql2","PlSqlFormatter","previousReservedToken","BY","isReserved","numeric","character","comparison","largeObject","collection","hierarchical","dataMining","xml","encoding","nullRelated","env","objectReference","model","_postgresql","_postgresql2","PostgreSqlFormatter","nestedBlockComments","binary","bitstring","pattern","datatype","geometry","network","textsearch","sequence","range","sysInfo","sysAdmin","trigger","eventTrigger","stats","_redshift","_redshift2","RedshiftFormatter","dateTime","spatial","hyperLogLog","machineLearning","superType","dataType","dataConversionParams","dataLoadParams","dataFormatParams","copyAuthParams","copyCompressionParams","copyMiscParams","compressionEncodings","_singlestoredb","_singlestoredb2","SingleStoreDbFormatter","_spark","_spark2","SparkFormatter","WINDOW","OPEN_PAREN","caseAbbrev","_sql","_sql2","SqlFormatter","nonStandard","_sqlite","_sqlite2","SqliteFormatter","_transactsql","_transactsql2","TransactSqlFormatter","analytic","configuration","cryptographic","cursor","mathematical","metadata","ranking","system","statistical","odbc","_trino","_trino2","TrinoFormatter","rowPattern","types","NestedComment","START","MIDDLE","input","nestLevel","matchSection","_TokenizerEngine","_regexUtil","_NestedComment","rulesBeforeParams","buildRulesBeforeParams","rulesAfterParams","buildRulesAfterParams","paramTypesOverrides","buildParamRules","tokenize","_cfg$lineCommentTypes","_cfg$reservedPhrases","validRules","BLOCK_COMMENT","LINE_COMMENT","lineComment","QUOTED_IDENTIFIER","NUMBER","reservedWord","toCanonical","BETWEEN","_cfg$operators","VARIABLE","variable","STRING","DELIMITER","CLOSE_PAREN","OPERATOR","ASTERISK","DOT","_cfg$paramTypes","_cfg$paramTypes2","_cfg$paramTypes3","_cfg$paramTypes4","NAMED_PARAMETER","identifierPattern","v","QUOTED_PARAMETER","stringPattern","quoteChar","tokenKey","escapeRegExp","NUMBERED_PARAMETER","POSITIONAL_PARAMETER","toUpperCase","_lineColFromIndex2","TokenizerEngine","getWhitespace","getNextToken","createParseError","_lineColFromIndex","lineColFromIndex","WHITESPACE_REGEX","_step","_iterator","allowArrayLike","it","F","f","normalCompletion","didErr","step","_e2","_createForOfIteratorHelper","matchedText","disambiguateTokens","dotKeywordToIdent","funcNameToKeyword","identToArrayIdent","keywordToArrayKeyword","prevNonCommentToken","nextNonCommentToken","isOpenParen","isOpenBracket","ARRAY_IDENTIFIER","ARRAY_KEYWORD","dir","isComment","quotePatterns","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_taggedTemplateLiteral","strings","freeze","kind","parens","pair","patternToRegex","sortByLengthDesc","rejectIdentCharsPattern","avoidIdentChars","reservedKeywordsPattern","typesRegex","specialDelimiterMap","patternList","specialDelimiters","standardDelimiterPattern","entries","singleQuotePattern","quoteTypes","prefixesPattern","varTypes","varType","specialChars","_ref4","letter","number","firstChars","restChars","withDashes","toCaseInsensitivePattern","prefix","_char","testToken","createEofToken","EOF","Infinity","compareToken","LexerAdapter","_info","_LexerAdapter","_disambiguateTokens","parser","_nearley","_grammar","sql","_slicedToArray","unwrap","toKeywordNode","addLeadingComments","addTrailingComments","_default","d","_ref5","_ref6","delimiter","_ref7","_ref8","expressions","clauses","_ref9","_ref10","limitToken","_","exp1","optional","_optional","exp2","_ref11","_ref12","nameToken","_ref12$","_ref13","_ref15","_ref16","_ref17","_ref18","_ref19","_ref20","expr","_ref21","_ref22","arrayToken","brackets","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_1","_2","_ref35","_ref36","betweenToken","andToken","_3","_ref37","_ref38","_ref39","_ref40","_ref41","_ref42","_ref43","_ref44","_ref45","_ref46","_ref47","_ref48","_ref49","_ref50","_ref51","_ref53","_ref55","supportedDialects","formatters","ConfigError","bigquery","db2","hive","mariadb","mysql","n1ql","plsql","postgresql","redshift","singlestoredb","spark","sqlite","transactsql","trino","tsql","defaultOptions","validateConfig","FormatterCls","values","every","console","warn","sum","dedupe","Set","sort","b","localeCompare","reduce","cur","total","flat","TRANSITION_END","getElementFromSelector","element","selector","getAttribute","hrefAttribute","startsWith","getSelector","document","querySelector","isElement","jquery","nodeType","getElement","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","documentElement","execute","callback","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","MILLISECONDS_MULTIPLIER","getTransitionDurationFromElement","called","handler","removeEventListener","addEventListener","setTimeout","dispatchEvent","Event","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","bootstrapDelegationHandler","bootstrapHandler","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","elementEvent","keyHandlers","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","meta","Element","findOne","parents","ancestor","prev","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","el","normalizeData","decodeURIComponent","normalizeDataKey","chr","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","pureKey","charAt","getDataAttribute","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","elementMap","instanceMap","size","error","remove","delete","Default","DefaultType","NAME","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","configTypes","expectedTypes","valueType","super","_element","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","static","getInstance","VERSION","CLASS_NAME_SHOW","EVENT_MOUSEDOWN","className","clickCallback","rootElement","_isAppended","show","_append","_getElement","_emulateAnimation","hide","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","_isActive","_lastTabNavDirection","activate","focus","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_STATIC","keyboard","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_isTransitioning","_scrollBar","getWidth","documentWidth","clientWidth","abs","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","style","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","_addEventListeners","toggle","_adjustDialog","_showElement","_hideModal","_isAnimated","htmlElement","handleUpdate","scrollTop","modalBody","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","each","getOrCreateInstance","plugin","tagName","showEvent","alreadyOpen","component","method","clickEvent","enableDismissTrigger","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","readyState"],"sourceRoot":""}