prettier-sql
Advanced tools
Comparing version 5.0.0-beta.1 to 5.0.0
# CHANGELOG | ||
## NEXT [5.0.0] : 2021-11-03 | ||
## NEXT [5.0.0] : 2021-11-22 | ||
### Added | ||
New Features: | ||
Source: | ||
- added support for ES6 module exports with TypeScript | ||
- updated webpack with ts-loader for module types | ||
- added tsc to babel commonjs build command | ||
- added index.ts pass-through export | ||
Other: | ||
- added GH Actions for CI build | ||
- added issue templates | ||
### Updated | ||
Source: | ||
- updated demo page for all new options | ||
Other: | ||
- renamed library to `prettier-sql` | ||
### Fixed | ||
- fixed bugs related to operator tokens | ||
### Removed | ||
- removed Travis CI (replaced by GH Actions) | ||
## [5.0.0-beta] : 2021-11-03 | ||
### Added | ||
Source: | ||
- added option `aliasAs` to toggle use of AS in column, table, query aliases | ||
@@ -48,18 +82,8 @@ - modes: always (SELECT and table), select (SELECT only), never | ||
### Removed | ||
Files Removed: | ||
- tokenTypes.ts (token types moved to TokenType enum in token.ts) | ||
- sqlFormatter.d.ts (converted to TypeScript) | ||
### Updated | ||
Major changes: | ||
Source: | ||
- converted repo to Typescript | ||
- overhauled Keyword lists for all languages | ||
Other: | ||
- added default options for all configs | ||
@@ -74,1 +98,6 @@ - updated CLI to use config file | ||
- updated Tokenizer class and token.ts to be more DRY | ||
### Removed | ||
- tokenTypes.ts (token types moved to TokenType enum in token.ts) | ||
- sqlFormatter.d.ts (converted to TypeScript) |
@@ -352,4 +352,2 @@ "use strict"; | ||
this.tokens.forEach(function (token, index) { | ||
var _this3$tokenLookAhead, _this3$tokenLookBehin; | ||
_this3.index = index; | ||
@@ -366,3 +364,3 @@ token = _this3.tokenOverride(token); | ||
if (token.type === _token.TokenType.RESERVED_COMMAND) { | ||
_this3.withinSelect = (0, _token.isToken)('SELECT')(token); | ||
_this3.withinSelect = _token.isToken.SELECT(token); | ||
} | ||
@@ -381,7 +379,7 @@ } | ||
} else if (token.type === _token.TokenType.RESERVED_DEPENDENT_CLAUSE) { | ||
formattedQuery = _this3.formatLogicalOperator(token, formattedQuery); | ||
formattedQuery = _this3.formatDependentClause(token, formattedQuery); | ||
} else if (token.type === _token.TokenType.RESERVED_LOGICAL_OPERATOR) { | ||
formattedQuery = _this3.formatLogicalOperator(token, formattedQuery); | ||
} else if (token.type === _token.TokenType.RESERVED_KEYWORD) { | ||
if (!((0, _token.isToken)('AS')(token) && _this3.cfg.aliasAs === _types.AliasMode.never)) { | ||
if (!(_token.isToken.AS(token) && _this3.cfg.aliasAs === _types.AliasMode.never)) { | ||
// do not format if skipping AS | ||
@@ -397,16 +395,4 @@ formattedQuery = _this3.formatWithSpaces(token, formattedQuery); | ||
formattedQuery = _this3.formatPlaceholder(token, formattedQuery); | ||
} else if (token.value === ',') { | ||
formattedQuery = _this3.formatComma(token, formattedQuery); | ||
} else if (token.value === ':') { | ||
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'after'); | ||
} else if (token.value === '.') { | ||
formattedQuery = _this3.formatWithoutSpaces(token, formattedQuery); | ||
} else if (token.value === ';') { | ||
formattedQuery = _this3.formatQuerySeparator(token, formattedQuery); | ||
} else if (token.value === '[' || token.value === '`' && ((_this3$tokenLookAhead = _this3.tokenLookAhead(2)) === null || _this3$tokenLookAhead === void 0 ? void 0 : _this3$tokenLookAhead.value) === '`') { | ||
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'before'); | ||
} else if (token.value === ']' || token.value === '`' && ((_this3$tokenLookBehin = _this3.tokenLookBehind(2)) === null || _this3$tokenLookBehin === void 0 ? void 0 : _this3$tokenLookBehin.value) === '`') { | ||
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'after'); | ||
} else if (token.type === _token.TokenType.OPERATOR && _this3.cfg.denseOperators) { | ||
formattedQuery = _this3.formatWithoutSpaces(token, formattedQuery); | ||
} else if (token.type === _token.TokenType.OPERATOR) { | ||
formattedQuery = _this3.formatOperator(token, formattedQuery); | ||
} else { | ||
@@ -434,3 +420,4 @@ if (_this3.cfg.aliasAs !== _types.AliasMode.never) { | ||
var missingSelectColumnAlias = // if select column alias is missing and alias is not never | ||
this.withinSelect && token.type === _token.TokenType.WORD && ((0, _token.isToken)('END')(prevToken) || (prevToken === null || prevToken === void 0 ? void 0 : prevToken.type) === _token.TokenType.WORD && ((nextToken === null || nextToken === void 0 ? void 0 : nextToken.value) === ',' || (0, _token.isCommand)(nextToken))); | ||
this.withinSelect && token.type === _token.TokenType.WORD && (_token.isToken.END(prevToken) || // isAs(prevToken) || | ||
(prevToken === null || prevToken === void 0 ? void 0 : prevToken.type) === _token.TokenType.WORD && ((nextToken === null || nextToken === void 0 ? void 0 : nextToken.value) === ',' || (0, _token.isCommand)(nextToken))); | ||
@@ -472,3 +459,3 @@ if (missingTableAlias || missingSelectColumnAlias) { | ||
} | ||
} else if (!(((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(' && (0, _token.isToken)('FROM')(token))) { | ||
} else if (!(((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(' && _token.isToken.FROM(token))) { | ||
this.indentation.increaseTopLevel(); | ||
@@ -501,5 +488,33 @@ } | ||
}, { | ||
key: "formatOperator", | ||
value: function formatOperator(token, query) { | ||
// special operator | ||
if (token.value === ',') { | ||
return this.formatComma(token, query); | ||
} else if (token.value === ';') { | ||
return this.formatQuerySeparator(token, query); | ||
} else if (['$', '['].includes(token.value)) { | ||
return this.formatWithSpaces(token, query, 'before'); | ||
} else if ([':', ']'].includes(token.value)) { | ||
return this.formatWithSpaces(token, query, 'after'); | ||
} else if (['.', '{', '}', '`'].includes(token.value)) { | ||
return this.formatWithoutSpaces(token, query); | ||
} // regular operator | ||
if (this.cfg.denseOperators) { | ||
return this.formatWithoutSpaces(token, query); | ||
} | ||
return this.formatWithSpaces(token, query); | ||
} | ||
}, { | ||
key: "formatDependentClause", | ||
value: function formatDependentClause(token, query) { | ||
return this.addNewline(query) + this.equalizeWhitespace(this.show(token)) + ' '; | ||
} | ||
}, { | ||
key: "formatLogicalOperator", | ||
value: function formatLogicalOperator(token, query) { | ||
if ((0, _token.isToken)('AND')(token) && (0, _token.isToken)('BETWEEN')(this.tokenLookBehind(2))) { | ||
if (_token.isToken.AND(token) && _token.isToken.BETWEEN(this.tokenLookBehind(2))) { | ||
return this.formatWithSpaces(token, query); | ||
@@ -528,3 +543,3 @@ } | ||
value: function formatBlockStart(token, query) { | ||
if ((0, _token.isToken)('CASE')(token)) { | ||
if (_token.isToken.CASE(token)) { | ||
query = this.formatWithSpaces(token, query); | ||
@@ -551,3 +566,3 @@ } else { | ||
if (!(0, _token.isToken)('CASE')(token) || this.newline.mode === _types.NewlineMode.always) { | ||
if (!_token.isToken.CASE(token) || this.newline.mode === _types.NewlineMode.always) { | ||
query = this.addNewline(query); | ||
@@ -593,3 +608,3 @@ } | ||
return query; | ||
} else if ((0, _token.isToken)('LIMIT')(this.previousReservedToken)) { | ||
} else if (_token.isToken.LIMIT(this.previousReservedToken)) { | ||
return query; | ||
@@ -700,2 +715,3 @@ } else if (this.currentNewline) { | ||
exports["default"] = Formatter; | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=Formatter.js.map |
@@ -114,2 +114,3 @@ "use strict"; | ||
exports["default"] = Indentation; | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=Indentation.js.map |
@@ -92,3 +92,3 @@ "use strict"; | ||
if (token.type === _token.TokenType.BLOCK_START && !(0, _token.isToken)('CASE')(token)) { | ||
if (token.type === _token.TokenType.BLOCK_START && !_token.isToken.CASE(token)) { | ||
level++; | ||
@@ -126,2 +126,3 @@ } else if (token.type === _token.TokenType.BLOCK_END) { | ||
exports["default"] = InlineBlock; | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=InlineBlock.js.map |
@@ -62,2 +62,3 @@ "use strict"; | ||
exports["default"] = Params; | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=Params.js.map |
@@ -6,15 +6,15 @@ "use strict"; | ||
}); | ||
exports.createLineCommentRegex = createLineCommentRegex; | ||
exports.createOperatorRegex = createOperatorRegex; | ||
exports.createLineCommentRegex = createLineCommentRegex; | ||
exports.createParenRegex = createParenRegex; | ||
exports.createPlaceholderRegex = createPlaceholderRegex; | ||
exports.createReservedWordRegex = createReservedWordRegex; | ||
exports.createWordRegex = createWordRegex; | ||
exports.createStringPattern = createStringPattern; | ||
exports.createStringRegex = createStringRegex; | ||
exports.createParenRegex = createParenRegex; | ||
exports.createPlaceholderRegex = createPlaceholderRegex; | ||
exports.createWordRegex = createWordRegex; | ||
var _utils = require("../utils"); | ||
function createOperatorRegex(multiLetterOperators) { | ||
return new RegExp("^(".concat((0, _utils.sortByLengthDesc)(multiLetterOperators).map(_utils.escapeRegExp).join('|'), "|.)"), 'u'); | ||
function createOperatorRegex(monadOperators, polyadOperators) { | ||
return new RegExp("^(".concat((0, _utils.sortByLengthDesc)(polyadOperators).map(_utils.escapeRegExp).join('|'), "|") + "[".concat(monadOperators.split('').map(_utils.escapeRegExp).join(''), "])"), 'u'); | ||
} | ||
@@ -29,2 +29,4 @@ | ||
function createReservedWordRegex(reservedKeywords) { | ||
var specialWordChars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; | ||
if (reservedKeywords.length === 0) { | ||
@@ -35,8 +37,16 @@ return new RegExp("^\b$", 'u'); | ||
var reservedKeywordsPattern = (0, _utils.sortByLengthDesc)(reservedKeywords).join('|').replace(/ /g, '\\s+'); | ||
return new RegExp("^(".concat(reservedKeywordsPattern, ")\\b"), 'iu'); | ||
return new RegExp("^(".concat(reservedKeywordsPattern, ")(?![").concat((0, _utils.escapeRegExp)(specialWordChars), "]+)\\b"), 'iu'); | ||
} | ||
function createWordRegex() { | ||
var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; | ||
return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(specialChars.join(''), "]+)"), 'u'); | ||
var _specialChars$prefix, _specialChars$suffix, _specialChars$any; | ||
var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
var prefixLookBehind = "[".concat((0, _utils.escapeRegExp)((_specialChars$prefix = specialChars.prefix) !== null && _specialChars$prefix !== void 0 ? _specialChars$prefix : ''), "]*"); | ||
var suffixLookAhead = "[".concat((0, _utils.escapeRegExp)((_specialChars$suffix = specialChars.suffix) !== null && _specialChars$suffix !== void 0 ? _specialChars$suffix : ''), "]*"); | ||
var unicodeWordChar = '\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}'; | ||
var specialWordChars = "".concat((0, _utils.escapeRegExp)((_specialChars$any = specialChars.any) !== null && _specialChars$any !== void 0 ? _specialChars$any : '')); | ||
var arrayAccessor = '\\[\\d\\]'; | ||
var mapAccessor = "\\[['\"][".concat(unicodeWordChar, "]+['\"]\\]"); | ||
return new RegExp("^((".concat(prefixLookBehind, "([").concat(unicodeWordChar).concat(specialWordChars, "]+)").concat(suffixLookAhead, ")(").concat(arrayAccessor, "|").concat(mapAccessor, ")?)"), 'u'); | ||
} // This enables the following string patterns: | ||
@@ -60,5 +70,6 @@ // 1. backtick quoted string using `` to escape | ||
"N''": "((N'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)", | ||
"x''": "((x'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)", | ||
"U&''": "((U&'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)", | ||
'U&""': '((U&"[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)', | ||
$$: '((?<tag>\\$\\w*\\$)[\\s\\S]*?(?:\\k<tag>|$))' | ||
'$$': '((?<tag>\\$\\w*\\$)[\\s\\S]*?(?:\\k<tag>|$))' | ||
}; | ||
@@ -97,2 +108,3 @@ | ||
return new RegExp("^((?:".concat(typesRegex, ")(?:").concat(pattern, "))"), 'u'); | ||
} | ||
} | ||
//# sourceMappingURL=regexFactory.js.map |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.isReserved = exports.isCommand = exports.isToken = exports.ZWS = exports.TokenType = void 0; | ||
exports.testToken = exports.isToken = exports.isReserved = exports.isCommand = exports.ZWS = exports.TokenType = void 0; | ||
var TokenType; | ||
@@ -33,23 +33,60 @@ exports.TokenType = TokenType; | ||
var spaces = "[".concat(ZWS_REGEX, "\\s]"); | ||
var testTokens = { | ||
AS: TokenType.RESERVED_KEYWORD, | ||
AND: TokenType.RESERVED_LOGICAL_OPERATOR, | ||
BETWEEN: TokenType.RESERVED_KEYWORD, | ||
CASE: TokenType.BLOCK_START, | ||
BY: TokenType.RESERVED_KEYWORD, | ||
END: TokenType.BLOCK_END, | ||
FROM: TokenType.RESERVED_COMMAND, | ||
LATERAL: TokenType.RESERVED_DEPENDENT_CLAUSE, | ||
LIMIT: TokenType.RESERVED_COMMAND, | ||
SELECT: TokenType.RESERVED_COMMAND, | ||
SET: TokenType.RESERVED_COMMAND, | ||
WINDOW: TokenType.RESERVED_COMMAND | ||
}; | ||
var isToken = function isToken(testToken) { | ||
var testToken = function testToken(compareToken) { | ||
return function (token) { | ||
return (token === null || token === void 0 ? void 0 : token.type) === testTokens[testToken] && new RegExp("^".concat(spaces, "*").concat(testToken).concat(spaces, "*$"), 'iu').test(token === null || token === void 0 ? void 0 : token.value); | ||
return (token === null || token === void 0 ? void 0 : token.type) === compareToken.type && new RegExp("^".concat(spaces, "*").concat(compareToken.value).concat(spaces, "*$"), 'iu').test(token === null || token === void 0 ? void 0 : token.value); | ||
}; | ||
}; | ||
exports.testToken = testToken; | ||
var isToken = { | ||
AS: testToken({ | ||
value: 'AS', | ||
type: TokenType.RESERVED_KEYWORD | ||
}), | ||
AND: testToken({ | ||
value: 'AND', | ||
type: TokenType.RESERVED_LOGICAL_OPERATOR | ||
}), | ||
BETWEEN: testToken({ | ||
value: 'BETWEEN', | ||
type: TokenType.RESERVED_KEYWORD | ||
}), | ||
CASE: testToken({ | ||
value: 'CASE', | ||
type: TokenType.BLOCK_START | ||
}), | ||
BY: testToken({ | ||
value: 'BY', | ||
type: TokenType.RESERVED_KEYWORD | ||
}), | ||
END: testToken({ | ||
value: 'END', | ||
type: TokenType.BLOCK_END | ||
}), | ||
FROM: testToken({ | ||
value: 'FROM', | ||
type: TokenType.RESERVED_COMMAND | ||
}), | ||
LATERAL: testToken({ | ||
value: 'LATERAL', | ||
type: TokenType.RESERVED_DEPENDENT_CLAUSE | ||
}), | ||
LIMIT: testToken({ | ||
value: 'LIMIT', | ||
type: TokenType.RESERVED_COMMAND | ||
}), | ||
SELECT: testToken({ | ||
value: 'SELECT', | ||
type: TokenType.RESERVED_COMMAND | ||
}), | ||
SET: testToken({ | ||
value: 'SET', | ||
type: TokenType.RESERVED_COMMAND | ||
}), | ||
WINDOW: testToken({ | ||
value: 'WINDOW', | ||
type: TokenType.RESERVED_COMMAND | ||
}) | ||
}; | ||
exports.isToken = isToken; | ||
@@ -67,2 +104,3 @@ | ||
exports.isReserved = isReserved; | ||
exports.isReserved = isReserved; | ||
//# sourceMappingURL=token.js.map |
@@ -66,2 +66,3 @@ "use strict"; | ||
var _this = this, | ||
_cfg$specialWordChars, | ||
_cfg$reservedDependen, | ||
@@ -95,3 +96,4 @@ _cfg$operators, | ||
this.WHITESPACE_REGEX = /^([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+)/; | ||
this.REGEX_MAP = (_this$REGEX_MAP = {}, _defineProperty(_this$REGEX_MAP, _token.TokenType.WORD, regexFactory.createWordRegex(cfg.specialWordChars)), _defineProperty(_this$REGEX_MAP, _token.TokenType.STRING, regexFactory.createStringRegex(cfg.stringTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_KEYWORD, regexFactory.createReservedWordRegex(cfg.reservedKeywords)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_DEPENDENT_CLAUSE, regexFactory.createReservedWordRegex((_cfg$reservedDependen = cfg.reservedDependentClauses) !== null && _cfg$reservedDependen !== void 0 ? _cfg$reservedDependen : [])), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_LOGICAL_OPERATOR, regexFactory.createReservedWordRegex(cfg.reservedLogicalOperators)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedCommands)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_BINARY_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedBinaryCommands)), _defineProperty(_this$REGEX_MAP, _token.TokenType.OPERATOR, regexFactory.createOperatorRegex(['<>', '<=', '>='].concat(_toConsumableArray((_cfg$operators = cfg.operators) !== null && _cfg$operators !== void 0 ? _cfg$operators : [])))), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_START, regexFactory.createParenRegex(cfg.blockStart)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_END, regexFactory.createParenRegex(cfg.blockEnd)), _defineProperty(_this$REGEX_MAP, _token.TokenType.LINE_COMMENT, regexFactory.createLineCommentRegex(cfg.lineCommentTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_COMMENT, /^(\/\*(?:(?![])[\s\S])*?(?:\*\/|$))/), _defineProperty(_this$REGEX_MAP, _token.TokenType.NUMBER, /^((\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/), _defineProperty(_this$REGEX_MAP, _token.TokenType.PLACEHOLDER, NULL_REGEX), _this$REGEX_MAP); | ||
var specialWordCharsAll = Object.values((_cfg$specialWordChars = cfg.specialWordChars) !== null && _cfg$specialWordChars !== void 0 ? _cfg$specialWordChars : {}).join(''); | ||
this.REGEX_MAP = (_this$REGEX_MAP = {}, _defineProperty(_this$REGEX_MAP, _token.TokenType.WORD, regexFactory.createWordRegex(cfg.specialWordChars)), _defineProperty(_this$REGEX_MAP, _token.TokenType.STRING, regexFactory.createStringRegex(cfg.stringTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_KEYWORD, regexFactory.createReservedWordRegex(cfg.reservedKeywords, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_DEPENDENT_CLAUSE, regexFactory.createReservedWordRegex((_cfg$reservedDependen = cfg.reservedDependentClauses) !== null && _cfg$reservedDependen !== void 0 ? _cfg$reservedDependen : [], specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_LOGICAL_OPERATOR, regexFactory.createReservedWordRegex(cfg.reservedLogicalOperators, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedCommands, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_BINARY_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedBinaryCommands, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.OPERATOR, regexFactory.createOperatorRegex('+-/*%&|^><=.,;[]{}`:$', ['<>', '<=', '>=', '!='].concat(_toConsumableArray((_cfg$operators = cfg.operators) !== null && _cfg$operators !== void 0 ? _cfg$operators : [])))), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_START, regexFactory.createParenRegex(cfg.blockStart)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_END, regexFactory.createParenRegex(cfg.blockEnd)), _defineProperty(_this$REGEX_MAP, _token.TokenType.LINE_COMMENT, regexFactory.createLineCommentRegex(cfg.lineCommentTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_COMMENT, /^(\/\*(?:(?![])[\s\S])*?(?:\*\/|$))/), _defineProperty(_this$REGEX_MAP, _token.TokenType.NUMBER, /^((\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/), _defineProperty(_this$REGEX_MAP, _token.TokenType.PLACEHOLDER, NULL_REGEX), _this$REGEX_MAP); | ||
this.INDEXED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex((_cfg$indexedPlacehold = cfg.indexedPlaceholderTypes) !== null && _cfg$indexedPlacehold !== void 0 ? _cfg$indexedPlacehold : [], '[0-9]*'); | ||
@@ -231,2 +233,3 @@ this.IDENT_NAMED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex(cfg.namedPlaceholderTypes, '[a-zA-Z0-9._$]+'); | ||
exports["default"] = Tokenizer; | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=Tokenizer.js.map |
@@ -160,3 +160,3 @@ "use strict"; | ||
_defineProperty(Db2Formatter, "stringTypes", ["\"\"", "''", '``', '[]']); | ||
_defineProperty(Db2Formatter, "stringTypes", ["\"\"", "''", '``', '[]', "x''"]); | ||
@@ -173,6 +173,9 @@ _defineProperty(Db2Formatter, "blockStart", ['(']); | ||
_defineProperty(Db2Formatter, "specialWordChars", ['#', '@']); | ||
_defineProperty(Db2Formatter, "specialWordChars", { | ||
any: '#@' | ||
}); | ||
_defineProperty(Db2Formatter, "operators", ['**', '!=', '!>', '!>', '||']); | ||
_defineProperty(Db2Formatter, "operators", ['**', '!>', '!<', '||']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=Db2Formatter.js.map |
@@ -14,2 +14,4 @@ "use strict"; | ||
var _token = require("../core/token"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
@@ -112,2 +114,18 @@ | ||
} | ||
}, { | ||
key: "tokenOverride", | ||
value: function tokenOverride(token) { | ||
var _this$tokenLookAhead; | ||
// [SET] ( ... | ||
if (_token.isToken.SET(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.value) === '(') { | ||
// This is SET datatype, not SET statement | ||
return { | ||
type: _token.TokenType.RESERVED_KEYWORD, | ||
value: token.value | ||
}; | ||
} | ||
return token; | ||
} | ||
}]); | ||
@@ -142,6 +160,9 @@ | ||
_defineProperty(MariaDbFormatter, "specialWordChars", ['@']); | ||
_defineProperty(MariaDbFormatter, "specialWordChars", { | ||
prefix: '@' | ||
}); | ||
_defineProperty(MariaDbFormatter, "operators", [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||']); | ||
_defineProperty(MariaDbFormatter, "operators", [':=', '<<', '>>', '<=>', '&&', '||']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=MariaDbFormatter.js.map |
@@ -56,3 +56,3 @@ "use strict"; | ||
var reservedKeywords = ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', 'ALTER', 'ALWAYS', 'ANALYSE', 'ANALYZE', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASENSITIVE', 'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BIT', 'BLOB', 'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BUCKETS', 'BY', 'BYTE', 'CACHE', 'CASCADE', 'CASCADED', 'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', 'CHANGED', 'CHANNEL', 'CHARACTER', 'CHECK', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOSE', 'CODE', 'COLLATE', 'COLUMN', 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURSOR', 'CURSOR_NAME', 'DATA', 'DATABASES', 'DATAFILE', 'DATETIME', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', 'DELAY_KEY_WRITE', 'DESC', 'DESCRIPTION', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DOUBLE', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'EMPTY', 'ENABLE', 'ENCLOSED', 'ENCRYPTION', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXCHANGE', 'EXCLUDE', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', 'FAST', 'FAULTS', 'FETCH', 'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FOUND', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', 'GRANTS', 'GROUP', 'GROUPS', 'GROUP_REPLICATION', 'GTID_ONLY', 'HASH', 'HIGH_PRIORITY', 'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IGNORE', 'IGNORE_SERVER_IDS', 'IMPORT', 'INACTIVE', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTO', 'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', 'IO_BEFORE_GTIDS', 'IO_THREAD', 'IPC', 'ISOLATION', 'ISSUER', 'ITERATE', 'JSON', 'KEY', 'KEYRING', 'KEYS', 'KEY_BLOCK_SIZE', 'LANGUAGE', 'LAST', 'LEADING', 'LEAVE', 'LEAVES', 'LESS', 'LEVEL', 'LINEAR', 'LINES', 'LINESTRING', 'LIST', 'LOAD', 'LOCAL', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', 'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MAXVALUE', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MIDDLEINT', 'MIGRATE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MIN_ROWS', 'MODE', 'MODIFIES', 'MODIFY', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NULLS', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFF', 'OFFSET', 'OJ', 'OLD', 'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIMIZER_COSTS', 'OPTION', 'OPTIONAL', 'OPTIONALLY', 'OPTIONS', 'ORDER', 'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARSE_GCOL_EXPR', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERSIST', 'PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PRESERVE', 'PREV', 'PRIMARY', 'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', 'READ', 'READS', 'READ_ONLY', 'READ_WRITE', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDOFILE', 'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', 'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOTE', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', 'REQUIRE_ROW_FORMAT', 'RESIGNAL', 'RESOURCE', 'RESPECT', 'RESTORE', 'RESTRICT', 'RESUME', 'RETAIN', 'RETURN', 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'ROLE', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', 'ROWS', 'ROW_FORMAT', 'RTREE', 'SCHEDULE', 'SCHEMAS', 'SCHEMA_NAME', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', 'SECURITY', 'SENSITIVE', 'SEPARATOR', 'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SHARE', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', 'STACKED', 'START', 'STARTING', 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', 'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THREAD_PRIORITY', 'TIES', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TLS', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNREGISTER', 'UNSIGNED', 'UNTIL', 'UPGRADE', 'USAGE', 'USER_RESOURCES', 'USE_FRM', 'USING', 'VALIDATION', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARYING', 'VCPU', 'VIEW', 'VIRTUAL', 'VISIBLE', 'WAIT', 'WARNINGS', 'WHILE', 'WINDOW', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XID', 'XML', 'YEAR_MONTH', 'ZEROFILL', 'ZONE']; | ||
var reservedKeywords = ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', 'ALTER', 'ALWAYS', 'ANALYSE', 'ANALYZE', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASENSITIVE', 'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BIT', 'BLOB', 'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BUCKETS', 'BY', 'BYTE', 'CACHE', 'CASCADE', 'CASCADED', 'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', 'CHANGED', 'CHANNEL', 'CHARACTER', 'CHECK', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOSE', 'CODE', 'COLLATE', 'COLUMN', 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURSOR', 'CURSOR_NAME', 'DATA', 'DATABASES', 'DATAFILE', 'DATETIME', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', 'DELAY_KEY_WRITE', 'DESC', 'DESCRIPTION', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DOUBLE', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'EMPTY', 'ENABLE', 'ENCLOSED', 'ENCRYPTION', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXCHANGE', 'EXCLUDE', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', 'FAST', 'FAULTS', 'FETCH', 'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FOUND', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', '@@GLOBAL', 'GRANTS', 'GROUP', 'GROUPS', 'GROUP_REPLICATION', 'GTID_ONLY', 'HASH', 'HIGH_PRIORITY', 'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IGNORE', 'IGNORE_SERVER_IDS', 'IMPORT', 'INACTIVE', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTO', 'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', 'IO_BEFORE_GTIDS', 'IO_THREAD', 'IPC', 'ISOLATION', 'ISSUER', 'ITERATE', 'JSON', 'KEY', 'KEYRING', 'KEYS', 'KEY_BLOCK_SIZE', 'LANGUAGE', 'LAST', 'LEADING', 'LEAVE', 'LEAVES', 'LESS', 'LEVEL', 'LINEAR', 'LINES', 'LINESTRING', 'LIST', 'LOAD', 'LOCAL', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', 'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MAXVALUE', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MIDDLEINT', 'MIGRATE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MIN_ROWS', 'MODE', 'MODIFIES', 'MODIFY', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NULLS', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFF', 'OFFSET', 'OJ', 'OLD', 'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIMIZER_COSTS', 'OPTION', 'OPTIONAL', 'OPTIONALLY', 'OPTIONS', 'ORDER', 'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARSE_GCOL_EXPR', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERSIST', '@@PERSIST', 'PERSIST_ONLY', '@@PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PRESERVE', 'PREV', 'PRIMARY', 'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', 'READ', 'READS', 'READ_ONLY', 'READ_WRITE', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDOFILE', 'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', 'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOTE', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', 'REQUIRE_ROW_FORMAT', 'RESIGNAL', 'RESOURCE', 'RESPECT', 'RESTORE', 'RESTRICT', 'RESUME', 'RETAIN', 'RETURN', 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'ROLE', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', 'ROWS', 'ROW_FORMAT', 'RTREE', 'SCHEDULE', 'SCHEMAS', 'SCHEMA_NAME', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', 'SECURITY', 'SENSITIVE', 'SEPARATOR', 'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', '@@SESSION', 'SHARE', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', 'STACKED', 'START', 'STARTING', 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', 'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THREAD_PRIORITY', 'TIES', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TLS', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNREGISTER', 'UNSIGNED', 'UNTIL', 'UPGRADE', 'USAGE', 'USER_RESOURCES', 'USE_FRM', 'USING', 'VALIDATION', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARYING', 'VCPU', 'VIEW', 'VIRTUAL', 'VISIBLE', 'WAIT', 'WARNINGS', 'WHILE', 'WINDOW', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XID', 'XML', 'YEAR_MONTH', 'ZEROFILL', 'ZONE']; | ||
/** | ||
@@ -120,12 +120,20 @@ * Priority 1 (first) | ||
value: function tokenOverride(token) { | ||
if ((0, _token.isToken)('LATERAL')(token)) { | ||
var _this$tokenLookAhead; | ||
var _this$tokenLookAhead, _this$tokenLookAhead2; | ||
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} | ||
// [LATERAL] ( ... | ||
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} // [SET] ( ... | ||
if (_token.isToken.SET(token) && ((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(') { | ||
// This is SET datatype, not SET statement | ||
return { | ||
type: _token.TokenType.RESERVED_KEYWORD, | ||
value: token.value | ||
}; | ||
} | ||
@@ -164,6 +172,9 @@ | ||
_defineProperty(MySqlFormatter, "specialWordChars", ['@']); | ||
_defineProperty(MySqlFormatter, "specialWordChars", { | ||
prefix: '@:' | ||
}); | ||
_defineProperty(MySqlFormatter, "operators", [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||', '->', '->>']); | ||
_defineProperty(MySqlFormatter, "operators", [':=', '<<', '>>', '<=>', '&&', '||', '->', '->>']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=MySqlFormatter.js.map |
@@ -141,4 +141,5 @@ "use strict"; | ||
_defineProperty(N1qlFormatter, "operators", ['==', '!=']); | ||
_defineProperty(N1qlFormatter, "operators", ['==']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=N1qlFormatter.js.map |
@@ -109,19 +109,28 @@ "use strict"; | ||
value: function tokenOverride(token) { | ||
if ((0, _token.isToken)('SET')(token) && (0, _token.isToken)('BY')(this.previousReservedToken)) { | ||
var _this$tokenLookAhead, _this$tokenLookBehind, _this$tokenLookAhead2; | ||
// `table`[.]`column` | ||
if (token.value === '.' && (_this$tokenLookAhead = this.tokenLookAhead()) !== null && _this$tokenLookAhead !== void 0 && _this$tokenLookAhead.value.startsWith('`') && (_this$tokenLookBehind = this.tokenLookBehind()) !== null && _this$tokenLookBehind !== void 0 && _this$tokenLookBehind.value.endsWith('`')) { | ||
// This is an operator, do not insert spaces | ||
return { | ||
type: _token.TokenType.OPERATOR, | ||
value: token.value | ||
}; | ||
} // BY [SET] | ||
if (_token.isToken.SET(token) && _token.isToken.BY(this.previousReservedToken)) { | ||
return { | ||
type: _token.TokenType.RESERVED_KEYWORD, | ||
value: token.value | ||
}; | ||
} | ||
} // [LATERAL] ( ... | ||
if ((0, _token.isToken)('LATERAL')(token)) { | ||
var _this$tokenLookAhead; | ||
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} | ||
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} | ||
@@ -160,6 +169,10 @@ | ||
_defineProperty(PlSqlFormatter, "specialWordChars", ['_', '$', '#', '.', '@']); | ||
_defineProperty(PlSqlFormatter, "specialWordChars", { | ||
any: '_$#.@' | ||
}); | ||
_defineProperty(PlSqlFormatter, "operators", ['||', '**', '!=', ':=']); | ||
_defineProperty(PlSqlFormatter, "operators", ['||', '**', ':=', '~=', '^=', '>>', '<<', '=>' // '..' // breaks operator test, handled by . | ||
]); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=PlSqlFormatter.js.map |
@@ -149,3 +149,4 @@ "use strict"; | ||
var reservedDependentClauses = ['ON', 'WHEN', 'THEN', 'ELSE', 'LATERAL']; // https://www.postgresql.org/docs/14/index.html | ||
var reservedDependentClauses = ['ON', 'WHEN', 'THEN', 'ELSE', 'LATERAL']; | ||
var binaryOperators = ['<<', '>>', '||/', '|/', '::', ':=', '->>', '->', '=>', '~~*', '~~', '!~~*', '!~~', '~*', '!~*', '!~', '!!', '||', '@-@', '@@', '##', '<->', '&&', '&<', '&>', '<<|', '&<|', '|>>', '|&>', '<^', '^>', '?#', '?-', '?|', '?-|', '?||', '@>', '<@', '~=', '>>=', '<<=', '@@@']; // https://www.postgresql.org/docs/14/index.html | ||
@@ -184,12 +185,11 @@ var PostgreSqlFormatter = /*#__PURE__*/function (_Formatter) { | ||
value: function tokenOverride(token) { | ||
if ((0, _token.isToken)('LATERAL')(token)) { | ||
var _this$tokenLookAhead; | ||
var _this$tokenLookAhead; | ||
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} | ||
// [LATERAL] ( ... | ||
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a subquery, treat it like a join | ||
return { | ||
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR, | ||
value: token.value | ||
}; | ||
} | ||
@@ -218,3 +218,3 @@ | ||
_defineProperty(PostgreSqlFormatter, "stringTypes", ["\"\"", "''", "U&''", 'U&""', '$$']); | ||
_defineProperty(PostgreSqlFormatter, "stringTypes", ["\"\"", "''", "U&''", 'U&""', '$$', '``']); | ||
@@ -231,4 +231,5 @@ _defineProperty(PostgreSqlFormatter, "blockStart", ['(', 'CASE']); | ||
_defineProperty(PostgreSqlFormatter, "operators", ['!=', '<<', '>>', '||/', '|/', '::', '->>', '->', '~~*', '~~', '!~~*', '!~~', '~*', '!~*', '!~', '!!']); | ||
_defineProperty(PostgreSqlFormatter, "operators", binaryOperators); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=PostgreSqlFormatter.js.map |
@@ -222,4 +222,5 @@ "use strict"; | ||
_defineProperty(RedshiftFormatter, "operators", ['|/', '||/', '<<', '>>', '!=', '||']); | ||
_defineProperty(RedshiftFormatter, "operators", ['|/', '||/', '<<', '>>', '||']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=RedshiftFormatter.js.map |
@@ -151,25 +151,20 @@ "use strict"; | ||
value: function tokenOverride(token) { | ||
// Fix cases where names are ambiguously keywords or functions | ||
if ((0, _token.isToken)('WINDOW')(token)) { | ||
var aheadToken = this.tokenLookAhead(); | ||
var _this$tokenLookAhead, _this$tokenLookBehind; | ||
if ((aheadToken === null || aheadToken === void 0 ? void 0 : aheadToken.type) === _token.TokenType.BLOCK_START) { | ||
// This is a function call, treat it as a reserved word | ||
return { | ||
type: _token.TokenType.RESERVED_KEYWORD, | ||
value: token.value | ||
}; | ||
} | ||
} | ||
// [WINDOW](...) | ||
if (_token.isToken.WINDOW(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) { | ||
// This is a function call, treat it as a reserved word | ||
return { | ||
type: _token.TokenType.RESERVED_KEYWORD, | ||
value: token.value | ||
}; | ||
} // .[END] | ||
if ((0, _token.isToken)('END')(token)) { | ||
var backToken = this.tokenLookBehind(); | ||
if ((backToken === null || backToken === void 0 ? void 0 : backToken.type) === _token.TokenType.OPERATOR && (backToken === null || backToken === void 0 ? void 0 : backToken.value) === '.') { | ||
// This is window().end (or similar) not CASE ... END | ||
return { | ||
type: _token.TokenType.WORD, | ||
value: token.value | ||
}; | ||
} | ||
if (_token.isToken.END(token) && ((_this$tokenLookBehind = this.tokenLookBehind()) === null || _this$tokenLookBehind === void 0 ? void 0 : _this$tokenLookBehind.value) === '.') { | ||
// This is window().end (or similar) not CASE ... END | ||
return { | ||
type: _token.TokenType.WORD, | ||
value: token.value | ||
}; | ||
} // TODO: deprecate this once ITEMS is merged with COLLECTION | ||
@@ -179,5 +174,5 @@ | ||
if (/ITEMS/i.test(token.value) && token.type === _token.TokenType.RESERVED_KEYWORD) { | ||
var _this$tokenLookBehind, _this$tokenLookAhead; | ||
var _this$tokenLookBehind2, _this$tokenLookAhead2; | ||
if (!(/COLLECTION/i.test((_this$tokenLookBehind = this.tokenLookBehind()) === null || _this$tokenLookBehind === void 0 ? void 0 : _this$tokenLookBehind.value) && /TERMINATED/i.test((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.value))) { | ||
if (!(/COLLECTION/i.test((_this$tokenLookBehind2 = this.tokenLookBehind()) === null || _this$tokenLookBehind2 === void 0 ? void 0 : _this$tokenLookBehind2.value) && /TERMINATED/i.test((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value))) { | ||
// this is a word and not COLLECTION ITEMS | ||
@@ -224,4 +219,5 @@ return { | ||
_defineProperty(SparkSqlFormatter, "operators", ['!=', '<=>', '&&', '||', '==']); | ||
_defineProperty(SparkSqlFormatter, "operators", ['<=>', '&&', '||', '==', '->']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=SparkSqlFormatter.js.map |
@@ -114,3 +114,3 @@ "use strict"; | ||
_defineProperty(StandardSqlFormatter, "stringTypes", ["\"\"", "''"]); | ||
_defineProperty(StandardSqlFormatter, "stringTypes", ["\"\"", "''", '``']); | ||
@@ -127,2 +127,3 @@ _defineProperty(StandardSqlFormatter, "blockStart", ['(', 'CASE']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=StandardSqlFormatter.js.map |
@@ -168,3 +168,3 @@ "use strict"; | ||
_defineProperty(TSqlFormatter, "stringTypes", ["\"\"", "N''", "''", '[]']); | ||
_defineProperty(TSqlFormatter, "stringTypes", ["\"\"", "N''", "''", '[]', '``']); | ||
@@ -181,6 +181,9 @@ _defineProperty(TSqlFormatter, "blockStart", ['(', 'CASE']); | ||
_defineProperty(TSqlFormatter, "specialWordChars", ['#', '@']); | ||
_defineProperty(TSqlFormatter, "specialWordChars", { | ||
any: '#@' | ||
}); | ||
_defineProperty(TSqlFormatter, "operators", ['>=', '<=', '<>', '!=', '!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::']); | ||
_defineProperty(TSqlFormatter, "operators", ['!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::']); | ||
module.exports = exports.default; | ||
module.exports = exports.default; | ||
//# sourceMappingURL=TSqlFormatter.js.map |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.format = exports.supportedDialects = exports.formatters = void 0; | ||
exports.supportedDialects = exports.formatters = exports.format = void 0; | ||
@@ -153,2 +153,3 @@ var _Db2Formatter = _interopRequireDefault(require("./languages/Db2Formatter")); | ||
exports.format = format; | ||
exports.format = format; | ||
//# sourceMappingURL=sqlFormatter.js.map |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.CommaPosition = exports.AliasMode = exports.NewlineMode = exports.KeywordMode = void 0; | ||
exports.NewlineMode = exports.KeywordMode = exports.CommaPosition = exports.AliasMode = void 0; | ||
var KeywordMode; | ||
@@ -44,2 +44,3 @@ exports.KeywordMode = KeywordMode; | ||
CommaPosition["tabular"] = "tabular"; | ||
})(CommaPosition || (exports.CommaPosition = CommaPosition = {})); | ||
})(CommaPosition || (exports.CommaPosition = CommaPosition = {})); | ||
//# sourceMappingURL=types.js.map |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.tabulateLines = exports.maxLength = exports.sortByLengthDesc = exports.escapeRegExp = exports.isEmpty = exports.last = exports.trimSpacesEnd = void 0; | ||
exports.trimSpacesEnd = exports.tabulateLines = exports.sortByLengthDesc = exports.maxLength = exports.last = exports.isEmpty = exports.escapeRegExp = void 0; | ||
@@ -68,2 +68,3 @@ // Only removes spaces, not newlines | ||
exports.tabulateLines = tabulateLines; | ||
exports.tabulateLines = tabulateLines; | ||
//# sourceMappingURL=utils.js.map |
{ | ||
"name": "prettier-sql", | ||
"version": "5.0.0-beta.1", | ||
"version": "5.0.0", | ||
"description": "Format whitespace in a SQL query to make it more readable", | ||
"license": "MIT", | ||
"main": "lib/sqlFormatter.js", | ||
"main": "lib/index.js", | ||
"module": "dist/prettier-sql.min.js", | ||
"types": "lib/index.d.ts", | ||
"bin": { | ||
"prettier-sql": "./bin/sqlfmt.js" | ||
"prettier-sql": "./bin/prettier-sql-cli.js" | ||
}, | ||
@@ -26,28 +28,3 @@ "keywords": [ | ||
"contributors": [ | ||
"Adrien Pyke <adpyke@gmail.com>", | ||
"Andrew", | ||
"Benjamin Bellamy", | ||
"bingou", | ||
"Damon Davison <ddavison@avalere.com>", | ||
"Davut Can Abacigil <can@teamsql.io>", | ||
"Erik Hirmo <erik.hirmo@roguewave.com>", | ||
"George Leslie-Waksman <waksman@gmail.com>", | ||
"Ian Campbell <icampbell@immuta.com>", | ||
"ivan baktsheev", | ||
"João Pimentel Ferreira", | ||
"Martin Nowak <code@dawg.eu>", | ||
"Matheus Salmi <mathsalmi@gmail.com>", | ||
"Matheus Teixeira <matheus.mtxr@gmail.com>", | ||
"Nicolas Dermine <nicolas.dermine@gmail.com>", | ||
"Offir Baron <ofir@panoply.io>", | ||
"Olexandr Sydorchuk <olexandr.syd@gmail.com>", | ||
"Rafael Pinto <raprp@posteo.de>", | ||
"Rahel Rjadnev-Meristo <rahelini@gmail.com>", | ||
"Rene Saarsoo <nene@triin.net>", | ||
"Rodrigo Stuchi", | ||
"Sasha Aliashkevich <olsender@gmail.com>", | ||
"Sean Song <mail@seansong.dev>", | ||
"Sergei Egorov <sergei.egorov@zeroturnaround.com>", | ||
"Tyler Jones <tyler.jones@txwormhole.com>", | ||
"Uku Pattak <ukupat@gmail.com>" | ||
"Sean Song <mail@seansong.dev>" | ||
], | ||
@@ -57,7 +34,6 @@ "files": [ | ||
"dist", | ||
"lib", | ||
"src" | ||
"lib" | ||
], | ||
"scripts": { | ||
"clean": "rimraf lib dist", | ||
"clean": "rimraf lib dist coverage", | ||
"lint": "eslint .", | ||
@@ -71,3 +47,3 @@ "pretty": "prettier --write .", | ||
"prepare": "npm run clean && npm run fix && npm run check && npm run build", | ||
"build:commonjs": "babel src --out-dir lib --extensions .ts", | ||
"build:commonjs": "babel src --out-dir lib --extensions .ts --source-maps && tsc --module commonjs --emitDeclarationOnly --isolatedModules", | ||
"build:umd": "webpack --config webpack.dev.js", | ||
@@ -115,6 +91,7 @@ "build:umd:min": "webpack --config webpack.prod.js", | ||
"rimraf": "^3.0.2", | ||
"ts-loader": "^9.2.6", | ||
"typescript": "^4.3.5", | ||
"webpack": "^4.43.0", | ||
"webpack-cli": "^3.3.12", | ||
"webpack-merge": "^5.0.8" | ||
"webpack": "^5.64.1", | ||
"webpack-cli": "^4.9.1", | ||
"webpack-merge": "^5.8.0" | ||
}, | ||
@@ -121,0 +98,0 @@ "jest": { |
@@ -1,7 +0,10 @@ | ||
# SQL Formatter [![NPM version](https://img.shields.io/npm/v/prettier-sql.svg)](https://npmjs.com/package/prettier-sql) ![Dev Build](https://github.com/github/docs/actions/workflows/webpack.yaml/badge.svg?event=push&branch=develop) ![Prod Build](https://github.com/github/docs/actions/workflows/webpack.yaml/badge.svg?event=push&branch=master) [![Coverage Status](https://coveralls.io/repos/github/inferrinizzard/prettier-sql/badge.svg?branch=master)](https://coveralls.io/github/inferrrinizzard/prettier-sql?branch=master) | ||
<img src="static/prettier-sql-clean.svg" width="128"/> | ||
**SQL Formatter** is a JavaScript library for pretty-printing SQL queries. | ||
# Prettier SQL [![NPM version](https://img.shields.io/npm/v/prettier-sql.svg)](https://npmjs.com/package/prettier-sql) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/inferrinizzard/prettier-sql/coveralls/develop?label=Dev%20Build&logo=Github) ![GitHub Workflow Status (event)](https://img.shields.io/github/workflow/status/inferrinizzard/prettier-sql/webpack/master?event=push&label=Prod%20Build&logo=Github) ![Coveralls](https://img.shields.io/coveralls/github/inferrinizzard/prettier-sql?branch=master&label=Coverage&logo=coveralls&style=plastic) | ||
## **Prettier SQL** is a JavaScript library for pretty-printing SQL queries. | ||
It started as a port of a [PHP Library][], but has since considerably diverged. | ||
SQL formatter supports the following dialects: | ||
Prettier SQL supports the following dialects: | ||
@@ -33,2 +36,3 @@ - **sql** - [Standard SQL][] | ||
- [Usage without NPM](#usage-without-npm) | ||
- [Usage with VSCode](#usage-with-vscode) | ||
- [Contributing](#contributing) | ||
@@ -44,2 +48,8 @@ | ||
Also available with yarn: | ||
```sh | ||
yarn add prettier-sql | ||
``` | ||
## Usage | ||
@@ -113,3 +123,3 @@ | ||
SQL Formatter | ||
Prettier SQL | ||
@@ -124,3 +134,3 @@ positional arguments: | ||
-l, --language {db2,mariadb,mysql,n1ql,plsql,postgresql,redshift,spark,sql,tsql} | ||
SQL Formatter dialect (defaults to basic sql) | ||
SQL dialect (defaults to standard sql) | ||
-c, --config CONFIG | ||
@@ -150,3 +160,3 @@ Path to config json file (will use default configs if unspecified) | ||
```json | ||
```ts | ||
{ | ||
@@ -158,3 +168,3 @@ "indent": string, | ||
"mode": "always" | "itemCount" | "lineWidth" | "hybrid" | "never", | ||
"itemCount":? number | ||
"itemCount"?: number // only used if newline.mode is itemCount or hybrid | ||
}, | ||
@@ -179,17 +189,16 @@ "breakBeforeBooleanOperator": boolean, | ||
If you don't use a module bundler, clone the repository, run `npm install` and grab a file from `/dist` directory to use inside a `<script>` tag. | ||
This makes SQL Formatter available as a global variable `window.sqlFormatter`. | ||
This makes Prettier SQL available as a global variable `window.prettierSql`. | ||
## Contributing | ||
### Usage with VSCode | ||
Make sure to run all checks: | ||
Prettier SQL is also available as a VSCode extension here: \ | ||
https://marketplace.visualstudio.com/items?itemName=inferrinizzard.prettier-sql-vscode | ||
```sh | ||
npm run check | ||
``` | ||
## Contributing | ||
...and you're ready to poke us with a pull request. | ||
Please see [CONTRIBUTING.md](CONTRIBUTING.md) | ||
## License | ||
[MIT](https://github.com/inferrinizzard/prettier-sql/blob/master/LICENSE) | ||
[MIT](LICENSE) | ||
@@ -196,0 +205,0 @@ [php library]: https://github.com/jdorn/sql-formatter |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
2002793
71
1
209
29
7734