rawsql-ts 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +179 -206
- package/dist/index.d.ts +13 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/models/BinarySelectQuery.d.ts +91 -0
- package/dist/models/BinarySelectQuery.js +141 -0
- package/dist/models/BinarySelectQuery.js.map +1 -0
- package/dist/models/Clause.d.ts +189 -0
- package/dist/models/Clause.js +318 -0
- package/dist/models/Clause.js.map +1 -0
- package/dist/models/KeywordTrie.d.ts +11 -0
- package/dist/models/KeywordTrie.js +52 -0
- package/dist/models/KeywordTrie.js.map +1 -0
- package/dist/models/Lexeme.d.ts +25 -0
- package/dist/models/Lexeme.js +21 -0
- package/dist/models/Lexeme.js.map +1 -0
- package/dist/models/SelectQuery.d.ts +5 -0
- package/dist/models/SelectQuery.js +10 -0
- package/dist/models/SelectQuery.js.map +1 -0
- package/dist/models/SimpleSelectQuery.d.ts +167 -0
- package/dist/models/SimpleSelectQuery.js +292 -0
- package/dist/models/SimpleSelectQuery.js.map +1 -0
- package/dist/models/SqlComponent.d.ts +18 -0
- package/dist/models/SqlComponent.js +27 -0
- package/dist/models/SqlComponent.js.map +1 -0
- package/dist/models/ValueComponent.d.ts +158 -0
- package/dist/models/ValueComponent.js +250 -0
- package/dist/models/ValueComponent.js.map +1 -0
- package/dist/models/ValuesQuery.d.ts +10 -0
- package/dist/models/ValuesQuery.js +16 -0
- package/dist/models/ValuesQuery.js.map +1 -0
- package/dist/parsers/CommandExpressionParser.d.ts +15 -0
- package/dist/parsers/CommandExpressionParser.js +124 -0
- package/dist/parsers/CommandExpressionParser.js.map +1 -0
- package/dist/parsers/CommonTableParser.d.ts +9 -0
- package/dist/parsers/CommonTableParser.js +62 -0
- package/dist/parsers/CommonTableParser.js.map +1 -0
- package/dist/parsers/ForClauseParser.d.ts +9 -0
- package/dist/parsers/ForClauseParser.js +58 -0
- package/dist/parsers/ForClauseParser.js.map +1 -0
- package/dist/parsers/FromClauseParser.d.ts +9 -0
- package/dist/parsers/FromClauseParser.js +47 -0
- package/dist/parsers/FromClauseParser.js.map +1 -0
- package/dist/parsers/FunctionExpressionParser.d.ts +22 -0
- package/dist/parsers/FunctionExpressionParser.js +178 -0
- package/dist/parsers/FunctionExpressionParser.js.map +1 -0
- package/dist/parsers/GroupByParser.d.ts +10 -0
- package/dist/parsers/GroupByParser.js +58 -0
- package/dist/parsers/GroupByParser.js.map +1 -0
- package/dist/parsers/HavingParser.d.ts +9 -0
- package/dist/parsers/HavingParser.js +36 -0
- package/dist/parsers/HavingParser.js.map +1 -0
- package/dist/parsers/IdentifierParser.d.ts +8 -0
- package/dist/parsers/IdentifierParser.js +39 -0
- package/dist/parsers/IdentifierParser.js.map +1 -0
- package/dist/parsers/JoinClauseParser.d.ts +14 -0
- package/dist/parsers/JoinClauseParser.js +105 -0
- package/dist/parsers/JoinClauseParser.js.map +1 -0
- package/dist/parsers/KeywordParser.d.ts +17 -0
- package/dist/parsers/KeywordParser.js +91 -0
- package/dist/parsers/KeywordParser.js.map +1 -0
- package/dist/parsers/LimitClauseParser.d.ts +9 -0
- package/dist/parsers/LimitClauseParser.js +50 -0
- package/dist/parsers/LimitClauseParser.js.map +1 -0
- package/dist/parsers/LiteralParser.d.ts +8 -0
- package/dist/parsers/LiteralParser.js +38 -0
- package/dist/parsers/LiteralParser.js.map +1 -0
- package/dist/parsers/OrderByClauseParser.d.ts +10 -0
- package/dist/parsers/OrderByClauseParser.js +77 -0
- package/dist/parsers/OrderByClauseParser.js.map +1 -0
- package/dist/parsers/OverExpressionParser.d.ts +9 -0
- package/dist/parsers/OverExpressionParser.js +44 -0
- package/dist/parsers/OverExpressionParser.js.map +1 -0
- package/dist/parsers/ParameterExpressionParser.d.ts +8 -0
- package/dist/parsers/ParameterExpressionParser.js +15 -0
- package/dist/parsers/ParameterExpressionParser.js.map +1 -0
- package/dist/parsers/ParenExpressionParser.d.ts +8 -0
- package/dist/parsers/ParenExpressionParser.js +33 -0
- package/dist/parsers/ParenExpressionParser.js.map +1 -0
- package/dist/parsers/PartitionByParser.d.ts +9 -0
- package/dist/parsers/PartitionByParser.js +53 -0
- package/dist/parsers/PartitionByParser.js.map +1 -0
- package/dist/parsers/SelectClauseParser.d.ts +10 -0
- package/dist/parsers/SelectClauseParser.js +84 -0
- package/dist/parsers/SelectClauseParser.js.map +1 -0
- package/dist/parsers/SelectQueryParser.d.ts +13 -0
- package/dist/parsers/SelectQueryParser.js +153 -0
- package/dist/parsers/SelectQueryParser.js.map +1 -0
- package/dist/parsers/SourceAliasExpressionParser.d.ts +8 -0
- package/dist/parsers/SourceAliasExpressionParser.js +49 -0
- package/dist/parsers/SourceAliasExpressionParser.js.map +1 -0
- package/dist/parsers/SourceExpressionParser.d.ts +8 -0
- package/dist/parsers/SourceExpressionParser.js +35 -0
- package/dist/parsers/SourceExpressionParser.js.map +1 -0
- package/dist/parsers/SourceParser.d.ts +13 -0
- package/dist/parsers/SourceParser.js +119 -0
- package/dist/parsers/SourceParser.js.map +1 -0
- package/dist/parsers/SqlTokenizer.d.ts +64 -0
- package/dist/parsers/SqlTokenizer.js +174 -0
- package/dist/parsers/SqlTokenizer.js.map +1 -0
- package/dist/parsers/StringSpecifierExpressionParser.d.ts +8 -0
- package/dist/parsers/StringSpecifierExpressionParser.js +22 -0
- package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -0
- package/dist/parsers/UnaryExpressionParser.d.ts +8 -0
- package/dist/parsers/UnaryExpressionParser.js +30 -0
- package/dist/parsers/UnaryExpressionParser.js.map +1 -0
- package/dist/parsers/ValueParser.d.ts +14 -0
- package/dist/parsers/ValueParser.js +136 -0
- package/dist/parsers/ValueParser.js.map +1 -0
- package/dist/parsers/ValuesQueryParser.d.ts +10 -0
- package/dist/parsers/ValuesQueryParser.js +86 -0
- package/dist/parsers/ValuesQueryParser.js.map +1 -0
- package/dist/parsers/WhereClauseParser.d.ts +9 -0
- package/dist/parsers/WhereClauseParser.js +36 -0
- package/dist/parsers/WhereClauseParser.js.map +1 -0
- package/dist/parsers/WindowClauseParser.d.ts +9 -0
- package/dist/parsers/WindowClauseParser.js +45 -0
- package/dist/parsers/WindowClauseParser.js.map +1 -0
- package/dist/parsers/WindowExpressionParser.d.ts +12 -0
- package/dist/parsers/WindowExpressionParser.js +163 -0
- package/dist/parsers/WindowExpressionParser.js.map +1 -0
- package/dist/parsers/WithClauseParser.d.ts +9 -0
- package/dist/parsers/WithClauseParser.js +57 -0
- package/dist/parsers/WithClauseParser.js.map +1 -0
- package/dist/tokenReaders/BaseTokenReader.d.ts +43 -0
- package/{.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/A32D1DB906C73FA74EF270AAEE165FC0 → dist/tokenReaders/BaseTokenReader.js} +30 -34
- package/dist/tokenReaders/BaseTokenReader.js.map +1 -0
- package/dist/tokenReaders/CommandTokenReader.d.ts +7 -0
- package/dist/tokenReaders/CommandTokenReader.js +145 -0
- package/dist/tokenReaders/CommandTokenReader.js.map +1 -0
- package/dist/tokenReaders/FunctionTokenReader.d.ts +11 -0
- package/dist/tokenReaders/FunctionTokenReader.js +45 -0
- package/dist/tokenReaders/FunctionTokenReader.js.map +1 -0
- package/dist/tokenReaders/IdentifierTokenReader.d.ts +15 -0
- package/dist/tokenReaders/IdentifierTokenReader.js +70 -0
- package/dist/tokenReaders/IdentifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/LiteralTokenReader.d.ts +23 -0
- package/dist/tokenReaders/LiteralTokenReader.js +189 -0
- package/dist/tokenReaders/LiteralTokenReader.js.map +1 -0
- package/dist/tokenReaders/OperatorTokenReader.d.ts +5 -0
- package/dist/tokenReaders/OperatorTokenReader.js +98 -0
- package/dist/tokenReaders/OperatorTokenReader.js.map +1 -0
- package/dist/tokenReaders/ParameterTokenReader.d.ts +11 -0
- package/dist/tokenReaders/ParameterTokenReader.js +44 -0
- package/dist/tokenReaders/ParameterTokenReader.js.map +1 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.d.ts +8 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.js +31 -0
- package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
- package/dist/tokenReaders/SymbolTokenReader.d.ts +12 -0
- package/dist/tokenReaders/SymbolTokenReader.js +35 -0
- package/dist/tokenReaders/SymbolTokenReader.js.map +1 -0
- package/dist/tokenReaders/TokenReaderManager.d.ts +53 -0
- package/dist/tokenReaders/TokenReaderManager.js +110 -0
- package/dist/tokenReaders/TokenReaderManager.js.map +1 -0
- package/dist/tokenReaders/TypeTokenReader.d.ts +11 -0
- package/dist/tokenReaders/TypeTokenReader.js +59 -0
- package/dist/tokenReaders/TypeTokenReader.js.map +1 -0
- package/dist/transformers/CTEBuilder.d.ts +52 -0
- package/dist/transformers/CTEBuilder.js +188 -0
- package/dist/transformers/CTEBuilder.js.map +1 -0
- package/dist/transformers/CTECollector.d.ts +81 -0
- package/dist/transformers/CTECollector.js +384 -0
- package/dist/transformers/CTECollector.js.map +1 -0
- package/dist/transformers/CTEDisabler.d.ts +77 -0
- package/dist/transformers/CTEDisabler.js +325 -0
- package/dist/transformers/CTEDisabler.js.map +1 -0
- package/dist/transformers/CTEInjector.d.ts +40 -0
- package/dist/transformers/CTEInjector.js +83 -0
- package/dist/transformers/CTEInjector.js.map +1 -0
- package/dist/transformers/CTENormalizer.d.ts +25 -0
- package/dist/transformers/CTENormalizer.js +46 -0
- package/dist/transformers/CTENormalizer.js.map +1 -0
- package/dist/transformers/Formatter.d.ts +82 -0
- package/dist/transformers/Formatter.js +467 -0
- package/dist/transformers/Formatter.js.map +1 -0
- package/dist/transformers/QueryConverter.d.ts +41 -0
- package/dist/transformers/QueryConverter.js +119 -0
- package/dist/transformers/QueryConverter.js.map +1 -0
- package/dist/transformers/SelectValueCollector.d.ts +62 -0
- package/dist/transformers/SelectValueCollector.js +249 -0
- package/dist/transformers/SelectValueCollector.js.map +1 -0
- package/dist/transformers/SelectableColumnCollector.d.ts +70 -0
- package/dist/transformers/SelectableColumnCollector.js +308 -0
- package/dist/transformers/SelectableColumnCollector.js.map +1 -0
- package/dist/transformers/TableSourceCollector.d.ts +92 -0
- package/dist/transformers/TableSourceCollector.js +384 -0
- package/dist/transformers/TableSourceCollector.js.map +1 -0
- package/dist/transformers/UpstreamSelectQueryFinder.d.ts +27 -0
- package/dist/transformers/UpstreamSelectQueryFinder.js +129 -0
- package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -0
- package/dist/utils/charLookupTable.d.ts +11 -0
- package/dist/utils/charLookupTable.js +73 -0
- package/dist/utils/charLookupTable.js.map +1 -0
- package/dist/utils/stringUtils.d.ts +43 -0
- package/dist/utils/stringUtils.js +168 -0
- package/dist/utils/stringUtils.js.map +1 -0
- package/package.json +13 -7
- package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/904140CF7EDF0C98AEA45F0D36062FE1 +0 -1
- package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/E621434FB1D5415B14FBBCC11967E420 +0 -34
- package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/EF71788BE39818EEA3F0164DC15E1BD7 +0 -170
- package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/state.mpack +0 -1
- package/.vs/CopilotSnapshots/07B1013C385C5641A5F5100E0751210B/0C73C015B2C859419AFBD08BE1343FC0/BA5D2B145A59265D63FA3B3584344B02 +0 -236
- package/.vs/CopilotSnapshots/07B1013C385C5641A5F5100E0751210B/state.mpack +0 -1
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/1F95FD72006ED6E92629CEFD7B2C4FEC +0 -1
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/4CA7B9D3BC2D0A498DC0777EDA3F9B0F +0 -1
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/7B623BFBAEB4EB61A9585F0BC8039B06 +0 -19
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/1F95FD72006ED6E92629CEFD7B2C4FEC +0 -5
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/4CA7B9D3BC2D0A498DC0777EDA3F9B0F +0 -3
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/7B623BFBAEB4EB61A9585F0BC8039B06 +0 -21
- package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/state.mpack +0 -1
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/41035D2B1D57326B55F66372017E223A +0 -1
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/45EABF6EF6BDFAA58C941A29E98C9C83 +0 -113
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/748E0B8859CA1A5FDCA675C9E53B6D1C +0 -1
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/A250FF4AD59546A65FFDC6AA92A4698E +0 -1
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/C42432BC73D8AA122171FAB6EEB13CBC +0 -19
- package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/state.mpack +0 -1
- package/.vs/CopilotSnapshots/13B40109875D434BB24880356492BE7E/828B96E81CC7014B887AA519767FACC3/437DAEC1EBBAF4F25ABA1B6A25EB6933 +0 -25
- package/.vs/CopilotSnapshots/13B40109875D434BB24880356492BE7E/state.mpack +0 -1
- package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/904140CF7EDF0C98AEA45F0D36062FE1 +0 -63
- package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/DFF70C60F68ECD9A4E4C3C74E4CC4DEE +0 -1
- package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/EF71788BE39818EEA3F0164DC15E1BD7 +0 -170
- package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/state.mpack +0 -1
- package/.vs/CopilotSnapshots/3BACC9346120824DB30006E353477163/87C831E9EA1AA249A25A44D08CF8E0B5/EF71788BE39818EEA3F0164DC15E1BD7 +0 -328
- package/.vs/CopilotSnapshots/3BACC9346120824DB30006E353477163/state.mpack +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/23E7151F0483C5BB5E663F83D4962FD4 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/2D4DCEBC89D52B097AEEEABA23C0EB59 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/7C951A8A572EA5C371FDE657AF968B9C +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/A32D1DB906C73FA74EF270AAEE165FC0 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/B692C85119711C76235AA5D78F9F3818 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/E602628EF6D764C2C267810C92906DBA +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/E621434FB1D5415B14FBBCC11967E420 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/23E7151F0483C5BB5E663F83D4962FD4 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/2D4DCEBC89D52B097AEEEABA23C0EB59 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/7C951A8A572EA5C371FDE657AF968B9C +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/A32D1DB906C73FA74EF270AAEE165FC0 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/B692C85119711C76235AA5D78F9F3818 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/E602628EF6D764C2C267810C92906DBA +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/E621434FB1D5415B14FBBCC11967E420 +0 -1
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/EF71788BE39818EEA3F0164DC15E1BD7 +0 -489
- package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/state.mpack +0 -1
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/0E5F1D40C0CAE848B8F9457F29A1F3FF/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -42
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/462A64EF41A4BF42A18708B83E02FD6F/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -40
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/90C95C12B91FA142BEF509B6FA329DE5/A3B20E10A19C7CA170132274D2F9312B +0 -9
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/90C95C12B91FA142BEF509B6FA329DE5/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -1
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/AD7513C9BBFE904AAB7F940397B95A99/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -42
- package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/state.mpack +0 -1
- package/.vs/CopilotSnapshots/50E0417FAD2E524D887CB5763C2FB7B4/63A4C250D9DCE04B9F61D8833B89B5BF/EF71788BE39818EEA3F0164DC15E1BD7 +0 -174
- package/.vs/CopilotSnapshots/50E0417FAD2E524D887CB5763C2FB7B4/state.mpack +0 -1
- package/.vs/CopilotSnapshots/5EF2507B002AC14EA991043C37C36551/60FF68DE489DAD4FBCBBB54AA3F6A552/EF71788BE39818EEA3F0164DC15E1BD7 +0 -496
- package/.vs/CopilotSnapshots/5EF2507B002AC14EA991043C37C36551/state.mpack +0 -1
- package/.vs/CopilotSnapshots/6AA7610F1FB2B746821E54C28A8D109B/7FB78C0F8CB04F4AA6AF3315277B80F8/FB35DD13E708043D4CD8ACD54E14708F +0 -1
- package/.vs/CopilotSnapshots/6AA7610F1FB2B746821E54C28A8D109B/state.mpack +0 -1
- package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/5782E13CAB03A04E9E1EC5692F892170/BA5D2B145A59265D63FA3B3584344B02 +0 -5
- package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/5782E13CAB03A04E9E1EC5692F892170/EF71788BE39818EEA3F0164DC15E1BD7 +0 -158
- package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/9886598393C89944B51920C01EB650C9/BA5D2B145A59265D63FA3B3584344B02 +0 -35
- package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/state.mpack +0 -1
- package/.vs/CopilotSnapshots/8492D9C7A2D9514DB8A69D304B48BF3C/D2DA3C4E2131E84EA02E321802A65254/EF71788BE39818EEA3F0164DC15E1BD7 +0 -165
- package/.vs/CopilotSnapshots/8492D9C7A2D9514DB8A69D304B48BF3C/state.mpack +0 -1
- package/.vs/CopilotSnapshots/891A2DC0E5FA424CB8BDDA4FE26ED372/E244D49DDC79514DBA322770B03AE287/1CF9939611B0D194AC81951A171DF046 +0 -43
- package/.vs/CopilotSnapshots/891A2DC0E5FA424CB8BDDA4FE26ED372/state.mpack +0 -1
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/11E6D1F8E56D734F99C5216231273E8D/E621434FB1D5415B14FBBCC11967E420 +0 -66
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/24C69A83160FD844B0DEFECF8E1313DB/1CF9939611B0D194AC81951A171DF046 +0 -43
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/24C69A83160FD844B0DEFECF8E1313DB/E621434FB1D5415B14FBBCC11967E420 +0 -53
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/5E6D1BCD7CE81548AB445DE97505DC62/1CF9939611B0D194AC81951A171DF046 +0 -30
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/5E6D1BCD7CE81548AB445DE97505DC62/E621434FB1D5415B14FBBCC11967E420 +0 -53
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/EC4E81E0109C8F4BA1B5D9CFE1C122BC/E621434FB1D5415B14FBBCC11967E420 +0 -54
- package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/state.mpack +0 -1
- package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/6139F888FA743143B8E6C99306A478A6/30F913EA337870677E7C575773ECF531 +0 -130
- package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/F21743E379F9C1439F6A6405A289AA99/30F913EA337870677E7C575773ECF531 +0 -160
- package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/state.mpack +0 -1
- package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/2E2EFE66C5E05C4B809986E9B23D5409/45EABF6EF6BDFAA58C941A29E98C9C83 +0 -113
- package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/2E2EFE66C5E05C4B809986E9B23D5409/FB35DD13E708043D4CD8ACD54E14708F +0 -2
- package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/BE46916E3A8F2C4284792B951B674907/FB35DD13E708043D4CD8ACD54E14708F +0 -5
- package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/state.mpack +0 -1
- package/.vs/CopilotSnapshots/A6D99EA2D3819F45AD8087D7487F9318/state.mpack +0 -1
- package/.vs/CopilotSnapshots/A78C77F7A237704D95BCFE1BBC39FB0F/68BA9941941DC244BC799D89DB2BF86E/7C951A8A572EA5C371FDE657AF968B9C +0 -96
- package/.vs/CopilotSnapshots/A78C77F7A237704D95BCFE1BBC39FB0F/state.mpack +0 -1
- package/.vs/CopilotSnapshots/AD2203F1B9FECE44BB6D5DC5D83E87AA/734AB1B2974F9545B7F12AAA5842524B/840203FFA9CCF5B33DFD5C7CC5B13527 +0 -125
- package/.vs/CopilotSnapshots/AD2203F1B9FECE44BB6D5DC5D83E87AA/state.mpack +0 -1
- package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/89CF3F527D0687479D14274E8CDF3DFF/1CF9939611B0D194AC81951A171DF046 +0 -30
- package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/89CF3F527D0687479D14274E8CDF3DFF/BA5D2B145A59265D63FA3B3584344B02 +0 -158
- package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/E495EBF64DC77A4BBD470B92DB0391C4/1CF9939611B0D194AC81951A171DF046 +0 -30
- package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/E495EBF64DC77A4BBD470B92DB0391C4/BA5D2B145A59265D63FA3B3584344B02 +0 -67
- package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/state.mpack +0 -1
- package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/1FCDCC65B992954DB78BD1F46892312B/44EB81A1663981E3F52FFFECE3A2918E +0 -143
- package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/1FCDCC65B992954DB78BD1F46892312B/E602628EF6D764C2C267810C92906DBA +0 -253
- package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/state.mpack +0 -1
- package/.vs/CopilotSnapshots/B1DED422A45D5740BA4EE745C04B2B0B/226F822A22D6BD44BCF56BAA47FA274C/EF71788BE39818EEA3F0164DC15E1BD7 +0 -174
- package/.vs/CopilotSnapshots/B1DED422A45D5740BA4EE745C04B2B0B/state.mpack +0 -1
- package/.vs/CopilotSnapshots/B5DD5E50ACD0FD4998564F0FDE7FAEE0/97908D1D83AD2D4EA7082388DE07CBB4/44EB81A1663981E3F52FFFECE3A2918E +0 -148
- package/.vs/CopilotSnapshots/B5DD5E50ACD0FD4998564F0FDE7FAEE0/state.mpack +0 -1
- package/.vs/CopilotSnapshots/B8ADCAC0C19DB14FB8388BA59A86BC74/7ED3F1557FD7BE4DBEAF9B59FD442925/44EB81A1663981E3F52FFFECE3A2918E +0 -152
- package/.vs/CopilotSnapshots/B8ADCAC0C19DB14FB8388BA59A86BC74/state.mpack +0 -1
- package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/0130610530354840BB06BF4F4E744242/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -138
- package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/5F1C58CEFBAF1B4E80C4CF38B83A0A5F/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -129
- package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/BDC3D099FCCCC147848630670EED45CF/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -139
- package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/D9E2B1CDD1E2BB468E0703BEF6706FF6/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -139
- package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/state.mpack +0 -1
- package/.vs/CopilotSnapshots/C1E2C1A9C1DCFA46B1D5F1C6F36A152D/BC91C0FD38D8694BB992A8DEC1833670/148399016C7971F5592DAADBB9523118 +0 -120
- package/.vs/CopilotSnapshots/C1E2C1A9C1DCFA46B1D5F1C6F36A152D/state.mpack +0 -1
- package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/6C0950E97063C547A72D737E618436B0/1CF9939611B0D194AC81951A171DF046 +0 -9
- package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/6C0950E97063C547A72D737E618436B0/DFF70C60F68ECD9A4E4C3C74E4CC4DEE +0 -84
- package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/state.mpack +0 -1
- package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/03EA1376F04C0D468FD0851119159D34/44EB81A1663981E3F52FFFECE3A2918E +0 -148
- package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/03EA1376F04C0D468FD0851119159D34/E602628EF6D764C2C267810C92906DBA +0 -265
- package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/6887503C15557349842029E58C9C0D11/44EB81A1663981E3F52FFFECE3A2918E +0 -152
- package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/6887503C15557349842029E58C9C0D11/E602628EF6D764C2C267810C92906DBA +0 -265
- package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/state.mpack +0 -1
- package/.vs/CopilotSnapshots/C7190BBC8D95D44F9CF8E65E3E8C9CFD/4B6D07592F8EDC4AA3FF742B1F9531CC/1B80EB15A2FEBEC11C8210C5461F8DB7 +0 -43
- package/.vs/CopilotSnapshots/C7190BBC8D95D44F9CF8E65E3E8C9CFD/state.mpack +0 -1
- package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/2071ADB146D8F7499419123B2A595A41/03E00441128DC70FFEA043158417AC9A +0 -15
- package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/6ECBF707FE2A88418EA1649CE46068D5/03E00441128DC70FFEA043158417AC9A +0 -1
- package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/70BAB1D82B755F47A2351CA905ACC0F1/03E00441128DC70FFEA043158417AC9A +0 -49
- package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/99DDFADAEC5CA14D92CC470523A11743/03E00441128DC70FFEA043158417AC9A +0 -39
- package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/state.mpack +0 -1
- package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/2445F4111C26EB4DA5404F930E140F56/840203FFA9CCF5B33DFD5C7CC5B13527 +0 -6
- package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/2445F4111C26EB4DA5404F930E140F56/C27E5C1787B7957BF6F0C3D417890141 +0 -1
- package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/state.mpack +0 -1
- package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/5FC7C36C7769414C80BFF27A07BB5063/BE400B34D9700403D2BA3A1AA6B1EF1D +0 -15
- package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/A4DD9B92084D8E48A95435EDB2B14545/86848C7099AD75EE4E8F10E066F49671 +0 -15
- package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/A4DD9B92084D8E48A95435EDB2B14545/BE400B34D9700403D2BA3A1AA6B1EF1D +0 -15
- package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/state.mpack +0 -1
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/7C951A8A572EA5C371FDE657AF968B9C +0 -96
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/B692C85119711C76235AA5D78F9F3818 +0 -73
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/EF71788BE39818EEA3F0164DC15E1BD7 +0 -182
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/C1287B2893D30D40A46C30DC2CE05178/7C951A8A572EA5C371FDE657AF968B9C +0 -96
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/C1287B2893D30D40A46C30DC2CE05178/B692C85119711C76235AA5D78F9F3818 +0 -98
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/7C951A8A572EA5C371FDE657AF968B9C +0 -96
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/B692C85119711C76235AA5D78F9F3818 +0 -21
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/EF71788BE39818EEA3F0164DC15E1BD7 +0 -176
- package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/state.mpack +0 -1
- package/.vs/VSWorkspaceState.json +0 -6
- package/.vs/slnx.sqlite +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.433.20974/CodeChunks.db +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.433.20974/SemanticSymbols.db +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.439.2385/CodeChunks.db +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.439.2385/SemanticSymbols.db +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.441.19478/CodeChunks.db +0 -0
- package/.vs/ts-sample/CopilotIndices/17.13.441.19478/SemanticSymbols.db +0 -0
- package/.vs/ts-sample/FileContentIndex/2fa9d8cc-9158-496d-aa9b-3a471d46a157.vsidx +0 -0
- package/.vs/ts-sample/FileContentIndex/5530f45b-244e-4271-b3e3-d8250f03da64.vsidx +0 -0
- package/.vs/ts-sample/FileContentIndex/75f95b5d-c8f7-49ca-a3d7-d1d8f63db437.vsidx +0 -0
- package/.vs/ts-sample/FileContentIndex/abb2aeeb-f62a-4ca7-bfbf-7a1eada625a5.vsidx +0 -0
- package/.vs/ts-sample/FileContentIndex/fc749b54-0f95-45f6-ac75-a8ab3409a5ce.vsidx +0 -0
- package/.vs/ts-sample/config/applicationhost.config +0 -1026
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/0901b413-5d87-4b43-b248-80356492be7e +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/0f61a76a-b21f-46b7-821e-54c28a8d109b +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/101aef14-dd28-4de3-b2eb-e0b26d587b3a +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/22d4deb1-5da4-4057-ba4e-e745c04b2b0b +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/2a76030d-a09e-48cb-85f2-114567f23f93 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/2c6d08ca-cb98-4233-8f7c-011c3b409234 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/338dc290-9b2f-4929-8101-26139fca2640 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/34c9ac3b-2061-4d82-b300-06e353477163 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/3c01b107-5c38-4156-a5f5-100e0751210b +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/489ee702-f5df-4723-87cb-618de990598a +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/4ccac3c5-b137-474a-b6bc-753d09f69117 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/505eddb5-d0ac-49fd-9856-4f0fde7faee0 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/58e8d8c4-4293-4f5e-86f1-8850f5ca5c08 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/5dbafa3e-3015-4c80-a04c-606f5efddc38 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/5f29f527-e43a-4661-b60e-ff772041f413 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/6248dfd7-38ae-4fa6-9176-2fdc0694c3e8 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/66fcbd64-32dc-436d-80e6-7435a1a3ecf1 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/6f9ad733-d555-4d2c-b073-eb6a1aada347 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/715aaadc-c88e-4630-85d1-4c52356d80e0 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/71ab164c-01dc-468c-a734-fbf0bf4aedd9 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/752ee299-aec8-4ddf-b3a6-68a9adf0bc43 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/752ff6dc-741b-4286-a0bf-5d5125ab6769 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/7b50f25e-2a00-4ec1-a991-043c37c36551 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/7f41e050-2ead-4d52-887c-b5763c2fb7b4 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/85b50c9e-8895-4085-89c1-934ad2704744 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8b2f308d-46ae-4ef5-a82a-e1ded1a5d240 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8b5f907f-0dac-49ad-bd50-7ca45c569afd +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8cd733d5-6839-413a-88a2-cec902bc03cd +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/90685124-4085-46d6-acbd-4fde8d6dd2d4 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/96129dc7-1749-4fe4-9a5b-b9d8fa725a0c +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/967094af-46a3-4734-8c5d-084b8442cd81 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/a29ed9a6-81d3-459f-ad80-87d7487f9318 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/a9c1e2c1-dcc1-46fa-b1d5-f1c6f36a152d +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/badc76f4-d284-4b6c-94e9-abdbc74de540 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/bb50ffbd-a9c1-4737-a000-1969c3bd195f +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/bc0b19c7-958d-4fd4-9cf8-e65e3e8c9cfd +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c02d1a89-fae5-4c42-b8bd-da4fe26ed372 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c0caadb8-9dc1-4fb1-b838-8ba59a86bc74 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c250c9ae-d2fa-4701-aee8-e325e2ca0a78 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c31db710-c1c4-4ec0-8602-fa06d3925f98 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c7d99284-d9a2-4d51-b8a6-9d304b48bf3c +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/ddd1fab4-4016-4cfc-bf9f-f4a85bdfc112 +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/f10322ad-feb9-44ce-bb6d-5dc5d83e87aa +0 -0
- package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/f7778ca7-37a2-4d70-95bc-fe1bbc39fb0f +0 -0
- package/.vs/ts-sample/v17/.suo +0 -0
- package/.vs/ts-sample/v17/.wsuo +0 -0
- package/.vs/ts-sample/v17/DocumentLayout.backup.json +0 -425
- package/.vs/ts-sample/v17/DocumentLayout.json +0 -423
- package/.vs/ts-sample/v17/TestStore/0/000.testlog +0 -0
- package/.vs/ts-sample/v17/TestStore/0/testlog.manifest +0 -0
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.js +0 -15
- package/dist/vitest.config.js.map +0 -1
package/README.md
CHANGED
@@ -1,250 +1,222 @@
|
|
1
1
|
# rawsql-ts
|
2
2
|
|
3
|
-
|
3
|
+

