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.
Files changed (398) hide show
  1. package/README.md +179 -206
  2. package/dist/index.d.ts +13 -0
  3. package/dist/index.js +32 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/models/BinarySelectQuery.d.ts +91 -0
  6. package/dist/models/BinarySelectQuery.js +141 -0
  7. package/dist/models/BinarySelectQuery.js.map +1 -0
  8. package/dist/models/Clause.d.ts +189 -0
  9. package/dist/models/Clause.js +318 -0
  10. package/dist/models/Clause.js.map +1 -0
  11. package/dist/models/KeywordTrie.d.ts +11 -0
  12. package/dist/models/KeywordTrie.js +52 -0
  13. package/dist/models/KeywordTrie.js.map +1 -0
  14. package/dist/models/Lexeme.d.ts +25 -0
  15. package/dist/models/Lexeme.js +21 -0
  16. package/dist/models/Lexeme.js.map +1 -0
  17. package/dist/models/SelectQuery.d.ts +5 -0
  18. package/dist/models/SelectQuery.js +10 -0
  19. package/dist/models/SelectQuery.js.map +1 -0
  20. package/dist/models/SimpleSelectQuery.d.ts +167 -0
  21. package/dist/models/SimpleSelectQuery.js +292 -0
  22. package/dist/models/SimpleSelectQuery.js.map +1 -0
  23. package/dist/models/SqlComponent.d.ts +18 -0
  24. package/dist/models/SqlComponent.js +27 -0
  25. package/dist/models/SqlComponent.js.map +1 -0
  26. package/dist/models/ValueComponent.d.ts +158 -0
  27. package/dist/models/ValueComponent.js +250 -0
  28. package/dist/models/ValueComponent.js.map +1 -0
  29. package/dist/models/ValuesQuery.d.ts +10 -0
  30. package/dist/models/ValuesQuery.js +16 -0
  31. package/dist/models/ValuesQuery.js.map +1 -0
  32. package/dist/parsers/CommandExpressionParser.d.ts +15 -0
  33. package/dist/parsers/CommandExpressionParser.js +124 -0
  34. package/dist/parsers/CommandExpressionParser.js.map +1 -0
  35. package/dist/parsers/CommonTableParser.d.ts +9 -0
  36. package/dist/parsers/CommonTableParser.js +62 -0
  37. package/dist/parsers/CommonTableParser.js.map +1 -0
  38. package/dist/parsers/ForClauseParser.d.ts +9 -0
  39. package/dist/parsers/ForClauseParser.js +58 -0
  40. package/dist/parsers/ForClauseParser.js.map +1 -0
  41. package/dist/parsers/FromClauseParser.d.ts +9 -0
  42. package/dist/parsers/FromClauseParser.js +47 -0
  43. package/dist/parsers/FromClauseParser.js.map +1 -0
  44. package/dist/parsers/FunctionExpressionParser.d.ts +22 -0
  45. package/dist/parsers/FunctionExpressionParser.js +178 -0
  46. package/dist/parsers/FunctionExpressionParser.js.map +1 -0
  47. package/dist/parsers/GroupByParser.d.ts +10 -0
  48. package/dist/parsers/GroupByParser.js +58 -0
  49. package/dist/parsers/GroupByParser.js.map +1 -0
  50. package/dist/parsers/HavingParser.d.ts +9 -0
  51. package/dist/parsers/HavingParser.js +36 -0
  52. package/dist/parsers/HavingParser.js.map +1 -0
  53. package/dist/parsers/IdentifierParser.d.ts +8 -0
  54. package/dist/parsers/IdentifierParser.js +39 -0
  55. package/dist/parsers/IdentifierParser.js.map +1 -0
  56. package/dist/parsers/JoinClauseParser.d.ts +14 -0
  57. package/dist/parsers/JoinClauseParser.js +105 -0
  58. package/dist/parsers/JoinClauseParser.js.map +1 -0
  59. package/dist/parsers/KeywordParser.d.ts +17 -0
  60. package/dist/parsers/KeywordParser.js +91 -0
  61. package/dist/parsers/KeywordParser.js.map +1 -0
  62. package/dist/parsers/LimitClauseParser.d.ts +9 -0
  63. package/dist/parsers/LimitClauseParser.js +50 -0
  64. package/dist/parsers/LimitClauseParser.js.map +1 -0
  65. package/dist/parsers/LiteralParser.d.ts +8 -0
  66. package/dist/parsers/LiteralParser.js +38 -0
  67. package/dist/parsers/LiteralParser.js.map +1 -0
  68. package/dist/parsers/OrderByClauseParser.d.ts +10 -0
  69. package/dist/parsers/OrderByClauseParser.js +77 -0
  70. package/dist/parsers/OrderByClauseParser.js.map +1 -0
  71. package/dist/parsers/OverExpressionParser.d.ts +9 -0
  72. package/dist/parsers/OverExpressionParser.js +44 -0
  73. package/dist/parsers/OverExpressionParser.js.map +1 -0
  74. package/dist/parsers/ParameterExpressionParser.d.ts +8 -0
  75. package/dist/parsers/ParameterExpressionParser.js +15 -0
  76. package/dist/parsers/ParameterExpressionParser.js.map +1 -0
  77. package/dist/parsers/ParenExpressionParser.d.ts +8 -0
  78. package/dist/parsers/ParenExpressionParser.js +33 -0
  79. package/dist/parsers/ParenExpressionParser.js.map +1 -0
  80. package/dist/parsers/PartitionByParser.d.ts +9 -0
  81. package/dist/parsers/PartitionByParser.js +53 -0
  82. package/dist/parsers/PartitionByParser.js.map +1 -0
  83. package/dist/parsers/SelectClauseParser.d.ts +10 -0
  84. package/dist/parsers/SelectClauseParser.js +84 -0
  85. package/dist/parsers/SelectClauseParser.js.map +1 -0
  86. package/dist/parsers/SelectQueryParser.d.ts +13 -0
  87. package/dist/parsers/SelectQueryParser.js +153 -0
  88. package/dist/parsers/SelectQueryParser.js.map +1 -0
  89. package/dist/parsers/SourceAliasExpressionParser.d.ts +8 -0
  90. package/dist/parsers/SourceAliasExpressionParser.js +49 -0
  91. package/dist/parsers/SourceAliasExpressionParser.js.map +1 -0
  92. package/dist/parsers/SourceExpressionParser.d.ts +8 -0
  93. package/dist/parsers/SourceExpressionParser.js +35 -0
  94. package/dist/parsers/SourceExpressionParser.js.map +1 -0
  95. package/dist/parsers/SourceParser.d.ts +13 -0
  96. package/dist/parsers/SourceParser.js +119 -0
  97. package/dist/parsers/SourceParser.js.map +1 -0
  98. package/dist/parsers/SqlTokenizer.d.ts +64 -0
  99. package/dist/parsers/SqlTokenizer.js +174 -0
  100. package/dist/parsers/SqlTokenizer.js.map +1 -0
  101. package/dist/parsers/StringSpecifierExpressionParser.d.ts +8 -0
  102. package/dist/parsers/StringSpecifierExpressionParser.js +22 -0
  103. package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -0
  104. package/dist/parsers/UnaryExpressionParser.d.ts +8 -0
  105. package/dist/parsers/UnaryExpressionParser.js +30 -0
  106. package/dist/parsers/UnaryExpressionParser.js.map +1 -0
  107. package/dist/parsers/ValueParser.d.ts +14 -0
  108. package/dist/parsers/ValueParser.js +136 -0
  109. package/dist/parsers/ValueParser.js.map +1 -0
  110. package/dist/parsers/ValuesQueryParser.d.ts +10 -0
  111. package/dist/parsers/ValuesQueryParser.js +86 -0
  112. package/dist/parsers/ValuesQueryParser.js.map +1 -0
  113. package/dist/parsers/WhereClauseParser.d.ts +9 -0
  114. package/dist/parsers/WhereClauseParser.js +36 -0
  115. package/dist/parsers/WhereClauseParser.js.map +1 -0
  116. package/dist/parsers/WindowClauseParser.d.ts +9 -0
  117. package/dist/parsers/WindowClauseParser.js +45 -0
  118. package/dist/parsers/WindowClauseParser.js.map +1 -0
  119. package/dist/parsers/WindowExpressionParser.d.ts +12 -0
  120. package/dist/parsers/WindowExpressionParser.js +163 -0
  121. package/dist/parsers/WindowExpressionParser.js.map +1 -0
  122. package/dist/parsers/WithClauseParser.d.ts +9 -0
  123. package/dist/parsers/WithClauseParser.js +57 -0
  124. package/dist/parsers/WithClauseParser.js.map +1 -0
  125. package/dist/tokenReaders/BaseTokenReader.d.ts +43 -0
  126. package/{.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/A32D1DB906C73FA74EF270AAEE165FC0 → dist/tokenReaders/BaseTokenReader.js} +30 -34
  127. package/dist/tokenReaders/BaseTokenReader.js.map +1 -0
  128. package/dist/tokenReaders/CommandTokenReader.d.ts +7 -0
  129. package/dist/tokenReaders/CommandTokenReader.js +145 -0
  130. package/dist/tokenReaders/CommandTokenReader.js.map +1 -0
  131. package/dist/tokenReaders/FunctionTokenReader.d.ts +11 -0
  132. package/dist/tokenReaders/FunctionTokenReader.js +45 -0
  133. package/dist/tokenReaders/FunctionTokenReader.js.map +1 -0
  134. package/dist/tokenReaders/IdentifierTokenReader.d.ts +15 -0
  135. package/dist/tokenReaders/IdentifierTokenReader.js +70 -0
  136. package/dist/tokenReaders/IdentifierTokenReader.js.map +1 -0
  137. package/dist/tokenReaders/LiteralTokenReader.d.ts +23 -0
  138. package/dist/tokenReaders/LiteralTokenReader.js +189 -0
  139. package/dist/tokenReaders/LiteralTokenReader.js.map +1 -0
  140. package/dist/tokenReaders/OperatorTokenReader.d.ts +5 -0
  141. package/dist/tokenReaders/OperatorTokenReader.js +98 -0
  142. package/dist/tokenReaders/OperatorTokenReader.js.map +1 -0
  143. package/dist/tokenReaders/ParameterTokenReader.d.ts +11 -0
  144. package/dist/tokenReaders/ParameterTokenReader.js +44 -0
  145. package/dist/tokenReaders/ParameterTokenReader.js.map +1 -0
  146. package/dist/tokenReaders/StringSpecifierTokenReader.d.ts +8 -0
  147. package/dist/tokenReaders/StringSpecifierTokenReader.js +31 -0
  148. package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
  149. package/dist/tokenReaders/SymbolTokenReader.d.ts +12 -0
  150. package/dist/tokenReaders/SymbolTokenReader.js +35 -0
  151. package/dist/tokenReaders/SymbolTokenReader.js.map +1 -0
  152. package/dist/tokenReaders/TokenReaderManager.d.ts +53 -0
  153. package/dist/tokenReaders/TokenReaderManager.js +110 -0
  154. package/dist/tokenReaders/TokenReaderManager.js.map +1 -0
  155. package/dist/tokenReaders/TypeTokenReader.d.ts +11 -0
  156. package/dist/tokenReaders/TypeTokenReader.js +59 -0
  157. package/dist/tokenReaders/TypeTokenReader.js.map +1 -0
  158. package/dist/transformers/CTEBuilder.d.ts +52 -0
  159. package/dist/transformers/CTEBuilder.js +188 -0
  160. package/dist/transformers/CTEBuilder.js.map +1 -0
  161. package/dist/transformers/CTECollector.d.ts +81 -0
  162. package/dist/transformers/CTECollector.js +384 -0
  163. package/dist/transformers/CTECollector.js.map +1 -0
  164. package/dist/transformers/CTEDisabler.d.ts +77 -0
  165. package/dist/transformers/CTEDisabler.js +325 -0
  166. package/dist/transformers/CTEDisabler.js.map +1 -0
  167. package/dist/transformers/CTEInjector.d.ts +40 -0
  168. package/dist/transformers/CTEInjector.js +83 -0
  169. package/dist/transformers/CTEInjector.js.map +1 -0
  170. package/dist/transformers/CTENormalizer.d.ts +25 -0
  171. package/dist/transformers/CTENormalizer.js +46 -0
  172. package/dist/transformers/CTENormalizer.js.map +1 -0
  173. package/dist/transformers/Formatter.d.ts +82 -0
  174. package/dist/transformers/Formatter.js +467 -0
  175. package/dist/transformers/Formatter.js.map +1 -0
  176. package/dist/transformers/QueryConverter.d.ts +41 -0
  177. package/dist/transformers/QueryConverter.js +119 -0
  178. package/dist/transformers/QueryConverter.js.map +1 -0
  179. package/dist/transformers/SelectValueCollector.d.ts +62 -0
  180. package/dist/transformers/SelectValueCollector.js +249 -0
  181. package/dist/transformers/SelectValueCollector.js.map +1 -0
  182. package/dist/transformers/SelectableColumnCollector.d.ts +70 -0
  183. package/dist/transformers/SelectableColumnCollector.js +308 -0
  184. package/dist/transformers/SelectableColumnCollector.js.map +1 -0
  185. package/dist/transformers/TableSourceCollector.d.ts +92 -0
  186. package/dist/transformers/TableSourceCollector.js +384 -0
  187. package/dist/transformers/TableSourceCollector.js.map +1 -0
  188. package/dist/transformers/UpstreamSelectQueryFinder.d.ts +27 -0
  189. package/dist/transformers/UpstreamSelectQueryFinder.js +129 -0
  190. package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -0
  191. package/dist/utils/charLookupTable.d.ts +11 -0
  192. package/dist/utils/charLookupTable.js +73 -0
  193. package/dist/utils/charLookupTable.js.map +1 -0
  194. package/dist/utils/stringUtils.d.ts +43 -0
  195. package/dist/utils/stringUtils.js +168 -0
  196. package/dist/utils/stringUtils.js.map +1 -0
  197. package/package.json +13 -7
  198. package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/904140CF7EDF0C98AEA45F0D36062FE1 +0 -1
  199. package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/E621434FB1D5415B14FBBCC11967E420 +0 -34
  200. package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/48814CCF3E4E4B44A66AB8BC7D6CF6B6/EF71788BE39818EEA3F0164DC15E1BD7 +0 -170
  201. package/.vs/CopilotSnapshots/02E79E48DFF5234787CB618DE990598A/state.mpack +0 -1
  202. package/.vs/CopilotSnapshots/07B1013C385C5641A5F5100E0751210B/0C73C015B2C859419AFBD08BE1343FC0/BA5D2B145A59265D63FA3B3584344B02 +0 -236
  203. package/.vs/CopilotSnapshots/07B1013C385C5641A5F5100E0751210B/state.mpack +0 -1
  204. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/1F95FD72006ED6E92629CEFD7B2C4FEC +0 -1
  205. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/4CA7B9D3BC2D0A498DC0777EDA3F9B0F +0 -1
  206. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/A9AF50781E77B849AA3262D2738D9338/7B623BFBAEB4EB61A9585F0BC8039B06 +0 -19
  207. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/1F95FD72006ED6E92629CEFD7B2C4FEC +0 -5
  208. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/4CA7B9D3BC2D0A498DC0777EDA3F9B0F +0 -3
  209. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/CA94452964F7A94B8ECE3B54EE21B50F/7B623BFBAEB4EB61A9585F0BC8039B06 +0 -21
  210. package/.vs/CopilotSnapshots/0D03762A9EA0CB4885F2114567F23F93/state.mpack +0 -1
  211. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/41035D2B1D57326B55F66372017E223A +0 -1
  212. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/45EABF6EF6BDFAA58C941A29E98C9C83 +0 -113
  213. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/748E0B8859CA1A5FDCA675C9E53B6D1C +0 -1
  214. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/A250FF4AD59546A65FFDC6AA92A4698E +0 -1
  215. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/23B181EB1228EF40ABCEF51E89FBF6E6/C42432BC73D8AA122171FAB6EEB13CBC +0 -19
  216. package/.vs/CopilotSnapshots/10B71DC3C4C1C04E8602FA06D3925F98/state.mpack +0 -1
  217. package/.vs/CopilotSnapshots/13B40109875D434BB24880356492BE7E/828B96E81CC7014B887AA519767FACC3/437DAEC1EBBAF4F25ABA1B6A25EB6933 +0 -25
  218. package/.vs/CopilotSnapshots/13B40109875D434BB24880356492BE7E/state.mpack +0 -1
  219. package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/904140CF7EDF0C98AEA45F0D36062FE1 +0 -63
  220. package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/DFF70C60F68ECD9A4E4C3C74E4CC4DEE +0 -1
  221. package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/1CDE8BAB21868E4D893E119554BA87E5/EF71788BE39818EEA3F0164DC15E1BD7 +0 -170
  222. package/.vs/CopilotSnapshots/245168908540D646ACBD4FDE8D6DD2D4/state.mpack +0 -1
  223. package/.vs/CopilotSnapshots/3BACC9346120824DB30006E353477163/87C831E9EA1AA249A25A44D08CF8E0B5/EF71788BE39818EEA3F0164DC15E1BD7 +0 -328
  224. package/.vs/CopilotSnapshots/3BACC9346120824DB30006E353477163/state.mpack +0 -1
  225. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/23E7151F0483C5BB5E663F83D4962FD4 +0 -1
  226. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/2D4DCEBC89D52B097AEEEABA23C0EB59 +0 -1
  227. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/7C951A8A572EA5C371FDE657AF968B9C +0 -1
  228. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/A32D1DB906C73FA74EF270AAEE165FC0 +0 -1
  229. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/B692C85119711C76235AA5D78F9F3818 +0 -1
  230. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/E602628EF6D764C2C267810C92906DBA +0 -1
  231. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/14FE66AD0B834E488EECD9594AE72472/E621434FB1D5415B14FBBCC11967E420 +0 -1
  232. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/23E7151F0483C5BB5E663F83D4962FD4 +0 -1
  233. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/2D4DCEBC89D52B097AEEEABA23C0EB59 +0 -1
  234. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/7C951A8A572EA5C371FDE657AF968B9C +0 -1
  235. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/A32D1DB906C73FA74EF270AAEE165FC0 +0 -1
  236. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/B692C85119711C76235AA5D78F9F3818 +0 -1
  237. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/E602628EF6D764C2C267810C92906DBA +0 -1
  238. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/E621434FB1D5415B14FBBCC11967E420 +0 -1
  239. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/9C5A45FA50D5344FBB275F406599FF4E/EF71788BE39818EEA3F0164DC15E1BD7 +0 -489
  240. package/.vs/CopilotSnapshots/3EFABA5D1530804CA04C606F5EFDDC38/state.mpack +0 -1
  241. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/0E5F1D40C0CAE848B8F9457F29A1F3FF/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -42
  242. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/462A64EF41A4BF42A18708B83E02FD6F/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -40
  243. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/90C95C12B91FA142BEF509B6FA329DE5/A3B20E10A19C7CA170132274D2F9312B +0 -9
  244. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/90C95C12B91FA142BEF509B6FA329DE5/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -1
  245. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/AD7513C9BBFE904AAB7F940397B95A99/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -42
  246. package/.vs/CopilotSnapshots/4C16AB71DC018C46A734FBF0BF4AEDD9/state.mpack +0 -1
  247. package/.vs/CopilotSnapshots/50E0417FAD2E524D887CB5763C2FB7B4/63A4C250D9DCE04B9F61D8833B89B5BF/EF71788BE39818EEA3F0164DC15E1BD7 +0 -174
  248. package/.vs/CopilotSnapshots/50E0417FAD2E524D887CB5763C2FB7B4/state.mpack +0 -1
  249. package/.vs/CopilotSnapshots/5EF2507B002AC14EA991043C37C36551/60FF68DE489DAD4FBCBBB54AA3F6A552/EF71788BE39818EEA3F0164DC15E1BD7 +0 -496
  250. package/.vs/CopilotSnapshots/5EF2507B002AC14EA991043C37C36551/state.mpack +0 -1
  251. package/.vs/CopilotSnapshots/6AA7610F1FB2B746821E54C28A8D109B/7FB78C0F8CB04F4AA6AF3315277B80F8/FB35DD13E708043D4CD8ACD54E14708F +0 -1
  252. package/.vs/CopilotSnapshots/6AA7610F1FB2B746821E54C28A8D109B/state.mpack +0 -1
  253. package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/5782E13CAB03A04E9E1EC5692F892170/BA5D2B145A59265D63FA3B3584344B02 +0 -5
  254. package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/5782E13CAB03A04E9E1EC5692F892170/EF71788BE39818EEA3F0164DC15E1BD7 +0 -158
  255. package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/9886598393C89944B51920C01EB650C9/BA5D2B145A59265D63FA3B3584344B02 +0 -35
  256. package/.vs/CopilotSnapshots/7F905F8BAC0DAD49BD507CA45C569AFD/state.mpack +0 -1
  257. package/.vs/CopilotSnapshots/8492D9C7A2D9514DB8A69D304B48BF3C/D2DA3C4E2131E84EA02E321802A65254/EF71788BE39818EEA3F0164DC15E1BD7 +0 -165
  258. package/.vs/CopilotSnapshots/8492D9C7A2D9514DB8A69D304B48BF3C/state.mpack +0 -1
  259. package/.vs/CopilotSnapshots/891A2DC0E5FA424CB8BDDA4FE26ED372/E244D49DDC79514DBA322770B03AE287/1CF9939611B0D194AC81951A171DF046 +0 -43
  260. package/.vs/CopilotSnapshots/891A2DC0E5FA424CB8BDDA4FE26ED372/state.mpack +0 -1
  261. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/11E6D1F8E56D734F99C5216231273E8D/E621434FB1D5415B14FBBCC11967E420 +0 -66
  262. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/24C69A83160FD844B0DEFECF8E1313DB/1CF9939611B0D194AC81951A171DF046 +0 -43
  263. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/24C69A83160FD844B0DEFECF8E1313DB/E621434FB1D5415B14FBBCC11967E420 +0 -53
  264. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/5E6D1BCD7CE81548AB445DE97505DC62/1CF9939611B0D194AC81951A171DF046 +0 -30
  265. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/5E6D1BCD7CE81548AB445DE97505DC62/E621434FB1D5415B14FBBCC11967E420 +0 -53
  266. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/EC4E81E0109C8F4BA1B5D9CFE1C122BC/E621434FB1D5415B14FBBCC11967E420 +0 -54
  267. package/.vs/CopilotSnapshots/8D302F8BAE46F54EA82AE1DED1A5D240/state.mpack +0 -1
  268. package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/6139F888FA743143B8E6C99306A478A6/30F913EA337870677E7C575773ECF531 +0 -130
  269. package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/F21743E379F9C1439F6A6405A289AA99/30F913EA337870677E7C575773ECF531 +0 -160
  270. package/.vs/CopilotSnapshots/90C28D332F9B2949810126139FCA2640/state.mpack +0 -1
  271. package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/2E2EFE66C5E05C4B809986E9B23D5409/45EABF6EF6BDFAA58C941A29E98C9C83 +0 -113
  272. package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/2E2EFE66C5E05C4B809986E9B23D5409/FB35DD13E708043D4CD8ACD54E14708F +0 -2
  273. package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/BE46916E3A8F2C4284792B951B674907/FB35DD13E708043D4CD8ACD54E14708F +0 -5
  274. package/.vs/CopilotSnapshots/99E22E75C8AEDF4DB3A668A9ADF0BC43/state.mpack +0 -1
  275. package/.vs/CopilotSnapshots/A6D99EA2D3819F45AD8087D7487F9318/state.mpack +0 -1
  276. package/.vs/CopilotSnapshots/A78C77F7A237704D95BCFE1BBC39FB0F/68BA9941941DC244BC799D89DB2BF86E/7C951A8A572EA5C371FDE657AF968B9C +0 -96
  277. package/.vs/CopilotSnapshots/A78C77F7A237704D95BCFE1BBC39FB0F/state.mpack +0 -1
  278. package/.vs/CopilotSnapshots/AD2203F1B9FECE44BB6D5DC5D83E87AA/734AB1B2974F9545B7F12AAA5842524B/840203FFA9CCF5B33DFD5C7CC5B13527 +0 -125
  279. package/.vs/CopilotSnapshots/AD2203F1B9FECE44BB6D5DC5D83E87AA/state.mpack +0 -1
  280. package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/89CF3F527D0687479D14274E8CDF3DFF/1CF9939611B0D194AC81951A171DF046 +0 -30
  281. package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/89CF3F527D0687479D14274E8CDF3DFF/BA5D2B145A59265D63FA3B3584344B02 +0 -158
  282. package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/E495EBF64DC77A4BBD470B92DB0391C4/1CF9939611B0D194AC81951A171DF046 +0 -30
  283. package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/E495EBF64DC77A4BBD470B92DB0391C4/BA5D2B145A59265D63FA3B3584344B02 +0 -67
  284. package/.vs/CopilotSnapshots/AEC950C2FAD20147AEE8E325E2CA0A78/state.mpack +0 -1
  285. package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/1FCDCC65B992954DB78BD1F46892312B/44EB81A1663981E3F52FFFECE3A2918E +0 -143
  286. package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/1FCDCC65B992954DB78BD1F46892312B/E602628EF6D764C2C267810C92906DBA +0 -253
  287. package/.vs/CopilotSnapshots/AF947096A34634478C5D084B8442CD81/state.mpack +0 -1
  288. package/.vs/CopilotSnapshots/B1DED422A45D5740BA4EE745C04B2B0B/226F822A22D6BD44BCF56BAA47FA274C/EF71788BE39818EEA3F0164DC15E1BD7 +0 -174
  289. package/.vs/CopilotSnapshots/B1DED422A45D5740BA4EE745C04B2B0B/state.mpack +0 -1
  290. package/.vs/CopilotSnapshots/B5DD5E50ACD0FD4998564F0FDE7FAEE0/97908D1D83AD2D4EA7082388DE07CBB4/44EB81A1663981E3F52FFFECE3A2918E +0 -148
  291. package/.vs/CopilotSnapshots/B5DD5E50ACD0FD4998564F0FDE7FAEE0/state.mpack +0 -1
  292. package/.vs/CopilotSnapshots/B8ADCAC0C19DB14FB8388BA59A86BC74/7ED3F1557FD7BE4DBEAF9B59FD442925/44EB81A1663981E3F52FFFECE3A2918E +0 -152
  293. package/.vs/CopilotSnapshots/B8ADCAC0C19DB14FB8388BA59A86BC74/state.mpack +0 -1
  294. package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/0130610530354840BB06BF4F4E744242/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -138
  295. package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/5F1C58CEFBAF1B4E80C4CF38B83A0A5F/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -129
  296. package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/BDC3D099FCCCC147848630670EED45CF/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -139
  297. package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/D9E2B1CDD1E2BB468E0703BEF6706FF6/D03CD05B4F5C8B7C8CDF0B5E1961B3CA +0 -139
  298. package/.vs/CopilotSnapshots/BDFF50BBC1A93747A0001969C3BD195F/state.mpack +0 -1
  299. package/.vs/CopilotSnapshots/C1E2C1A9C1DCFA46B1D5F1C6F36A152D/BC91C0FD38D8694BB992A8DEC1833670/148399016C7971F5592DAADBB9523118 +0 -120
  300. package/.vs/CopilotSnapshots/C1E2C1A9C1DCFA46B1D5F1C6F36A152D/state.mpack +0 -1
  301. package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/6C0950E97063C547A72D737E618436B0/1CF9939611B0D194AC81951A171DF046 +0 -9
  302. package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/6C0950E97063C547A72D737E618436B0/DFF70C60F68ECD9A4E4C3C74E4CC4DEE +0 -84
  303. package/.vs/CopilotSnapshots/C4D8E85893425E4F86F18850F5CA5C08/state.mpack +0 -1
  304. package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/03EA1376F04C0D468FD0851119159D34/44EB81A1663981E3F52FFFECE3A2918E +0 -148
  305. package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/03EA1376F04C0D468FD0851119159D34/E602628EF6D764C2C267810C92906DBA +0 -265
  306. package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/6887503C15557349842029E58C9C0D11/44EB81A1663981E3F52FFFECE3A2918E +0 -152
  307. package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/6887503C15557349842029E58C9C0D11/E602628EF6D764C2C267810C92906DBA +0 -265
  308. package/.vs/CopilotSnapshots/C5C3CA4C37B14A47B6BC753D09F69117/state.mpack +0 -1
  309. package/.vs/CopilotSnapshots/C7190BBC8D95D44F9CF8E65E3E8C9CFD/4B6D07592F8EDC4AA3FF742B1F9531CC/1B80EB15A2FEBEC11C8210C5461F8DB7 +0 -43
  310. package/.vs/CopilotSnapshots/C7190BBC8D95D44F9CF8E65E3E8C9CFD/state.mpack +0 -1
  311. package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/2071ADB146D8F7499419123B2A595A41/03E00441128DC70FFEA043158417AC9A +0 -15
  312. package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/6ECBF707FE2A88418EA1649CE46068D5/03E00441128DC70FFEA043158417AC9A +0 -1
  313. package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/70BAB1D82B755F47A2351CA905ACC0F1/03E00441128DC70FFEA043158417AC9A +0 -49
  314. package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/99DDFADAEC5CA14D92CC470523A11743/03E00441128DC70FFEA043158417AC9A +0 -39
  315. package/.vs/CopilotSnapshots/C79D12964917E44F9A5BB9D8FA725A0C/state.mpack +0 -1
  316. package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/2445F4111C26EB4DA5404F930E140F56/840203FFA9CCF5B33DFD5C7CC5B13527 +0 -6
  317. package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/2445F4111C26EB4DA5404F930E140F56/C27E5C1787B7957BF6F0C3D417890141 +0 -1
  318. package/.vs/CopilotSnapshots/D533D78C39683A4188A2CEC902BC03CD/state.mpack +0 -1
  319. package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/5FC7C36C7769414C80BFF27A07BB5063/BE400B34D9700403D2BA3A1AA6B1EF1D +0 -15
  320. package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/A4DD9B92084D8E48A95435EDB2B14545/86848C7099AD75EE4E8F10E066F49671 +0 -15
  321. package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/A4DD9B92084D8E48A95435EDB2B14545/BE400B34D9700403D2BA3A1AA6B1EF1D +0 -15
  322. package/.vs/CopilotSnapshots/DCAA5A718EC8304685D14C52356D80E0/state.mpack +0 -1
  323. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/7C951A8A572EA5C371FDE657AF968B9C +0 -96
  324. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/B692C85119711C76235AA5D78F9F3818 +0 -73
  325. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/5F324CB20D1B5045A13090FA9D177B74/EF71788BE39818EEA3F0164DC15E1BD7 +0 -182
  326. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/C1287B2893D30D40A46C30DC2CE05178/7C951A8A572EA5C371FDE657AF968B9C +0 -96
  327. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/C1287B2893D30D40A46C30DC2CE05178/B692C85119711C76235AA5D78F9F3818 +0 -98
  328. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/7C951A8A572EA5C371FDE657AF968B9C +0 -96
  329. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/B692C85119711C76235AA5D78F9F3818 +0 -21
  330. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/CA6304DFE7764A4C87ACE5816CDB7CD9/EF71788BE39818EEA3F0164DC15E1BD7 +0 -176
  331. package/.vs/CopilotSnapshots/DCF62F751B748642A0BF5D5125AB6769/state.mpack +0 -1
  332. package/.vs/VSWorkspaceState.json +0 -6
  333. package/.vs/slnx.sqlite +0 -0
  334. package/.vs/ts-sample/CopilotIndices/17.13.433.20974/CodeChunks.db +0 -0
  335. package/.vs/ts-sample/CopilotIndices/17.13.433.20974/SemanticSymbols.db +0 -0
  336. package/.vs/ts-sample/CopilotIndices/17.13.439.2385/CodeChunks.db +0 -0
  337. package/.vs/ts-sample/CopilotIndices/17.13.439.2385/SemanticSymbols.db +0 -0
  338. package/.vs/ts-sample/CopilotIndices/17.13.441.19478/CodeChunks.db +0 -0
  339. package/.vs/ts-sample/CopilotIndices/17.13.441.19478/SemanticSymbols.db +0 -0
  340. package/.vs/ts-sample/FileContentIndex/2fa9d8cc-9158-496d-aa9b-3a471d46a157.vsidx +0 -0
  341. package/.vs/ts-sample/FileContentIndex/5530f45b-244e-4271-b3e3-d8250f03da64.vsidx +0 -0
  342. package/.vs/ts-sample/FileContentIndex/75f95b5d-c8f7-49ca-a3d7-d1d8f63db437.vsidx +0 -0
  343. package/.vs/ts-sample/FileContentIndex/abb2aeeb-f62a-4ca7-bfbf-7a1eada625a5.vsidx +0 -0
  344. package/.vs/ts-sample/FileContentIndex/fc749b54-0f95-45f6-ac75-a8ab3409a5ce.vsidx +0 -0
  345. package/.vs/ts-sample/config/applicationhost.config +0 -1026
  346. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/0901b413-5d87-4b43-b248-80356492be7e +0 -0
  347. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/0f61a76a-b21f-46b7-821e-54c28a8d109b +0 -0
  348. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/101aef14-dd28-4de3-b2eb-e0b26d587b3a +0 -0
  349. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/22d4deb1-5da4-4057-ba4e-e745c04b2b0b +0 -0
  350. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/2a76030d-a09e-48cb-85f2-114567f23f93 +0 -0
  351. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/2c6d08ca-cb98-4233-8f7c-011c3b409234 +0 -0
  352. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/338dc290-9b2f-4929-8101-26139fca2640 +0 -0
  353. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/34c9ac3b-2061-4d82-b300-06e353477163 +0 -0
  354. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/3c01b107-5c38-4156-a5f5-100e0751210b +0 -0
  355. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/489ee702-f5df-4723-87cb-618de990598a +0 -0
  356. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/4ccac3c5-b137-474a-b6bc-753d09f69117 +0 -0
  357. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/505eddb5-d0ac-49fd-9856-4f0fde7faee0 +0 -0
  358. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/58e8d8c4-4293-4f5e-86f1-8850f5ca5c08 +0 -0
  359. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/5dbafa3e-3015-4c80-a04c-606f5efddc38 +0 -0
  360. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/5f29f527-e43a-4661-b60e-ff772041f413 +0 -0
  361. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/6248dfd7-38ae-4fa6-9176-2fdc0694c3e8 +0 -0
  362. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/66fcbd64-32dc-436d-80e6-7435a1a3ecf1 +0 -0
  363. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/6f9ad733-d555-4d2c-b073-eb6a1aada347 +0 -0
  364. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/715aaadc-c88e-4630-85d1-4c52356d80e0 +0 -0
  365. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/71ab164c-01dc-468c-a734-fbf0bf4aedd9 +0 -0
  366. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/752ee299-aec8-4ddf-b3a6-68a9adf0bc43 +0 -0
  367. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/752ff6dc-741b-4286-a0bf-5d5125ab6769 +0 -0
  368. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/7b50f25e-2a00-4ec1-a991-043c37c36551 +0 -0
  369. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/7f41e050-2ead-4d52-887c-b5763c2fb7b4 +0 -0
  370. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/85b50c9e-8895-4085-89c1-934ad2704744 +0 -0
  371. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8b2f308d-46ae-4ef5-a82a-e1ded1a5d240 +0 -0
  372. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8b5f907f-0dac-49ad-bd50-7ca45c569afd +0 -0
  373. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/8cd733d5-6839-413a-88a2-cec902bc03cd +0 -0
  374. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/90685124-4085-46d6-acbd-4fde8d6dd2d4 +0 -0
  375. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/96129dc7-1749-4fe4-9a5b-b9d8fa725a0c +0 -0
  376. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/967094af-46a3-4734-8c5d-084b8442cd81 +0 -0
  377. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/a29ed9a6-81d3-459f-ad80-87d7487f9318 +0 -0
  378. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/a9c1e2c1-dcc1-46fa-b1d5-f1c6f36a152d +0 -0
  379. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/badc76f4-d284-4b6c-94e9-abdbc74de540 +0 -0
  380. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/bb50ffbd-a9c1-4737-a000-1969c3bd195f +0 -0
  381. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/bc0b19c7-958d-4fd4-9cf8-e65e3e8c9cfd +0 -0
  382. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c02d1a89-fae5-4c42-b8bd-da4fe26ed372 +0 -0
  383. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c0caadb8-9dc1-4fb1-b838-8ba59a86bc74 +0 -0
  384. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c250c9ae-d2fa-4701-aee8-e325e2ca0a78 +0 -0
  385. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c31db710-c1c4-4ec0-8602-fa06d3925f98 +0 -0
  386. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/c7d99284-d9a2-4d51-b8a6-9d304b48bf3c +0 -0
  387. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/ddd1fab4-4016-4cfc-bf9f-f4a85bdfc112 +0 -0
  388. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/f10322ad-feb9-44ce-bb6d-5dc5d83e87aa +0 -0
  389. package/.vs/ts-sample/copilot-chat/3c67db7d/sessions/f7778ca7-37a2-4d70-95bc-fe1bbc39fb0f +0 -0
  390. package/.vs/ts-sample/v17/.suo +0 -0
  391. package/.vs/ts-sample/v17/.wsuo +0 -0
  392. package/.vs/ts-sample/v17/DocumentLayout.backup.json +0 -425
  393. package/.vs/ts-sample/v17/DocumentLayout.json +0 -423
  394. package/.vs/ts-sample/v17/TestStore/0/000.testlog +0 -0
  395. package/.vs/ts-sample/v17/TestStore/0/testlog.manifest +0 -0
  396. package/dist/tsconfig.tsbuildinfo +0 -1
  397. package/dist/vitest.config.js +0 -15
  398. package/dist/vitest.config.js.map +0 -1
