initial commit - far from runnable

This commit is contained in:
Anika Raemer 2025-09-21 12:39:54 +02:00
commit db057ce342
8614 changed files with 1032171 additions and 0 deletions

View file

@ -0,0 +1,5 @@
import AbstractFormatter from './utils/abstract';
import { TokenizerConfig } from '../core/types';
export default class Db2Formatter extends AbstractFormatter {
getTokenizerConfig(): TokenizerConfig;
}

View file

@ -0,0 +1,585 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var abstract_1 = __importDefault(require("./utils/abstract"));
var Db2Formatter = (function (_super) {
__extends(Db2Formatter, _super);
function Db2Formatter() {
return _super !== null && _super.apply(this, arguments) || this;
}
Db2Formatter.prototype.getTokenizerConfig = function () {
return {
reservedWords: reservedWords,
reservedTopLevelWords: reservedTopLevelWords,
reservedNewlineWords: reservedNewlineWords,
reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,
stringTypes: ["\"\"", "''", '``', '[]'],
openParens: ['('],
closeParens: [')'],
indexedPlaceholderTypes: ['?'],
namedPlaceholderTypes: [':'],
lineCommentTypes: ['--'],
specialWordChars: ['#', '@']
};
};
return Db2Formatter;
}(abstract_1["default"]));
exports["default"] = Db2Formatter;
var 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'
];
var 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'
];
var reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];
var reservedNewlineWords = [
'AND',
'CROSS JOIN',
'INNER JOIN',
'JOIN',
'LEFT JOIN',
'LEFT OUTER JOIN',
'OR',
'OUTER JOIN',
'RIGHT JOIN',
'RIGHT OUTER JOIN'
];

View file

@ -0,0 +1,5 @@
import AbstractFormatter from './utils/abstract';
import { TokenizerConfig } from '../core/types';
export default class N1qlFormatter extends AbstractFormatter {
getTokenizerConfig(): TokenizerConfig;
}

View file

@ -0,0 +1,257 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var abstract_1 = __importDefault(require("./utils/abstract"));
var N1qlFormatter = (function (_super) {
__extends(N1qlFormatter, _super);
function N1qlFormatter() {
return _super !== null && _super.apply(this, arguments) || this;
}
N1qlFormatter.prototype.getTokenizerConfig = function () {
return {
reservedWords: reservedWords,
reservedTopLevelWords: reservedTopLevelWords,
reservedNewlineWords: reservedNewlineWords,
reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,
stringTypes: ["\"\"", "''", '``'],
openParens: ['(', '[', '{'],
closeParens: [')', ']', '}'],
namedPlaceholderTypes: ['$'],
lineCommentTypes: ['#', '--'],
specialWordChars: []
};
};
return N1qlFormatter;
}(abstract_1["default"]));
exports["default"] = N1qlFormatter;
var 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'
];
var 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'
];
var reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];
var reservedNewlineWords = [
'AND',
'INNER JOIN',
'JOIN',
'LEFT JOIN',
'LEFT OUTER JOIN',
'OR',
'OUTER JOIN',
'RIGHT JOIN',
'RIGHT OUTER JOIN',
'XOR'
];

View file

@ -0,0 +1,6 @@
import AbstractFormatter from './utils/abstract';
import { Token, TokenizerConfig } from '../core/types';
export default class PlSqlFormatter extends AbstractFormatter {
getTokenizerConfig(): TokenizerConfig;
tokenOverride: (token: Token, previousReservedToken: Token) => Token;
}

View file