|
4
|
+
|
5
|
+
rawsql-ts is a TypeScript SQL parser that performs Abstract Syntax Tree (AST) analysis for advanced SQL processing and transformation.
|
6
|
+
|
7
|
+
> **Note:** This library is currently in beta. The API may change without notice until the v1.0 release.
|
8
|
+
|
9
|
+
## Main Features
|
10
|
+
|
11
|
+
- No external dependencies: Fully self-contained, zero dependency implementation! 🎉
|
12
|
+
- High-performance SQL parsing and AST analysis
|
13
|
+
- Advanced SQL transformation utilities
|
14
|
+
- Designed for PostgreSQL syntax
|
4
15
|
|
5
16
|
## Installation
|
6
17
|
|
7
|
-
Install the
|
18
|
+
Install the package from npm as follows:
|
8
19
|
|
9
20
|
```bash
|
10
|
-
npm install
|
21
|
+
npm install rawsql-ts
|
11
22
|
```
|
12
23
|
|
13
24
|
## Usage
|
14
25
|
|
15
|
-
|
26
|
+
Basic usage example:
|
16
27
|
|
17
|
-
```
|
18
|
-
|
28
|
+
```typescript
|
29
|
+
import { SelectQueryParser } from 'rawsql-ts';
|
30
|
+
import { Formatter } from 'rawsql-ts';
|
31
|
+
|
32
|
+
const sql = `SELECT id, name FROM users WHERE active = TRUE`;
|
33
|
+
const query = SelectQueryParser.parse(sql);
|
34
|
+
const formatter = new Formatter();
|
35
|
+
const formattedSql = formatter.format(query);
|
36
|
+
console.log(formattedSql);
|
37
|
+
// => select "id", "name" from "users" where "active" = true
|
19
38
|
```
|
20
39
|
|
21
|
-
|
40
|
+
---
|
22
41
|
|
23
|
-
|
24
|
-
npm test
|
25
|
-
```
|
42
|
+
## 🧩 Parsing Features
|
26
43
|
|
27
|
-
|
44
|
+
rawsql-ts provides the following main parser class for converting SQL text into an Abstract Syntax Tree (AST):
|
28
45
|
|
29
|
-
**
|
46
|
+
- **SelectQueryParser**
|
47
|
+
Parses complete SELECT and VALUES queries, including support for CTEs (WITH), UNION/INTERSECT/EXCEPT, subqueries, and all major SQL clauses. Handles PostgreSQL-specific syntax and advanced query structures.
|
30
48
|
|
31
|
-
|
32
|
-
-
|
33
|
-
|
34
|
-
- **UNION Queries**: Handles UNION, UNION ALL, INTERSECT and EXCEPT
|
35
|
-
- **Complex Subqueries**: Supports subqueries and inline queries
|
36
|
-
- **Window Functions**: Complete WINDOW clause and function support
|
37
|
-
- **PostgreSQL Optimized**: Deep support for PostgreSQL syntax
|
38
|
-
- `DISTINCT ON (columns)` expressions
|
39
|
-
- Array and range operators
|
49
|
+
**Key methods:**
|
50
|
+
- `parse(sql: string): SelectQuery`
|
51
|
+
Parses a SQL string and returns the root AST node for the query. Throws an error if the SQL is invalid or contains extra tokens.
|
40
52
|
|
41
|
-
|
53
|
+
**Notes:**
|
54
|
+
- Only PostgreSQL syntax is supported at this time.
|
55
|
+
- Only SELECT and VALUES queries are supported (INSERT/UPDATE/DELETE are not yet implemented).
|
56
|
+
- All SQL comments are removed during parsing.
|
42
57
|
|
43
|
-
|
58
|
+
This class is designed to handle all practical SQL parsing needs for SELECT/VALUES queries in PostgreSQL, including:
|
59
|
+
- CTEs (WITH), including recursive and materialized options
|
60
|
+
- UNION, INTERSECT, EXCEPT, and subqueries
|
61
|
+
- Window functions and analytic clauses
|
62
|
+
- Complex expressions, functions, and operators
|
63
|
+
- Robust error handling with detailed messages
|
64
|
+
- Accurate tokenization, including comments and special literals
|
44
65
|
|
45
|
-
|
46
|
-
- **Comments Stripped**: SQL comments are removed during parsing
|
47
|
-
- **SELECT Queries Only**: Currently only handles SELECT queries (no INSERT/UPDATE/DELETE)
|
48
|
-
- **One-line Formatting**: Currently only supports single-line (compact) output formatting
|
49
|
-
- **Beta Status**: API may change without notice until v1.0 release
|
66
|
+
---
|
50
67
|
|
51
|
-
##
|
68
|
+
## Core SQL Query Classes
|
52
69
|
|
53
|
-
|
70
|
+
The following classes are the primary building blocks for representing and manipulating SQL queries in rawsql-ts:
|
54
71
|
|
55
|
-
###
|
72
|
+
### SimpleSelectQuery
|
56
73
|
|
57
|
-
|
74
|
+
Represents a single, standard SQL SELECT statement (not a UNION or VALUES). This class encapsulates all major clauses such as SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, and more.
|
58
75
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
ELSE 'Low Demand'
|
73
|
-
END AS demand_category
|
74
|
-
FROM
|
75
|
-
products AS p
|
76
|
-
JOIN order_items AS o ON p.product_id = o.product_id
|
77
|
-
WHERE
|
78
|
-
p.category IN (
|
79
|
-
SELECT
|
80
|
-
category
|
81
|
-
FROM
|
82
|
-
featured_categories
|
83
|
-
WHERE
|
84
|
-
active = TRUE
|
85
|
-
)
|
86
|
-
GROUP BY
|
87
|
-
p.product_id
|
88
|
-
, p.name
|
89
|
-
HAVING
|
90
|
-
SUM(o.quantity) > 100
|
91
|
-
ORDER BY
|
92
|
-
total_ordered DESC`;
|
93
|
-
|
94
|
-
// Parse the query into an AST
|
95
|
-
const query = SelectQueryParser.parseFromText(sql);
|
96
|
-
|
97
|
-
// Format the AST back to SQL
|
98
|
-
const formatter = new Formatter();
|
99
|
-
const formattedSql = formatter.visit(query);
|
76
|
+
**Key methods:**
|
77
|
+
- `toUnion`, `toUnionAll`, `toIntersect`, `toExcept`, etc.
|
78
|
+
- Combine this query with another using UNION, INTERSECT, EXCEPT, etc., returning a BinarySelectQuery.
|
79
|
+
- `appendWhere`, `appendWhereRaw`
|
80
|
+
- Add a new condition to the WHERE clause (as AST or raw SQL string).
|
81
|
+
- `appendHaving`, `appendHavingRaw`
|
82
|
+
- Add a new condition to the HAVING clause.
|
83
|
+
- `innerJoin`, `leftJoin`, `rightJoin`, `innerJoinRaw`, etc.
|
84
|
+
- Add JOIN clauses to the query, either as AST or from raw SQL.
|
85
|
+
- `toSource`
|
86
|
+
- Wrap this query as a subquery (for use in FROM/JOIN, etc.).
|
87
|
+
- `appendWith`, `appendWithRaw`
|
88
|
+
- Add CTEs (WITH clause) to the query.
|
100
89
|
|
101
|
-
|
102
|
-
// Outputs clean, consistently formatted SQL with proper identifiers
|
103
|
-
```
|
90
|
+
### BinarySelectQuery
|
104
91
|
|
105
|
-
|
92
|
+
Represents a binary SQL query, such as `SELECT ... UNION SELECT ...`, `INTERSECT`, or `EXCEPT`. This class holds a left and right query and the operator between them.
|
106
93
|
|
107
|
-
|
94
|
+
**Key methods:**
|
95
|
+
- `union`, `unionAll`, `intersect`, `intersectAll`, `except`, `exceptAll`
|
96
|
+
- Chain additional queries to the current binary query.
|
97
|
+
- `appendSelectQuery`
|
98
|
+
- Add a new query with a custom operator.
|
99
|
+
- `toSource`
|
100
|
+
- Wrap this binary query as a subquery (for use in FROM/JOIN, etc.).
|
101
|
+
- `unionRaw`, `intersectRaw`, etc.
|
102
|
+
- Add a new query by parsing a raw SQL string and combining it.
|
108
103
|
|
109
|
-
|
110
|
-
import { SelectQueryParser } from './parsers/SelectQueryParser';
|
111
|
-
import { SelectValueCollector } from './transformers/SelectValueCollector';
|
112
|
-
import { Formatter } from './transformers/Formatter';
|
113
|
-
|
114
|
-
// Example query with column references and expressions
|
115
|
-
const sql = `
|
116
|
-
SELECT
|
117
|
-
id
|
118
|
-
, name
|
119
|
-
, price * quantity AS total
|
120
|
-
, (
|
121
|
-
SELECT
|
122
|
-
COUNT(*)
|
123
|
-
FROM
|
124
|
-
orders AS o
|
125
|
-
WHERE
|
126
|
-
o.customer_id = c.id
|
127
|
-
) AS order_count
|
128
|
-
FROM
|
129
|
-
customers AS c
|
130
|
-
WHERE
|
131
|
-
status = 'active'`;
|
132
|
-
|
133
|
-
const query = SelectQueryParser.parseFromText(sql);
|
134
|
-
|
135
|
-
// Collect all select values
|
136
|
-
const collector = new SelectValueCollector();
|
137
|
-
const items = collector.collect(query);
|
138
|
-
|
139
|
-
// Format expressions for display
|
140
|
-
const formatter = new Formatter();
|
104
|
+
### ValuesQuery
|
141
105
|
|
142
|
-
|
143
|
-
console.log(items.map(item => item.name));
|
144
|
-
// ["id", "name", "total", "order_count"]
|
106
|
+
Represents a SQL `VALUES` clause, such as `VALUES (1, 'a'), (2, 'b')`, which is used for inline data tables.
|
145
107
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
108
|
+
**Key methods:**
|
109
|
+
- (Primarily the constructor and tuple access)
|
110
|
+
- This class can be used as a subquery source or wrapped with QueryNormalizer to convert it into a standard SELECT query.
|
111
|
+
|
112
|
+
---
|
113
|
+
|
114
|
+
These classes are designed to be flexible and allow for robust construction, combination, and transformation of SQL queries. For further details, please refer to the source code.
|
150
115
|
|
151
|
-
|
116
|
+
---
|
152
117
|
|
153
|
-
|
118
|
+
## 🛠️ Transformer Features (AST Transformers)
|
119
|
+
|
120
|
+
rawsql-ts provides a suite of AST (Abstract Syntax Tree) transformers for advanced SQL analysis and manipulation. These utilities are intended for engineers who require programmatic extraction, analysis, or transformation of SQL query structures.
|
121
|
+
|
122
|
+
### Main Transformers
|
123
|
+
|
124
|
+
- **Formatter**
|
125
|
+
Converts SQL ASTs into standardized SQL text, handling identifier escaping and formatting for all SQL components.
|
126
|
+
**Note:** Output formatting is currently limited to single-line (compact) style.
|
127
|
+
|
128
|
+
- **SelectValueCollector**
|
129
|
+
Extracts all columns, including aliases and expressions, from SELECT clauses. Supports wildcard expansion (e.g., `*`, `table.*`) when table structure information is provided.
|
130
|
+
|
131
|
+
- **SelectableColumnCollector**
|
132
|
+
Collects all column references in a query that can be included in a SELECT clause. Gathers all columns available from root FROM/JOIN sources.
|
133
|
+
|
134
|
+
- **TableSourceCollector**
|
135
|
+
Collects all table and subquery sources from the FROM and JOIN clauses. This utility helps you extract all logical sources (tables, subqueries, CTEs, etc.) referenced in the root query, including their aliases. Useful for schema analysis, join logic, and query visualization.
|
136
|
+
|
137
|
+
- **CTECollector**
|
138
|
+
Collects all Common Table Expressions (CTEs) from WITH clauses, subqueries, and UNION queries. Supports both nested and recursive CTEs.
|
139
|
+
|
140
|
+
- **UpstreamSelectQueryFinder**
|
141
|
+
Identifies upstream SELECT queries that provide specific columns by traversing CTEs, subqueries, and UNION branches.
|
142
|
+
|
143
|
+
- **CTENormalizer**
|
144
|
+
Consolidates all Common Table Expressions (CTEs) from any part of a query (including nested subqueries, JOINs, and UNIONs) into a single root-level WITH clause. If duplicate CTE names with different definitions are detected, an error is thrown to prevent ambiguity.
|
145
|
+
|
146
|
+
- **QueryNormalizer**
|
147
|
+
Converts any SELECT query (including UNION, EXCEPT, or VALUES queries) into a standard SimpleSelectQuery format. For UNION or EXCEPT, the query is wrapped as a subquery with an alias (e.g., SELECT * FROM (...)). For VALUES, sequential column names (column1, column2, ...) are generated and the VALUES are wrapped in a subquery. This ensures a predictable query structure for downstream processing.
|
148
|
+
|
149
|
+
---
|
150
|
+
|
151
|
+
### Example Usage
|
154
152
|
|
155
153
|
```typescript
|
156
|
-
import { SelectQueryParser } from '
|
157
|
-
import { SelectableColumnCollector } from '
|
158
|
-
import {
|
159
|
-
|
160
|
-
|
161
|
-
const sql = `
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
const
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
const
|
178
|
-
|
179
|
-
//
|
180
|
-
|
181
|
-
const columnNames = columns.map(item => item.name);
|
182
|
-
console.log(columnNames);
|
183
|
-
// ["id", "name", "active", "user_id", "verified"]
|
184
|
-
|
185
|
-
// Get the original column expressions with their full context
|
186
|
-
const expressions = columns.map(item => formatter.visit(item.value));
|
187
|
-
console.log(expressions);
|
188
|
-
// ["u.id", "u.name", "u.active", "p.user_id", "p.verified"]
|
154
|
+
import { SelectQueryParser } from 'rawsql-ts';
|
155
|
+
import { SelectableColumnCollector } from 'rawsql-ts/transformers/SelectableColumnCollector';
|
156
|
+
import { SelectValueCollector } from 'rawsql-ts/transformers/SelectValueCollector';
|
157
|
+
import { TableSourceCollector } from 'rawsql-ts/transformers/TableSourceCollector';
|
158
|
+
|
159
|
+
const sql = `SELECT u.id, u.name FROM users u JOIN posts p ON u.id = p.user_id`;
|
160
|
+
const query = SelectQueryParser.parse(sql);
|
161
|
+
|
162
|
+
// Collects all selectable columns from the query (from FROM/JOIN sources)
|
163
|
+
const selectableColumnCollector = new SelectableColumnCollector();
|
164
|
+
const selectableColumns = selectableColumnCollector.collect(query);
|
165
|
+
// ["id", "name", "user_id", ...]
|
166
|
+
console.log(selectableColumns.map(col => col.name));
|
167
|
+
|
168
|
+
// Collects all values and aliases from the SELECT clause
|
169
|
+
const selectValueCollector = new SelectValueCollector();
|
170
|
+
const selectValues = selectValueCollector.collect(query);
|
171
|
+
// ["id", "name"]
|
172
|
+
console.log(selectValues.map(val => val.alias || val.expression.toString()));
|
173
|
+
|
174
|
+
// Collects all table and subquery sources from the FROM/JOIN clauses
|
175
|
+
const tableSourceCollector = new TableSourceCollector();
|
176
|
+
const sources = tableSourceCollector.collect(query);
|
177
|
+
// ["u", "p"]
|
178
|
+
console.log(sources.map(src => src.alias || src.name));
|
189
179
|
```
|
190
180
|
|
191
|
-
|
181
|
+
---
|
192
182
|
|
193
|
-
|
183
|
+
## Practical Example: Table Join
|
194
184
|
|
195
|
-
|
185
|
+
The following example demonstrates how to join two tables using rawsql-ts. It is not necessary to understand the internal structure of the SelectQuery class or manage alias names manually. By specifying the join key(s), the library automatically generates the ON clause and handles all aliasing and subquery details.
|
196
186
|
|
197
187
|
```typescript
|
198
|
-
import { SelectQueryParser } from '
|
199
|
-
import {
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
const
|
204
|
-
// In real applications, this would fetch from database metadata or schema information
|
205
|
-
const tableColumns: Record<string, string[]> = {
|
206
|
-
'users': ['id', 'name', 'email', 'created_at'],
|
207
|
-
'posts': ['id', 'title', 'content', 'user_id', 'created_at'],
|
208
|
-
'comments': ['id', 'post_id', 'user_id', 'content', 'created_at']
|
209
|
-
};
|
210
|
-
|
211
|
-
return tableColumns[tableName] || [];
|
212
|
-
};
|
213
|
-
|
214
|
-
// Query containing wildcards
|
215
|
-
const sql = `
|
216
|
-
SELECT
|
217
|
-
u.*
|
218
|
-
, p.title
|
219
|
-
, p.content
|
220
|
-
FROM
|
221
|
-
users AS u
|
222
|
-
JOIN posts AS p ON u.id = p.user_id
|
223
|
-
WHERE
|
224
|
-
u.created_at > '2023-01-01'`;
|
225
|
-
|
226
|
-
const query = SelectQueryParser.parseFromText(sql);
|
227
|
-
|
228
|
-
// Pass the TableColumnResolver to resolve wildcards
|
229
|
-
const collector = new SelectValueCollector(tableColumnResolver);
|
230
|
-
const items = collector.collect(query);
|
231
|
-
|
232
|
-
// Display results
|
233
|
-
const formatter = new Formatter();
|
234
|
-
console.log(items.map(item => item.name));
|
235
|
-
// ["id", "name", "email", "created_at", "title", "content"]
|
188
|
+
import { SelectQueryParser } from 'rawsql-ts';
|
189
|
+
import { Formatter } from 'rawsql-ts';
|
190
|
+
|
191
|
+
// Parse two separate queries
|
192
|
+
const userQuery = SelectQueryParser.parse('SELECT user_id, user_name FROM users');
|
193
|
+
const postQuery = SelectQueryParser.parse('SELECT post_id, user_id, title FROM posts');
|
236
194
|
|
237
|
-
//
|
238
|
-
|
239
|
-
|
195
|
+
// Join the two queries using innerJoin
|
196
|
+
// Provide the join key(s) as an array; the ON clause will be generated automatically.
|
197
|
+
const joinedQuery = userQuery.innerJoin(postQuery, ['user_id']);
|
198
|
+
|
199
|
+
// Format the joined query back to SQL
|
200
|
+
const formatter = new Formatter();
|
201
|
+
const sql = formatter.format(joinedQuery);
|
202
|
+
console.log(sql);
|
203
|
+
// Output:
|
204
|
+
// select "user_id", "user_name", "post_id", "title" from "users" inner join (select "post_id", "user_id", "title" from "posts") on "users"."user_id" = "posts"."user_id"
|
240
205
|
```
|
241
206
|
|
242
|
-
|
207
|
+
**Key Points:**
|
208
|
+
- It is not necessary to understand the internal implementation of SelectQuery to perform join operations.
|
209
|
+
- Only the join key(s) (e.g., `['user_id']`) need to be specified. The ON clause is generated automatically.
|
210
|
+
- Alias names and subquery handling are managed by the library, eliminating the need for manual intervention.
|
211
|
+
- This approach enables straightforward joining of queries, even without detailed knowledge of the SQL structure or AST internals.
|
212
|
+
|
213
|
+
---
|
214
|
+
|
215
|
+
By utilizing these transformer utilities, you can perform advanced SQL analysis and manipulation with reliability and consistency.
|
243
216
|
|
244
217
|
## Benchmarks
|
245
218
|
|
246
|
-
This project includes benchmarking functionality.
|
247
|
-
To run benchmarks:
|
219
|
+
This project includes benchmarking functionality. To run benchmarks, execute:
|
248
220
|
|
249
221
|
```bash
|
250
222
|
npm run benchmark
|
@@ -252,12 +224,12 @@ npm run benchmark
|
|
252
224
|
|
253
225
|
## Benchmark Details
|
254
226
|
|
255
|
-
|
227
|
+
The benchmark suite evaluates the SQL parsing and formatting performance of `rawsql-ts` in comparison to popular libraries such as `sql-formatter` and `node-sql-parser`. Queries of varying complexity are tested:
|
256
228
|
|
257
229
|
- **Tokens20**: Simple `SELECT` query with a basic `WHERE` condition (~20 tokens)
|
258
230
|
- **Tokens70**: Medium complexity query with `JOIN`s and multiple conditions (~70 tokens)
|
259
231
|
- **Tokens140**: Complex query with `CTE`s and aggregations (~140 tokens)
|
260
|
-
- **Tokens230**:
|
232
|
+
- **Tokens230**: Highly complex query with multiple `CTE`s, subqueries, and window functions (~230 tokens)
|
261
233
|
|
262
234
|
## Benchmark Environment
|
263
235
|
|
@@ -300,9 +272,10 @@ Node.js v22.14.0
|
|
300
272
|
|
301
273
|
## Performance Summary
|
302
274
|
|
303
|
-
- `rawsql-ts`
|
304
|
-
-
|
305
|
-
-
|
306
|
-
- Maintains
|
275
|
+
- `rawsql-ts` consistently outperforms both `node-sql-parser` and `sql-formatter` in all tested scenarios.
|
276
|
+
- Approximately 4x faster than `node-sql-parser`.
|
277
|
+
- Approximately 9-10x faster than `sql-formatter`.
|
278
|
+
- Maintains comprehensive SQL parsing capabilities while delivering significant performance improvements.
|
279
|
+
|
280
|
+
> **Note:** These benchmarks are based on a specific hardware and software environment. Actual performance may vary depending on system configuration and workload.
|
307
281
|
|
308
|
-
> ⚠️ **Note:** These benchmarks are based on a specific hardware and software environment. Actual performance may vary depending on system configuration and workload.
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
export * from './parsers/SelectQueryParser';
|
2
|
+
export * from './models/BinarySelectQuery';
|
3
|
+
export * from './models/SelectQuery';
|
4
|
+
export * from './models/ValueComponent';
|
5
|
+
export * from './models/ValuesQuery';
|
6
|
+
export * from './transformers/CTECollector';
|
7
|
+
export * from './transformers/CTENormalizer';
|
8
|
+
export * from './transformers/Formatter';
|
9
|
+
export * from './transformers/QueryConverter';
|
10
|
+
export * from './transformers/SelectValueCollector';
|
11
|
+
export * from './transformers/SelectableColumnCollector';
|
12
|
+
export * from './transformers/TableSourceCollector';
|
13
|
+
export * from './transformers/UpstreamSelectQueryFinder';
|
package/dist/index.js
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
// Entry point for rawsql-ts package
|
18
|
+
__exportStar(require("./parsers/SelectQueryParser"), exports);
|
19
|
+
__exportStar(require("./models/BinarySelectQuery"), exports);
|
20
|
+
__exportStar(require("./models/SelectQuery"), exports);
|
21
|
+
__exportStar(require("./models/ValueComponent"), exports);
|
22
|
+
__exportStar(require("./models/ValuesQuery"), exports);
|
23
|
+
__exportStar(require("./transformers/CTECollector"), exports);
|
24
|
+
__exportStar(require("./transformers/CTENormalizer"), exports);
|
25
|
+
__exportStar(require("./transformers/Formatter"), exports);
|
26
|
+
__exportStar(require("./transformers/QueryConverter"), exports);
|
27
|
+
__exportStar(require("./transformers/SelectValueCollector"), exports);
|
28
|
+
__exportStar(require("./transformers/SelectableColumnCollector"), exports);
|
29
|
+
__exportStar(require("./transformers/TableSourceCollector"), exports);
|
30
|
+
__exportStar(require("./transformers/UpstreamSelectQueryFinder"), exports);
|
31
|
+
// Add more exports here if you want to expose additional public API
|
32
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,gEAA8C;AAC9C,sEAAoD;AACpD,2EAAyD;AACzD,sEAAoD;AACpD,2EAAyD;AACzD,oEAAoE"}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import { SourceExpression } from "./Clause";
|
2
|
+
import type { SelectQuery } from "./SelectQuery";
|
3
|
+
import { SqlComponent } from "./SqlComponent";
|
4
|
+
import { RawString } from "./ValueComponent";
|
5
|
+
/**
|
6
|
+
* Represents a binary SELECT query (e.g., UNION, INTERSECT, EXCEPT).
|
7
|
+
*/
|
8
|
+
export declare class BinarySelectQuery extends SqlComponent {
|
9
|
+
static kind: symbol;
|
10
|
+
left: SelectQuery;
|
11
|
+
operator: RawString;
|
12
|
+
right: SelectQuery;
|
13
|
+
constructor(left: SelectQuery, operator: string, right: SelectQuery);
|
14
|
+
/**
|
15
|
+
* Appends another query to this binary query using UNION as the operator.
|
16
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
17
|
+
* and the right side is the provided query.
|
18
|
+
*
|
19
|
+
* @param query The query to append with UNION
|
20
|
+
* @returns A new BinarySelectQuery representing "(this) UNION query"
|
21
|
+
*/
|
22
|
+
union(query: SelectQuery): BinarySelectQuery;
|
23
|
+
/**
|
24
|
+
* Appends another query to this binary query using UNION ALL as the operator.
|
25
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
26
|
+
* and the right side is the provided query.
|
27
|
+
*
|
28
|
+
* @param query The query to append with UNION ALL
|
29
|
+
* @returns A new BinarySelectQuery representing "(this) UNION ALL query"
|
30
|
+
*/
|
31
|
+
unionAll(query: SelectQuery): BinarySelectQuery;
|
32
|
+
/**
|
33
|
+
* Appends another query to this binary query using INTERSECT as the operator.
|
34
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
35
|
+
* and the right side is the provided query.
|
36
|
+
*
|
37
|
+
* @param query The query to append with INTERSECT
|
38
|
+
* @returns A new BinarySelectQuery representing "(this) INTERSECT query"
|
39
|
+
*/
|
40
|
+
intersect(query: SelectQuery): BinarySelectQuery;
|
41
|
+
/**
|
42
|
+
* Appends another query to this binary query using INTERSECT ALL as the operator.
|
43
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
44
|
+
* and the right side is the provided query.
|
45
|
+
*
|
46
|
+
* @param query The query to append with INTERSECT ALL
|
47
|
+
* @returns A new BinarySelectQuery representing "(this) INTERSECT ALL query"
|
48
|
+
*/
|
49
|
+
intersectAll(query: SelectQuery): BinarySelectQuery;
|
50
|
+
/**
|
51
|
+
* Appends another query to this binary query using EXCEPT as the operator.
|
52
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
53
|
+
* and the right side is the provided query.
|
54
|
+
*
|
55
|
+
* @param query The query to append with EXCEPT
|
56
|
+
* @returns A new BinarySelectQuery representing "(this) EXCEPT query"
|
57
|
+
*/
|
58
|
+
except(query: SelectQuery): BinarySelectQuery;
|
59
|
+
/**
|
60
|
+
* Appends another query to this binary query using EXCEPT ALL as the operator.
|
61
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
62
|
+
* and the right side is the provided query.
|
63
|
+
*
|
64
|
+
* @param query The query to append with EXCEPT ALL
|
65
|
+
* @returns A new BinarySelectQuery representing "(this) EXCEPT ALL query"
|
66
|
+
*/
|
67
|
+
exceptAll(query: SelectQuery): BinarySelectQuery;
|
68
|
+
/**
|
69
|
+
* Appends another query to this binary query using the specified operator.
|
70
|
+
* This creates a new BinarySelectQuery where the left side is this binary query
|
71
|
+
* and the right side is the provided query.
|
72
|
+
*
|
73
|
+
* @param operator SQL operator to use (e.g. 'union', 'union all', 'intersect', 'except')
|
74
|
+
* @param query The query to append with the specified operator
|
75
|
+
* @returns A new BinarySelectQuery representing "(this) [operator] query"
|
76
|
+
*/
|
77
|
+
appendSelectQuery(operator: string, query: SelectQuery): BinarySelectQuery;
|
78
|
+
/**
|
79
|
+
* Appends another query to this binary query using UNION as the operator, accepting a raw SQL string.
|
80
|
+
* This method parses the SQL string and appends the resulting query using UNION.
|
81
|
+
* @param sql The SQL string to parse and union
|
82
|
+
* @returns A new BinarySelectQuery representing "(this) UNION (parsed query)"
|
83
|
+
*/
|
84
|
+
unionRaw(sql: string): BinarySelectQuery;
|
85
|
+
unionAllRaw(sql: string): BinarySelectQuery;
|
86
|
+
intersectRaw(sql: string): BinarySelectQuery;
|
87
|
+
intersectAllRaw(sql: string): BinarySelectQuery;
|
88
|
+
exceptRaw(sql: string): BinarySelectQuery;
|
89
|
+
exceptAllRaw(sql: string): BinarySelectQuery;
|
90
|
+
toSource(alias?: string): SourceExpression;
|
91
|
+
}
|