rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
96 lines • 5.92 kB
JavaScript
export 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 = {}));
// Enum for container type, used for formatting and context
export 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["UpdateQuery"] = "UpdateQuery";
SqlPrintTokenContainerType["UpdateClause"] = "UpdateClause";
SqlPrintTokenContainerType["ReturningClause"] = "ReturningClause";
SqlPrintTokenContainerType["SetClauseItem"] = "SetClauseItem";
SqlPrintTokenContainerType["CreateTableQuery"] = "CreateTableQuery";
// Add more as needed
})(SqlPrintTokenContainerType || (SqlPrintTokenContainerType = {}));
export 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;
}
}
//# sourceMappingURL=SqlPrintToken.js.map