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
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryConverter = void 0;
4
+ const Clause_1 = require("../models/Clause");
5
+ const SelectQuery_1 = require("../models/SelectQuery");
6
+ const ValueComponent_1 = require("../models/ValueComponent");
7
+ const CTENormalizer_1 = require("./CTENormalizer");
8
+ /**
9
+ * Converts various SELECT query types to a standard SimpleSelectQuery format.
10
+ * - SimpleSelectQuery is returned as-is
11
+ * - BinarySelectQuery (UNION, etc.) is wrapped in a subquery: SELECT * FROM (original) AS bq
12
+ * - ValuesQuery is wrapped with sequentially numbered columns: SELECT * FROM (original) AS vq(column1, column2, ...)
13
+ */
14
+ class QueryConverter {
15
+ /**
16
+ * Private constructor to prevent instantiation of this utility class.
17
+ */
18
+ constructor() {
19
+ // This class is not meant to be instantiated.
20
+ }
21
+ /**
22
+ * Converts a SELECT query to a standard SimpleSelectQuery form.
23
+ *
24
+ * @param query The query to convert
25
+ * @returns A SimpleSelectQuery
26
+ */
27
+ static toSimple(query) {
28
+ if (query instanceof SelectQuery_1.SimpleSelectQuery) {
29
+ // Already a simple query, just return it
30
+ return query;
31
+ }
32
+ else if (query instanceof SelectQuery_1.BinarySelectQuery) {
33
+ // Convert binary queries to a simple query
34
+ return QueryConverter.toSimpleBinaryQuery(query);
35
+ }
36
+ else if (query instanceof SelectQuery_1.ValuesQuery) {
37
+ // Convert VALUES queries to a simple query
38
+ return QueryConverter.toSimpleValuesQuery(query);
39
+ }
40
+ // Should not reach here with current type system
41
+ throw new Error("Unsupported query type for toSimple");
42
+ }
43
+ /**
44
+ * Converts a BinarySelectQuery (UNION, EXCEPT, etc.) to a SimpleSelectQuery
45
+ * by wrapping it in SELECT * FROM (original) AS bq
46
+ *
47
+ * @param query The binary query to convert
48
+ * @returns A SimpleSelectQuery
49
+ */
50
+ static toSimpleBinaryQuery(query) {
51
+ // Create a subquery source from the binary query
52
+ const subQuerySource = new Clause_1.SubQuerySource(query);
53
+ // Create a source expression with alias
54
+ const sourceExpr = new Clause_1.SourceExpression(subQuerySource, new Clause_1.SourceAliasExpression("bq", null));
55
+ // Create FROM clause with the source expression
56
+ const fromClause = new Clause_1.FromClause(sourceExpr, null);
57
+ // Create SELECT clause with * (all columns)
58
+ const selectClause = QueryConverter.createSelectAllClause();
59
+ // Create the final simple select query
60
+ const q = new SelectQuery_1.SimpleSelectQuery(null, // No WITH clause
61
+ selectClause, fromClause, null, // No WHERE
62
+ null, // No GROUP BY
63
+ null, // No HAVING
64
+ null, // No ORDER BY
65
+ null, // No WINDOW
66
+ null, // No LIMIT
67
+ null // No FOR
68
+ );
69
+ return CTENormalizer_1.CTENormalizer.normalize(q);
70
+ }
71
+ /**
72
+ * Converts a ValuesQuery to a SimpleSelectQuery with sequentially numbered columns
73
+ *
74
+ * @param query The VALUES query to convert
75
+ * @returns A SimpleSelectQuery
76
+ */
77
+ static toSimpleValuesQuery(query) {
78
+ // Figure out how many columns are in the VALUES clause
79
+ // by checking the first tuple (if available)
80
+ const columnCount = query.tuples.length > 0 ? query.tuples[0].values.length : 0;
81
+ // Generate column names (column1, column2, ...)
82
+ const columnNames = [];
83
+ for (let i = 1; i <= columnCount; i++) {
84
+ columnNames.push(`column${i}`);
85
+ }
86
+ // Create a subquery source from the VALUES query
87
+ const subQuerySource = new Clause_1.SubQuerySource(query);
88
+ const sourceExpr = new Clause_1.SourceExpression(subQuerySource, new Clause_1.SourceAliasExpression("vq", columnNames));
89
+ // Create FROM clause with the source expression
90
+ const fromClause = new Clause_1.FromClause(sourceExpr, null);
91
+ // Create SELECT clause with * (all columns)
92
+ const selectClause = QueryConverter.createSelectAllClause();
93
+ // Create the final simple select query
94
+ return new SelectQuery_1.SimpleSelectQuery(null, // No WITH clause
95
+ selectClause, fromClause, null, // No WHERE
96
+ null, // No GROUP BY
97
+ null, // No HAVING
98
+ null, // No ORDER BY
99
+ null, // No WINDOW
100
+ null, // No LIMIT
101
+ null // No FOR
102
+ );
103
+ }
104
+ /**
105
+ * Creates a SELECT clause with a single * (all columns) item
106
+ *
107
+ * @returns A SELECT clause with *
108
+ */
109
+ static createSelectAllClause() {
110
+ // Create a column reference for *
111
+ const columnRef = new ValueComponent_1.ColumnReference(null, "*");
112
+ // Create a SelectItem with the column reference
113
+ const selectItem = new Clause_1.SelectItem(columnRef, "*");
114
+ // Create and return a SelectClause with the item
115
+ return new Clause_1.SelectClause([selectItem], null);
116
+ }
117
+ }
118
+ exports.QueryConverter = QueryConverter;
119
+ //# sourceMappingURL=QueryConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryConverter.js","sourceRoot":"","sources":["../../src/transformers/QueryConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { CommonTable } from "../models/Clause";
2
+ import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
3
+ import { ValueComponent } from "../models/ValueComponent";
4
+ /**
5
+ * Type definition for a function that resolves column names from a table name
6
+ */
7
+ export type TableColumnResolver = (tableName: string) => string[];
8
+ /**
9
+ * A visitor that collects all SelectItem instances from a SQL query structure.
10
+ * This visitor scans through select clauses and collects all the SelectItem objects.
11
+ * It can also resolve wildcard selectors (table.* or *) using a provided table column resolver.
12
+ */
13
+ export declare class SelectValueCollector implements SqlComponentVisitor<void> {
14
+ private handlers;
15
+ private selectValues;
16
+ private visitedNodes;
17
+ private isRootVisit;
18
+ private tableColumnResolver?;
19
+ private commonTableCollector;
20
+ private commonTables;
21
+ initialCommonTables: CommonTable[] | null;
22
+ constructor(tableColumnResolver?: TableColumnResolver, initialCommonTables?: CommonTable[] | null);
23
+ /**
24
+ * Get all collected SelectItems as an array of objects with name and value properties
25
+ * @returns An array of objects with name (string) and value (ValueComponent) properties
26
+ */
27
+ getValues(): {
28
+ name: string;
29
+ value: ValueComponent;
30
+ }[];
31
+ /**
32
+ * Reset the collection of SelectItems
33
+ */
34
+ private reset;
35
+ collect(arg: SqlComponent): {
36
+ name: string;
37
+ value: ValueComponent;
38
+ }[];
39
+ /**
40
+ * Main entry point for the visitor pattern.
41
+ * Implements the shallow visit pattern to distinguish between root and recursive visits.
42
+ */
43
+ visit(arg: SqlComponent): void;
44
+ /**
45
+ * Internal visit method used for all nodes.
46
+ * This separates the visit flag management from the actual node visitation logic.
47
+ */
48
+ private visitNode;
49
+ /**
50
+ * Process a SimpleSelectQuery to collect data and store the current context
51
+ */
52
+ private visitSimpleSelectQuery;
53
+ private processFromClause;
54
+ private processJoinClause;
55
+ private processSourceExpression;
56
+ private visitSelectClause;
57
+ private processSelectItem;
58
+ private processValueComponent;
59
+ private visitSourceExpression;
60
+ private visitFromClause;
61
+ private addSelectValueAsUnique;
62
+ }
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectValueCollector = void 0;
4
+ const Clause_1 = require("../models/Clause");
5
+ const SelectQuery_1 = require("../models/SelectQuery");
6
+ const ValueComponent_1 = require("../models/ValueComponent");
7
+ const CTECollector_1 = require("./CTECollector");
8
+ /**
9
+ * A visitor that collects all SelectItem instances from a SQL query structure.
10
+ * This visitor scans through select clauses and collects all the SelectItem objects.
11
+ * It can also resolve wildcard selectors (table.* or *) using a provided table column resolver.
12
+ */
13
+ class SelectValueCollector {
14
+ constructor(tableColumnResolver, initialCommonTables = null) {
15
+ this.selectValues = [];
16
+ this.visitedNodes = new Set();
17
+ this.isRootVisit = true;
18
+ this.tableColumnResolver = tableColumnResolver;
19
+ this.commonTableCollector = new CTECollector_1.CTECollector();
20
+ this.commonTables = [];
21
+ this.initialCommonTables = initialCommonTables;
22
+ this.handlers = new Map();
23
+ this.handlers.set(SelectQuery_1.SimpleSelectQuery.kind, (expr) => this.visitSimpleSelectQuery(expr));
24
+ this.handlers.set(Clause_1.SelectClause.kind, (expr) => this.visitSelectClause(expr));
25
+ this.handlers.set(Clause_1.SourceExpression.kind, (expr) => this.visitSourceExpression(expr));
26
+ this.handlers.set(Clause_1.FromClause.kind, (expr) => this.visitFromClause(expr));
27
+ }
28
+ /**
29
+ * Get all collected SelectItems as an array of objects with name and value properties
30
+ * @returns An array of objects with name (string) and value (ValueComponent) properties
31
+ */
32
+ getValues() {
33
+ return this.selectValues;
34
+ }
35
+ /**
36
+ * Reset the collection of SelectItems
37
+ */
38
+ reset() {
39
+ this.selectValues = [];
40
+ this.visitedNodes.clear();
41
+ if (this.initialCommonTables) {
42
+ this.commonTables = this.initialCommonTables;
43
+ }
44
+ else {
45
+ this.commonTables = [];
46
+ }
47
+ }
48
+ collect(arg) {
49
+ // Visit the component and return the collected select items
50
+ this.visit(arg);
51
+ const items = this.getValues();
52
+ this.reset(); // Reset after collection
53
+ return items;
54
+ }
55
+ /**
56
+ * Main entry point for the visitor pattern.
57
+ * Implements the shallow visit pattern to distinguish between root and recursive visits.
58
+ */
59
+ visit(arg) {
60
+ // If not a root visit, just visit the node and return
61
+ if (!this.isRootVisit) {
62
+ this.visitNode(arg);
63
+ return;
64
+ }
65
+ // If this is a root visit, we need to reset the state
66
+ this.reset();
67
+ this.isRootVisit = false;
68
+ try {
69
+ this.visitNode(arg);
70
+ }
71
+ finally {
72
+ // Regardless of success or failure, reset the root visit flag
73
+ this.isRootVisit = true;
74
+ }
75
+ }
76
+ /**
77
+ * Internal visit method used for all nodes.
78
+ * This separates the visit flag management from the actual node visitation logic.
79
+ */
80
+ visitNode(arg) {
81
+ // Skip if we've already visited this node to prevent infinite recursion
82
+ if (this.visitedNodes.has(arg)) {
83
+ return;
84
+ }
85
+ // Mark as visited
86
+ this.visitedNodes.add(arg);
87
+ const handler = this.handlers.get(arg.getKind());
88
+ if (handler) {
89
+ handler(arg);
90
+ return;
91
+ }
92
+ }
93
+ /**
94
+ * Process a SimpleSelectQuery to collect data and store the current context
95
+ */
96
+ visitSimpleSelectQuery(query) {
97
+ if (this.commonTables.length === 0 && this.initialCommonTables === null) {
98
+ this.commonTables = this.commonTableCollector.collect(query);
99
+ }
100
+ if (query.selectClause) {
101
+ query.selectClause.accept(this);
102
+ }
103
+ // no wildcard
104
+ const wildcards = this.selectValues.filter(item => item.name === '*');
105
+ if (wildcards.length === 0) {
106
+ return;
107
+ }
108
+ // full wildcard
109
+ if (this.selectValues.some(item => item.value instanceof ValueComponent_1.ColumnReference && item.value.namespaces === null)) {
110
+ if (query.fromClause) {
111
+ this.processFromClause(query.fromClause, true);
112
+ }
113
+ // remove wildcard
114
+ this.selectValues = this.selectValues.filter(item => item.name !== '*');
115
+ return;
116
+ }
117
+ ;
118
+ // table wildcard
119
+ const wildSourceNames = wildcards.filter(item => item.value instanceof ValueComponent_1.ColumnReference && item.value.namespaces)
120
+ .map(item => item.value.getNamespace());
121
+ if (query.fromClause) {
122
+ const fromSourceName = query.fromClause.getAliasSourceName();
123
+ if (fromSourceName && wildSourceNames.includes(fromSourceName)) {
124
+ this.processFromClause(query.fromClause, false);
125
+ }
126
+ if (query.fromClause.joins) {
127
+ for (const join of query.fromClause.joins) {
128
+ const joinSourceName = join.getAliasSourceName();
129
+ if (joinSourceName && wildSourceNames.includes(joinSourceName)) {
130
+ this.processJoinClause(join);
131
+ }
132
+ }
133
+ }
134
+ }
135
+ // remove wildcard
136
+ this.selectValues = this.selectValues.filter(item => item.name !== '*');
137
+ return;
138
+ }
139
+ processFromClause(clause, joinCascade) {
140
+ if (clause) {
141
+ const fromSourceName = clause.getAliasSourceName();
142
+ this.processSourceExpression(fromSourceName, clause.source);
143
+ if (clause.joins && joinCascade) {
144
+ for (const join of clause.joins) {
145
+ this.processJoinClause(join);
146
+ }
147
+ }
148
+ }
149
+ return;
150
+ }
151
+ processJoinClause(clause) {
152
+ const sourceName = clause.getAliasSourceName();
153
+ this.processSourceExpression(sourceName, clause.source);
154
+ }
155
+ processSourceExpression(sourceName, source) {
156
+ // check common table
157
+ const commonTable = this.commonTables.find(item => item.aliasExpression.table.name === sourceName);
158
+ if (commonTable) {
159
+ // Exclude this CTE from consideration to prevent self-reference
160
+ const innerCommonTables = this.commonTables.filter(item => item.aliasExpression.table.name !== sourceName);
161
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, innerCommonTables);
162
+ const innerSelected = innerCollector.collect(commonTable.query);
163
+ innerSelected.forEach(item => {
164
+ this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
165
+ });
166
+ }
167
+ else {
168
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables);
169
+ const innerSelected = innerCollector.collect(source);
170
+ innerSelected.forEach(item => {
171
+ this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
172
+ });
173
+ }
174
+ }
175
+ visitSelectClause(clause) {
176
+ for (const item of clause.items) {
177
+ if (item instanceof Clause_1.SelectItem) {
178
+ this.processSelectItem(item); // Process SelectItem
179
+ }
180
+ else {
181
+ this.processValueComponent(item); // Process ValueComponent
182
+ }
183
+ }
184
+ }
185
+ processSelectItem(item) {
186
+ this.addSelectValueAsUnique(item.identifier.name, item.value);
187
+ }
188
+ processValueComponent(value) {
189
+ if (value instanceof ValueComponent_1.ColumnReference) { // Handle column reference
190
+ // columnName can be '*'
191
+ const columnName = value.column.name;
192
+ if (columnName === '*') {
193
+ // Force add without checking duplicates
194
+ this.selectValues.push({ name: columnName, value: value });
195
+ }
196
+ else {
197
+ // Add with duplicate checking
198
+ this.addSelectValueAsUnique(columnName, value);
199
+ }
200
+ }
201
+ }
202
+ visitSourceExpression(source) {
203
+ // Column aliases have the highest priority if present
204
+ // For physical tables, use external function to get column names
205
+ // For subqueries, instantiate a new collector and get column names from the subquery
206
+ // For parenthesized expressions, treat them the same as subqueries
207
+ if (source.aliasExpression && source.aliasExpression.columns) {
208
+ const sourceName = source.getAliasName();
209
+ source.aliasExpression.columns.forEach(column => {
210
+ this.addSelectValueAsUnique(column.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, column.name));
211
+ });
212
+ return;
213
+ }
214
+ else if (source.datasource instanceof Clause_1.TableSource) {
215
+ if (this.tableColumnResolver) {
216
+ const sourceName = source.datasource.getSourceName();
217
+ this.tableColumnResolver(sourceName).forEach(column => {
218
+ this.addSelectValueAsUnique(column, new ValueComponent_1.ColumnReference([sourceName], column));
219
+ });
220
+ }
221
+ return;
222
+ }
223
+ else if (source.datasource instanceof Clause_1.SubQuerySource) {
224
+ const sourceName = source.getAliasName();
225
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables);
226
+ const innerSelected = innerCollector.collect(source.datasource.query);
227
+ innerSelected.forEach(item => {
228
+ this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
229
+ });
230
+ return;
231
+ }
232
+ else if (source.datasource instanceof Clause_1.ParenSource) {
233
+ return this.visit(source.datasource.source);
234
+ }
235
+ }
236
+ visitFromClause(clause) {
237
+ if (clause) {
238
+ this.processFromClause(clause, true);
239
+ }
240
+ }
241
+ addSelectValueAsUnique(name, value) {
242
+ // Check if a select value with the same name already exists before adding
243
+ if (!this.selectValues.some(item => item.name === name)) {
244
+ this.selectValues.push({ name, value });
245
+ }
246
+ }
247
+ }
248
+ exports.SelectValueCollector = SelectValueCollector;
249
+ //# sourceMappingURL=SelectValueCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectValueCollector.js","sourceRoot":"","sources":["../../src/transformers/SelectValueCollector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
2
+ import { ValueComponent } from "../models/ValueComponent";
3
+ import { TableColumnResolver } from "./SelectValueCollector";
4
+ /**
5
+ * A visitor that collects all ColumnReference instances from a SQL query structure.
6
+ * This visitor scans through all clauses and collects all unique ColumnReference objects.
7
+ * It does not scan Common Table Expressions (CTEs) or subqueries.
8
+ *
9
+ * Important: Only collects column references to tables defined in the root FROM/JOIN clauses,
10
+ * as these are the only columns that can be directly referenced in the query.
11
+ */
12
+ export declare class SelectableColumnCollector implements SqlComponentVisitor<void> {
13
+ private handlers;
14
+ private selectValues;
15
+ private visitedNodes;
16
+ private formatter;
17
+ private isRootVisit;
18
+ private tableColumnResolver?;
19
+ private commonTableCollector;
20
+ private selectValueCollector;
21
+ private commonTables;
22
+ constructor(tableColumnResolver?: TableColumnResolver);
23
+ getValues(): {
24
+ name: string;
25
+ value: ValueComponent;
26
+ }[];
27
+ collect(arg: SqlComponent): {
28
+ name: string;
29
+ value: ValueComponent;
30
+ }[];
31
+ /**
32
+ * Reset the collection of ColumnReferences
33
+ */
34
+ private reset;
35
+ private addSelectValueAsUnique;
36
+ /**
37
+ * Main entry point for the visitor pattern.
38
+ * Implements the shallow visit pattern to distinguish between root and recursive visits.
39
+ */
40
+ visit(arg: SqlComponent): void;
41
+ /**
42
+ * Internal visit method used for all nodes.
43
+ * This separates the visit flag management from the actual node visitation logic.
44
+ */
45
+ private visitNode;
46
+ /**
47
+ * Process a SimpleSelectQuery to collect ColumnReferences from all its clauses
48
+ */
49
+ private visitSimpleSelectQuery;
50
+ private visitSelectClause;
51
+ private visitFromClause;
52
+ private visitWhereClause;
53
+ private visitGroupByClause;
54
+ private visitHavingClause;
55
+ private visitOrderByClause;
56
+ private visitWindowFrameClause;
57
+ private visitLimitClause;
58
+ private visitJoinOnClause;
59
+ private visitJoinUsingClause;
60
+ private visitColumnReference;
61
+ private visitBinaryExpression;
62
+ private visitUnaryExpression;
63
+ private visitFunctionCall;
64
+ private visitParenExpression;
65
+ private visitCaseExpression;
66
+ private visitCastExpression;
67
+ private visitBetweenExpression;
68
+ private visitArrayExpression;
69
+ private visitValueList;
70
+ }