UNPKG

rawsql-ts

Version:

High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

143 lines 9.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SqlPrintToken = exports.SqlPrintTokenContainerType = exports.SqlPrintTokenType = void 0; var SqlPrintTokenType; (function (SqlPrintTokenType) { SqlPrintTokenType[SqlPrintTokenType["container"] = 0] = "container"; SqlPrintTokenType[SqlPrintTokenType["keyword"] = 1] = "keyword"; SqlPrintTokenType[SqlPrintTokenType["value"] = 2] = "value"; SqlPrintTokenType[SqlPrintTokenType["comma"] = 3] = "comma"; SqlPrintTokenType[SqlPrintTokenType["parenthesis"] = 4] = "parenthesis"; SqlPrintTokenType[SqlPrintTokenType["operator"] = 5] = "operator"; SqlPrintTokenType[SqlPrintTokenType["comment"] = 6] = "comment"; SqlPrintTokenType[SqlPrintTokenType["parameter"] = 7] = "parameter"; SqlPrintTokenType[SqlPrintTokenType["dot"] = 8] = "dot"; SqlPrintTokenType[SqlPrintTokenType["type"] = 9] = "type"; SqlPrintTokenType[SqlPrintTokenType["space"] = 10] = "space"; SqlPrintTokenType[SqlPrintTokenType["argumentSplitter"] = 11] = "argumentSplitter"; SqlPrintTokenType[SqlPrintTokenType["commentNewline"] = 12] = "commentNewline"; })(SqlPrintTokenType || (exports.SqlPrintTokenType = SqlPrintTokenType = {})); // Enum for container type, used for formatting and context var SqlPrintTokenContainerType; (function (SqlPrintTokenContainerType) { SqlPrintTokenContainerType["ColumnReference"] = "ColumnReference"; SqlPrintTokenContainerType["LiteralValue"] = "LiteralValue"; SqlPrintTokenContainerType["IdentifierString"] = "IdentifierString"; SqlPrintTokenContainerType["InlineQuery"] = "InlineQuery"; SqlPrintTokenContainerType["StringSpecifierExpression"] = "StringSpecifierExpression"; SqlPrintTokenContainerType["None"] = ""; SqlPrintTokenContainerType["ValueList"] = "ValueList"; SqlPrintTokenContainerType["OrderByItem"] = "OrderByItem"; SqlPrintTokenContainerType["FunctionCall"] = "FunctionCall"; SqlPrintTokenContainerType["UnaryExpression"] = "UnaryExpression"; SqlPrintTokenContainerType["BinaryExpression"] = "BinaryExpression"; SqlPrintTokenContainerType["SwitchCaseArgument"] = "SwitchCaseArgument"; SqlPrintTokenContainerType["ElseClause"] = "ElseClause"; SqlPrintTokenContainerType["CaseKeyValuePair"] = "CaseKeyValuePair"; SqlPrintTokenContainerType["CaseThenValue"] = "CaseThenValue"; SqlPrintTokenContainerType["CaseElseValue"] = "CaseElseValue"; SqlPrintTokenContainerType["ParenExpression"] = "ParenExpression"; SqlPrintTokenContainerType["CastExpression"] = "CastExpression"; SqlPrintTokenContainerType["CaseExpression"] = "CaseExpression"; SqlPrintTokenContainerType["ArrayExpression"] = "ArrayExpression"; SqlPrintTokenContainerType["BetweenExpression"] = "BetweenExpression"; SqlPrintTokenContainerType["TypeValue"] = "TypeValue"; SqlPrintTokenContainerType["TupleExpression"] = "TupleExpression"; SqlPrintTokenContainerType["WindowFrameExpression"] = "WindowFrameExpression"; SqlPrintTokenContainerType["SelectItem"] = "SelectItem"; SqlPrintTokenContainerType["SelectClause"] = "SelectClause"; SqlPrintTokenContainerType["DistinctOn"] = "DistinctOn"; SqlPrintTokenContainerType["SourceExpression"] = "SourceExpression"; SqlPrintTokenContainerType["FromClause"] = "FromClause"; SqlPrintTokenContainerType["JoinClause"] = "JoinClause"; SqlPrintTokenContainerType["JoinOnClause"] = "JoinOnClause"; SqlPrintTokenContainerType["JoinUsingClause"] = "JoinUsingClause"; SqlPrintTokenContainerType["FunctionSource"] = "FunctionSource"; SqlPrintTokenContainerType["SourceAliasExpression"] = "SourceAliasExpression"; SqlPrintTokenContainerType["RawString"] = "RawString"; SqlPrintTokenContainerType["QualifiedName"] = "QualifiedName"; SqlPrintTokenContainerType["WhereClause"] = "WhereClause"; SqlPrintTokenContainerType["SimpleSelectQuery"] = "SimpleSelectQuery"; SqlPrintTokenContainerType["OrderByClause"] = "OrderByClause"; SqlPrintTokenContainerType["GroupByClause"] = "GroupByClause"; SqlPrintTokenContainerType["HavingClause"] = "HavingClause"; SqlPrintTokenContainerType["SubQuerySource"] = "SubQuerySource"; SqlPrintTokenContainerType["PartitionByClause"] = "PartitionByClause"; SqlPrintTokenContainerType["WindowFrameClause"] = "WindowFrameClause"; SqlPrintTokenContainerType["LimitClause"] = "LimitClause"; SqlPrintTokenContainerType["OffsetClause"] = "OffsetClause"; SqlPrintTokenContainerType["ForClause"] = "ForClause"; SqlPrintTokenContainerType["WindowClause"] = "WindowClause"; SqlPrintTokenContainerType["BinarySelectQueryOperator"] = "BinarySelectQueryOperator"; SqlPrintTokenContainerType["Values"] = "Values"; SqlPrintTokenContainerType["ValuesQuery"] = "ValuesQuery"; SqlPrintTokenContainerType["WithClause"] = "WithClause"; SqlPrintTokenContainerType["CommonTable"] = "CommonTable"; SqlPrintTokenContainerType["WindowFrameSpec"] = "WindowFrameSpec"; SqlPrintTokenContainerType["WindowFrameBoundStatic"] = "WindowFrameBoundStatic"; SqlPrintTokenContainerType["WindowFrameBoundaryValue"] = "WindowFrameBoundaryValue"; SqlPrintTokenContainerType["FetchClause"] = "FetchClause"; SqlPrintTokenContainerType["FetchExpression"] = "FetchExpression"; SqlPrintTokenContainerType["InsertQuery"] = "InsertQuery"; SqlPrintTokenContainerType["InsertClause"] = "InsertClause"; SqlPrintTokenContainerType["UpdateQuery"] = "UpdateQuery"; SqlPrintTokenContainerType["UpdateClause"] = "UpdateClause"; SqlPrintTokenContainerType["DeleteQuery"] = "DeleteQuery"; SqlPrintTokenContainerType["DeleteClause"] = "DeleteClause"; SqlPrintTokenContainerType["UsingClause"] = "UsingClause"; SqlPrintTokenContainerType["ReturningClause"] = "ReturningClause"; SqlPrintTokenContainerType["SetClause"] = "SetClause"; SqlPrintTokenContainerType["SetClauseItem"] = "SetClauseItem"; SqlPrintTokenContainerType["CreateTableQuery"] = "CreateTableQuery"; SqlPrintTokenContainerType["CreateTableDefinition"] = "CreateTableDefinition"; SqlPrintTokenContainerType["TableColumnDefinition"] = "TableColumnDefinition"; SqlPrintTokenContainerType["ColumnConstraintDefinition"] = "ColumnConstraintDefinition"; SqlPrintTokenContainerType["TableConstraintDefinition"] = "TableConstraintDefinition"; SqlPrintTokenContainerType["ReferenceDefinition"] = "ReferenceDefinition"; SqlPrintTokenContainerType["CreateIndexStatement"] = "CreateIndexStatement"; SqlPrintTokenContainerType["IndexColumnList"] = "IndexColumnList"; SqlPrintTokenContainerType["IndexColumnDefinition"] = "IndexColumnDefinition"; SqlPrintTokenContainerType["CreateSequenceStatement"] = "CreateSequenceStatement"; SqlPrintTokenContainerType["AlterSequenceStatement"] = "AlterSequenceStatement"; SqlPrintTokenContainerType["SequenceOptionList"] = "SequenceOptionList"; SqlPrintTokenContainerType["SequenceOptionClause"] = "SequenceOptionClause"; SqlPrintTokenContainerType["DropTableStatement"] = "DropTableStatement"; SqlPrintTokenContainerType["DropIndexStatement"] = "DropIndexStatement"; SqlPrintTokenContainerType["AlterTableStatement"] = "AlterTableStatement"; SqlPrintTokenContainerType["AlterTableAddConstraint"] = "AlterTableAddConstraint"; SqlPrintTokenContainerType["AlterTableDropConstraint"] = "AlterTableDropConstraint"; SqlPrintTokenContainerType["AlterTableAddColumn"] = "AlterTableAddColumn"; SqlPrintTokenContainerType["AlterTableDropColumn"] = "AlterTableDropColumn"; SqlPrintTokenContainerType["AlterTableAlterColumnDefault"] = "AlterTableAlterColumnDefault"; SqlPrintTokenContainerType["DropConstraintStatement"] = "DropConstraintStatement"; SqlPrintTokenContainerType["ExplainStatement"] = "ExplainStatement"; SqlPrintTokenContainerType["ExplainOption"] = "ExplainOption"; SqlPrintTokenContainerType["AnalyzeStatement"] = "AnalyzeStatement"; SqlPrintTokenContainerType["MergeQuery"] = "MergeQuery"; SqlPrintTokenContainerType["MergeWhenClause"] = "MergeWhenClause"; SqlPrintTokenContainerType["MergeUpdateAction"] = "MergeUpdateAction"; SqlPrintTokenContainerType["MergeDeleteAction"] = "MergeDeleteAction"; SqlPrintTokenContainerType["MergeInsertAction"] = "MergeInsertAction"; SqlPrintTokenContainerType["MergeDoNothingAction"] = "MergeDoNothingAction"; SqlPrintTokenContainerType["CommentBlock"] = "CommentBlock"; // Add more as needed })(SqlPrintTokenContainerType || (exports.SqlPrintTokenContainerType = SqlPrintTokenContainerType = {})); class SqlPrintToken { constructor(type, text = '', containerType = SqlPrintTokenContainerType.None) { /** * Child tokens that belong to this container. */ this.innerTokens = []; this.type = type; this.text = text; this.containerType = containerType; } markAsHeaderComment() { if (this.containerType !== SqlPrintTokenContainerType.CommentBlock) { throw new Error('Header comment flag must only be applied to CommentBlock containers.'); } this.isHeaderComment = true; } } exports.SqlPrintToken = SqlPrintToken; //# sourceMappingURL=SqlPrintToken.js.map