package/README.md CHANGED
@@ -1,250 +1,222 @@
1
1
  # rawsql-ts
2
2
 
3
- A TypeScript SQL parser project that performs AST (Abstract Syntax Tree) analysis.
3
+ ![No external dependencies](https://img.shields.io/badge/dependencies-none-brightgreen)
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 main project:
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
- Build the project:
26
+ Basic usage example:
16
27
 
17
- ```bash
18
- npm run build
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
- Run tests:
40
+ ---
22
41
 
23
- ```bash
24
- npm test
25
- ```
42
+ ## 🧩 Parsing Features
26
43
 
27
- ## Supported Features
44
+ rawsql-ts provides the following main parser class for converting SQL text into an Abstract Syntax Tree (AST):
28
45
 
29
- **Main features included in this parser:**
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
- - **CTE Support**: Full Common Table Expression parsing
32
- - PostgreSQL `MATERIALIZED`/`NOT MATERIALIZED` options
33
- - Nested and recursive CTEs
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
- ## ⚠️ Important Notes
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
- **Under development with the following limitations:**
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
- - **PostgreSQL Only**: Only PostgreSQL syntax is currently supported
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
- ## Transformer Utilities
68
+ ## Core SQL Query Classes
52
69
 
53
- rawsql-ts includes powerful transformer utilities to analyze and transform SQL ASTs. These utilities let you format, analyze, and extract information from SQL queries in a super flexible way!
70
+ The following classes are the primary building blocks for representing and manipulating SQL queries in rawsql-ts:
54
71
 
55
- ### Formatter
72
+ ### SimpleSelectQuery
56
73
 
57
- The Formatter transforms SQL ASTs into clean, standardized SQL text output. It handles all SQL components, ensuring proper escaping and consistent formatting regardless of the complexity of your queries.
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
- ```typescript
60
- import { SelectQueryParser } from './parsers/SelectQueryParser';
61
- import { Formatter } from './transformers/Formatter';
62
-
63
- // Example complex query with subquery and functions
64
- const sql = `
65
- SELECT
66
- p.product_id
67
- , p.name
68
- , SUM(o.quantity) AS total_ordered
69
- , CASE
70
- WHEN SUM(o.quantity) > 1000 THEN 'High Demand'
71
- WHEN SUM(o.quantity) > 500 THEN 'Medium Demand'
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
- console.log(formattedSql);
102
- // Outputs clean, consistently formatted SQL with proper identifiers
103
- ```
90
+ ### BinarySelectQuery
104
91
 
105
- ### SelectValueCollector
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
- The SelectValueCollector extracts all column items from a SELECT clause, including their aliases and expressions. It provides access to both column names and their corresponding value expressions, making it perfect for analyzing the output structure of SQL queries. For information on wildcard resolution (like `*` or `table.*`), see the Wildcard Resolution section below.
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
- ```typescript
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
- // Output column names
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
- // Output column expressions to show full value components
147
- console.log(items.map(item => formatter.visit(item.value)));
148
- // ["id", "name", "price * quantity", "(SELECT COUNT(*) FROM orders AS o WHERE o.customer_id = c.id)"]
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
- ### SelectableColumnCollector
116
+ ---
152
117
 
153
- The SelectableColumnCollector identifies all column references throughout a query that could potentially be included in a SELECT clause. It scans the entire query structure and extracts columns with their full context, making it ideal for query builders. For information on wildcard resolution (like `*` or `table.*`), see the Wildcard Resolution section below.
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 './parsers/SelectQueryParser';
157
- import { SelectableColumnCollector } from './transformers/SelectableColumnCollector';
158
- import { Formatter } from './transformers/Formatter';
159
-
160
- // Example query
161
- const sql = `
162
- SELECT
163
- u.id
164
- , u.name
165
- FROM
166
- users AS u
167
- JOIN profiles AS p ON u.id = p.user_id
168
- WHERE
169
- u.active = TRUE
170
- AND p.verified = TRUE`;
171
-
172
- const query = SelectQueryParser.parseFromText(sql);
173
- const collector = new SelectableColumnCollector();
174
-
175
- // Collect all column references from data sources
176
- collector.visit(query);
177
- const columns = collector.collect(query);
178
-
179
- // Format column references for display
180
- const formatter = new Formatter();
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
- ### Wildcard Resolution
181
+ ---
192
182
 
193
- The wildcard resolution feature enhances both collectors by supporting the expansion of wildcard expressions (`*` and `table.*`). Since SQL AST analysis alone cannot determine actual column names from wildcards, this feature allows you to provide table structure information through a custom resolver.
183
+ ## Practical Example: Table Join
194
184
 
195
- To use this feature, simply provide a `TableColumnResolver` function when creating a collector. This resolver maps table names to their column definitions, allowing the collectors to fully expand wildcard expressions into individual columns with proper context.
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 './parsers/SelectQueryParser';
199
- import { SelectValueCollector } from './transformers/SelectValueCollector';
200
- import { Formatter } from './transformers/Formatter';
201
-
202
- // Define a function to resolve column names from table names
203
- const tableColumnResolver = (tableName: string): string[] => {
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
- // Show full reference expressions for each column
238
- console.log(items.map(item => formatter.visit(item.value)));
239
- // ["u.id", "u.name", "u.email", "u.created_at", "p.title", "p.content"]
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
- This capability allows you to parse queries containing wildcards and understand exactly which columns are being referenced. It also supports expansion of wildcards from multiple tables and subqueries.
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
- This benchmark evaluates the SQL parsing and formatting performance of `rawsql-ts` against popular libraries: `sql-formatter` and `node-sql-parser`. We test queries of varying complexity:
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**: Very complex query with multiple `CTE`s, subqueries, and window functions (~230 tokens)
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` **consistently outperforms** both `node-sql-parser` and `sql-formatter` in all tested cases.
304
- - **4x faster** than `node-sql-parser`.
305
- - **9-10x faster** than `sql-formatter`.
306
- - Maintains **full SQL parsing capabilities** while significantly improving performance.
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.
@@ -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
+ }