@ -0,0 +1,459 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var abstract_1 = __importDefault(require("./utils/abstract"));
var types_1 = require("../core/types");
var PlSqlFormatter = (function (_super) {
__extends(PlSqlFormatter, _super);
function PlSqlFormatter() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.tokenOverride = function (token, previousReservedToken) {
if (token.type === types_1.TokenTypes.RESERVED_TOP_LEVEL &&
previousReservedToken.value &&
token.value.toUpperCase() === 'SET' &&
previousReservedToken.value.toUpperCase() === 'BY') {
token.type = types_1.TokenTypes.RESERVED;
return token;
}
};
return _this;
}
PlSqlFormatter.prototype.getTokenizerConfig = function () {
return {
reservedWords: reservedWords,
reservedTopLevelWords: reservedTopLevelWords,
reservedNewlineWords: reservedNewlineWords,
reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,
stringTypes: ["\"\"", "N''", "''", '``'],
openParens: ['(', 'CASE'],
closeParens: [')', 'END'],
indexedPlaceholderTypes: ['?'],
namedPlaceholderTypes: [':'],
lineCommentTypes: ['--'],
specialWordChars: ['_', '$', '#', '.', '@']
};
};
return PlSqlFormatter;
}(abstract_1["default"]));
exports["default"] = PlSqlFormatter;
var 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'
];
var 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'
];
var reservedTopLevelWordsNoIndent = ['INTERSECT', 'INTERSECT ALL', 'MINUS', 'UNION', 'UNION ALL'];
var reservedNewlineWords = [
'AND',
'CROSS APPLY',
'CROSS JOIN',
'ELSE',
'END',
'INNER JOIN',
'JOIN',
'LEFT JOIN',
'LEFT OUTER JOIN',
'OR',
'OUTER APPLY',
'OUTER JOIN',
'RIGHT JOIN',
'RIGHT OUTER JOIN',
'WHEN',
'XOR'
];

View file

@ -0,0 +1,5 @@
import AbstractFormatter from './utils/abstract';
import { TokenizerConfig } from '../core/types';
export default class StandardSqlFormatter extends AbstractFormatter {
getTokenizerConfig(): TokenizerConfig;
}

View file

