{"version":3,"sources":["webpack:///./node_modules/sql-formatter/lib/core/regexFactory.js","webpack:///./node_modules/sql-formatter/lib/core/Indentation.js","webpack:///./node_modules/sql-formatter/lib/languages/StandardSqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/core/Params.js","webpack:///./node_modules/sql-formatter/lib/languages/PlSqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/N1qlFormatter.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/sql-formatter/lib/core/token.js","webpack:///./node_modules/sql-formatter/lib/core/tokenTypes.js","webpack:///./node_modules/sql-formatter/lib/languages/MySqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/TSqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/Db2Formatter.js","webpack:///./node_modules/sql-formatter/lib/core/Formatter.js","webpack:///./node_modules/sql-formatter/lib/languages/PostgreSqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/RedshiftFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/MariaDbFormatter.js","webpack:///./node_modules/sql-formatter/lib/core/Tokenizer.js","webpack:///./node_modules/sql-formatter/lib/utils.js","webpack:///./node_modules/sql-formatter/lib/core/InlineBlock.js","webpack:///./node_modules/sql-formatter/lib/sqlFormatter.js","webpack:///./node_modules/sql-formatter/lib/languages/SparkSqlFormatter.js"],"names":["Object","defineProperty","exports","value","createOperatorRegex","createLineCommentRegex","createReservedWordRegex","createWordRegex","createStringRegex","createStringPattern","createParenRegex","createPlaceholderRegex","_utils","multiLetterOperators","RegExp","concat","sortByLengthDesc","map","escapeRegExp","join","lineCommentTypes","c","reservedWords","length","reservedWordsPattern","replace","specialChars","arguments","undefined","stringTypes","patterns","$$","t","parens","escapeParen","paren","types","pattern","isEmpty","typesRegex","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","key","_createClass","protoProps","staticProps","prototype","INDENT_TYPE_TOP_LEVEL","INDENT_TYPE_BLOCK_LEVEL","Indentation","indent","this","indentTypes","repeat","push","last","pop","type","module","default","_typeof","obj","Symbol","iterator","constructor","_Formatter2","_interopRequireDefault","_Tokenizer","__esModule","_inherits","subClass","superClass","create","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","apply","_possibleConstructorReturn","self","call","_assertThisInitialized","ReferenceError","sham","Proxy","Date","toString","e","getPrototypeOf","reservedTopLevelWords","reservedTopLevelWordsNoIndent","reservedNewlineWords","StandardSqlFormatter","_Formatter","_super","openParens","closeParens","indexedPlaceholderTypes","namedPlaceholderTypes","Params","params","index","_ref","_token","_tokenTypes","PlSqlFormatter","specialWordChars","operators","token","isSet","isBy","previousReservedToken","RESERVED","N1qlFormatter","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","_s","_e","_arr","_n","_d","next","done","err","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","isEnd","isWindow","isLimit","isBetween","isAnd","isToken","regex","test","RESERVED_NEWLINE","RESERVED_TOP_LEVEL","CLOSE_PAREN","_default","WORD","STRING","RESERVED_TOP_LEVEL_NO_INDENT","OPERATOR","OPEN_PAREN","LINE_COMMENT","BLOCK_COMMENT","NUMBER","PLACEHOLDER","MySqlFormatter","TSqlFormatter","Db2Formatter","_Indentation","_InlineBlock","_Params","_defineProperty","Formatter","cfg","indentation","inlineBlock","tokens","Error","query","tokenizer","tokenize","formattedQuery","getFormattedQueryFromTokens","trim","_this","forEach","tokenOverride","formatLineComment","formatBlockComment","formatTopLevelReservedWord","formatTopLevelReservedWordNoIndent","formatNewlineReservedWord","formatWithSpaces","formatOpeningParentheses","formatClosingParentheses","formatPlaceholder","formatComma","formatWithSpaceAfter","formatWithoutSpaces","formatQuerySeparator","addNewline","show","indentComment","comment","getIndent","decreaseTopLevel","equalizeWhitespace","increaseTopLevel","tokenLookBehind","string","_preserveWhitespaceFo","_this$tokenLookBehind","preserveWhitespaceFor","whitespaceBefore","trimSpacesEnd","beginIfPossible","isActive","increaseBlockLevel","end","decreaseBlockLevel","get","resetIndentation","linesBetweenQueries","uppercase","toUpperCase","endsWith","n","PostgreSqlFormatter","RedshiftFormatter","MariaDbFormatter","regexFactory","_interopRequireWildcard","_getRequireWildcardCache","WeakMap","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","hasOwnProperty","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","slice","name","from","iter","len","arr2","Tokenizer","WHITESPACE_REGEX","NUMBER_REGEX","OPERATOR_REGEX","BLOCK_COMMENT_REGEX","LINE_COMMENT_REGEX","RESERVED_TOP_LEVEL_REGEX","RESERVED_TOP_LEVEL_NO_INDENT_REGEX","RESERVED_NEWLINE_REGEX","RESERVED_PLAIN_REGEX","WORD_REGEX","STRING_REGEX","OPEN_PAREN_REGEX","CLOSE_PAREN_REGEX","INDEXED_PLACEHOLDER_REGEX","IDENT_NAMED_PLACEHOLDER_REGEX","STRING_NAMED_PLACEHOLDER_REGEX","input","getWhitespace","substring","getNextToken","matches","match","previousToken","getCommentToken","getStringToken","getOpenParenToken","getCloseParenToken","getPlaceholderToken","getNumberToken","getReservedWordToken","getWordToken","getOperatorToken","getLineCommentToken","getBlockCommentToken","getTokenOnFirstMatch","getIdentNamedPlaceholderToken","getStringNamedPlaceholderToken","getIndexedPlaceholderToken","getPlaceholderTokenWithKey","parseKey","v","getEscapedPlaceholderKey","quoteChar","_ref2","getTopLevelReservedToken","getNewlineReservedToken","getTopLevelReservedTokenNoIndent","getPlainReservedToken","_ref3","str","strings","sort","a","b","localeCompare","INLINE_MAX_LENGTH","InlineBlock","level","isInlineBlock","isForbiddenToken","COMMENT","supportedDialects","format","_Db2Formatter","_MariaDbFormatter","_MySqlFormatter","_N1qlFormatter","_PlSqlFormatter","_PostgreSqlFormatter","_RedshiftFormatter","_SparkSqlFormatter","_StandardSqlFormatter","_TSqlFormatter","formatters","db2","mariadb","mysql","n1ql","plsql","postgresql","redshift","spark","sql","tsql","language","SparkSqlFormatter","aheadToken","tokenLookAhead","backToken"],"mappings":"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","file":"js/chunk-15211e6e.23e3691e.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createOperatorRegex = createOperatorRegex;\nexports.createLineCommentRegex = createLineCommentRegex;\nexports.createReservedWordRegex = createReservedWordRegex;\nexports.createWordRegex = createWordRegex;\nexports.createStringRegex = createStringRegex;\nexports.createStringPattern = createStringPattern;\nexports.createParenRegex = createParenRegex;\nexports.createPlaceholderRegex = createPlaceholderRegex;\n\nvar _utils = require(\"../utils\");\n\nfunction createOperatorRegex(multiLetterOperators) {\n return new RegExp(\"^(\".concat((0, _utils.sortByLengthDesc)(multiLetterOperators).map(_utils.escapeRegExp).join('|'), \"|.)\"), 'u');\n}\n\nfunction createLineCommentRegex(lineCommentTypes) {\n return new RegExp(\"^((?:\".concat(lineCommentTypes.map(function (c) {\n return (0, _utils.escapeRegExp)(c);\n }).join('|'), \").*?)(?:\\r\\n|\\r|\\n|$)\"), 'u');\n}\n\nfunction createReservedWordRegex(reservedWords) {\n if (reservedWords.length === 0) {\n return new RegExp(\"^\\b$\", 'u');\n }\n\n var reservedWordsPattern = (0, _utils.sortByLengthDesc)(reservedWords).join('|').replace(/ /g, '\\\\s+');\n return new RegExp(\"^(\".concat(reservedWordsPattern, \")\\\\b\"), 'iu');\n}\n\nfunction createWordRegex() {\n var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return new RegExp(\"^([\\\\p{Alphabetic}\\\\p{Mark}\\\\p{Decimal_Number}\\\\p{Connector_Punctuation}\\\\p{Join_Control}\".concat(specialChars.join(''), \"]+)\"), 'u');\n}\n\nfunction createStringRegex(stringTypes) {\n return new RegExp('^(' + createStringPattern(stringTypes) + ')', 'u');\n} // This enables the following string patterns:\n// 1. backtick quoted string using `` to escape\n// 2. square bracket quoted string (SQL Server) using ]] to escape\n// 3. double quoted string using \"\" or \\\" to escape\n// 4. single quoted string using '' or \\' to escape\n// 5. national character quoted string using N'' or N\\' to escape\n// 6. Unicode single-quoted string using \\' to escape\n// 7. Unicode double-quoted string using \\\" to escape\n// 8. PostgreSQL dollar-quoted strings\n\n\nfunction createStringPattern(stringTypes) {\n var patterns = {\n '``': '((`[^`]*($|`))+)',\n '{}': '((\\\\{[^\\\\}]*($|\\\\}))+)',\n '[]': '((\\\\[[^\\\\]]*($|\\\\]))(\\\\][^\\\\]]*($|\\\\]))*)',\n '\"\"': '((\"[^\"\\\\\\\\]*(?:\\\\\\\\.[^\"\\\\\\\\]*)*(\"|$))+)',\n \"''\": \"(('[^'\\\\\\\\]*(?:\\\\\\\\.[^'\\\\\\\\]*)*('|$))+)\",\n \"N''\": \"((N'[^'\\\\\\\\]*(?:\\\\\\\\.[^'\\\\\\\\]*)*('|$))+)\",\n \"U&''\": \"((U&'[^'\\\\\\\\]*(?:\\\\\\\\.[^'\\\\\\\\]*)*('|$))+)\",\n 'U&\"\"': '((U&\"[^\"\\\\\\\\]*(?:\\\\\\\\.[^\"\\\\\\\\]*)*(\"|$))+)',\n $$: '((?\\\\$\\\\w*\\\\$)[\\\\s\\\\S]*?(?:\\\\k|$))'\n };\n return stringTypes.map(function (t) {\n return patterns[t];\n }).join('|');\n}\n\nfunction createParenRegex(parens) {\n return new RegExp('^(' + parens.map(escapeParen).join('|') + ')', 'iu');\n}\n\nfunction escapeParen(paren) {\n if (paren.length === 1) {\n // A single punctuation character\n return (0, _utils.escapeRegExp)(paren);\n } else {\n // longer word\n return '\\\\b' + paren + '\\\\b';\n }\n}\n\nfunction createPlaceholderRegex(types, pattern) {\n if ((0, _utils.isEmpty)(types)) {\n return false;\n }\n\n var typesRegex = types.map(_utils.escapeRegExp).join('|');\n return new RegExp(\"^((?:\".concat(typesRegex, \")(?:\").concat(pattern, \"))\"), 'u');\n}","\"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); return Constructor; }\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_TOP_LEVEL words\n */\n\nvar Indentation = /*#__PURE__*/function () {\n /**\n * @param {String} indent Indent value, default is \" \" (2 spaces)\n */\n function Indentation(indent) {\n _classCallCheck(this, Indentation);\n\n this.indent = indent || ' ';\n this.indentTypes = [];\n }\n /**\n * Returns current indentation string.\n * @return {String}\n */\n\n\n _createClass(Indentation, [{\n key: \"getIndent\",\n value: function getIndent() {\n return this.indent.repeat(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 }, {\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;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#reserved-word\nvar reservedWords = ['ABS', 'ALL', 'ALLOCATE', 'ALTER', 'AND', 'ANY', 'ARE', 'ARRAY', 'AS', 'ASENSITIVE', 'ASYMMETRIC', 'AT', 'ATOMIC', 'AUTHORIZATION', 'AVG', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BY', 'CALL', 'CALLED', 'CARDINALITY', 'CASCADED', 'CASE', 'CAST', 'CEIL', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER', 'CHARACTER_LENGTH', 'CHECK', 'CLOB', 'CLOSE', 'COALESCE', 'COLLATE', 'COLLECT', 'COLUMN', 'COMMIT', 'CONDITION', 'CONNECT', 'CONSTRAINT', 'CONVERT', 'CORR', 'CORRESPONDING', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'CREATE', 'CROSS', 'CUBE', 'CUME_DIST', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_DEFAULT_TRANSFORM_GROUP', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TRANSFORM_GROUP_FOR_TYPE', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DELETE', 'DENSE_RANK', 'DEREF', 'DESCRIBE', 'DETERMINISTIC', 'DISCONNECT', 'DISTINCT', 'DOUBLE', 'DROP', 'DYNAMIC', 'EACH', 'ELEMENT', 'ELSE', 'END', 'END-EXEC', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXEC', 'EXECUTE', 'EXISTS', 'EXP', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FILTER', 'FLOAT', 'FLOOR', 'FOR', 'FOREIGN', 'FREE', 'FROM', 'FULL', 'FUNCTION', 'FUSION', 'GET', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLD', 'HOUR', 'IDENTITY', 'IN', 'INDICATOR', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERSECTION', 'INTERVAL', 'INTO', 'IS', 'JOIN', 'LANGUAGE', 'LARGE', 'LATERAL', 'LEADING', 'LEFT', 'LIKE', 'LIKE_REGEX', 'LN', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOWER', 'MATCH', 'MAX', 'MEMBER', 'MERGE', 'METHOD', 'MIN', 'MINUTE', 'MOD', 'MODIFIES', 'MODULE', 'MONTH', 'MULTISET', 'NATIONAL', 'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NO', 'NONE', 'NORMALIZE', 'NOT', 'NULL', 'NULLIF', 'NUMERIC', 'OCTET_LENGTH', 'OCCURRENCES_REGEX', 'OF', 'OLD', 'ON', 'ONLY', 'OPEN', 'OR', 'ORDER', 'OUT', 'OUTER', 'OVER', 'OVERLAPS', 'OVERLAY', 'PARAMETER', 'PARTITION', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'POSITION', 'POSITION_REGEX', 'POWER', 'PRECISION', 'PREPARE', 'PRIMARY', 'PROCEDURE', 'RANGE', 'RANK', 'READS', 'REAL', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'RELEASE', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROW_NUMBER', 'ROWS', 'SAVEPOINT', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SELECT', 'SENSITIVE', 'SESSION_USER', 'SET', 'SIMILAR', 'SMALLINT', 'SOME', 'SPECIFIC', 'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQRT', 'START', 'STATIC', 'STDDEV_POP', 'STDDEV_SAMP', 'SUBMULTISET', 'SUBSTRING', 'SUBSTRING_REGEX', 'SUM', 'SYMMETRIC', 'SYSTEM', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSLATE', 'TRANSLATE_REGEX', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRIM', 'TRUE', 'UESCAPE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPPER', 'USER', 'USING', 'VALUE', 'VALUES', 'VAR_POP', 'VAR_SAMP', 'VARBINARY', 'VARCHAR', 'VARYING', 'WHEN', 'WHENEVER', 'WHERE', 'WIDTH_BUCKET', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'YEAR'];\nvar reservedTopLevelWords = ['ADD', 'ALTER COLUMN', 'ALTER TABLE', 'CASE', 'DELETE FROM', 'END', 'FETCH FIRST', 'FETCH NEXT', 'FETCH PRIOR', 'FETCH LAST', 'FETCH ABSOLUTE', 'FETCH RELATIVE', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'LIMIT', 'ORDER BY', 'SELECT', 'SET SCHEMA', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'INTERSECT DISTINCT', 'UNION', 'UNION ALL', 'UNION DISTINCT', 'EXCEPT', 'EXCEPT ALL', 'EXCEPT DISTINCT'];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'WHEN', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN'];\n\nvar StandardSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(StandardSqlFormatter, _Formatter);\n\n var _super = _createSuper(StandardSqlFormatter);\n\n function StandardSqlFormatter() {\n _classCallCheck(this, StandardSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(StandardSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\"],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [],\n lineCommentTypes: ['--']\n });\n }\n }]);\n\n return StandardSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = StandardSqlFormatter;\nmodule.exports = exports.default;","\"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); return Constructor; }\n\n/**\n * Handles placeholder replacement with given params.\n */\nvar Params = /*#__PURE__*/function () {\n /**\n * @param {Object} params\n */\n function Params(params) {\n _classCallCheck(this, Params);\n\n this.params = params;\n this.index = 0;\n }\n /**\n * Returns param value that matches given placeholder with param key.\n * @param {Object} token\n * @param {String} token.key Placeholder key\n * @param {String} token.value Placeholder value\n * @return {String} param or token.value when params are missing\n */\n\n\n _createClass(Params, [{\n key: \"get\",\n value: function get(_ref) {\n var key = _ref.key,\n value = _ref.value;\n\n if (!this.params) {\n return value;\n }\n\n if (key) {\n return this.params[key];\n }\n\n return this.params[this.index++];\n }\n }]);\n\n return Params;\n}();\n\nexports[\"default\"] = Params;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _token = require(\"../core/token\");\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\n\nvar _tokenTypes = _interopRequireDefault(require(\"../core/tokenTypes\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['A', 'ACCESSIBLE', 'AGENT', 'AGGREGATE', 'ALL', 'ALTER', 'ANY', 'ARRAY', 'AS', 'ASC', 'AT', 'ATTRIBUTE', 'AUTHID', 'AVG', 'BETWEEN', 'BFILE_BASE', 'BINARY_INTEGER', 'BINARY', 'BLOB_BASE', 'BLOCK', 'BODY', 'BOOLEAN', 'BOTH', 'BOUND', 'BREADTH', 'BULK', 'BY', 'BYTE', 'C', 'CALL', 'CALLING', 'CASCADE', 'CASE', 'CHAR_BASE', 'CHAR', 'CHARACTER', 'CHARSET', 'CHARSETFORM', 'CHARSETID', 'CHECK', 'CLOB_BASE', 'CLONE', 'CLOSE', 'CLUSTER', 'CLUSTERS', 'COALESCE', 'COLAUTH', 'COLLECT', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPILED', 'COMPRESS', 'CONNECT', 'CONSTANT', 'CONSTRUCTOR', 'CONTEXT', 'CONTINUE', 'CONVERT', 'COUNT', 'CRASH', 'CREATE', 'CREDENTIAL', 'CURRENT', 'CURRVAL', 'CURSOR', 'CUSTOMDATUM', 'DANGLING', 'DATA', 'DATE_BASE', 'DATE', 'DAY', 'DECIMAL', 'DEFAULT', 'DEFINE', 'DELETE', 'DEPTH', 'DESC', 'DETERMINISTIC', 'DIRECTORY', 'DISTINCT', 'DO', 'DOUBLE', 'DROP', 'DURATION', 'ELEMENT', 'ELSIF', 'EMPTY', 'END', 'ESCAPE', 'EXCEPTIONS', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXIT', 'EXTENDS', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FINAL', 'FIRST', 'FIXED', 'FLOAT', 'FOR', 'FORALL', 'FORCE', 'FROM', 'FUNCTION', 'GENERAL', 'GOTO', 'GRANT', 'GROUP', 'HASH', 'HEAP', 'HIDDEN', 'HOUR', 'IDENTIFIED', 'IF', 'IMMEDIATE', 'IN', 'INCLUDING', 'INDEX', 'INDEXES', 'INDICATOR', 'INDICES', 'INFINITE', 'INSTANTIABLE', 'INT', 'INTEGER', 'INTERFACE', 'INTERVAL', 'INTO', 'INVALIDATE', 'IS', 'ISOLATION', 'JAVA', 'LANGUAGE', 'LARGE', 'LEADING', 'LENGTH', 'LEVEL', 'LIBRARY', 'LIKE', 'LIKE2', 'LIKE4', 'LIKEC', 'LIMITED', 'LOCAL', 'LOCK', 'LONG', 'MAP', 'MAX', 'MAXLEN', 'MEMBER', 'MERGE', 'MIN', 'MINUTE', 'MLSLABEL', 'MOD', 'MODE', 'MONTH', 'MULTISET', 'NAME', 'NAN', 'NATIONAL', 'NATIVE', 'NATURAL', 'NATURALN', 'NCHAR', 'NEW', 'NEXTVAL', 'NOCOMPRESS', 'NOCOPY', 'NOT', 'NOWAIT', 'NULL', 'NULLIF', 'NUMBER_BASE', 'NUMBER', 'OBJECT', 'OCICOLL', 'OCIDATE', 'OCIDATETIME', 'OCIDURATION', 'OCIINTERVAL', 'OCILOBLOCATOR', 'OCINUMBER', 'OCIRAW', 'OCIREF', 'OCIREFCURSOR', 'OCIROWID', 'OCISTRING', 'OCITYPE', 'OF', 'OLD', 'ON', 'ONLY', 'OPAQUE', 'OPEN', 'OPERATOR', 'OPTION', 'ORACLE', 'ORADATA', 'ORDER', 'ORGANIZATION', 'ORLANY', 'ORLVARY', 'OTHERS', 'OUT', 'OVERLAPS', 'OVERRIDING', 'PACKAGE', 'PARALLEL_ENABLE', 'PARAMETER', 'PARAMETERS', 'PARENT', 'PARTITION', 'PASCAL', 'PCTFREE', 'PIPE', 'PIPELINED', 'PLS_INTEGER', 'PLUGGABLE', 'POSITIVE', 'POSITIVEN', 'PRAGMA', 'PRECISION', 'PRIOR', 'PRIVATE', 'PROCEDURE', 'PUBLIC', 'RAISE', 'RANGE', 'RAW', 'READ', 'REAL', 'RECORD', 'REF', 'REFERENCE', 'RELEASE', 'RELIES_ON', 'REM', 'REMAINDER', 'RENAME', 'RESOURCE', 'RESULT_CACHE', 'RESULT', 'RETURN', 'RETURNING', 'REVERSE', 'REVOKE', 'ROLLBACK', 'ROW', 'ROWID', 'ROWNUM', 'ROWTYPE', 'SAMPLE', 'SAVE', 'SAVEPOINT', 'SB1', 'SB2', 'SB4', 'SEARCH', 'SECOND', 'SEGMENT', 'SELF', 'SEPARATE', 'SEQUENCE', 'SERIALIZABLE', 'SHARE', 'SHORT', 'SIZE_T', 'SIZE', 'SMALLINT', 'SOME', 'SPACE', 'SPARSE', 'SQL', 'SQLCODE', 'SQLDATA', 'SQLERRM', 'SQLNAME', 'SQLSTATE', 'STANDARD', 'START', 'STATIC', 'STDDEV', 'STORED', 'STRING', 'STRUCT', 'STYLE', 'SUBMULTISET', 'SUBPARTITION', 'SUBSTITUTABLE', 'SUBTYPE', 'SUCCESSFUL', 'SUM', 'SYNONYM', 'SYSDATE', 'TABAUTH', 'TABLE', 'TDO', 'THE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_ABBR', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TIMEZONE_REGION', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSACTIONAL', 'TRIGGER', 'TRUE', 'TRUSTED', 'TYPE', 'UB1', 'UB2', 'UB4', 'UID', 'UNDER', 'UNIQUE', 'UNPLUG', 'UNSIGNED', 'UNTRUSTED', 'USE', 'USER', 'USING', 'VALIDATE', 'VALIST', 'VALUE', 'VARCHAR', 'VARCHAR2', 'VARIABLE', 'VARIANCE', 'VARRAY', 'VARYING', 'VIEW', 'VIEWS', 'VOID', 'WHENEVER', 'WHILE', 'WITH', 'WORK', 'WRAPPED', 'WRITE', 'YEAR', 'ZONE'];\nvar reservedTopLevelWords = ['ADD', 'ALTER COLUMN', 'ALTER TABLE', 'BEGIN', 'CONNECT BY', 'DECLARE', 'DELETE FROM', 'DELETE', 'END', 'EXCEPT', 'EXCEPTION', 'FETCH FIRST', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'LOOP', 'MODIFY', 'ORDER BY', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'START WITH', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'CROSS APPLY', 'ELSE', 'END', 'OR', 'OUTER APPLY', 'WHEN', 'XOR', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN'];\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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"N''\", \"''\", '``'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [':'],\n lineCommentTypes: ['--'],\n specialWordChars: ['_', '$', '#', '.', '@'],\n operators: ['||', '**', '!=', ':=']\n });\n }\n }, {\n key: \"tokenOverride\",\n value: function tokenOverride(token) {\n if ((0, _token.isSet)(token) && (0, _token.isBy)(this.previousReservedToken)) {\n return {\n type: _tokenTypes[\"default\"].RESERVED,\n value: token.value\n };\n }\n\n return token;\n }\n }]);\n\n return PlSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = PlSqlFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ALL', 'ALTER', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'BEGIN', 'BETWEEN', 'BINARY', 'BOOLEAN', 'BREAK', 'BUCKET', 'BUILD', 'BY', 'CALL', 'CASE', 'CAST', 'CLUSTER', 'COLLATE', 'COLLECTION', 'COMMIT', 'CONNECT', 'CONTINUE', 'CORRELATE', 'COVER', 'CREATE', 'DATABASE', 'DATASET', 'DATASTORE', 'DECLARE', 'DECREMENT', 'DELETE', 'DERIVED', 'DESC', 'DESCRIBE', 'DISTINCT', 'DO', 'DROP', 'EACH', 'ELEMENT', 'ELSE', 'END', 'EVERY', 'EXCEPT', 'EXCLUDE', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'FALSE', 'FETCH', 'FIRST', 'FLATTEN', 'FOR', 'FORCE', 'FROM', 'FUNCTION', 'GRANT', 'GROUP', 'GSI', 'HAVING', 'IF', 'IGNORE', 'ILIKE', 'IN', 'INCLUDE', 'INCREMENT', 'INDEX', 'INFER', 'INLINE', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'JOIN', 'KEY', 'KEYS', 'KEYSPACE', 'KNOWN', 'LAST', 'LEFT', 'LET', 'LETTING', 'LIKE', 'LIMIT', 'LSM', 'MAP', 'MAPPING', 'MATCHED', 'MATERIALIZED', 'MERGE', 'MISSING', 'NAMESPACE', 'NEST', 'NOT', 'NULL', 'NUMBER', 'OBJECT', 'OFFSET', 'ON', 'OPTION', 'OR', 'ORDER', 'OUTER', 'OVER', 'PARSE', 'PARTITION', 'PASSWORD', 'PATH', 'POOL', 'PREPARE', 'PRIMARY', 'PRIVATE', 'PRIVILEGE', 'PROCEDURE', 'PUBLIC', 'RAW', 'REALM', 'REDUCE', 'RENAME', 'RETURN', 'RETURNING', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'SATISFIES', 'SCHEMA', 'SELECT', 'SELF', 'SEMI', 'SET', 'SHOW', 'SOME', 'START', 'STATISTICS', 'STRING', 'SYSTEM', 'THEN', 'TO', 'TRANSACTION', 'TRIGGER', 'TRUE', 'TRUNCATE', 'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UNSET', 'UPDATE', 'UPSERT', 'USE', 'USER', 'USING', 'VALIDATE', 'VALUE', 'VALUED', 'VALUES', 'VIA', 'VIEW', 'WHEN', 'WHERE', 'WHILE', 'WITH', 'WITHIN', 'WORK', 'XOR'];\nvar reservedTopLevelWords = ['DELETE FROM', 'EXCEPT ALL', 'EXCEPT', 'EXPLAIN DELETE FROM', 'EXPLAIN UPDATE', 'EXPLAIN UPSERT', 'FROM', 'GROUP BY', 'HAVING', 'INFER', 'INSERT INTO', 'LET', 'LIMIT', 'MERGE', 'NEST', 'ORDER BY', 'PREPARE', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'UNNEST', 'UPDATE', 'UPSERT', 'USE KEYS', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'OR', 'XOR', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN']; // 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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\", '``'],\n openParens: ['(', '[', '{'],\n closeParens: [')', ']', '}'],\n namedPlaceholderTypes: ['$'],\n lineCommentTypes: ['#', '--'],\n operators: ['==', '!=']\n });\n }\n }]);\n\n return N1qlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = N1qlFormatter;\nmodule.exports = exports.default;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}","export default function _nonIterableRest() {\n 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}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isEnd = exports.isWindow = exports.isBy = exports.isSet = exports.isLimit = exports.isBetween = exports.isAnd = void 0;\n\nvar _tokenTypes = _interopRequireDefault(require(\"./tokenTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar isToken = function isToken(type, regex) {\n return function (token) {\n return (token === null || token === void 0 ? void 0 : token.type) === type && regex.test(token === null || token === void 0 ? void 0 : token.value);\n };\n};\n\nvar isAnd = isToken(_tokenTypes[\"default\"].RESERVED_NEWLINE, /^AND$/i);\nexports.isAnd = isAnd;\nvar isBetween = isToken(_tokenTypes[\"default\"].RESERVED, /^BETWEEN$/i);\nexports.isBetween = isBetween;\nvar isLimit = isToken(_tokenTypes[\"default\"].RESERVED_TOP_LEVEL, /^LIMIT$/i);\nexports.isLimit = isLimit;\nvar isSet = isToken(_tokenTypes[\"default\"].RESERVED_TOP_LEVEL, /^[S\\u017F]ET$/i);\nexports.isSet = isSet;\nvar isBy = isToken(_tokenTypes[\"default\"].RESERVED, /^BY$/i);\nexports.isBy = isBy;\nvar isWindow = isToken(_tokenTypes[\"default\"].RESERVED_TOP_LEVEL, /^WINDOW$/i);\nexports.isWindow = isWindow;\nvar isEnd = isToken(_tokenTypes[\"default\"].CLOSE_PAREN, /^END$/i);\nexports.isEnd = isEnd;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\n/**\n * Constants for token types\n */\nvar _default = {\n WORD: 'word',\n STRING: 'string',\n RESERVED: 'reserved',\n RESERVED_TOP_LEVEL: 'reserved-top-level',\n RESERVED_TOP_LEVEL_NO_INDENT: 'reserved-top-level-no-indent',\n RESERVED_NEWLINE: 'reserved-newline',\n OPERATOR: 'operator',\n OPEN_PAREN: 'open-paren',\n CLOSE_PAREN: 'close-paren',\n LINE_COMMENT: 'line-comment',\n BLOCK_COMMENT: 'block-comment',\n NUMBER: 'number',\n PLACEHOLDER: 'placeholder'\n};\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ACCESSIBLE', 'ADD', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'AS', 'ASC', 'ASENSITIVE', 'BEFORE', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOTH', 'BY', 'CALL', 'CASCADE', 'CASE', 'CHANGE', 'CHAR', 'CHARACTER', 'CHECK', 'COLLATE', 'COLUMN', 'CONDITION', 'CONSTRAINT', 'CONTINUE', 'CONVERT', 'CREATE', 'CROSS', 'CUBE', 'CUME_DIST', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATABASE', 'DATABASES', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DELAYED', 'DELETE', 'DENSE_RANK', 'DESC', 'DESCRIBE', 'DETERMINISTIC', 'DISTINCT', 'DISTINCTROW', 'DIV', 'DOUBLE', 'DROP', 'DUAL', 'EACH', 'ELSE', 'ELSEIF', 'EMPTY', 'ENCLOSED', 'ESCAPED', 'EXCEPT', 'EXISTS', 'EXIT', 'EXPLAIN', 'FALSE', 'FETCH', 'FIRST_VALUE', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOR', 'FORCE', 'FOREIGN', 'FROM', 'FULLTEXT', 'FUNCTION', 'GENERATED', 'GET', 'GRANT', 'GROUP', 'GROUPING', 'GROUPS', 'HAVING', 'HIGH_PRIORITY', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IF', 'IGNORE', 'IN', 'INDEX', 'INFILE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTERVAL', 'INTO', 'IO_AFTER_GTIDS', 'IO_BEFORE_GTIDS', 'IS', 'ITERATE', 'JOIN', 'JSON_TABLE', 'KEY', 'KEYS', 'KILL', 'LAG', 'LAST_VALUE', 'LATERAL', 'LEAD', 'LEADING', 'LEAVE', 'LEFT', 'LIKE', 'LIMIT', 'LINEAR', 'LINES', 'LOAD', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCK', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER_BIND', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MATCH', 'MAXVALUE', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MIDDLEINT', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MOD', 'MODIFIES', 'NATURAL', 'NOT', 'NO_WRITE_TO_BINLOG', 'NTH_VALUE', 'NTILE', 'NULL', 'NUMERIC', 'OF', 'ON', 'OPTIMIZE', 'OPTIMIZER_COSTS', 'OPTION', 'OPTIONALLY', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'PARTITION', 'PERCENT_RANK', 'PRECISION', 'PRIMARY', 'PROCEDURE', 'PURGE', 'RANGE', 'RANK', 'READ', 'READS', 'READ_WRITE', 'REAL', 'RECURSIVE', 'REFERENCES', 'REGEXP', 'RELEASE', 'RENAME', 'REPEAT', 'REPLACE', 'REQUIRE', 'RESIGNAL', 'RESTRICT', 'RETURN', 'REVOKE', 'RIGHT', 'RLIKE', 'ROW', 'ROWS', 'ROW_NUMBER', 'SCHEMA', 'SCHEMAS', 'SECOND_MICROSECOND', 'SELECT', 'SENSITIVE', 'SEPARATOR', 'SET', 'SHOW', 'SIGNAL', 'SMALLINT', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_BIG_RESULT', 'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STARTING', 'STORED', 'STRAIGHT_JOIN', 'SYSTEM', 'TABLE', 'TERMINATED', 'THEN', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRAILING', 'TRIGGER', 'TRUE', 'UNDO', 'UNION', 'UNIQUE', 'UNLOCK', 'UNSIGNED', 'UPDATE', 'USAGE', 'USE', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARYING', 'VIRTUAL', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WRITE', 'XOR', 'YEAR_MONTH', 'ZEROFILL'];\nvar reservedTopLevelWords = ['ADD', 'ALTER COLUMN', 'ALTER TABLE', 'DELETE FROM', 'EXCEPT', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'ORDER BY', 'SELECT', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'WHEN', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN', // non-standard joins\n'STRAIGHT_JOIN', 'NATURAL LEFT JOIN', 'NATURAL LEFT OUTER JOIN', 'NATURAL RIGHT JOIN', 'NATURAL RIGHT OUTER JOIN'];\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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: ['``', \"''\", '\"\"'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [],\n lineCommentTypes: ['--', '#'],\n specialWordChars: ['@'],\n operators: [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||', '->', '->>']\n });\n }\n }]);\n\n return MySqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = MySqlFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ADD', 'EXTERNAL', 'PROCEDURE', 'ALL', 'FETCH', 'PUBLIC', 'ALTER', 'FILE', 'RAISERROR', 'AND', 'FILLFACTOR', 'READ', 'ANY', 'FOR', 'READTEXT', 'AS', 'FOREIGN', 'RECONFIGURE', 'ASC', 'FREETEXT', 'REFERENCES', 'AUTHORIZATION', 'FREETEXTTABLE', 'REPLICATION', 'BACKUP', 'FROM', 'RESTORE', 'BEGIN', 'FULL', 'RESTRICT', 'BETWEEN', 'FUNCTION', 'RETURN', 'BREAK', 'GOTO', 'REVERT', 'BROWSE', 'GRANT', 'REVOKE', 'BULK', 'GROUP', 'RIGHT', 'BY', 'HAVING', 'ROLLBACK', 'CASCADE', 'HOLDLOCK', 'ROWCOUNT', 'CASE', 'IDENTITY', 'ROWGUIDCOL', 'CHECK', 'IDENTITY_INSERT', 'RULE', 'CHECKPOINT', 'IDENTITYCOL', 'SAVE', 'CLOSE', 'IF', 'SCHEMA', 'CLUSTERED', 'IN', 'SECURITYAUDIT', 'COALESCE', 'INDEX', 'SELECT', 'COLLATE', 'INNER', 'SEMANTICKEYPHRASETABLE', 'COLUMN', 'INSERT', 'SEMANTICSIMILARITYDETAILSTABLE', 'COMMIT', 'INTERSECT', 'SEMANTICSIMILARITYTABLE', 'COMPUTE', 'INTO', 'SESSION_USER', 'CONSTRAINT', 'IS', 'SET', 'CONTAINS', 'JOIN', 'SETUSER', 'CONTAINSTABLE', 'KEY', 'SHUTDOWN', 'CONTINUE', 'KILL', 'SOME', 'CONVERT', 'LEFT', 'STATISTICS', 'CREATE', 'LIKE', 'SYSTEM_USER', 'CROSS', 'LINENO', 'TABLE', 'CURRENT', 'LOAD', 'TABLESAMPLE', 'CURRENT_DATE', 'MERGE', 'TEXTSIZE', 'CURRENT_TIME', 'NATIONAL', 'THEN', 'CURRENT_TIMESTAMP', 'NOCHECK', 'TO', 'CURRENT_USER', 'NONCLUSTERED', 'TOP', 'CURSOR', 'NOT', 'TRAN', 'DATABASE', 'NULL', 'TRANSACTION', 'DBCC', 'NULLIF', 'TRIGGER', 'DEALLOCATE', 'OF', 'TRUNCATE', 'DECLARE', 'OFF', 'TRY_CONVERT', 'DEFAULT', 'OFFSETS', 'TSEQUAL', 'DELETE', 'ON', 'UNION', 'DENY', 'OPEN', 'UNIQUE', 'DESC', 'OPENDATASOURCE', 'UNPIVOT', 'DISK', 'OPENQUERY', 'UPDATE', 'DISTINCT', 'OPENROWSET', 'UPDATETEXT', 'DISTRIBUTED', 'OPENXML', 'USE', 'DOUBLE', 'OPTION', 'USER', 'DROP', 'OR', 'VALUES', 'DUMP', 'ORDER', 'VARYING', 'ELSE', 'OUTER', 'VIEW', 'END', 'OVER', 'WAITFOR', 'ERRLVL', 'PERCENT', 'WHEN', 'ESCAPE', 'PIVOT', 'WHERE', 'EXCEPT', 'PLAN', 'WHILE', 'EXEC', 'PRECISION', 'WITH', 'EXECUTE', 'PRIMARY', 'WITHIN GROUP', 'EXISTS', 'PRINT', 'WRITETEXT', 'EXIT', 'PROC'];\nvar reservedTopLevelWords = ['ADD', 'ALTER COLUMN', 'ALTER TABLE', 'CASE', 'DELETE FROM', 'END', 'EXCEPT', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'ORDER BY', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'WHEN', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN'];\n\nvar TSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(TSqlFormatter, _Formatter);\n\n var _super = _createSuper(TSqlFormatter);\n\n function TSqlFormatter() {\n _classCallCheck(this, TSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(TSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"N''\", \"''\", '[]'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: [],\n namedPlaceholderTypes: ['@'],\n lineCommentTypes: ['--'],\n specialWordChars: ['#', '@'],\n operators: ['>=', '<=', '<>', '!=', '!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::'] // TODO: Support for money constants\n\n });\n }\n }]);\n\n return TSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = TSqlFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ABS', 'ACTIVATE', 'ALIAS', 'ALL', 'ALLOCATE', 'ALLOW', 'ALTER', 'ANY', 'ARE', 'ARRAY', 'AS', 'ASC', 'ASENSITIVE', 'ASSOCIATE', 'ASUTIME', 'ASYMMETRIC', 'AT', 'ATOMIC', 'ATTRIBUTES', 'AUDIT', 'AUTHORIZATION', 'AUX', 'AUXILIARY', 'AVG', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BUFFERPOOL', 'BY', 'CACHE', 'CALL', 'CALLED', 'CAPTURE', 'CARDINALITY', 'CASCADED', 'CASE', 'CAST', 'CCSID', 'CEIL', 'CEILING', 'CHAR', 'CHARACTER', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHECK', 'CLOB', 'CLONE', 'CLOSE', 'CLUSTER', 'COALESCE', 'COLLATE', 'COLLECT', 'COLLECTION', 'COLLID', 'COLUMN', 'COMMENT', 'COMMIT', 'CONCAT', 'CONDITION', 'CONNECT', 'CONNECTION', 'CONSTRAINT', 'CONTAINS', 'CONTINUE', 'CONVERT', 'CORR', 'CORRESPONDING', 'COUNT', 'COUNT_BIG', 'COVAR_POP', 'COVAR_SAMP', 'CREATE', 'CROSS', 'CUBE', 'CUME_DIST', 'CURRENT', 'CURRENT_DATE', 'CURRENT_DEFAULT_TRANSFORM_GROUP', 'CURRENT_LC_CTYPE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_SERVER', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'CURRENT_TRANSFORM_GROUP_FOR_TYPE', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATAPARTITIONNAME', 'DATAPARTITIONNUM', 'DATE', 'DAY', 'DAYS', 'DB2GENERAL', 'DB2GENRL', 'DB2SQL', 'DBINFO', 'DBPARTITIONNAME', 'DBPARTITIONNUM', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFAULTS', 'DEFINITION', 'DELETE', 'DENSERANK', 'DENSE_RANK', 'DEREF', 'DESCRIBE', 'DESCRIPTOR', 'DETERMINISTIC', 'DIAGNOSTICS', 'DISABLE', 'DISALLOW', 'DISCONNECT', 'DISTINCT', 'DO', 'DOCUMENT', 'DOUBLE', 'DROP', 'DSSIZE', 'DYNAMIC', 'EACH', 'EDITPROC', 'ELEMENT', 'ELSE', 'ELSEIF', 'ENABLE', 'ENCODING', 'ENCRYPTION', 'END', 'END-EXEC', 'ENDING', 'ERASE', 'ESCAPE', 'EVERY', 'EXCEPTION', 'EXCLUDING', 'EXCLUSIVE', 'EXEC', 'EXECUTE', 'EXISTS', 'EXIT', 'EXP', 'EXPLAIN', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FENCED', 'FETCH', 'FIELDPROC', 'FILE', 'FILTER', 'FINAL', 'FIRST', 'FLOAT', 'FLOOR', 'FOR', 'FOREIGN', 'FREE', 'FULL', 'FUNCTION', 'FUSION', 'GENERAL', 'GENERATED', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GRAPHIC', 'GROUP', 'GROUPING', 'HANDLER', 'HASH', 'HASHED_VALUE', 'HINT', 'HOLD', 'HOUR', 'HOURS', 'IDENTITY', 'IF', 'IMMEDIATE', 'IN', 'INCLUDING', 'INCLUSIVE', 'INCREMENT', 'INDEX', 'INDICATOR', 'INDICATORS', 'INF', 'INFINITY', 'INHERIT', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTEGRITY', 'INTERSECTION', 'INTERVAL', 'INTO', 'IS', 'ISOBID', 'ISOLATION', 'ITERATE', 'JAR', 'JAVA', 'KEEP', 'KEY', 'LABEL', 'LANGUAGE', 'LARGE', 'LATERAL', 'LC_CTYPE', 'LEADING', 'LEAVE', 'LEFT', 'LIKE', 'LINKTYPE', 'LN', 'LOCAL', 'LOCALDATE', 'LOCALE', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'LOCATORS', 'LOCK', 'LOCKMAX', 'LOCKSIZE', 'LONG', 'LOOP', 'LOWER', 'MAINTAINED', 'MATCH', 'MATERIALIZED', 'MAX', 'MAXVALUE', 'MEMBER', 'MERGE', 'METHOD', 'MICROSECOND', 'MICROSECONDS', 'MIN', 'MINUTE', 'MINUTES', 'MINVALUE', 'MOD', 'MODE', 'MODIFIES', 'MODULE', 'MONTH', 'MONTHS', 'MULTISET', 'NAN', 'NATIONAL', 'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEW_TABLE', 'NEXTVAL', 'NO', 'NOCACHE', 'NOCYCLE', 'NODENAME', 'NODENUMBER', 'NOMAXVALUE', 'NOMINVALUE', 'NONE', 'NOORDER', 'NORMALIZE', 'NORMALIZED', 'NOT', 'NULL', 'NULLIF', 'NULLS', 'NUMERIC', 'NUMPARTS', 'OBID', 'OCTET_LENGTH', 'OF', 'OFFSET', 'OLD', 'OLD_TABLE', 'ON', 'ONLY', 'OPEN', 'OPTIMIZATION', 'OPTIMIZE', 'OPTION', 'ORDER', 'OUT', 'OUTER', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERRIDING', 'PACKAGE', 'PADDED', 'PAGESIZE', 'PARAMETER', 'PART', 'PARTITION', 'PARTITIONED', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PATH', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'PIECESIZE', 'PLAN', 'POSITION', 'POWER', 'PRECISION', 'PREPARE', 'PREVVAL', 'PRIMARY', 'PRIQTY', 'PRIVILEGES', 'PROCEDURE', 'PROGRAM', 'PSID', 'PUBLIC', 'QUERY', 'QUERYNO', 'RANGE', 'RANK', 'READ', 'READS', 'REAL', 'RECOVERY', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'REFRESH', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'RELEASE', 'RENAME', 'REPEAT', 'RESET', 'RESIGNAL', 'RESTART', 'RESTRICT', 'RESULT', 'RESULT_SET_LOCATOR', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN', 'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'ROUTINE', 'ROW', 'ROWNUMBER', 'ROWS', 'ROWSET', 'ROW_NUMBER', 'RRN', 'RUN', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCRATCHPAD', 'SCROLL', 'SEARCH', 'SECOND', 'SECONDS', 'SECQTY', 'SECURITY', 'SENSITIVE', 'SEQUENCE', 'SESSION', 'SESSION_USER', 'SIGNAL', 'SIMILAR', 'SIMPLE', 'SMALLINT', 'SNAN', 'SOME', 'SOURCE', 'SPECIFIC', 'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLID', 'SQLSTATE', 'SQLWARNING', 'SQRT', 'STACKED', 'STANDARD', 'START', 'STARTING', 'STATEMENT', 'STATIC', 'STATMENT', 'STAY', 'STDDEV_POP', 'STDDEV_SAMP', 'STOGROUP', 'STORES', 'STYLE', 'SUBMULTISET', 'SUBSTRING', 'SUM', 'SUMMARY', 'SYMMETRIC', 'SYNONYM', 'SYSFUN', 'SYSIBM', 'SYSPROC', 'SYSTEM', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'TABLESPACE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSLATE', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UESCAPE', 'UNDO', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UNTIL', 'UPPER', 'USAGE', 'USER', 'USING', 'VALIDPROC', 'VALUE', 'VARCHAR', 'VARIABLE', 'VARIANT', 'VARYING', 'VAR_POP', 'VAR_SAMP', 'VCAT', 'VERSION', 'VIEW', 'VOLATILE', 'VOLUMES', 'WHEN', 'WHENEVER', 'WHILE', 'WIDTH_BUCKET', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WLM', 'WRITE', 'XMLELEMENT', 'XMLEXISTS', 'XMLNAMESPACES', 'YEAR', 'YEARS'];\nvar reservedTopLevelWords = ['ADD', 'AFTER', 'ALTER COLUMN', 'ALTER TABLE', 'DELETE FROM', 'EXCEPT', 'FETCH FIRST', 'FROM', 'GROUP BY', 'GO', 'HAVING', 'INSERT INTO', 'INTERSECT', 'LIMIT', 'ORDER BY', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'OR', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN']; // For reference: 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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\", '``', '[]'],\n openParens: ['('],\n closeParens: [')'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [':'],\n lineCommentTypes: ['--'],\n specialWordChars: ['#', '@'],\n operators: ['**', '!=', '!>', '!>', '||']\n });\n }\n }]);\n\n return Db2Formatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = Db2Formatter;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _tokenTypes = _interopRequireDefault(require(\"./tokenTypes\"));\n\nvar _Indentation = _interopRequireDefault(require(\"./Indentation\"));\n\nvar _InlineBlock = _interopRequireDefault(require(\"./InlineBlock\"));\n\nvar _Params = _interopRequireDefault(require(\"./Params\"));\n\nvar _utils = require(\"../utils\");\n\nvar _token = require(\"./token\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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); return Constructor; }\n\nvar Formatter = /*#__PURE__*/function () {\n /**\n * @param {Object} cfg\n * @param {String} cfg.language\n * @param {String} cfg.indent\n * @param {Boolean} cfg.uppercase\n * @param {Integer} cfg.linesBetweenQueries\n * @param {Object} cfg.params\n */\n function Formatter(cfg) {\n _classCallCheck(this, Formatter);\n\n this.cfg = cfg;\n this.indentation = new _Indentation[\"default\"](this.cfg.indent);\n this.inlineBlock = new _InlineBlock[\"default\"]();\n this.params = new _Params[\"default\"](this.cfg.params);\n this.previousReservedToken = {};\n this.tokens = [];\n this.index = 0;\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 }\n /**\n * Reprocess and modify a token based on parsed context.\n *\n * @param {Object} token The token to modify\n * @param {String} token.type\n * @param {String} token.value\n * @return {Object} new token or the original\n * @return {String} token.type\n * @return {String} token.value\n */\n\n }, {\n key: \"tokenOverride\",\n value: function tokenOverride(token) {\n // subclasses can override this to modify tokens during formatting\n return token;\n }\n /**\n * Formats whitespace in a SQL string to make it easier to read.\n *\n * @param {String} query The SQL query string\n * @return {String} formatted query\n */\n\n }, {\n key: \"format\",\n value: function format(query) {\n this.tokens = this.tokenizer().tokenize(query);\n var formattedQuery = this.getFormattedQueryFromTokens();\n return formattedQuery.trim();\n }\n }, {\n key: \"getFormattedQueryFromTokens\",\n value: function getFormattedQueryFromTokens() {\n var _this = this;\n\n var formattedQuery = '';\n this.tokens.forEach(function (token, index) {\n _this.index = index;\n token = _this.tokenOverride(token);\n\n if (token.type === _tokenTypes[\"default\"].LINE_COMMENT) {\n formattedQuery = _this.formatLineComment(token, formattedQuery);\n } else if (token.type === _tokenTypes[\"default\"].BLOCK_COMMENT) {\n formattedQuery = _this.formatBlockComment(token, formattedQuery);\n } else if (token.type === _tokenTypes[\"default\"].RESERVED_TOP_LEVEL) {\n formattedQuery = _this.formatTopLevelReservedWord(token, formattedQuery);\n _this.previousReservedToken = token;\n } else if (token.type === _tokenTypes[\"default\"].RESERVED_TOP_LEVEL_NO_INDENT) {\n formattedQuery = _this.formatTopLevelReservedWordNoIndent(token, formattedQuery);\n _this.previousReservedToken = token;\n } else if (token.type === _tokenTypes[\"default\"].RESERVED_NEWLINE) {\n formattedQuery = _this.formatNewlineReservedWord(token, formattedQuery);\n _this.previousReservedToken = token;\n } else if (token.type === _tokenTypes[\"default\"].RESERVED) {\n formattedQuery = _this.formatWithSpaces(token, formattedQuery);\n _this.previousReservedToken = token;\n } else if (token.type === _tokenTypes[\"default\"].OPEN_PAREN) {\n formattedQuery = _this.formatOpeningParentheses(token, formattedQuery);\n } else if (token.type === _tokenTypes[\"default\"].CLOSE_PAREN) {\n formattedQuery = _this.formatClosingParentheses(token, formattedQuery);\n } else if (token.type === _tokenTypes[\"default\"].PLACEHOLDER) {\n formattedQuery = _this.formatPlaceholder(token, formattedQuery);\n } else if (token.value === ',') {\n formattedQuery = _this.formatComma(token, formattedQuery);\n } else if (token.value === ':') {\n formattedQuery = _this.formatWithSpaceAfter(token, formattedQuery);\n } else if (token.value === '.') {\n formattedQuery = _this.formatWithoutSpaces(token, formattedQuery);\n } else if (token.value === ';') {\n formattedQuery = _this.formatQuerySeparator(token, formattedQuery);\n } else {\n formattedQuery = _this.formatWithSpaces(token, formattedQuery);\n }\n });\n return formattedQuery;\n }\n }, {\n key: \"formatLineComment\",\n value: function formatLineComment(token, query) {\n return this.addNewline(query + this.show(token));\n }\n }, {\n key: \"formatBlockComment\",\n value: function formatBlockComment(token, query) {\n return this.addNewline(this.addNewline(query) + this.indentComment(token.value));\n }\n }, {\n key: \"indentComment\",\n value: function indentComment(comment) {\n return comment.replace(/\\n[\\t ]*/g, '\\n' + this.indentation.getIndent() + ' ');\n }\n }, {\n key: \"formatTopLevelReservedWordNoIndent\",\n value: function formatTopLevelReservedWordNoIndent(token, query) {\n this.indentation.decreaseTopLevel();\n query = this.addNewline(query) + this.equalizeWhitespace(this.show(token));\n return this.addNewline(query);\n }\n }, {\n key: \"formatTopLevelReservedWord\",\n value: function formatTopLevelReservedWord(token, query) {\n this.indentation.decreaseTopLevel();\n query = this.addNewline(query);\n this.indentation.increaseTopLevel();\n query += this.equalizeWhitespace(this.show(token));\n return this.addNewline(query);\n }\n }, {\n key: \"formatNewlineReservedWord\",\n value: function formatNewlineReservedWord(token, query) {\n if ((0, _token.isAnd)(token) && (0, _token.isBetween)(this.tokenLookBehind(2))) {\n return this.formatWithSpaces(token, query);\n }\n\n return this.addNewline(query) + this.equalizeWhitespace(this.show(token)) + ' ';\n } // Replace any sequence of whitespace characters with single space\n\n }, {\n key: \"equalizeWhitespace\",\n value: function equalizeWhitespace(string) {\n return string.replace(/[\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+/g, ' ');\n } // Opening parentheses increase the block indent level and start a new line\n\n }, {\n key: \"formatOpeningParentheses\",\n value: function formatOpeningParentheses(token, query) {\n var _preserveWhitespaceFo, _this$tokenLookBehind;\n\n // Take out the preceding space unless there was whitespace there in the original query\n // or another opening parens or line comment\n var preserveWhitespaceFor = (_preserveWhitespaceFo = {}, _defineProperty(_preserveWhitespaceFo, _tokenTypes[\"default\"].OPEN_PAREN, true), _defineProperty(_preserveWhitespaceFo, _tokenTypes[\"default\"].LINE_COMMENT, true), _defineProperty(_preserveWhitespaceFo, _tokenTypes[\"default\"].OPERATOR, true), _preserveWhitespaceFo);\n\n if (token.whitespaceBefore.length === 0 && !preserveWhitespaceFor[(_this$tokenLookBehind = this.tokenLookBehind()) === null || _this$tokenLookBehind === void 0 ? void 0 : _this$tokenLookBehind.type]) {\n query = (0, _utils.trimSpacesEnd)(query);\n }\n\n query += this.show(token);\n this.inlineBlock.beginIfPossible(this.tokens, this.index);\n\n if (!this.inlineBlock.isActive()) {\n this.indentation.increaseBlockLevel();\n query = this.addNewline(query);\n }\n\n return query;\n } // Closing parentheses decrease the block indent level\n\n }, {\n key: \"formatClosingParentheses\",\n value: function formatClosingParentheses(token, query) {\n if (this.inlineBlock.isActive()) {\n this.inlineBlock.end();\n return this.formatWithSpaceAfter(token, query);\n } else {\n this.indentation.decreaseBlockLevel();\n return this.formatWithSpaces(token, this.addNewline(query));\n }\n }\n }, {\n key: \"formatPlaceholder\",\n value: function formatPlaceholder(token, query) {\n return query + this.params.get(token) + ' ';\n } // Commas start a new line (unless within inline parentheses or SQL \"LIMIT\" clause)\n\n }, {\n key: \"formatComma\",\n value: function formatComma(token, query) {\n query = (0, _utils.trimSpacesEnd)(query) + this.show(token) + ' ';\n\n if (this.inlineBlock.isActive()) {\n return query;\n } else if ((0, _token.isLimit)(this.previousReservedToken)) {\n return query;\n } else {\n return this.addNewline(query);\n }\n }\n }, {\n key: \"formatWithSpaceAfter\",\n value: function formatWithSpaceAfter(token, query) {\n return (0, _utils.trimSpacesEnd)(query) + this.show(token) + ' ';\n }\n }, {\n key: \"formatWithoutSpaces\",\n value: function formatWithoutSpaces(token, query) {\n return (0, _utils.trimSpacesEnd)(query) + this.show(token);\n }\n }, {\n key: \"formatWithSpaces\",\n value: function formatWithSpaces(token, query) {\n return query + this.show(token) + ' ';\n }\n }, {\n key: \"formatQuerySeparator\",\n value: function formatQuerySeparator(token, query) {\n this.indentation.resetIndentation();\n return (0, _utils.trimSpacesEnd)(query) + this.show(token) + '\\n'.repeat(this.cfg.linesBetweenQueries || 1);\n } // Converts token to string (uppercasing it if needed)\n\n }, {\n key: \"show\",\n value: function show(_ref) {\n var type = _ref.type,\n value = _ref.value;\n\n if (this.cfg.uppercase && (type === _tokenTypes[\"default\"].RESERVED || type === _tokenTypes[\"default\"].RESERVED_TOP_LEVEL || type === _tokenTypes[\"default\"].RESERVED_TOP_LEVEL_NO_INDENT || type === _tokenTypes[\"default\"].RESERVED_NEWLINE || type === _tokenTypes[\"default\"].OPEN_PAREN || type === _tokenTypes[\"default\"].CLOSE_PAREN)) {\n return value.toUpperCase();\n } else {\n return value;\n }\n }\n }, {\n key: \"addNewline\",\n value: function addNewline(query) {\n query = (0, _utils.trimSpacesEnd)(query);\n\n if (!query.endsWith('\\n')) {\n query += '\\n';\n }\n\n return query + this.indentation.getIndent();\n }\n }, {\n key: \"tokenLookBehind\",\n value: function tokenLookBehind() {\n var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return this.tokens[this.index - n];\n }\n }, {\n key: \"tokenLookAhead\",\n value: function tokenLookAhead() {\n var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return this.tokens[this.index + n];\n }\n }]);\n\n return Formatter;\n}();\n\nexports[\"default\"] = Formatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ABORT', 'ABSOLUTE', 'ACCESS', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALL', 'ALSO', 'ALTER', 'ALWAYS', 'ANALYSE', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASSERTION', 'ASSIGNMENT', 'ASYMMETRIC', 'AT', 'ATTACH', 'ATTRIBUTE', 'AUTHORIZATION', 'BACKWARD', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BIT', 'BOOLEAN', 'BOTH', 'BY', 'CACHE', 'CALL', 'CALLED', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAIN', 'CHAR', 'CHARACTER', 'CHARACTERISTICS', 'CHECK', 'CHECKPOINT', 'CLASS', 'CLOSE', 'CLUSTER', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMENTS', 'COMMIT', 'COMMITTED', 'CONCURRENTLY', 'CONFIGURATION', 'CONFLICT', 'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONTENT', 'CONTINUE', 'CONVERSION', 'COPY', 'COST', 'CREATE', 'CROSS', 'CSV', 'CUBE', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFAULTS', 'DEFERRABLE', 'DEFERRED', 'DEFINER', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DEPENDS', 'DESC', 'DETACH', 'DICTIONARY', 'DISABLE', 'DISCARD', 'DISTINCT', 'DO', 'DOCUMENT', 'DOMAIN', 'DOUBLE', 'DROP', 'EACH', 'ELSE', 'ENABLE', 'ENCODING', 'ENCRYPTED', 'END', 'ENUM', 'ESCAPE', 'EVENT', 'EXCEPT', 'EXCLUDE', 'EXCLUDING', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'EXPRESSION', 'EXTENSION', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FAMILY', 'FETCH', 'FILTER', 'FIRST', 'FLOAT', 'FOLLOWING', 'FOR', 'FORCE', 'FOREIGN', 'FORWARD', 'FREEZE', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GENERATED', 'GLOBAL', 'GRANT', 'GRANTED', 'GREATEST', 'GROUP', 'GROUPING', 'GROUPS', 'HANDLER', 'HAVING', 'HEADER', 'HOLD', 'HOUR', 'IDENTITY', 'IF', 'ILIKE', 'IMMEDIATE', 'IMMUTABLE', 'IMPLICIT', 'IMPORT', 'IN', 'INCLUDE', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDEXES', 'INHERIT', 'INHERITS', 'INITIALLY', 'INLINE', 'INNER', 'INOUT', 'INPUT', 'INSENSITIVE', 'INSERT', 'INSTEAD', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'INVOKER', 'IS', 'ISNULL', 'ISOLATION', 'JOIN', 'KEY', 'LABEL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEAKPROOF', 'LEAST', 'LEFT', 'LEVEL', 'LIKE', 'LIMIT', 'LISTEN', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATION', 'LOCK', 'LOCKED', 'LOGGED', 'MAPPING', 'MATCH', 'MATERIALIZED', 'MAXVALUE', 'METHOD', 'MINUTE', 'MINVALUE', 'MODE', 'MONTH', 'MOVE', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NEW', 'NEXT', 'NFC', 'NFD', 'NFKC', 'NFKD', 'NO', 'NONE', 'NORMALIZE', 'NORMALIZED', 'NOT', 'NOTHING', 'NOTIFY', 'NOTNULL', 'NOWAIT', 'NULL', 'NULLIF', 'NULLS', 'NUMERIC', 'OBJECT', 'OF', 'OFF', 'OFFSET', 'OIDS', 'OLD', 'ON', 'ONLY', 'OPERATOR', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'ORDINALITY', 'OTHERS', 'OUT', 'OUTER', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERRIDING', 'OWNED', 'OWNER', 'PARALLEL', 'PARSER', 'PARTIAL', 'PARTITION', 'PASSING', 'PASSWORD', 'PLACING', 'PLANS', 'POLICY', 'POSITION', 'PRECEDING', 'PRECISION', 'PREPARE', 'PREPARED', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL', 'PROCEDURE', 'PROCEDURES', 'PROGRAM', 'PUBLICATION', 'QUOTE', 'RANGE', 'READ', 'REAL', 'REASSIGN', 'RECHECK', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'REFRESH', 'REINDEX', 'RELATIVE', 'RELEASE', 'RENAME', 'REPEATABLE', 'REPLACE', 'REPLICA', 'RESET', 'RESTART', 'RESTRICT', 'RETURNING', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROUTINES', 'ROW', 'ROWS', 'RULE', 'SAVEPOINT', 'SCHEMA', 'SCHEMAS', 'SCROLL', 'SEARCH', 'SECOND', 'SECURITY', 'SELECT', 'SEQUENCE', 'SEQUENCES', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SESSION_USER', 'SET', 'SETOF', 'SETS', 'SHARE', 'SHOW', 'SIMILAR', 'SIMPLE', 'SKIP', 'SMALLINT', 'SNAPSHOT', 'SOME', 'SQL', 'STABLE', 'STANDALONE', 'START', 'STATEMENT', 'STATISTICS', 'STDIN', 'STDOUT', 'STORAGE', 'STORED', 'STRICT', 'STRIP', 'SUBSCRIPTION', 'SUBSTRING', 'SUPPORT', 'SYMMETRIC', 'SYSID', 'SYSTEM', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TABLESPACE', 'TEMP', 'TEMPLATE', 'TEMPORARY', 'TEXT', 'THEN', 'TIES', 'TIME', 'TIMESTAMP', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSFORM', 'TREAT', 'TRIGGER', 'TRIM', 'TRUE', 'TRUNCATE', 'TRUSTED', 'TYPE', 'TYPES', 'UESCAPE', 'UNBOUNDED', 'UNCOMMITTED', 'UNENCRYPTED', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLISTEN', 'UNLOGGED', 'UNTIL', 'UPDATE', 'USER', 'USING', 'VACUUM', 'VALID', 'VALIDATE', 'VALIDATOR', 'VALUE', 'VALUES', 'VARCHAR', 'VARIADIC', 'VARYING', 'VERBOSE', 'VERSION', 'VIEW', 'VIEWS', 'VOLATILE', 'WHEN', 'WHERE', 'WHITESPACE', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'XML', 'XMLATTRIBUTES', 'XMLCONCAT', 'XMLELEMENT', 'XMLEXISTS', 'XMLFOREST', 'XMLNAMESPACES', 'XMLPARSE', 'XMLPI', 'XMLROOT', 'XMLSERIALIZE', 'XMLTABLE', 'YEAR', 'YES', 'ZONE'];\nvar reservedTopLevelWords = ['ADD', 'AFTER', 'ALTER COLUMN', 'ALTER TABLE', 'CASE', 'DELETE FROM', 'END', 'EXCEPT', 'FETCH FIRST', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'ORDER BY', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'WHEN', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN'];\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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\", \"U&''\", 'U&\"\"', '$$'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['$'],\n namedPlaceholderTypes: [':'],\n lineCommentTypes: ['--'],\n operators: ['!=', '<<', '>>', '||/', '|/', '::', '->>', '->', '~~*', '~~', '!~~*', '!~~', '~*', '!~*', '!~', '!!']\n });\n }\n }]);\n\n return PostgreSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = PostgreSqlFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['AES128', 'AES256', 'ALLOWOVERWRITE', 'ANALYSE', 'ARRAY', 'AS', 'ASC', 'AUTHORIZATION', 'BACKUP', 'BINARY', 'BLANKSASNULL', 'BOTH', 'BYTEDICT', 'BZIP2', 'CAST', 'CHECK', 'COLLATE', 'COLUMN', 'CONSTRAINT', 'CREATE', 'CREDENTIALS', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURRENT_USER_ID', 'DEFAULT', 'DEFERRABLE', 'DEFLATE', 'DEFRAG', 'DELTA', 'DELTA32K', 'DESC', 'DISABLE', 'DISTINCT', 'DO', 'ELSE', 'EMPTYASNULL', 'ENABLE', 'ENCODE', 'ENCRYPT', 'ENCRYPTION', 'END', 'EXPLICIT', 'FALSE', 'FOR', 'FOREIGN', 'FREEZE', 'FULL', 'GLOBALDICT256', 'GLOBALDICT64K', 'GRANT', 'GZIP', 'IDENTITY', 'IGNORE', 'ILIKE', 'INITIALLY', 'INTO', 'LEADING', 'LOCALTIME', 'LOCALTIMESTAMP', 'LUN', 'LUNS', 'LZO', 'LZOP', 'MINUS', 'MOSTLY13', 'MOSTLY32', 'MOSTLY8', 'NATURAL', 'NEW', 'NULLS', 'OFF', 'OFFLINE', 'OFFSET', 'OLD', 'ON', 'ONLY', 'OPEN', 'ORDER', 'OVERLAPS', 'PARALLEL', 'PARTITION', 'PERCENT', 'PERMISSIONS', 'PLACING', 'PRIMARY', 'RAW', 'READRATIO', 'RECOVER', 'REFERENCES', 'REJECTLOG', 'RESORT', 'RESTORE', 'SESSION_USER', 'SIMILAR', 'SYSDATE', 'SYSTEM', 'TABLE', 'TAG', 'TDES', 'TEXT255', 'TEXT32K', 'THEN', 'TIMESTAMP', 'TO', 'TOP', 'TRAILING', 'TRUE', 'TRUNCATECOLUMNS', 'UNIQUE', 'USER', 'USING', 'VERBOSE', 'WALLET', 'WHEN', 'WITH', 'WITHOUT', 'PREDICATE', 'COLUMNS', 'COMPROWS', 'COMPRESSION', 'COPY', 'FORMAT', 'DELIMITER', 'FIXEDWIDTH', 'AVRO', 'JSON', 'ENCRYPTED', 'BZIP2', 'GZIP', 'LZOP', 'PARQUET', 'ORC', 'ACCEPTANYDATE', 'ACCEPTINVCHARS', 'BLANKSASNULL', 'DATEFORMAT', 'EMPTYASNULL', 'ENCODING', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'NULL AS', 'REMOVEQUOTES', 'ROUNDEC', 'TIMEFORMAT', 'TRIMBLANKS', 'TRUNCATECOLUMNS', 'COMPROWS', 'COMPUPDATE', 'MAXERROR', 'NOLOAD', 'STATUPDATE', 'MANIFEST', 'REGION', 'IAM_ROLE', 'MASTER_SYMMETRIC_KEY', 'SSH', 'ACCEPTANYDATE', 'ACCEPTINVCHARS', 'ACCESS_KEY_ID', 'SECRET_ACCESS_KEY', 'AVRO', 'BLANKSASNULL', 'BZIP2', 'COMPROWS', 'COMPUPDATE', 'CREDENTIALS', 'DATEFORMAT', 'DELIMITER', 'EMPTYASNULL', 'ENCODING', 'ENCRYPTED', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'FIXEDWIDTH', 'FORMAT', 'IAM_ROLE', 'GZIP', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'JSON', 'LZOP', 'MANIFEST', 'MASTER_SYMMETRIC_KEY', 'MAXERROR', 'NOLOAD', 'NULL AS', 'READRATIO', 'REGION', 'REMOVEQUOTES', 'ROUNDEC', 'SSH', 'STATUPDATE', 'TIMEFORMAT', 'SESSION_TOKEN', 'TRIMBLANKS', 'TRUNCATECOLUMNS', 'EXTERNAL', 'DATA CATALOG', 'HIVE METASTORE', 'CATALOG_ROLE', 'VACUUM', 'COPY', 'UNLOAD', 'EVEN', 'ALL'];\nvar reservedTopLevelWords = ['ADD', 'AFTER', 'ALTER COLUMN', 'ALTER TABLE', 'DELETE FROM', 'EXCEPT', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'INTERSECT', 'TOP', 'LIMIT', 'MODIFY', 'ORDER BY', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'UNION ALL', 'UNION', 'UPDATE', 'VALUES', 'WHERE', 'VACUUM', 'COPY', 'UNLOAD', 'ANALYZE', 'ANALYSE', 'DISTKEY', 'SORTKEY', 'COMPOUND', 'INTERLEAVED', 'FORMAT', 'DELIMITER', 'FIXEDWIDTH', 'AVRO', 'JSON', 'ENCRYPTED', 'BZIP2', 'GZIP', 'LZOP', 'PARQUET', 'ORC', 'ACCEPTANYDATE', 'ACCEPTINVCHARS', 'BLANKSASNULL', 'DATEFORMAT', 'EMPTYASNULL', 'ENCODING', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'NULL AS', 'REMOVEQUOTES', 'ROUNDEC', 'TIMEFORMAT', 'TRIMBLANKS', 'TRUNCATECOLUMNS', 'COMPROWS', 'COMPUPDATE', 'MAXERROR', 'NOLOAD', 'STATUPDATE', 'MANIFEST', 'REGION', 'IAM_ROLE', 'MASTER_SYMMETRIC_KEY', 'SSH', 'ACCEPTANYDATE', 'ACCEPTINVCHARS', 'ACCESS_KEY_ID', 'SECRET_ACCESS_KEY', 'AVRO', 'BLANKSASNULL', 'BZIP2', 'COMPROWS', 'COMPUPDATE', 'CREDENTIALS', 'DATEFORMAT', 'DELIMITER', 'EMPTYASNULL', 'ENCODING', 'ENCRYPTED', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'FIXEDWIDTH', 'FORMAT', 'IAM_ROLE', 'GZIP', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'JSON', 'LZOP', 'MANIFEST', 'MASTER_SYMMETRIC_KEY', 'MAXERROR', 'NOLOAD', 'NULL AS', 'READRATIO', 'REGION', 'REMOVEQUOTES', 'ROUNDEC', 'SSH', 'STATUPDATE', 'TIMEFORMAT', 'SESSION_TOKEN', 'TRIMBLANKS', 'TRUNCATECOLUMNS', 'EXTERNAL', 'DATA CATALOG', 'HIVE METASTORE', 'CATALOG_ROLE'];\nvar reservedTopLevelWordsNoIndent = [];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'OUTER APPLY', 'WHEN', 'VACUUM', 'COPY', 'UNLOAD', 'ANALYZE', 'ANALYSE', 'DISTKEY', 'SORTKEY', 'COMPOUND', 'INTERLEAVED', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN'];\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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\", '``'],\n openParens: ['('],\n closeParens: [')'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: ['@', '#', '$'],\n lineCommentTypes: ['--'],\n operators: ['|/', '||/', '<<', '>>', '!=', '||']\n });\n }\n }]);\n\n return RedshiftFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = RedshiftFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ACCESSIBLE', 'ADD', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'AS', 'ASC', 'ASENSITIVE', 'BEFORE', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOTH', 'BY', 'CALL', 'CASCADE', 'CASE', 'CHANGE', 'CHAR', 'CHARACTER', 'CHECK', 'COLLATE', 'COLUMN', 'CONDITION', 'CONSTRAINT', 'CONTINUE', 'CONVERT', 'CREATE', 'CROSS', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATABASE', 'DATABASES', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE', 'DETERMINISTIC', 'DISTINCT', 'DISTINCTROW', 'DIV', 'DO_DOMAIN_IDS', 'DOUBLE', 'DROP', 'DUAL', 'EACH', 'ELSE', 'ELSEIF', 'ENCLOSED', 'ESCAPED', 'EXCEPT', 'EXISTS', 'EXIT', 'EXPLAIN', 'FALSE', 'FETCH', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOR', 'FORCE', 'FOREIGN', 'FROM', 'FULLTEXT', 'GENERAL', 'GRANT', 'GROUP', 'HAVING', 'HIGH_PRIORITY', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IF', 'IGNORE', 'IGNORE_DOMAIN_IDS', 'IGNORE_SERVER_IDS', 'IN', 'INDEX', 'INFILE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITERATE', 'JOIN', 'KEY', 'KEYS', 'KILL', 'LEADING', 'LEAVE', 'LEFT', 'LIKE', 'LIMIT', 'LINEAR', 'LINES', 'LOAD', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCK', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MATCH', 'MAXVALUE', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MIDDLEINT', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MOD', 'MODIFIES', 'NATURAL', 'NOT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NUMERIC', 'ON', 'OPTIMIZE', 'OPTION', 'OPTIONALLY', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'PAGE_CHECKSUM', 'PARSE_VCOL_EXPR', 'PARTITION', 'POSITION', 'PRECISION', 'PRIMARY', 'PROCEDURE', 'PURGE', 'RANGE', 'READ', 'READS', 'READ_WRITE', 'REAL', 'RECURSIVE', 'REF_SYSTEM_ID', 'REFERENCES', 'REGEXP', 'RELEASE', 'RENAME', 'REPEAT', 'REPLACE', 'REQUIRE', 'RESIGNAL', 'RESTRICT', 'RETURN', 'RETURNING', 'REVOKE', 'RIGHT', 'RLIKE', 'ROWS', 'SCHEMA', 'SCHEMAS', 'SECOND_MICROSECOND', 'SELECT', 'SENSITIVE', 'SEPARATOR', 'SET', 'SHOW', 'SIGNAL', 'SLOW', 'SMALLINT', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_BIG_RESULT', 'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STARTING', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STRAIGHT_JOIN', 'TABLE', 'TERMINATED', 'THEN', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRAILING', 'TRIGGER', 'TRUE', 'UNDO', 'UNION', 'UNIQUE', 'UNLOCK', 'UNSIGNED', 'UPDATE', 'USAGE', 'USE', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARYING', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WRITE', 'XOR', 'YEAR_MONTH', 'ZEROFILL'];\nvar reservedTopLevelWords = ['ADD', 'ALTER COLUMN', 'ALTER TABLE', 'DELETE FROM', 'EXCEPT', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'ORDER BY', 'SELECT', 'SET', 'UPDATE', 'VALUES', 'WHERE'];\nvar reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'UNION', 'UNION ALL'];\nvar reservedNewlineWords = ['AND', 'ELSE', 'OR', 'WHEN', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN', // non-standard joins\n'STRAIGHT_JOIN', 'NATURAL LEFT JOIN', 'NATURAL LEFT OUTER JOIN', 'NATURAL RIGHT JOIN', 'NATURAL RIGHT OUTER JOIN']; // 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 reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: ['``', \"''\", '\"\"'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [],\n lineCommentTypes: ['--', '#'],\n specialWordChars: ['@'],\n operators: [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||']\n });\n }\n }]);\n\n return MariaDbFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = MariaDbFormatter;\nmodule.exports = exports.default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _tokenTypes = _interopRequireDefault(require(\"./tokenTypes\"));\n\nvar regexFactory = _interopRequireWildcard(require(\"./regexFactory\"));\n\nvar _utils = require(\"../utils\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 _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\" && Symbol.iterator in Object(iter)) 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); return Constructor; }\n\nvar Tokenizer = /*#__PURE__*/function () {\n /**\n * @param {Object} cfg\n * @param {String[]} cfg.reservedWords Reserved words in SQL\n * @param {String[]} cfg.reservedTopLevelWords Words that are set to new line separately\n * @param {String[]} cfg.reservedNewlineWords Words that are set to newline\n * @param {String[]} cfg.reservedTopLevelWordsNoIndent Words that are top level but have no indentation\n * @param {String[]} cfg.stringTypes String types to enable: \"\", '', ``, [], N''\n * @param {String[]} cfg.openParens Opening parentheses to enable, like (, [\n * @param {String[]} cfg.closeParens Closing parentheses to enable, like ), ]\n * @param {String[]} cfg.indexedPlaceholderTypes Prefixes for indexed placeholders, like ?\n * @param {String[]} cfg.namedPlaceholderTypes Prefixes for named placeholders, like @ and :\n * @param {String[]} cfg.lineCommentTypes Line comments to enable, like # and --\n * @param {String[]} cfg.specialWordChars Special chars that can be found inside of words, like @ and #\n * @param {String[]} [cfg.operator] Additional operators to recognize\n */\n function Tokenizer(cfg) {\n _classCallCheck(this, Tokenizer);\n\n this.WHITESPACE_REGEX = /^([\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+)/;\n this.NUMBER_REGEX = /^((\\x2D[\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]*)?[0-9]+(\\.[0-9]+)?([Ee]\\x2D?[0-9]+(\\.[0-9]+)?)?|0x[0-9A-Fa-f]+|0b[01]+)\\b/;\n this.OPERATOR_REGEX = regexFactory.createOperatorRegex(['<>', '<=', '>='].concat(_toConsumableArray(cfg.operators || [])));\n this.BLOCK_COMMENT_REGEX = /^(\\/\\*(?:(?![])[\\s\\S])*?(?:\\*\\/|$))/;\n this.LINE_COMMENT_REGEX = regexFactory.createLineCommentRegex(cfg.lineCommentTypes);\n this.RESERVED_TOP_LEVEL_REGEX = regexFactory.createReservedWordRegex(cfg.reservedTopLevelWords);\n this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX = regexFactory.createReservedWordRegex(cfg.reservedTopLevelWordsNoIndent);\n this.RESERVED_NEWLINE_REGEX = regexFactory.createReservedWordRegex(cfg.reservedNewlineWords);\n this.RESERVED_PLAIN_REGEX = regexFactory.createReservedWordRegex(cfg.reservedWords);\n this.WORD_REGEX = regexFactory.createWordRegex(cfg.specialWordChars);\n this.STRING_REGEX = regexFactory.createStringRegex(cfg.stringTypes);\n this.OPEN_PAREN_REGEX = regexFactory.createParenRegex(cfg.openParens);\n this.CLOSE_PAREN_REGEX = regexFactory.createParenRegex(cfg.closeParens);\n this.INDEXED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex(cfg.indexedPlaceholderTypes, '[0-9]*');\n this.IDENT_NAMED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex(cfg.namedPlaceholderTypes, '[a-zA-Z0-9._$]+');\n this.STRING_NAMED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex(cfg.namedPlaceholderTypes, regexFactory.createStringPattern(cfg.stringTypes));\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 * @return {Object[]} tokens An array of tokens.\n * @return {String} token.type\n * @return {String} token.value\n * @return {String} token.whitespaceBefore Preceding whitespace\n */\n\n\n _createClass(Tokenizer, [{\n key: \"tokenize\",\n value: function tokenize(input) {\n var tokens = [];\n var token; // Keep processing the string until it is empty\n\n while (input.length) {\n // grab any preceding whitespace\n var whitespaceBefore = this.getWhitespace(input);\n input = input.substring(whitespaceBefore.length);\n\n if (input.length) {\n // Get the next token and the token type\n token = this.getNextToken(input, token); // Advance the string\n\n input = input.substring(token.value.length);\n tokens.push(_objectSpread(_objectSpread({}, token), {}, {\n whitespaceBefore: whitespaceBefore\n }));\n }\n }\n\n return tokens;\n }\n }, {\n key: \"getWhitespace\",\n value: function getWhitespace(input) {\n var matches = input.match(this.WHITESPACE_REGEX);\n return matches ? matches[1] : '';\n }\n }, {\n key: \"getNextToken\",\n value: function getNextToken(input, previousToken) {\n return this.getCommentToken(input) || this.getStringToken(input) || this.getOpenParenToken(input) || this.getCloseParenToken(input) || this.getPlaceholderToken(input) || this.getNumberToken(input) || this.getReservedWordToken(input, previousToken) || this.getWordToken(input) || this.getOperatorToken(input);\n }\n }, {\n key: \"getCommentToken\",\n value: function getCommentToken(input) {\n return this.getLineCommentToken(input) || this.getBlockCommentToken(input);\n }\n }, {\n key: \"getLineCommentToken\",\n value: function getLineCommentToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].LINE_COMMENT,\n regex: this.LINE_COMMENT_REGEX\n });\n }\n }, {\n key: \"getBlockCommentToken\",\n value: function getBlockCommentToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].BLOCK_COMMENT,\n regex: this.BLOCK_COMMENT_REGEX\n });\n }\n }, {\n key: \"getStringToken\",\n value: function getStringToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].STRING,\n regex: this.STRING_REGEX\n });\n }\n }, {\n key: \"getOpenParenToken\",\n value: function getOpenParenToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].OPEN_PAREN,\n regex: this.OPEN_PAREN_REGEX\n });\n }\n }, {\n key: \"getCloseParenToken\",\n value: function getCloseParenToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].CLOSE_PAREN,\n regex: this.CLOSE_PAREN_REGEX\n });\n }\n }, {\n key: \"getPlaceholderToken\",\n value: function getPlaceholderToken(input) {\n return this.getIdentNamedPlaceholderToken(input) || this.getStringNamedPlaceholderToken(input) || this.getIndexedPlaceholderToken(input);\n }\n }, {\n key: \"getIdentNamedPlaceholderToken\",\n value: function getIdentNamedPlaceholderToken(input) {\n return this.getPlaceholderTokenWithKey({\n input: input,\n regex: this.IDENT_NAMED_PLACEHOLDER_REGEX,\n parseKey: function parseKey(v) {\n return v.slice(1);\n }\n });\n }\n }, {\n key: \"getStringNamedPlaceholderToken\",\n value: function getStringNamedPlaceholderToken(input) {\n var _this = this;\n\n return this.getPlaceholderTokenWithKey({\n input: input,\n regex: this.STRING_NAMED_PLACEHOLDER_REGEX,\n parseKey: function parseKey(v) {\n return _this.getEscapedPlaceholderKey({\n key: v.slice(2, -1),\n quoteChar: v.slice(-1)\n });\n }\n });\n }\n }, {\n key: \"getIndexedPlaceholderToken\",\n value: function getIndexedPlaceholderToken(input) {\n return this.getPlaceholderTokenWithKey({\n input: input,\n regex: this.INDEXED_PLACEHOLDER_REGEX,\n parseKey: function parseKey(v) {\n return v.slice(1);\n }\n });\n }\n }, {\n key: \"getPlaceholderTokenWithKey\",\n value: function getPlaceholderTokenWithKey(_ref) {\n var input = _ref.input,\n regex = _ref.regex,\n parseKey = _ref.parseKey;\n var token = this.getTokenOnFirstMatch({\n input: input,\n regex: regex,\n type: _tokenTypes[\"default\"].PLACEHOLDER\n });\n\n if (token) {\n token.key = parseKey(token.value);\n }\n\n return token;\n }\n }, {\n key: \"getEscapedPlaceholderKey\",\n value: function getEscapedPlaceholderKey(_ref2) {\n var key = _ref2.key,\n quoteChar = _ref2.quoteChar;\n return key.replace(new RegExp((0, _utils.escapeRegExp)('\\\\' + quoteChar), 'gu'), quoteChar);\n } // Decimal, binary, or hex numbers\n\n }, {\n key: \"getNumberToken\",\n value: function getNumberToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].NUMBER,\n regex: this.NUMBER_REGEX\n });\n } // Punctuation and symbols\n\n }, {\n key: \"getOperatorToken\",\n value: function getOperatorToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].OPERATOR,\n regex: this.OPERATOR_REGEX\n });\n }\n }, {\n key: \"getReservedWordToken\",\n value: function getReservedWordToken(input, previousToken) {\n // A reserved word cannot be preceded by a \".\"\n // this makes it so in \"mytable.from\", \"from\" is not considered a reserved word\n if (previousToken && previousToken.value && previousToken.value === '.') {\n return undefined;\n }\n\n return this.getTopLevelReservedToken(input) || this.getNewlineReservedToken(input) || this.getTopLevelReservedTokenNoIndent(input) || this.getPlainReservedToken(input);\n }\n }, {\n key: \"getTopLevelReservedToken\",\n value: function getTopLevelReservedToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].RESERVED_TOP_LEVEL,\n regex: this.RESERVED_TOP_LEVEL_REGEX\n });\n }\n }, {\n key: \"getNewlineReservedToken\",\n value: function getNewlineReservedToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].RESERVED_NEWLINE,\n regex: this.RESERVED_NEWLINE_REGEX\n });\n }\n }, {\n key: \"getTopLevelReservedTokenNoIndent\",\n value: function getTopLevelReservedTokenNoIndent(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].RESERVED_TOP_LEVEL_NO_INDENT,\n regex: this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX\n });\n }\n }, {\n key: \"getPlainReservedToken\",\n value: function getPlainReservedToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].RESERVED,\n regex: this.RESERVED_PLAIN_REGEX\n });\n }\n }, {\n key: \"getWordToken\",\n value: function getWordToken(input) {\n return this.getTokenOnFirstMatch({\n input: input,\n type: _tokenTypes[\"default\"].WORD,\n regex: this.WORD_REGEX\n });\n }\n }, {\n key: \"getTokenOnFirstMatch\",\n value: function getTokenOnFirstMatch(_ref3) {\n var input = _ref3.input,\n type = _ref3.type,\n regex = _ref3.regex;\n var matches = input.match(regex);\n return matches ? {\n type: type,\n value: matches[1]\n } : undefined;\n }\n }]);\n\n return Tokenizer;\n}();\n\nexports[\"default\"] = Tokenizer;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sortByLengthDesc = exports.escapeRegExp = exports.isEmpty = exports.last = exports.trimSpacesEnd = void 0;\n\n// Only removes spaces, not newlines\nvar trimSpacesEnd = function trimSpacesEnd(str) {\n return str.replace(/[\\t ]+$/, '');\n}; // Last element from array\n\n\nexports.trimSpacesEnd = trimSpacesEnd;\n\nvar last = function last(arr) {\n return arr[arr.length - 1];\n}; // True array is empty, or it's not an array at all\n\n\nexports.last = last;\n\nvar isEmpty = function isEmpty(arr) {\n return !Array.isArray(arr) || arr.length === 0;\n}; // Escapes regex special chars\n\n\nexports.isEmpty = isEmpty;\n\nvar escapeRegExp = function escapeRegExp(string) {\n return string.replace(/[\\$\\(-\\+\\.\\?\\[-\\^\\{-\\}]/g, '\\\\$&');\n}; // Sorts strings by length, so that longer ones are first\n// Also sorts alphabetically after sorting by length.\n\n\nexports.escapeRegExp = escapeRegExp;\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\nexports.sortByLengthDesc = sortByLengthDesc;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _tokenTypes = _interopRequireDefault(require(\"./tokenTypes\"));\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); return Constructor; }\n\nvar INLINE_MAX_LENGTH = 50;\n/**\n * Bookkeeper for inline blocks.\n *\n * Inline blocks are parenthized expressions that are shorter than INLINE_MAX_LENGTH.\n * These blocks are formatted on a single line, unlike longer parenthized\n * expressions where open-parenthesis causes newline and increase of indentation.\n */\n\nvar InlineBlock = /*#__PURE__*/function () {\n function InlineBlock() {\n _classCallCheck(this, InlineBlock);\n\n this.level = 0;\n }\n /**\n * Begins inline block when lookahead through upcoming tokens determines\n * that the block would be smaller than INLINE_MAX_LENGTH.\n * @param {Object[]} tokens Array of all tokens\n * @param {Number} index Current token position\n */\n\n\n _createClass(InlineBlock, [{\n key: \"beginIfPossible\",\n value: function beginIfPossible(tokens, index) {\n if (this.level === 0 && this.isInlineBlock(tokens, index)) {\n this.level = 1;\n } else if (this.level > 0) {\n this.level++;\n } else {\n this.level = 0;\n }\n }\n /**\n * Finishes current inline block.\n * There might be several nested ones.\n */\n\n }, {\n key: \"end\",\n value: function end() {\n this.level--;\n }\n /**\n * True when inside an inline block\n * @return {Boolean}\n */\n\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.level > 0;\n } // Check if this should be an inline parentheses block\n // Examples are \"NOW()\", \"COUNT(*)\", \"int(10)\", key(`somecolumn`), DECIMAL(7,2)\n\n }, {\n key: \"isInlineBlock\",\n value: function isInlineBlock(tokens, index) {\n var length = 0;\n var level = 0;\n\n for (var i = index; i < tokens.length; i++) {\n var token = tokens[i];\n length += token.value.length; // Overran max length\n\n if (length > INLINE_MAX_LENGTH) {\n return false;\n }\n\n if (token.type === _tokenTypes[\"default\"].OPEN_PAREN) {\n level++;\n } else if (token.type === _tokenTypes[\"default\"].CLOSE_PAREN) {\n level--;\n\n if (level === 0) {\n return true;\n }\n }\n\n if (this.isForbiddenToken(token)) {\n return false;\n }\n }\n\n return false;\n } // Reserved words that cause newlines, comments and semicolons\n // are not allowed inside inline parentheses block\n\n }, {\n key: \"isForbiddenToken\",\n value: function isForbiddenToken(_ref) {\n var type = _ref.type,\n value = _ref.value;\n return type === _tokenTypes[\"default\"].RESERVED_TOP_LEVEL || type === _tokenTypes[\"default\"].RESERVED_NEWLINE || type === _tokenTypes[\"default\"].COMMENT || type === _tokenTypes[\"default\"].BLOCK_COMMENT || value === ';';\n }\n }]);\n\n return InlineBlock;\n}();\n\nexports[\"default\"] = InlineBlock;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportedDialects = exports.format = void 0;\n\nvar _Db2Formatter = _interopRequireDefault(require(\"./languages/Db2Formatter\"));\n\nvar _MariaDbFormatter = _interopRequireDefault(require(\"./languages/MariaDbFormatter\"));\n\nvar _MySqlFormatter = _interopRequireDefault(require(\"./languages/MySqlFormatter\"));\n\nvar _N1qlFormatter = _interopRequireDefault(require(\"./languages/N1qlFormatter\"));\n\nvar _PlSqlFormatter = _interopRequireDefault(require(\"./languages/PlSqlFormatter\"));\n\nvar _PostgreSqlFormatter = _interopRequireDefault(require(\"./languages/PostgreSqlFormatter\"));\n\nvar _RedshiftFormatter = _interopRequireDefault(require(\"./languages/RedshiftFormatter\"));\n\nvar _SparkSqlFormatter = _interopRequireDefault(require(\"./languages/SparkSqlFormatter\"));\n\nvar _StandardSqlFormatter = _interopRequireDefault(require(\"./languages/StandardSqlFormatter\"));\n\nvar _TSqlFormatter = _interopRequireDefault(require(\"./languages/TSqlFormatter\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar formatters = {\n db2: _Db2Formatter[\"default\"],\n mariadb: _MariaDbFormatter[\"default\"],\n mysql: _MySqlFormatter[\"default\"],\n n1ql: _N1qlFormatter[\"default\"],\n plsql: _PlSqlFormatter[\"default\"],\n postgresql: _PostgreSqlFormatter[\"default\"],\n redshift: _RedshiftFormatter[\"default\"],\n spark: _SparkSqlFormatter[\"default\"],\n sql: _StandardSqlFormatter[\"default\"],\n tsql: _TSqlFormatter[\"default\"]\n};\n/**\n * Format whitespace in a query to make it easier to read.\n *\n * @param {String} query\n * @param {Object} cfg\n * @param {String} cfg.language Query language, default is Standard SQL\n * @param {String} cfg.indent Characters used for indentation, default is \" \" (2 spaces)\n * @param {Boolean} cfg.uppercase Converts keywords to uppercase\n * @param {Integer} cfg.linesBetweenQueries How many line breaks between queries\n * @param {Object} cfg.params Collection of params for placeholder replacement\n * @return {String}\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. Extected string, instead got ' + _typeof(query));\n }\n\n var Formatter = _StandardSqlFormatter[\"default\"];\n\n if (cfg.language !== undefined) {\n Formatter = formatters[cfg.language];\n }\n\n if (Formatter === undefined) {\n throw Error(\"Unsupported SQL dialect: \".concat(cfg.language));\n }\n\n return new Formatter(cfg).format(query);\n};\n\nexports.format = format;\nvar supportedDialects = Object.keys(formatters);\nexports.supportedDialects = supportedDialects;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Formatter2 = _interopRequireDefault(require(\"../core/Formatter\"));\n\nvar _token = require(\"../core/token\");\n\nvar _Tokenizer = _interopRequireDefault(require(\"../core/Tokenizer\"));\n\nvar _tokenTypes = _interopRequireDefault(require(\"../core/tokenTypes\"));\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); 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar reservedWords = ['ALL', 'ALTER', 'ANALYSE', 'ANALYZE', 'ARRAY_ZIP', 'ARRAY', 'AS', 'ASC', 'AVG', 'BETWEEN', 'CASCADE', 'CASE', 'CAST', 'COALESCE', 'COLLECT_LIST', 'COLLECT_SET', 'COLUMN', 'COLUMNS', 'COMMENT', 'CONSTRAINT', 'CONTAINS', 'CONVERT', 'COUNT', 'CUME_DIST', 'CURRENT ROW', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'DATABASE', 'DATABASES', 'DATE_ADD', 'DATE_SUB', 'DATE_TRUNC', 'DAY_HOUR', 'DAY_MINUTE', 'DAY_SECOND', 'DAY', 'DAYS', 'DECODE', 'DEFAULT', 'DELETE', 'DENSE_RANK', 'DESC', 'DESCRIBE', 'DISTINCT', 'DISTINCTROW', 'DIV', 'DROP', 'ELSE', 'ENCODE', 'END', 'EXISTS', 'EXPLAIN', 'EXPLODE_OUTER', 'EXPLODE', 'FILTER', 'FIRST_VALUE', 'FIRST', 'FIXED', 'FLATTEN', 'FOLLOWING', 'FROM_UNIXTIME', 'FULL', 'GREATEST', 'GROUP_CONCAT', 'HOUR_MINUTE', 'HOUR_SECOND', 'HOUR', 'HOURS', 'IF', 'IFNULL', 'IN', 'INSERT', 'INTERVAL', 'INTO', 'IS', 'LAG', 'LAST_VALUE', 'LAST', 'LEAD', 'LEADING', 'LEAST', 'LEVEL', 'LIKE', 'MAX', 'MERGE', 'MIN', 'MINUTE_SECOND', 'MINUTE', 'MONTH', 'NATURAL', 'NOT', 'NOW()', 'NTILE', 'NULL', 'NULLIF', 'OFFSET', 'ON DELETE', 'ON UPDATE', 'ON', 'ONLY', 'OPTIMIZE', 'OVER', 'PERCENT_RANK', 'PRECEDING', 'RANGE', 'RANK', 'REGEXP', 'RENAME', 'RLIKE', 'ROW', 'ROWS', 'SECOND', 'SEPARATOR', 'SEQUENCE', 'SIZE', 'STRING', 'STRUCT', 'SUM', 'TABLE', 'TABLES', 'TEMPORARY', 'THEN', 'TO_DATE', 'TO_JSON', 'TO', 'TRAILING', 'TRANSFORM', 'TRUE', 'TRUNCATE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNIQUE', 'UNIX_TIMESTAMP', 'UNLOCK', 'UNSIGNED', 'USING', 'VARIABLES', 'VIEW', 'WHEN', 'WITH', 'YEAR_MONTH'];\nvar reservedTopLevelWords = ['ADD', 'AFTER', 'ALTER COLUMN', 'ALTER DATABASE', 'ALTER SCHEMA', 'ALTER TABLE', 'CLUSTER BY', 'CLUSTERED BY', 'DELETE FROM', 'DISTRIBUTE BY', 'FROM', 'GROUP BY', 'HAVING', 'INSERT INTO', 'INSERT', 'LIMIT', 'OPTIONS', 'ORDER BY', 'PARTITION BY', 'PARTITIONED BY', 'RANGE', 'ROWS', 'SELECT', 'SET CURRENT SCHEMA', 'SET SCHEMA', 'SET', 'TBLPROPERTIES', 'UPDATE', 'USING', 'VALUES', 'WHERE', 'WINDOW'];\nvar reservedTopLevelWordsNoIndent = ['EXCEPT ALL', 'EXCEPT', 'INTERSECT ALL', 'INTERSECT', 'UNION ALL', 'UNION'];\nvar reservedNewlineWords = ['AND', 'CREATE OR', 'CREATE', 'ELSE', 'LATERAL VIEW', 'OR', 'OUTER APPLY', 'WHEN', 'XOR', // joins\n'JOIN', 'INNER JOIN', 'LEFT JOIN', 'LEFT OUTER JOIN', 'RIGHT JOIN', 'RIGHT OUTER JOIN', 'FULL JOIN', 'FULL OUTER JOIN', 'CROSS JOIN', 'NATURAL JOIN', // non-standard-joins\n'ANTI JOIN', 'SEMI JOIN', 'LEFT ANTI JOIN', 'LEFT SEMI JOIN', 'RIGHT OUTER JOIN', 'RIGHT SEMI JOIN', 'NATURAL ANTI JOIN', 'NATURAL FULL OUTER JOIN', 'NATURAL INNER JOIN', 'NATURAL LEFT ANTI JOIN', 'NATURAL LEFT OUTER JOIN', 'NATURAL LEFT SEMI JOIN', 'NATURAL OUTER JOIN', 'NATURAL RIGHT OUTER JOIN', 'NATURAL RIGHT SEMI JOIN', 'NATURAL SEMI JOIN'];\n\nvar SparkSqlFormatter = /*#__PURE__*/function (_Formatter) {\n _inherits(SparkSqlFormatter, _Formatter);\n\n var _super = _createSuper(SparkSqlFormatter);\n\n function SparkSqlFormatter() {\n _classCallCheck(this, SparkSqlFormatter);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SparkSqlFormatter, [{\n key: \"tokenizer\",\n value: function tokenizer() {\n return new _Tokenizer[\"default\"]({\n reservedWords: reservedWords,\n reservedTopLevelWords: reservedTopLevelWords,\n reservedNewlineWords: reservedNewlineWords,\n reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,\n stringTypes: [\"\\\"\\\"\", \"''\", '``', '{}'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: ['$'],\n lineCommentTypes: ['--'],\n operators: ['!=', '<=>', '&&', '||', '==']\n });\n }\n }, {\n key: \"tokenOverride\",\n value: function tokenOverride(token) {\n // Fix cases where names are ambiguously keywords or functions\n if ((0, _token.isWindow)(token)) {\n var aheadToken = this.tokenLookAhead();\n\n if (aheadToken && aheadToken.type === _tokenTypes[\"default\"].OPEN_PAREN) {\n // This is a function call, treat it as a reserved word\n return {\n type: _tokenTypes[\"default\"].RESERVED,\n value: token.value\n };\n }\n } // Fix cases where names are ambiguously keywords or properties\n\n\n if ((0, _token.isEnd)(token)) {\n var backToken = this.tokenLookBehind();\n\n if (backToken && backToken.type === _tokenTypes[\"default\"].OPERATOR && backToken.value === '.') {\n // This is window().end (or similar) not CASE ... END\n return {\n type: _tokenTypes[\"default\"].WORD,\n value: token.value\n };\n }\n }\n\n return token;\n }\n }]);\n\n return SparkSqlFormatter;\n}(_Formatter2[\"default\"]);\n\nexports[\"default\"] = SparkSqlFormatter;\nmodule.exports = exports.default;"],"sourceRoot":""}