@ -0,0 +1,369 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var abstract_1 = __importDefault(require("./utils/abstract"));
var StandardSqlFormatter = (function (_super) {
__extends(StandardSqlFormatter, _super);
function StandardSqlFormatter() {
return _super !== null && _super.apply(this, arguments) || this;
}
StandardSqlFormatter.prototype.getTokenizerConfig = function () {
return {
reservedWords: reservedWords,
reservedTopLevelWords: reservedTopLevelWords,
reservedNewlineWords: reservedNewlineWords,
reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,
stringTypes: ["\"\"", "N''", "''", '``', '[]', "E''"],
openParens: ['(', 'CASE'],
closeParens: [')', 'END'],
indexedPlaceholderTypes: ['?'],
namedPlaceholderTypes: ['@', ':', '%', '$'],
lineCommentTypes: ['#', '--'],
specialWordChars: []
};
};
return StandardSqlFormatter;
}(abstract_1["default"]));
exports["default"] = StandardSqlFormatter;
var reservedWords = [
'ACCESSIBLE',
'ACTION',
'AGAINST',
'AGGREGATE',
'ALGORITHM',
'ALL',
'ALTER',
'ANALYSE',
'ANALYZE',
'AS',
'ASC',
'AUTOCOMMIT',
'AUTO_INCREMENT',
'BACKUP',
'BEGIN',
'BETWEEN',
'BINLOG',
'BOTH',
'CASCADE',
'CASE',
'CHANGE',
'CHANGED',
'CHARACTER SET',
'CHARSET',
'CHECK',
'CHECKSUM',
'COLLATE',
'COLLATION',
'COLUMN',
'COLUMNS',
'COMMENT',
'COMMIT',
'COMMITTED',
'COMPRESSED',
'CONCURRENT',
'CONSTRAINT',
'CONTAINS',
'CONVERT',
'COUNT',
'CREATE',
'CROSS',
'CURRENT_TIMESTAMP',
'DATABASE',
'DATABASES',
'DAY_HOUR',
'DAY_MINUTE',
'DAY_SECOND',
'DAY',
'DEFAULT',
'DEFINER',
'DELAYED',
'DELETE',
'DESC',
'DESCRIBE',
'DETERMINISTIC',
'DISTINCT',
'DISTINCTROW',
'DIV',
'DO',
'DROP',
'DUMPFILE',
'DUPLICATE',
'DYNAMIC',
'ELSE',
'ENCLOSED',
'END',
'ENGINE',
'ENGINES',
'ENGINE_TYPE',
'ESCAPE',
'ESCAPED',
'EVENTS',
'EXEC',
'EXECUTE',
'EXISTS',
'EXPLAIN',
'EXTENDED',
'FAST',
'FETCH',
'FIELDS',
'FILE',
'FIRST',
'FIXED',
'FLUSH',
'FOR',
'FORCE',
'FOREIGN',
'FULL',
'FULLTEXT',
'FUNCTION',
'GLOBAL',
'GRANTS',
'GROUP_CONCAT',
'HEAP',
'HIGH_PRIORITY',
'HOSTS',
'HOUR',
'HOUR_MINUTE',
'HOUR_SECOND',
'IDENTIFIED',
'IF',
'IFNULL',
'IGNORE',
'IN',
'INDEX',
'INDEXES',
'INFILE',
'INSERT',
'INSERT_ID',
'INSERT_METHOD',
'INTERVAL',
'INTO',
'INVOKER',
'IS',
'ISOLATION',
'KEY',
'KEYS',
'KILL',
'LAST_INSERT_ID',
'LEADING',
'LEVEL',
'LIKE',
'LINEAR',
'LINES',
'LOAD',
'LOCAL',
'LOCK',
'LOCKS',
'LOGS',
'LOW_PRIORITY',
'MARIA',
'MASTER',
'MASTER_CONNECT_RETRY',
'MASTER_HOST',
'MASTER_LOG_FILE',
'MATCH',
'MAX_CONNECTIONS_PER_HOUR',
'MAX_QUERIES_PER_HOUR',
'MAX_ROWS',
'MAX_UPDATES_PER_HOUR',
'MAX_USER_CONNECTIONS',
'MEDIUM',
'MERGE',
'MINUTE',
'MINUTE_SECOND',
'MIN_ROWS',
'MODE',
'MONTH',
'MRG_MYISAM',
'MYISAM',
'NAMES',
'NATURAL',
'NOT',
'NOW()',
'NULL',
'OFFSET',
'ON DELETE',
'ON UPDATE',
'ON',
'ONLY',
'OPEN',
'OPTIMIZE',
'OPTION',
'OPTIONALLY',
'OUTFILE',
'PACK_KEYS',
'PAGE',
'PARTIAL',
'PARTITION',
'PARTITIONS',
'PASSWORD',
'PRIMARY',
'PRIVILEGES',
'PROCEDURE',
'PROCESS',
'PROCESSLIST',
'PURGE',
'QUICK',
'RAID0',
'RAID_CHUNKS',
'RAID_CHUNKSIZE',
'RAID_TYPE',
'RANGE',
'READ',
'READ_ONLY',
'READ_WRITE',
'REFERENCES',
'REGEXP',
'RELOAD',
'RENAME',
'REPAIR',
'REPEATABLE',
'REPLACE',
'REPLICATION',
'RESET',
'RESTORE',
'RESTRICT',
'RETURN',
'RETURNS',
'REVOKE',
'RLIKE',
'ROLLBACK',
'ROW',
'ROWS',
'ROW_FORMAT',
'SECOND',
'SECURITY',
'SEPARATOR',
'SERIALIZABLE',
'SESSION',
'SHARE',
'SHOW',
'SHUTDOWN',
'SLAVE',
'SONAME',
'SOUNDS',
'SQL',
'SQL_AUTO_IS_NULL',
'SQL_BIG_RESULT',
'SQL_BIG_SELECTS',
'SQL_BIG_TABLES',
'SQL_BUFFER_RESULT',
'SQL_CACHE',
'SQL_CALC_FOUND_ROWS',
'SQL_LOG_BIN',
'SQL_LOG_OFF',
'SQL_LOG_UPDATE',
'SQL_LOW_PRIORITY_UPDATES',
'SQL_MAX_JOIN_SIZE',
'SQL_NO_CACHE',
'SQL_QUOTE_SHOW_CREATE',
'SQL_SAFE_UPDATES',
'SQL_SELECT_LIMIT',
'SQL_SLAVE_SKIP_COUNTER',
'SQL_SMALL_RESULT',
'SQL_WARNINGS',
'START',
'STARTING',
'STATUS',
'STOP',
'STORAGE',
'STRAIGHT_JOIN',
'STRING',
'STRIPED',
'SUPER',
'TABLE',
'TABLES',
'TEMPORARY',
'TERMINATED',
'THEN',
'TO',
'TRAILING',
'TRANSACTIONAL',
'TRIGGER',
'TRUE',
'TRUNCATE',
'TYPE',
'TYPES',
'UNCOMMITTED',
'UNIQUE',
'UNLOCK',
'UNSIGNED',
'USAGE',
'USE',
'USING',
'VARIABLES',
'VIEW',
'WHEN',
'WITH',
'WORK',
'WRITE',
'YEAR_MONTH',
];
var reservedTopLevelWords = [
'ADD',
'AFTER',
'ALTER COLUMN',
'ALTER TABLE',
'CREATE OR REPLACE',
'DECLARE',
'DELETE FROM',
'EXCEPT',
'FETCH FIRST',
'FROM',
'GO',
'GRANT',
'GROUP BY',
'HAVING',
'INSERT INTO',
'INSERT',
'LIMIT',
'MODIFY',
'ORDER BY',
'RETURNING',
'SELECT',
'SET CURRENT SCHEMA',
'SET SCHEMA',
'SET',
'UPDATE',
'VALUES',
'WHERE',
];
var reservedTopLevelWordsNoIndent = ['INTERSECT ALL', 'INTERSECT', 'MINUS', 'UNION ALL', 'UNION'];
var reservedNewlineWords = [
'AND',
'CROSS APPLY',
'CROSS JOIN',
'ELSE',
'INNER JOIN',
"FULL JOIN",
"FULL OUTER JOIN",
'LEFT JOIN',
'LEFT OUTER JOIN',
'NATURAL JOIN',
'OR',
'OUTER APPLY',
'OUTER JOIN',
'RENAME',
'RIGHT JOIN',
'RIGHT OUTER JOIN',
'JOIN',
'WHEN',
'XOR',
];

View file

@ -0,0 +1,11 @@
import { Config, Token, TokenizerConfig } from '../../core/types';
import Tokenizer from '../../core/Tokenizer';
export default abstract class AbstractFormatter {
cfg: Config;
constructor(cfg: Config);
abstract getTokenizerConfig(): TokenizerConfig;
format(query: string): string;
tokenize(query: string): Token[];
tokenizer(): Tokenizer;
protected tokenOverride?: (token: Token, previousToken?: Token) => Token;
}

View file

@ -0,0 +1,23 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var Tokenizer_1 = __importDefault(require("../../core/Tokenizer"));
var Formatter_1 = __importDefault(require("../../core/Formatter"));
var AbstractFormatter = (function () {
function AbstractFormatter(cfg) {
this.cfg = cfg;
}
AbstractFormatter.prototype.format = function (query) {
return new Formatter_1["default"](this.cfg, this.tokenizer(), this.tokenOverride).format(query);
};
AbstractFormatter.prototype.tokenize = function (query) {
return this.tokenizer().tokenize(query);
};
AbstractFormatter.prototype.tokenizer = function () {
return new Tokenizer_1["default"](this.getTokenizerConfig());
};
return AbstractFormatter;
}());
exports["default"] = AbstractFormatter;