rawsql-ts 0.12.0 → 0.13.0

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 (537) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/index.js +11 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/index.min.js +16 -16
  5. package/dist/esm/index.min.js.map +3 -3
  6. package/dist/esm/src/index.d.ts +12 -0
  7. package/dist/esm/src/index.js +11 -0
  8. package/dist/esm/src/index.js.map +1 -1
  9. package/dist/esm/src/models/Clause.d.ts +7 -3
  10. package/dist/esm/src/models/Clause.js +17 -4
  11. package/dist/esm/src/models/Clause.js.map +1 -1
  12. package/dist/esm/src/models/DDLStatements.d.ts +14 -2
  13. package/dist/esm/src/models/DDLStatements.js +12 -0
  14. package/dist/esm/src/models/DDLStatements.js.map +1 -1
  15. package/dist/esm/src/models/InsertQuery.d.ts +1 -4
  16. package/dist/esm/src/models/InsertQuery.js +3 -5
  17. package/dist/esm/src/models/InsertQuery.js.map +1 -1
  18. package/dist/esm/src/models/SqlPrintToken.d.ts +1 -0
  19. package/dist/esm/src/models/SqlPrintToken.js +1 -0
  20. package/dist/esm/src/models/SqlPrintToken.js.map +1 -1
  21. package/dist/esm/src/models/TableDefinitionModel.d.ts +39 -0
  22. package/dist/esm/src/models/TableDefinitionModel.js +77 -0
  23. package/dist/esm/src/models/TableDefinitionModel.js.map +1 -0
  24. package/dist/esm/src/models/ValuesQuery.d.ts +2 -0
  25. package/dist/esm/src/models/ValuesQuery.js +1 -0
  26. package/dist/esm/src/models/ValuesQuery.js.map +1 -1
  27. package/dist/esm/src/parsers/AlterTableParser.js +1 -1
  28. package/dist/esm/src/parsers/AlterTableParser.js.map +1 -1
  29. package/dist/esm/src/parsers/InsertQueryParser.js +4 -1
  30. package/dist/esm/src/parsers/InsertQueryParser.js.map +1 -1
  31. package/dist/esm/src/parsers/ReturningClauseParser.js +33 -47
  32. package/dist/esm/src/parsers/ReturningClauseParser.js.map +1 -1
  33. package/dist/esm/src/parsers/SqlParser.d.ts +0 -1
  34. package/dist/esm/src/parsers/SqlParser.js +44 -58
  35. package/dist/esm/src/parsers/SqlParser.js.map +1 -1
  36. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +1 -0
  37. package/dist/esm/src/parsers/SqlPrintTokenParser.js +23 -5
  38. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  39. package/dist/esm/src/tokenReaders/LiteralTokenReader.js +7 -0
  40. package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  41. package/dist/esm/src/transformers/DDLDiffGenerator.d.ts +14 -0
  42. package/dist/esm/src/transformers/DDLDiffGenerator.js +197 -0
  43. package/dist/esm/src/transformers/DDLDiffGenerator.js.map +1 -0
  44. package/dist/esm/src/transformers/DDLGeneralizer.d.ts +13 -0
  45. package/dist/esm/src/transformers/DDLGeneralizer.js +98 -0
  46. package/dist/esm/src/transformers/DDLGeneralizer.js.map +1 -0
  47. package/dist/esm/src/transformers/DDLToFixtureConverter.d.ts +19 -0
  48. package/dist/esm/src/transformers/DDLToFixtureConverter.js +202 -0
  49. package/dist/esm/src/transformers/DDLToFixtureConverter.js.map +1 -0
  50. package/dist/esm/src/transformers/DeleteResultSelectConverter.d.ts +53 -0
  51. package/dist/esm/src/transformers/DeleteResultSelectConverter.js +394 -0
  52. package/dist/esm/src/transformers/DeleteResultSelectConverter.js.map +1 -0
  53. package/dist/esm/src/transformers/FixtureCteBuilder.d.ts +60 -0
  54. package/dist/esm/src/transformers/FixtureCteBuilder.js +147 -0
  55. package/dist/esm/src/transformers/FixtureCteBuilder.js.map +1 -0
  56. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js +5 -2
  57. package/dist/esm/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -1
  58. package/dist/esm/src/transformers/InsertResultSelectConverter.d.ts +64 -0
  59. package/dist/esm/src/transformers/InsertResultSelectConverter.js +495 -0
  60. package/dist/esm/src/transformers/InsertResultSelectConverter.js.map +1 -0
  61. package/dist/esm/src/transformers/MergeResultSelectConverter.d.ts +38 -0
  62. package/dist/esm/src/transformers/MergeResultSelectConverter.js +306 -0
  63. package/dist/esm/src/transformers/MergeResultSelectConverter.js.map +1 -0
  64. package/dist/esm/src/transformers/QueryBuilder.d.ts +11 -0
  65. package/dist/esm/src/transformers/QueryBuilder.js +19 -3
  66. package/dist/esm/src/transformers/QueryBuilder.js.map +1 -1
  67. package/dist/esm/src/transformers/SelectResultSelectConverter.d.ts +10 -0
  68. package/dist/esm/src/transformers/SelectResultSelectConverter.js +32 -0
  69. package/dist/esm/src/transformers/SelectResultSelectConverter.js.map +1 -0
  70. package/dist/esm/src/transformers/SimulatedSelectConverter.d.ts +23 -0
  71. package/dist/esm/src/transformers/SimulatedSelectConverter.js +61 -0
  72. package/dist/esm/src/transformers/SimulatedSelectConverter.js.map +1 -0
  73. package/dist/esm/src/transformers/UpdateResultSelectConverter.d.ts +51 -0
  74. package/dist/esm/src/transformers/UpdateResultSelectConverter.js +340 -0
  75. package/dist/esm/src/transformers/UpdateResultSelectConverter.js.map +1 -0
  76. package/dist/esm/src/utils/SelectQueryWithClauseHelper.d.ts +12 -0
  77. package/dist/esm/src/utils/SelectQueryWithClauseHelper.js +43 -0
  78. package/dist/esm/src/utils/SelectQueryWithClauseHelper.js.map +1 -0
  79. package/dist/esm/src/utils/ValueComponentRewriter.d.ts +3 -0
  80. package/dist/esm/src/utils/ValueComponentRewriter.js +180 -0
  81. package/dist/esm/src/utils/ValueComponentRewriter.js.map +1 -0
  82. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  83. package/dist/formatters/OriginalFormatRestorer.js +139 -0
  84. package/dist/formatters/OriginalFormatRestorer.js.map +1 -0
  85. package/dist/index.js +144 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/index.min.js +17 -17
  88. package/dist/index.min.js.map +3 -3
  89. package/dist/models/BinarySelectQuery.js +198 -0
  90. package/dist/models/BinarySelectQuery.js.map +1 -0
  91. package/dist/models/CTEError.js +37 -0
  92. package/dist/models/CTEError.js.map +1 -0
  93. package/dist/models/Clause.js +535 -0
  94. package/dist/models/Clause.js.map +1 -0
  95. package/dist/models/CreateTableQuery.js +135 -0
  96. package/dist/models/CreateTableQuery.js.map +1 -0
  97. package/dist/models/DDLStatements.js +275 -0
  98. package/dist/models/DDLStatements.js.map +1 -0
  99. package/dist/models/DeleteQuery.js +20 -0
  100. package/dist/models/DeleteQuery.js.map +1 -0
  101. package/dist/models/FormattingLexeme.js +3 -0
  102. package/dist/models/FormattingLexeme.js.map +1 -0
  103. package/dist/models/HintClause.js +41 -0
  104. package/dist/models/HintClause.js.map +1 -0
  105. package/dist/models/InsertQuery.js +23 -0
  106. package/dist/models/InsertQuery.js.map +1 -0
  107. package/dist/models/KeywordTrie.js +54 -0
  108. package/dist/models/KeywordTrie.js.map +1 -0
  109. package/dist/models/Lexeme.js +22 -0
  110. package/dist/models/Lexeme.js.map +1 -0
  111. package/dist/models/MergeQuery.js +104 -0
  112. package/dist/models/MergeQuery.js.map +1 -0
  113. package/dist/models/SelectQuery.js +22 -0
  114. package/dist/models/SelectQuery.js.map +1 -0
  115. package/dist/models/SimpleSelectQuery.js +648 -0
  116. package/dist/models/SimpleSelectQuery.js.map +1 -0
  117. package/dist/models/SqlComponent.js +73 -0
  118. package/dist/models/SqlComponent.js.map +1 -0
  119. package/dist/models/SqlPrintToken.js +143 -0
  120. package/dist/models/SqlPrintToken.js.map +1 -0
  121. package/dist/models/TableDefinitionModel.js +86 -0
  122. package/dist/models/TableDefinitionModel.js.map +1 -0
  123. package/dist/models/UpdateQuery.js +29 -0
  124. package/dist/models/UpdateQuery.js.map +1 -0
  125. package/dist/models/ValueComponent.js +380 -0
  126. package/dist/models/ValueComponent.js.map +1 -0
  127. package/dist/models/ValuesQuery.js +62 -0
  128. package/dist/models/ValuesQuery.js.map +1 -0
  129. package/dist/parsers/AlterTableParser.js +490 -0
  130. package/dist/parsers/AlterTableParser.js.map +1 -0
  131. package/dist/parsers/AnalyzeStatementParser.js +94 -0
  132. package/dist/parsers/AnalyzeStatementParser.js.map +1 -0
  133. package/dist/parsers/CommandExpressionParser.js +213 -0
  134. package/dist/parsers/CommandExpressionParser.js.map +1 -0
  135. package/dist/parsers/CommonTableParser.js +177 -0
  136. package/dist/parsers/CommonTableParser.js.map +1 -0
  137. package/dist/parsers/CreateIndexParser.js +241 -0
  138. package/dist/parsers/CreateIndexParser.js.map +1 -0
  139. package/dist/parsers/CreateTableParser.js +738 -0
  140. package/dist/parsers/CreateTableParser.js.map +1 -0
  141. package/dist/parsers/DeleteClauseParser.js +37 -0
  142. package/dist/parsers/DeleteClauseParser.js.map +1 -0
  143. package/dist/parsers/DeleteQueryParser.js +77 -0
  144. package/dist/parsers/DeleteQueryParser.js.map +1 -0
  145. package/dist/parsers/DropConstraintParser.js +51 -0
  146. package/dist/parsers/DropConstraintParser.js.map +1 -0
  147. package/dist/parsers/DropIndexParser.js +73 -0
  148. package/dist/parsers/DropIndexParser.js.map +1 -0
  149. package/dist/parsers/DropTableParser.js +63 -0
  150. package/dist/parsers/DropTableParser.js.map +1 -0
  151. package/dist/parsers/ExplainStatementParser.js +189 -0
  152. package/dist/parsers/ExplainStatementParser.js.map +1 -0
  153. package/dist/parsers/FetchClauseParser.js +89 -0
  154. package/dist/parsers/FetchClauseParser.js.map +1 -0
  155. package/dist/parsers/ForClauseParser.js +58 -0
  156. package/dist/parsers/ForClauseParser.js.map +1 -0
  157. package/dist/parsers/FromClauseParser.js +54 -0
  158. package/dist/parsers/FromClauseParser.js.map +1 -0
  159. package/dist/parsers/FullNameParser.js +110 -0
  160. package/dist/parsers/FullNameParser.js.map +1 -0
  161. package/dist/parsers/FunctionExpressionParser.js +524 -0
  162. package/dist/parsers/FunctionExpressionParser.js.map +1 -0
  163. package/dist/parsers/GroupByParser.js +58 -0
  164. package/dist/parsers/GroupByParser.js.map +1 -0
  165. package/dist/parsers/HavingParser.js +36 -0
  166. package/dist/parsers/HavingParser.js.map +1 -0
  167. package/dist/parsers/IdentifierDecorator.js +17 -0
  168. package/dist/parsers/IdentifierDecorator.js.map +1 -0
  169. package/dist/parsers/IdentifierParser.js +15 -0
  170. package/dist/parsers/IdentifierParser.js.map +1 -0
  171. package/dist/parsers/InsertQueryParser.js +162 -0
  172. package/dist/parsers/InsertQueryParser.js.map +1 -0
  173. package/dist/parsers/JoinClauseParser.js +117 -0
  174. package/dist/parsers/JoinClauseParser.js.map +1 -0
  175. package/dist/parsers/JoinOnClauseParser.js +21 -0
  176. package/dist/parsers/JoinOnClauseParser.js.map +1 -0
  177. package/dist/parsers/JoinUsingClauseParser.js +23 -0
  178. package/dist/parsers/JoinUsingClauseParser.js.map +1 -0
  179. package/dist/parsers/KeywordParser.js +99 -0
  180. package/dist/parsers/KeywordParser.js.map +1 -0
  181. package/dist/parsers/LimitClauseParser.js +38 -0
  182. package/dist/parsers/LimitClauseParser.js.map +1 -0
  183. package/dist/parsers/LiteralParser.js +48 -0
  184. package/dist/parsers/LiteralParser.js.map +1 -0
  185. package/dist/parsers/MergeQueryParser.js +483 -0
  186. package/dist/parsers/MergeQueryParser.js.map +1 -0
  187. package/dist/parsers/OffsetClauseParser.js +42 -0
  188. package/dist/parsers/OffsetClauseParser.js.map +1 -0
  189. package/dist/parsers/OrderByClauseParser.js +108 -0
  190. package/dist/parsers/OrderByClauseParser.js.map +1 -0
  191. package/dist/parsers/OverExpressionParser.js +44 -0
  192. package/dist/parsers/OverExpressionParser.js.map +1 -0
  193. package/dist/parsers/ParameterDecorator.js +40 -0
  194. package/dist/parsers/ParameterDecorator.js.map +1 -0
  195. package/dist/parsers/ParameterExpressionParser.js +24 -0
  196. package/dist/parsers/ParameterExpressionParser.js.map +1 -0
  197. package/dist/parsers/ParenExpressionParser.js +109 -0
  198. package/dist/parsers/ParenExpressionParser.js.map +1 -0
  199. package/dist/parsers/ParseError.js +25 -0
  200. package/dist/parsers/ParseError.js.map +1 -0
  201. package/dist/parsers/PartitionByParser.js +53 -0
  202. package/dist/parsers/PartitionByParser.js.map +1 -0
  203. package/dist/parsers/ReturningClauseParser.js +64 -0
  204. package/dist/parsers/ReturningClauseParser.js.map +1 -0
  205. package/dist/parsers/SelectClauseParser.js +244 -0
  206. package/dist/parsers/SelectClauseParser.js.map +1 -0
  207. package/dist/parsers/SelectQueryParser.js +564 -0
  208. package/dist/parsers/SelectQueryParser.js.map +1 -0
  209. package/dist/parsers/SequenceParser.js +245 -0
  210. package/dist/parsers/SequenceParser.js.map +1 -0
  211. package/dist/parsers/SetClauseParser.js +125 -0
  212. package/dist/parsers/SetClauseParser.js.map +1 -0
  213. package/dist/parsers/SourceAliasExpressionParser.js +60 -0
  214. package/dist/parsers/SourceAliasExpressionParser.js.map +1 -0
  215. package/dist/parsers/SourceExpressionParser.js +69 -0
  216. package/dist/parsers/SourceExpressionParser.js.map +1 -0
  217. package/dist/parsers/SourceParser.js +144 -0
  218. package/dist/parsers/SourceParser.js.map +1 -0
  219. package/dist/parsers/SqlParser.js +431 -0
  220. package/dist/parsers/SqlParser.js.map +1 -0
  221. package/dist/parsers/SqlPrintTokenParser.js +3289 -0
  222. package/dist/parsers/SqlPrintTokenParser.js.map +1 -0
  223. package/dist/parsers/SqlTokenizer.js +553 -0
  224. package/dist/parsers/SqlTokenizer.js.map +1 -0
  225. package/dist/parsers/StringSpecifierExpressionParser.js +22 -0
  226. package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -0
  227. package/dist/parsers/UnaryExpressionParser.js +39 -0
  228. package/dist/parsers/UnaryExpressionParser.js.map +1 -0
  229. package/dist/parsers/UpdateClauseParser.js +21 -0
  230. package/dist/parsers/UpdateClauseParser.js.map +1 -0
  231. package/dist/parsers/UpdateQueryParser.js +98 -0
  232. package/dist/parsers/UpdateQueryParser.js.map +1 -0
  233. package/dist/parsers/UsingClauseParser.js +33 -0
  234. package/dist/parsers/UsingClauseParser.js.map +1 -0
  235. package/dist/parsers/ValueParser.js +562 -0
  236. package/dist/parsers/ValueParser.js.map +1 -0
  237. package/dist/parsers/ValuesQueryParser.js +112 -0
  238. package/dist/parsers/ValuesQueryParser.js.map +1 -0
  239. package/dist/parsers/WhereClauseParser.js +51 -0
  240. package/dist/parsers/WhereClauseParser.js.map +1 -0
  241. package/dist/parsers/WindowClauseParser.js +57 -0
  242. package/dist/parsers/WindowClauseParser.js.map +1 -0
  243. package/dist/parsers/WindowExpressionParser.js +163 -0
  244. package/dist/parsers/WindowExpressionParser.js.map +1 -0
  245. package/dist/parsers/WithClauseParser.js +165 -0
  246. package/dist/parsers/WithClauseParser.js.map +1 -0
  247. package/dist/parsers/utils/LexemeCommentUtils.js +29 -0
  248. package/dist/parsers/utils/LexemeCommentUtils.js.map +1 -0
  249. package/dist/reporting/models/DataFlowEdge.js +58 -0
  250. package/dist/reporting/models/DataFlowEdge.js.map +1 -0
  251. package/dist/reporting/models/DataFlowGraph.js +138 -0
  252. package/dist/reporting/models/DataFlowGraph.js.map +1 -0
  253. package/dist/reporting/models/DataFlowNode.js +148 -0
  254. package/dist/reporting/models/DataFlowNode.js.map +1 -0
  255. package/dist/reporting/services/CTEHandler.js +58 -0
  256. package/dist/reporting/services/CTEHandler.js.map +1 -0
  257. package/dist/reporting/services/DataSourceHandler.js +95 -0
  258. package/dist/reporting/services/DataSourceHandler.js.map +1 -0
  259. package/dist/reporting/services/JoinHandler.js +84 -0
  260. package/dist/reporting/services/JoinHandler.js.map +1 -0
  261. package/dist/reporting/services/ProcessHandler.js +26 -0
  262. package/dist/reporting/services/ProcessHandler.js.map +1 -0
  263. package/dist/src/index.d.ts +15 -0
  264. package/dist/src/index.js +13 -1
  265. package/dist/src/index.js.map +1 -1
  266. package/dist/src/models/Clause.d.ts +7 -3
  267. package/dist/src/models/Clause.js +16 -3
  268. package/dist/src/models/Clause.js.map +1 -1
  269. package/dist/src/models/DDLStatements.d.ts +97 -2
  270. package/dist/src/models/DDLStatements.js +14 -1
  271. package/dist/src/models/DDLStatements.js.map +1 -1
  272. package/dist/src/models/InsertQuery.d.ts +1 -4
  273. package/dist/src/models/InsertQuery.js +3 -5
  274. package/dist/src/models/InsertQuery.js.map +1 -1
  275. package/dist/src/models/SqlPrintToken.d.ts +6 -0
  276. package/dist/src/models/SqlPrintToken.js +1 -0
  277. package/dist/src/models/SqlPrintToken.js.map +1 -1
  278. package/dist/src/models/TableDefinitionModel.d.ts +41 -0
  279. package/dist/src/models/TableDefinitionModel.js +85 -0
  280. package/dist/src/models/TableDefinitionModel.js.map +1 -0
  281. package/dist/src/models/ValueComponent.d.ts +2 -1
  282. package/dist/src/models/ValuesQuery.d.ts +2 -0
  283. package/dist/src/models/ValuesQuery.js +1 -0
  284. package/dist/src/models/ValuesQuery.js.map +1 -1
  285. package/dist/src/parsers/AlterTableParser.d.ts +1 -0
  286. package/dist/src/parsers/AlterTableParser.js +26 -5
  287. package/dist/src/parsers/AlterTableParser.js.map +1 -1
  288. package/dist/src/parsers/FunctionExpressionParser.d.ts +1 -0
  289. package/dist/src/parsers/InsertQueryParser.js +4 -1
  290. package/dist/src/parsers/InsertQueryParser.js.map +1 -1
  291. package/dist/src/parsers/ReturningClauseParser.js +33 -47
  292. package/dist/src/parsers/ReturningClauseParser.js.map +1 -1
  293. package/dist/src/parsers/SequenceParser.d.ts +16 -0
  294. package/dist/src/parsers/SqlParser.d.ts +4 -3
  295. package/dist/src/parsers/SqlParser.js +44 -63
  296. package/dist/src/parsers/SqlParser.js.map +1 -1
  297. package/dist/src/parsers/SqlPrintTokenParser.d.ts +9 -0
  298. package/dist/src/parsers/SqlPrintTokenParser.js +22 -4
  299. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  300. package/dist/src/parsers/SqlTokenizer.d.ts +1 -0
  301. package/dist/src/tokenReaders/LiteralTokenReader.js +7 -0
  302. package/dist/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  303. package/dist/src/transformers/DDLDiffGenerator.d.ts +18 -0
  304. package/dist/src/transformers/DDLDiffGenerator.js +313 -0
  305. package/dist/src/transformers/DDLDiffGenerator.js.map +1 -0
  306. package/dist/src/transformers/DDLGeneralizer.d.ts +13 -0
  307. package/dist/src/transformers/DDLGeneralizer.js +119 -0
  308. package/dist/src/transformers/DDLGeneralizer.js.map +1 -0
  309. package/dist/src/transformers/DDLToFixtureConverter.d.ts +19 -0
  310. package/dist/src/transformers/DDLToFixtureConverter.js +206 -0
  311. package/dist/src/transformers/DDLToFixtureConverter.js.map +1 -0
  312. package/dist/src/transformers/DeleteResultSelectConverter.d.ts +53 -0
  313. package/dist/src/transformers/DeleteResultSelectConverter.js +398 -0
  314. package/dist/src/transformers/DeleteResultSelectConverter.js.map +1 -0
  315. package/dist/src/transformers/FixtureCteBuilder.d.ts +60 -0
  316. package/dist/src/transformers/FixtureCteBuilder.js +151 -0
  317. package/dist/src/transformers/FixtureCteBuilder.js.map +1 -0
  318. package/dist/src/transformers/InsertQuerySelectValuesConverter.js +5 -2
  319. package/dist/src/transformers/InsertQuerySelectValuesConverter.js.map +1 -1
  320. package/dist/src/transformers/InsertResultSelectConverter.d.ts +67 -0
  321. package/dist/src/transformers/InsertResultSelectConverter.js +499 -0
  322. package/dist/src/transformers/InsertResultSelectConverter.js.map +1 -0
  323. package/dist/src/transformers/MergeResultSelectConverter.d.ts +38 -0
  324. package/dist/src/transformers/MergeResultSelectConverter.js +310 -0
  325. package/dist/src/transformers/MergeResultSelectConverter.js.map +1 -0
  326. package/dist/src/transformers/QueryBuilder.d.ts +11 -0
  327. package/dist/src/transformers/QueryBuilder.js +19 -3
  328. package/dist/src/transformers/QueryBuilder.js.map +1 -1
  329. package/dist/src/transformers/SelectResultSelectConverter.d.ts +10 -0
  330. package/dist/src/transformers/SelectResultSelectConverter.js +36 -0
  331. package/dist/src/transformers/SelectResultSelectConverter.js.map +1 -0
  332. package/dist/src/transformers/SimulatedSelectConverter.d.ts +23 -0
  333. package/dist/src/transformers/SimulatedSelectConverter.js +65 -0
  334. package/dist/src/transformers/SimulatedSelectConverter.js.map +1 -0
  335. package/dist/src/transformers/UpdateResultSelectConverter.d.ts +51 -0
  336. package/dist/src/transformers/UpdateResultSelectConverter.js +344 -0
  337. package/dist/src/transformers/UpdateResultSelectConverter.js.map +1 -0
  338. package/dist/src/types/GenericFixture.d.ts +17 -0
  339. package/dist/src/utils/SelectQueryWithClauseHelper.d.ts +12 -0
  340. package/dist/src/utils/SelectQueryWithClauseHelper.js +47 -0
  341. package/dist/src/utils/SelectQueryWithClauseHelper.js.map +1 -0
  342. package/dist/src/utils/TableNameUtils.d.ts +10 -0
  343. package/dist/src/utils/ValueComponentRewriter.d.ts +3 -0
  344. package/dist/src/utils/ValueComponentRewriter.js +183 -0
  345. package/dist/src/utils/ValueComponentRewriter.js.map +1 -0
  346. package/dist/tokenReaders/BaseTokenReader.js +86 -0
  347. package/dist/tokenReaders/BaseTokenReader.js.map +1 -0
  348. package/dist/tokenReaders/CommandTokenReader.js +221 -0
  349. package/dist/tokenReaders/CommandTokenReader.js.map +1 -0
  350. package/dist/tokenReaders/EscapedIdentifierTokenReader.js +99 -0
  351. package/dist/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -0
  352. package/dist/tokenReaders/FunctionTokenReader.js +47 -0
  353. package/dist/tokenReaders/FunctionTokenReader.js.map +1 -0
  354. package/dist/tokenReaders/IdentifierTokenReader.js +34 -0
  355. package/dist/tokenReaders/IdentifierTokenReader.js.map +1 -0
  356. package/dist/tokenReaders/LiteralTokenReader.js +329 -0
  357. package/dist/tokenReaders/LiteralTokenReader.js.map +1 -0
  358. package/dist/tokenReaders/OperatorTokenReader.js +152 -0
  359. package/dist/tokenReaders/OperatorTokenReader.js.map +1 -0
  360. package/dist/tokenReaders/ParameterTokenReader.js +190 -0
  361. package/dist/tokenReaders/ParameterTokenReader.js.map +1 -0
  362. package/dist/tokenReaders/StringSpecifierTokenReader.js +31 -0
  363. package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -0
  364. package/dist/tokenReaders/SymbolTokenReader.js +35 -0
  365. package/dist/tokenReaders/SymbolTokenReader.js.map +1 -0
  366. package/dist/tokenReaders/TokenReaderManager.js +110 -0
  367. package/dist/tokenReaders/TokenReaderManager.js.map +1 -0
  368. package/dist/tokenReaders/TypeTokenReader.js +69 -0
  369. package/dist/tokenReaders/TypeTokenReader.js.map +1 -0
  370. package/dist/transformers/AliasRenamer.js +600 -0
  371. package/dist/transformers/AliasRenamer.js.map +1 -0
  372. package/dist/transformers/CTEBuilder.js +188 -0
  373. package/dist/transformers/CTEBuilder.js.map +1 -0
  374. package/dist/transformers/CTECollector.js +409 -0
  375. package/dist/transformers/CTECollector.js.map +1 -0
  376. package/dist/transformers/CTEComposer.js +302 -0
  377. package/dist/transformers/CTEComposer.js.map +1 -0
  378. package/dist/transformers/CTEDependencyAnalyzer.js +285 -0
  379. package/dist/transformers/CTEDependencyAnalyzer.js.map +1 -0
  380. package/dist/transformers/CTEDependencyTracer.js +253 -0
  381. package/dist/transformers/CTEDependencyTracer.js.map +1 -0
  382. package/dist/transformers/CTEDisabler.js +355 -0
  383. package/dist/transformers/CTEDisabler.js.map +1 -0
  384. package/dist/transformers/CTEInjector.js +83 -0
  385. package/dist/transformers/CTEInjector.js.map +1 -0
  386. package/dist/transformers/CTENormalizer.js +46 -0
  387. package/dist/transformers/CTENormalizer.js.map +1 -0
  388. package/dist/transformers/CTEQueryDecomposer.js +589 -0
  389. package/dist/transformers/CTEQueryDecomposer.js.map +1 -0
  390. package/dist/transformers/CTERenamer.js +486 -0
  391. package/dist/transformers/CTERenamer.js.map +1 -0
  392. package/dist/transformers/CTETableReferenceCollector.js +358 -0
  393. package/dist/transformers/CTETableReferenceCollector.js.map +1 -0
  394. package/dist/transformers/ColumnReferenceCollector.js +478 -0
  395. package/dist/transformers/ColumnReferenceCollector.js.map +1 -0
  396. package/dist/transformers/DDLDiffGenerator.js +313 -0
  397. package/dist/transformers/DDLDiffGenerator.js.map +1 -0
  398. package/dist/transformers/DDLGeneralizer.js +119 -0
  399. package/dist/transformers/DDLGeneralizer.js.map +1 -0
  400. package/dist/transformers/DDLToFixtureConverter.js +206 -0
  401. package/dist/transformers/DDLToFixtureConverter.js.map +1 -0
  402. package/dist/transformers/DeleteResultSelectConverter.js +414 -0
  403. package/dist/transformers/DeleteResultSelectConverter.js.map +1 -0
  404. package/dist/transformers/DynamicQueryBuilder.js +164 -0
  405. package/dist/transformers/DynamicQueryBuilder.js.map +1 -0
  406. package/dist/transformers/EnhancedJsonMapping.js +223 -0
  407. package/dist/transformers/EnhancedJsonMapping.js.map +1 -0
  408. package/dist/transformers/FilterableItemCollector.js +259 -0
  409. package/dist/transformers/FilterableItemCollector.js.map +1 -0
  410. package/dist/transformers/FixtureCteBuilder.js +151 -0
  411. package/dist/transformers/FixtureCteBuilder.js.map +1 -0
  412. package/dist/transformers/FormatOptionResolver.js +67 -0
  413. package/dist/transformers/FormatOptionResolver.js.map +1 -0
  414. package/dist/transformers/Formatter.js +38 -0
  415. package/dist/transformers/Formatter.js.map +1 -0
  416. package/dist/transformers/InsertQuerySelectValuesConverter.js +125 -0
  417. package/dist/transformers/InsertQuerySelectValuesConverter.js.map +1 -0
  418. package/dist/transformers/InsertResultSelectConverter.js +589 -0
  419. package/dist/transformers/InsertResultSelectConverter.js.map +1 -0
  420. package/dist/transformers/JoinAggregationDecomposer.js +497 -0
  421. package/dist/transformers/JoinAggregationDecomposer.js.map +1 -0
  422. package/dist/transformers/JsonMappingConverter.js +392 -0
  423. package/dist/transformers/JsonMappingConverter.js.map +1 -0
  424. package/dist/transformers/JsonMappingUnifier.js +216 -0
  425. package/dist/transformers/JsonMappingUnifier.js.map +1 -0
  426. package/dist/transformers/LinePrinter.js +148 -0
  427. package/dist/transformers/LinePrinter.js.map +1 -0
  428. package/dist/transformers/MergeResultSelectConverter.js +310 -0
  429. package/dist/transformers/MergeResultSelectConverter.js.map +1 -0
  430. package/dist/transformers/ModelDrivenJsonMapping.js +122 -0
  431. package/dist/transformers/ModelDrivenJsonMapping.js.map +1 -0
  432. package/dist/transformers/OnelineFormattingHelper.js +99 -0
  433. package/dist/transformers/OnelineFormattingHelper.js.map +1 -0
  434. package/dist/transformers/ParameterCollector.js +37 -0
  435. package/dist/transformers/ParameterCollector.js.map +1 -0
  436. package/dist/transformers/PostgresArrayEntityCteBuilder.js +458 -0
  437. package/dist/transformers/PostgresArrayEntityCteBuilder.js.map +1 -0
  438. package/dist/transformers/PostgresJsonQueryBuilder.js +245 -0
  439. package/dist/transformers/PostgresJsonQueryBuilder.js.map +1 -0
  440. package/dist/transformers/PostgresObjectEntityCteBuilder.js +347 -0
  441. package/dist/transformers/PostgresObjectEntityCteBuilder.js.map +1 -0
  442. package/dist/transformers/QueryBuilder.js +649 -0
  443. package/dist/transformers/QueryBuilder.js.map +1 -0
  444. package/dist/transformers/QueryFlowDiagramGenerator.js +157 -0
  445. package/dist/transformers/QueryFlowDiagramGenerator.js.map +1 -0
  446. package/dist/transformers/SchemaCollector.js +523 -0
  447. package/dist/transformers/SchemaCollector.js.map +1 -0
  448. package/dist/transformers/SelectResultSelectConverter.js +36 -0
  449. package/dist/transformers/SelectResultSelectConverter.js.map +1 -0
  450. package/dist/transformers/SelectValueCollector.js +244 -0
  451. package/dist/transformers/SelectValueCollector.js.map +1 -0
  452. package/dist/transformers/SelectableColumnCollector.js +674 -0
  453. package/dist/transformers/SelectableColumnCollector.js.map +1 -0
  454. package/dist/transformers/SimulatedSelectConverter.js +65 -0
  455. package/dist/transformers/SimulatedSelectConverter.js.map +1 -0
  456. package/dist/transformers/SmartRenamer.js +422 -0
  457. package/dist/transformers/SmartRenamer.js.map +1 -0
  458. package/dist/transformers/SqlFormatter.js +77 -0
  459. package/dist/transformers/SqlFormatter.js.map +1 -0
  460. package/dist/transformers/SqlIdentifierRenamer.js +504 -0
  461. package/dist/transformers/SqlIdentifierRenamer.js.map +1 -0
  462. package/dist/transformers/SqlOutputToken.js +13 -0
  463. package/dist/transformers/SqlOutputToken.js.map +1 -0
  464. package/dist/transformers/SqlPaginationInjector.js +108 -0
  465. package/dist/transformers/SqlPaginationInjector.js.map +1 -0
  466. package/dist/transformers/SqlParamInjector.js +802 -0
  467. package/dist/transformers/SqlParamInjector.js.map +1 -0
  468. package/dist/transformers/SqlParameterBinder.js +70 -0
  469. package/dist/transformers/SqlParameterBinder.js.map +1 -0
  470. package/dist/transformers/SqlPrinter.js +1478 -0
  471. package/dist/transformers/SqlPrinter.js.map +1 -0
  472. package/dist/transformers/SqlSortInjector.js +153 -0
  473. package/dist/transformers/SqlSortInjector.js.map +1 -0
  474. package/dist/transformers/TableColumnResolver.js +3 -0
  475. package/dist/transformers/TableColumnResolver.js.map +1 -0
  476. package/dist/transformers/TableSourceCollector.js +439 -0
  477. package/dist/transformers/TableSourceCollector.js.map +1 -0
  478. package/dist/transformers/TypeTransformationPostProcessor.js +363 -0
  479. package/dist/transformers/TypeTransformationPostProcessor.js.map +1 -0
  480. package/dist/transformers/UpdateResultSelectConverter.js +359 -0
  481. package/dist/transformers/UpdateResultSelectConverter.js.map +1 -0
  482. package/dist/transformers/UpstreamSelectQueryFinder.js +184 -0
  483. package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -0
  484. package/dist/tsconfig.tsbuildinfo +1 -1
  485. package/dist/types/Formatting.js +3 -0
  486. package/dist/types/Formatting.js.map +1 -0
  487. package/dist/types/GenericFixture.js +3 -0
  488. package/dist/types/GenericFixture.js.map +1 -0
  489. package/dist/utils/CTERegionDetector.js +464 -0
  490. package/dist/utils/CTERegionDetector.js.map +1 -0
  491. package/dist/utils/CommentEditor.js +345 -0
  492. package/dist/utils/CommentEditor.js.map +1 -0
  493. package/dist/utils/CommentUtils.js +69 -0
  494. package/dist/utils/CommentUtils.js.map +1 -0
  495. package/dist/utils/CursorContextAnalyzer.js +338 -0
  496. package/dist/utils/CursorContextAnalyzer.js.map +1 -0
  497. package/dist/utils/IntelliSenseApi.js +292 -0
  498. package/dist/utils/IntelliSenseApi.js.map +1 -0
  499. package/dist/utils/JsonSchemaValidator.js +215 -0
  500. package/dist/utils/JsonSchemaValidator.js.map +1 -0
  501. package/dist/utils/KeywordCache.js +206 -0
  502. package/dist/utils/KeywordCache.js.map +1 -0
  503. package/dist/utils/LexemeCursor.js +314 -0
  504. package/dist/utils/LexemeCursor.js.map +1 -0
  505. package/dist/utils/MultiQuerySplitter.js +292 -0
  506. package/dist/utils/MultiQuerySplitter.js.map +1 -0
  507. package/dist/utils/OperatorPrecedence.js +107 -0
  508. package/dist/utils/OperatorPrecedence.js.map +1 -0
  509. package/dist/utils/ParameterDetector.js +53 -0
  510. package/dist/utils/ParameterDetector.js.map +1 -0
  511. package/dist/utils/ParameterHelper.js +31 -0
  512. package/dist/utils/ParameterHelper.js.map +1 -0
  513. package/dist/utils/ParameterRemover.js +783 -0
  514. package/dist/utils/ParameterRemover.js.map +1 -0
  515. package/dist/utils/ParserStringUtils.js +31 -0
  516. package/dist/utils/ParserStringUtils.js.map +1 -0
  517. package/dist/utils/PositionAwareParser.js +363 -0
  518. package/dist/utils/PositionAwareParser.js.map +1 -0
  519. package/dist/utils/SchemaManager.js +217 -0
  520. package/dist/utils/SchemaManager.js.map +1 -0
  521. package/dist/utils/ScopeResolver.js +272 -0
  522. package/dist/utils/ScopeResolver.js.map +1 -0
  523. package/dist/utils/SelectQueryWithClauseHelper.js +47 -0
  524. package/dist/utils/SelectQueryWithClauseHelper.js.map +1 -0
  525. package/dist/utils/SqlSchemaValidator.js +55 -0
  526. package/dist/utils/SqlSchemaValidator.js.map +1 -0
  527. package/dist/utils/TableNameUtils.js +35 -0
  528. package/dist/utils/TableNameUtils.js.map +1 -0
  529. package/dist/utils/TextPositionUtils.js +128 -0
  530. package/dist/utils/TextPositionUtils.js.map +1 -0
  531. package/dist/utils/ValueComponentRewriter.js +187 -0
  532. package/dist/utils/ValueComponentRewriter.js.map +1 -0
  533. package/dist/utils/charLookupTable.js +73 -0
  534. package/dist/utils/charLookupTable.js.map +1 -0
  535. package/dist/utils/stringUtils.js +230 -0
  536. package/dist/utils/stringUtils.js.map +1 -0
  537. package/package.json +62 -62
@@ -0,0 +1,535 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InsertClause = exports.DeleteClause = exports.UpdateClause = exports.SetClauseItem = exports.SetClause = exports.ReturningClause = exports.SourceAliasExpression = exports.ForClause = exports.LockMode = exports.FetchExpression = exports.FetchClause = exports.OffsetClause = exports.FetchUnit = exports.FetchType = exports.LimitClause = exports.WithClause = exports.CommonTable = exports.UsingClause = exports.FromClause = exports.JoinClause = exports.JoinUsingClause = exports.JoinOnClause = exports.SourceExpression = exports.SubQuerySource = exports.ParenSource = exports.FunctionSource = exports.TableSource = exports.HavingClause = exports.GroupByClause = exports.OrderByItem = exports.OrderByClause = exports.NullsSortDirection = exports.SortDirection = exports.WindowsClause = exports.WindowFrameClause = exports.PartitionByClause = exports.WhereClause = exports.DistinctOn = exports.Distinct = exports.SelectClause = exports.SelectItem = void 0;
4
+ const SqlComponent_1 = require("./SqlComponent");
5
+ const ValueComponent_1 = require("./ValueComponent");
6
+ class SelectItem extends SqlComponent_1.SqlComponent {
7
+ constructor(value, name = null) {
8
+ super();
9
+ this.value = value;
10
+ this.identifier = name ? new ValueComponent_1.IdentifierString(name) : null;
11
+ }
12
+ }
13
+ exports.SelectItem = SelectItem;
14
+ SelectItem.kind = Symbol("SelectItem");
15
+ class SelectClause extends SqlComponent_1.SqlComponent {
16
+ constructor(items, distinct = null, hints = []) {
17
+ super();
18
+ this.items = items;
19
+ this.distinct = distinct;
20
+ this.hints = hints;
21
+ }
22
+ }
23
+ exports.SelectClause = SelectClause;
24
+ SelectClause.kind = Symbol("SelectClause");
25
+ class Distinct extends SqlComponent_1.SqlComponent {
26
+ constructor() {
27
+ super();
28
+ }
29
+ }
30
+ exports.Distinct = Distinct;
31
+ Distinct.kind = Symbol("Distinct");
32
+ class DistinctOn extends SqlComponent_1.SqlComponent {
33
+ constructor(value) {
34
+ super();
35
+ this.value = value;
36
+ }
37
+ }
38
+ exports.DistinctOn = DistinctOn;
39
+ DistinctOn.kind = Symbol("DistinctOn");
40
+ class WhereClause extends SqlComponent_1.SqlComponent {
41
+ constructor(condition) {
42
+ super();
43
+ this.condition = condition;
44
+ }
45
+ }
46
+ exports.WhereClause = WhereClause;
47
+ WhereClause.kind = Symbol("WhereClause");
48
+ class PartitionByClause extends SqlComponent_1.SqlComponent {
49
+ constructor(value) {
50
+ super();
51
+ this.value = value;
52
+ }
53
+ }
54
+ exports.PartitionByClause = PartitionByClause;
55
+ PartitionByClause.kind = Symbol("PartitionByClause");
56
+ class WindowFrameClause extends SqlComponent_1.SqlComponent {
57
+ constructor(name, expression) {
58
+ super();
59
+ this.name = new ValueComponent_1.IdentifierString(name);
60
+ this.expression = expression;
61
+ }
62
+ }
63
+ exports.WindowFrameClause = WindowFrameClause;
64
+ WindowFrameClause.kind = Symbol("WindowFrameClause");
65
+ /**
66
+ * Represents a collection of window definitions (WINDOW clause in SQL).
67
+ * @param windows Array of WindowFrameClause
68
+ */
69
+ class WindowsClause extends SqlComponent_1.SqlComponent {
70
+ constructor(windows) {
71
+ super();
72
+ this.windows = windows;
73
+ }
74
+ }
75
+ exports.WindowsClause = WindowsClause;
76
+ WindowsClause.kind = Symbol("WindowsClause");
77
+ var SortDirection;
78
+ (function (SortDirection) {
79
+ SortDirection["Ascending"] = "asc";
80
+ SortDirection["Descending"] = "desc";
81
+ })(SortDirection || (exports.SortDirection = SortDirection = {}));
82
+ var NullsSortDirection;
83
+ (function (NullsSortDirection) {
84
+ NullsSortDirection["First"] = "first";
85
+ NullsSortDirection["Last"] = "last";
86
+ })(NullsSortDirection || (exports.NullsSortDirection = NullsSortDirection = {}));
87
+ class OrderByClause extends SqlComponent_1.SqlComponent {
88
+ constructor(items) {
89
+ super();
90
+ this.order = items;
91
+ }
92
+ }
93
+ exports.OrderByClause = OrderByClause;
94
+ OrderByClause.kind = Symbol("OrderByClause");
95
+ class OrderByItem extends SqlComponent_1.SqlComponent {
96
+ constructor(expression, sortDirection, nullsPosition) {
97
+ super();
98
+ this.value = expression;
99
+ this.sortDirection = sortDirection === null ? SortDirection.Ascending : sortDirection;
100
+ this.nullsPosition = nullsPosition;
101
+ }
102
+ }
103
+ exports.OrderByItem = OrderByItem;
104
+ OrderByItem.kind = Symbol("OrderByItem");
105
+ class GroupByClause extends SqlComponent_1.SqlComponent {
106
+ constructor(expression) {
107
+ super();
108
+ this.grouping = expression;
109
+ }
110
+ }
111
+ exports.GroupByClause = GroupByClause;
112
+ GroupByClause.kind = Symbol("GroupByClause");
113
+ class HavingClause extends SqlComponent_1.SqlComponent {
114
+ constructor(condition) {
115
+ super();
116
+ this.condition = condition;
117
+ }
118
+ }
119
+ exports.HavingClause = HavingClause;
120
+ HavingClause.kind = Symbol("HavingClause");
121
+ class TableSource extends SqlComponent_1.SqlComponent {
122
+ /**
123
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
124
+ */
125
+ get namespaces() {
126
+ return this.qualifiedName.namespaces;
127
+ }
128
+ /**
129
+ * For backward compatibility: returns the table name as IdentifierString (readonly)
130
+ */
131
+ get table() {
132
+ // If the name is RawString, convert to IdentifierString for compatibility
133
+ if (this.qualifiedName.name instanceof ValueComponent_1.IdentifierString) {
134
+ return this.qualifiedName.name;
135
+ }
136
+ else {
137
+ return new ValueComponent_1.IdentifierString(this.qualifiedName.name.value);
138
+ }
139
+ }
140
+ /**
141
+ * For backward compatibility: returns the table name as IdentifierString (readonly)
142
+ */
143
+ get identifier() {
144
+ return this.table;
145
+ }
146
+ constructor(namespaces, table) {
147
+ super();
148
+ // Convert the table name to an IdentifierString if it is provided as a string.
149
+ const tbl = typeof table === "string" ? new ValueComponent_1.IdentifierString(table) : table;
150
+ // Wrap the namespaces and table name in a QualifiedName object.
151
+ // This design choice ensures backward compatibility by allowing the namespaces
152
+ // and table name to be accessed in a way consistent with the previous implementation.
153
+ this.qualifiedName = new ValueComponent_1.QualifiedName(namespaces, tbl);
154
+ }
155
+ getSourceName() {
156
+ if (this.qualifiedName.namespaces && this.qualifiedName.namespaces.length > 0) {
157
+ return this.qualifiedName.namespaces.map((namespace) => namespace.name).join(".") + "." + (this.qualifiedName.name instanceof ValueComponent_1.RawString ? this.qualifiedName.name.value : this.qualifiedName.name.name);
158
+ }
159
+ else {
160
+ return this.qualifiedName.name instanceof ValueComponent_1.RawString ? this.qualifiedName.name.value : this.qualifiedName.name.name;
161
+ }
162
+ }
163
+ }
164
+ exports.TableSource = TableSource;
165
+ TableSource.kind = Symbol("TableSource");
166
+ class FunctionSource extends SqlComponent_1.SqlComponent {
167
+ constructor(name, argument) {
168
+ super();
169
+ if (typeof name === "object" && name !== null && "name" in name) {
170
+ // Accepts { namespaces, name }
171
+ const nameObj = name;
172
+ this.qualifiedName = new ValueComponent_1.QualifiedName(nameObj.namespaces, nameObj.name);
173
+ }
174
+ else {
175
+ this.qualifiedName = new ValueComponent_1.QualifiedName(null, name);
176
+ }
177
+ this.argument = argument;
178
+ }
179
+ /**
180
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
181
+ */
182
+ get namespaces() {
183
+ return this.qualifiedName.namespaces;
184
+ }
185
+ /**
186
+ * For backward compatibility: returns the function name as RawString | IdentifierString (readonly)
187
+ */
188
+ get name() {
189
+ return this.qualifiedName.name;
190
+ }
191
+ }
192
+ exports.FunctionSource = FunctionSource;
193
+ FunctionSource.kind = Symbol("FunctionSource");
194
+ class ParenSource extends SqlComponent_1.SqlComponent {
195
+ constructor(source) {
196
+ super();
197
+ this.source = source;
198
+ }
199
+ }
200
+ exports.ParenSource = ParenSource;
201
+ ParenSource.kind = Symbol("ParenSource");
202
+ class SubQuerySource extends SqlComponent_1.SqlComponent {
203
+ constructor(query) {
204
+ super();
205
+ this.query = query;
206
+ }
207
+ }
208
+ exports.SubQuerySource = SubQuerySource;
209
+ SubQuerySource.kind = Symbol("SubQuerySource");
210
+ class SourceExpression extends SqlComponent_1.SqlComponent {
211
+ constructor(datasource, aliasExpression) {
212
+ super();
213
+ this.datasource = datasource;
214
+ this.aliasExpression = aliasExpression;
215
+ }
216
+ getAliasName() {
217
+ if (this.aliasExpression) {
218
+ return this.aliasExpression.table.name;
219
+ }
220
+ else if (this.datasource instanceof TableSource) {
221
+ return this.datasource.getSourceName();
222
+ }
223
+ return null;
224
+ }
225
+ }
226
+ exports.SourceExpression = SourceExpression;
227
+ SourceExpression.kind = Symbol("SourceExpression");
228
+ class JoinOnClause extends SqlComponent_1.SqlComponent {
229
+ constructor(condition) {
230
+ super();
231
+ this.condition = condition;
232
+ }
233
+ }
234
+ exports.JoinOnClause = JoinOnClause;
235
+ JoinOnClause.kind = Symbol("JoinOnClause");
236
+ class JoinUsingClause extends SqlComponent_1.SqlComponent {
237
+ constructor(condition) {
238
+ super();
239
+ this.condition = condition;
240
+ }
241
+ }
242
+ exports.JoinUsingClause = JoinUsingClause;
243
+ JoinUsingClause.kind = Symbol("JoinUsingClause");
244
+ class JoinClause extends SqlComponent_1.SqlComponent {
245
+ constructor(joinType, source, condition, lateral) {
246
+ super();
247
+ this.joinType = new ValueComponent_1.RawString(joinType);
248
+ this.source = source;
249
+ this.condition = condition;
250
+ this.lateral = lateral;
251
+ }
252
+ getSourceAliasName() {
253
+ if (this.source.aliasExpression) {
254
+ return this.source.aliasExpression.table.name;
255
+ }
256
+ else if (this.source instanceof TableSource) {
257
+ return this.source.table.name;
258
+ }
259
+ return null;
260
+ }
261
+ }
262
+ exports.JoinClause = JoinClause;
263
+ JoinClause.kind = Symbol("JoinItem");
264
+ class FromClause extends SqlComponent_1.SqlComponent {
265
+ constructor(source, join) {
266
+ super();
267
+ this.source = source;
268
+ this.joins = join;
269
+ }
270
+ getSourceAliasName() {
271
+ if (this.source.aliasExpression) {
272
+ return this.source.aliasExpression.table.name;
273
+ }
274
+ else if (this.source.datasource instanceof TableSource) {
275
+ return this.source.datasource.table.name;
276
+ }
277
+ return null;
278
+ }
279
+ /**
280
+ * Returns all SourceExpression objects in this FROM clause, including main source and all JOIN sources.
281
+ */
282
+ getSources() {
283
+ const sources = [this.source];
284
+ if (this.joins) {
285
+ for (const join of this.joins) {
286
+ sources.push(join.source);
287
+ }
288
+ }
289
+ return sources;
290
+ }
291
+ }
292
+ exports.FromClause = FromClause;
293
+ FromClause.kind = Symbol("FromClause");
294
+ class UsingClause extends SqlComponent_1.SqlComponent {
295
+ constructor(sources) {
296
+ super();
297
+ this.sources = sources;
298
+ }
299
+ getSources() {
300
+ return [...this.sources];
301
+ }
302
+ }
303
+ exports.UsingClause = UsingClause;
304
+ UsingClause.kind = Symbol("UsingClause");
305
+ class CommonTable extends SqlComponent_1.SqlComponent {
306
+ constructor(query, aliasExpression, materialized) {
307
+ super();
308
+ this.query = query;
309
+ this.materialized = materialized;
310
+ if (typeof aliasExpression === "string") {
311
+ this.aliasExpression = new SourceAliasExpression(aliasExpression, null);
312
+ }
313
+ else {
314
+ this.aliasExpression = aliasExpression;
315
+ }
316
+ }
317
+ getSourceAliasName() {
318
+ return this.aliasExpression.table.name;
319
+ }
320
+ }
321
+ exports.CommonTable = CommonTable;
322
+ CommonTable.kind = Symbol("CommonTable");
323
+ class WithClause extends SqlComponent_1.SqlComponent {
324
+ constructor(recursive, tables) {
325
+ super();
326
+ this.trailingComments = null; // Comments after WITH clause, meant for main query
327
+ this.globalComments = null; // Comments meant for the entire query, not just WITH clause
328
+ this.recursive = recursive;
329
+ this.tables = tables;
330
+ }
331
+ }
332
+ exports.WithClause = WithClause;
333
+ WithClause.kind = Symbol("WithClause");
334
+ class LimitClause extends SqlComponent_1.SqlComponent {
335
+ constructor(limit) {
336
+ super();
337
+ this.value = limit;
338
+ }
339
+ }
340
+ exports.LimitClause = LimitClause;
341
+ LimitClause.kind = Symbol("LimitClause");
342
+ var FetchType;
343
+ (function (FetchType) {
344
+ FetchType["Next"] = "next";
345
+ FetchType["First"] = "first";
346
+ })(FetchType || (exports.FetchType = FetchType = {}));
347
+ var FetchUnit;
348
+ (function (FetchUnit) {
349
+ FetchUnit["RowsOnly"] = "rows only";
350
+ FetchUnit["Percent"] = "percent";
351
+ FetchUnit["PercentWithTies"] = "percent with ties";
352
+ })(FetchUnit || (exports.FetchUnit = FetchUnit = {}));
353
+ class OffsetClause extends SqlComponent_1.SqlComponent {
354
+ constructor(value) {
355
+ super();
356
+ this.value = value;
357
+ }
358
+ }
359
+ exports.OffsetClause = OffsetClause;
360
+ OffsetClause.kind = Symbol("OffsetClause");
361
+ class FetchClause extends SqlComponent_1.SqlComponent {
362
+ constructor(expression) {
363
+ super();
364
+ this.expression = expression;
365
+ }
366
+ }
367
+ exports.FetchClause = FetchClause;
368
+ FetchClause.kind = Symbol("FetchClause");
369
+ class FetchExpression extends SqlComponent_1.SqlComponent {
370
+ constructor(type, count, unit) {
371
+ super();
372
+ this.type = type;
373
+ this.count = count;
374
+ this.unit = unit;
375
+ }
376
+ }
377
+ exports.FetchExpression = FetchExpression;
378
+ FetchExpression.kind = Symbol("FetchExpression");
379
+ var LockMode;
380
+ (function (LockMode) {
381
+ LockMode["Update"] = "update";
382
+ LockMode["Share"] = "share";
383
+ LockMode["KeyShare"] = "key share";
384
+ LockMode["NokeyUpdate"] = "no key update";
385
+ })(LockMode || (exports.LockMode = LockMode = {}));
386
+ class ForClause extends SqlComponent_1.SqlComponent {
387
+ constructor(lockMode) {
388
+ super();
389
+ this.lockMode = lockMode;
390
+ }
391
+ }
392
+ exports.ForClause = ForClause;
393
+ ForClause.kind = Symbol("ForClause");
394
+ class SourceAliasExpression extends SqlComponent_1.SqlComponent {
395
+ constructor(alias, columnAlias) {
396
+ super();
397
+ this.table = new ValueComponent_1.IdentifierString(alias);
398
+ this.columns = columnAlias !== null ? columnAlias.map((alias) => new ValueComponent_1.IdentifierString(alias)) : null;
399
+ }
400
+ }
401
+ exports.SourceAliasExpression = SourceAliasExpression;
402
+ SourceAliasExpression.kind = Symbol("SourceAliasExpression");
403
+ class ReturningClause extends SqlComponent_1.SqlComponent {
404
+ /**
405
+ * Constructs a ReturningClause.
406
+ * @param items Array of SelectItem.
407
+ */
408
+ constructor(items) {
409
+ super();
410
+ this.items = items;
411
+ }
412
+ /**
413
+ * @deprecated Use items instead. This getter is for backward compatibility and may not return accurate results for expressions.
414
+ */
415
+ get columns() {
416
+ return this.items.map(item => {
417
+ var _a, _b;
418
+ if (item.value instanceof ValueComponent_1.ColumnReference) {
419
+ return item.value.column;
420
+ }
421
+ // Fallback for expressions: use alias if available, otherwise empty
422
+ return new ValueComponent_1.IdentifierString((_b = (_a = item.identifier) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "");
423
+ });
424
+ }
425
+ }
426
+ exports.ReturningClause = ReturningClause;
427
+ ReturningClause.kind = Symbol("ReturningClause");
428
+ class SetClause extends SqlComponent_1.SqlComponent {
429
+ constructor(items) {
430
+ super();
431
+ this.items = items.map(item => item instanceof SetClauseItem ? item : new SetClauseItem(item.column, item.value));
432
+ }
433
+ }
434
+ exports.SetClause = SetClause;
435
+ SetClause.kind = Symbol("SetClause");
436
+ /**
437
+ * Represents a single SET clause item in an UPDATE statement.
438
+ */
439
+ /**
440
+ * Represents a single SET clause item in an UPDATE statement.
441
+ * Now supports namespaces for fully qualified column names (e.g. schema.table.column).
442
+ */
443
+ /**
444
+ * Represents a single SET clause item in an UPDATE statement.
445
+ * Now supports namespaces for fully qualified column names (e.g. schema.table.column).
446
+ * Refactored to use QualifiedName for unified name/namespace handling.
447
+ */
448
+ class SetClauseItem extends SqlComponent_1.SqlComponent {
449
+ constructor(column, value) {
450
+ super();
451
+ // Accepts { namespaces, column } or just column
452
+ if (typeof column === "object" && column !== null && "column" in column) {
453
+ const colObj = column;
454
+ const col = typeof colObj.column === "string" ? new ValueComponent_1.IdentifierString(colObj.column) : colObj.column;
455
+ this.qualifiedName = new ValueComponent_1.QualifiedName(colObj.namespaces, col);
456
+ }
457
+ else {
458
+ const col = typeof column === "string" ? new ValueComponent_1.IdentifierString(column) : column;
459
+ this.qualifiedName = new ValueComponent_1.QualifiedName(null, col);
460
+ }
461
+ this.value = value;
462
+ }
463
+ /**
464
+ * For backward compatibility: returns the namespaces as IdentifierString[] | null (readonly)
465
+ */
466
+ get namespaces() {
467
+ return this.qualifiedName.namespaces;
468
+ }
469
+ /**
470
+ * For backward compatibility: returns the column name as IdentifierString (readonly)
471
+ */
472
+ get column() {
473
+ if (this.qualifiedName.name instanceof ValueComponent_1.IdentifierString) {
474
+ return this.qualifiedName.name;
475
+ }
476
+ else {
477
+ return new ValueComponent_1.IdentifierString(this.qualifiedName.name.value);
478
+ }
479
+ }
480
+ /**
481
+ * Returns the fully qualified column name as a string.
482
+ */
483
+ getFullName() {
484
+ return this.qualifiedName.toString();
485
+ }
486
+ }
487
+ exports.SetClauseItem = SetClauseItem;
488
+ SetClauseItem.kind = Symbol("SetClauseItem");
489
+ class UpdateClause extends SqlComponent_1.SqlComponent {
490
+ constructor(source) {
491
+ super();
492
+ this.source = source;
493
+ }
494
+ getSourceAliasName() {
495
+ if (this.source.aliasExpression) {
496
+ return this.source.aliasExpression.table.name;
497
+ }
498
+ else if (this.source.datasource instanceof TableSource) {
499
+ return this.source.datasource.table.name;
500
+ }
501
+ return null;
502
+ }
503
+ }
504
+ exports.UpdateClause = UpdateClause;
505
+ UpdateClause.kind = Symbol("UpdateClause");
506
+ class DeleteClause extends SqlComponent_1.SqlComponent {
507
+ constructor(source) {
508
+ super();
509
+ this.source = source;
510
+ }
511
+ getSourceAliasName() {
512
+ return this.source.getAliasName();
513
+ }
514
+ }
515
+ exports.DeleteClause = DeleteClause;
516
+ DeleteClause.kind = Symbol("DeleteClause");
517
+ /**
518
+ * Represents the target table (with optional alias/schema) and columns for an INSERT statement.
519
+ * @param source The target table as a SourceExpression (can include schema, alias, etc.)
520
+ * @param columns Array of column names (as strings)
521
+ */
522
+ class InsertClause extends SqlComponent_1.SqlComponent {
523
+ constructor(source, columns) {
524
+ super();
525
+ this.source = source;
526
+ if (columns && columns.length > 0) {
527
+ this.columns = columns.map((col) => typeof col === "string" ? new ValueComponent_1.IdentifierString(col) : col);
528
+ }
529
+ else {
530
+ this.columns = null;
531
+ }
532
+ }
533
+ }
534
+ exports.InsertClause = InsertClause;
535
+ //# sourceMappingURL=Clause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clause.js","sourceRoot":"","sources":["../../src/models/Clause.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,qDAAuJ;AAGvJ,MAAa,UAAW,SAAQ,2BAAY;IAIxC,YAAY,KAAqB,EAAE,OAAsB,IAAI;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,iCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;;AARL,gCASC;AARU,eAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAUvC,MAAa,YAAa,SAAQ,2BAAY;IAK1C,YAAY,KAAmB,EAAE,WAAqC,IAAI,EAAE,QAAsB,EAAE;QAChG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AAVL,oCAWC;AAVU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAczC,MAAa,QAAS,SAAQ,2BAAY;IAEtC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;;AAJL,4BAKC;AAJU,aAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAMrC,MAAa,UAAW,SAAQ,2BAAY;IAGxC,YAAY,KAAqB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,gCAOC;AANU,eAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AASvC,MAAa,WAAY,SAAQ,2BAAY;IAGzC,YAAY,SAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;;AANL,kCAOC;AANU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAQxC,MAAa,iBAAkB,SAAQ,2BAAY;IAG/C,YAAY,KAAqB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,8CAOC;AANU,sBAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAQ9C,MAAa,iBAAkB,SAAQ,2BAAY;IAI/C,YAAY,IAAY,EAAE,UAAiC;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,iCAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;;AARL,8CASC;AARU,sBAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAU9C;;;GAGG;AACH,MAAa,aAAc,SAAQ,2BAAY;IAG3C,YAAY,OAA4B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;;AANL,sCAOC;AANU,kBAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAQ1C,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AACD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,mCAAa,CAAA;AACjB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAID,MAAa,aAAc,SAAQ,2BAAY;IAG3C,YAAY,KAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,sCAOC;AANU,kBAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAQ1C,MAAa,WAAY,SAAQ,2BAAY;IAKzC,YAAY,UAA0B,EAAE,aAAmC,EAAE,aAAwC;QACjH,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QACtF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;;AAVL,kCAWC;AAVU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAYxC,MAAa,aAAc,SAAQ,2BAAY;IAG3C,YAAY,UAA4B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,CAAC;;AANL,sCAOC;AANU,kBAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAQ1C,MAAa,YAAa,SAAQ,2BAAY;IAG1C,YAAY,SAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;;AANL,oCAOC;AANU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAazC,MAAa,WAAY,SAAQ,2BAAY;IAGzC;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;IACzC,CAAC;IACD;;OAEG;IACH,IAAI,KAAK;QACL,0EAA0E;QAC1E,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,iCAAgB,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,iCAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,YAAY,UAAgD,EAAE,KAAgC;QAC1F,KAAK,EAAE,CAAC;QACR,+EAA+E;QAC/E,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iCAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,gEAAgE;QAChE,+EAA+E;QAC/E,sFAAsF;QACtF,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IACM,aAAa;QAChB,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,0BAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5M,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,0BAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACvH,CAAC;IACL,CAAC;;AAzCL,kCA0CC;AAzCU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AA2CxC,MAAa,cAAe,SAAQ,2BAAY;IAI5C,YACI,IAAmI,EACnI,QAA+B;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YAC9D,+BAA+B;YAC/B,MAAM,OAAO,GAAG,IAAyG,CAAC;YAC1H,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,EAAE,IAA6C,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;IACzC,CAAC;IACD;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACnC,CAAC;;AA9BL,wCA+BC;AA9BU,mBAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAgC3C,MAAa,WAAY,SAAQ,2BAAY;IAGzC,YAAY,MAAuB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;;AANL,kCAOC;AANU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAQxC,MAAa,cAAe,SAAQ,2BAAY;IAG5C,YAAY,KAAkB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,wCAOC;AANU,mBAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAQ3C,MAAa,gBAAiB,SAAQ,2BAAY;IAI9C,YAAY,UAA2B,EAAE,eAA6C;QAClF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IACM,YAAY;QACf,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3C,CAAC;aACI,IAAI,IAAI,CAAC,UAAU,YAAY,WAAW,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AAjBL,4CAkBC;AAjBU,qBAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAqB7C,MAAa,YAAa,SAAQ,2BAAY;IAG1C,YAAY,SAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;;AANL,oCAOC;AANU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAQzC,MAAa,eAAgB,SAAQ,2BAAY;IAG7C,YAAY,SAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;;AANL,0CAOC;AANU,oBAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAQ5C,MAAa,UAAW,SAAQ,2BAAY;IAMxC,YAAY,QAAgB,EAAE,MAAwB,EAAE,SAAwC,EAAE,OAAgB;QAC9G,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACM,kBAAkB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,CAAC;aACI,IAAI,IAAI,CAAC,MAAM,YAAY,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AArBL,gCAsBC;AArBU,eAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAuBrC,MAAa,UAAW,SAAQ,2BAAY;IAIxC,YAAY,MAAwB,EAAE,IAAyB;QAC3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IACM,kBAAkB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,CAAC;aACI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD;;OAEG;IACI,UAAU;QACb,MAAM,OAAO,GAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;;AA7BL,gCA8BC;AA7BU,eAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AA+BvC,MAAa,WAAY,SAAQ,2BAAY;IAGzC,YAAY,OAA2B;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACM,UAAU;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;;AATL,kCAUC;AATU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAWxC,MAAa,WAAY,SAAQ,2BAAY;IAKzC,YAAY,KAAkB,EAAE,eAA+C,EAAE,YAA4B;QACzG,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,IAAI,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAC3C,CAAC;IACL,CAAC;IACM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3C,CAAC;;AAjBL,kCAkBC;AAjBU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAmBxC,MAAa,UAAW,SAAQ,2BAAY;IAMxC,YAAY,SAAkB,EAAE,MAAqB;QACjD,KAAK,EAAE,CAAC;QAHZ,qBAAgB,GAAoB,IAAI,CAAC,CAAC,mDAAmD;QAC7F,mBAAc,GAAoB,IAAI,CAAC,CAAC,4DAA4D;QAGhG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;;AAVL,gCAWC;AAVU,eAAI,GAAG,MAAM,CAAC,YAAY,CAAC,AAAvB,CAAwB;AAYvC,MAAa,WAAY,SAAQ,2BAAY;IAGzC,YAAY,KAAqB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,kCAOC;AANU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAQxC,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,4BAAe,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,mCAAsB,CAAA;IACtB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;AACzC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAGD,MAAa,YAAa,SAAQ,2BAAY;IAG1C,YAAY,KAAqB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;AANL,oCAOC;AANU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAQzC,MAAa,WAAY,SAAQ,2BAAY;IAGzC,YAAY,UAA2B;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;;AANL,kCAOC;AANU,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAQxC,MAAa,eAAgB,SAAQ,2BAAY;IAM7C,YAAY,IAAe,EAAE,KAAqB,EAAE,IAAsB;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;;AAXL,0CAYC;AAXU,oBAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAa5C,IAAY,QAKX;AALD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,kCAAsB,CAAA;IACtB,yCAA6B,CAAA;AACjC,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,MAAa,SAAU,SAAQ,2BAAY;IAGvC,YAAY,QAAkB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;;AANL,8BAOC;AANU,cAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAQtC,MAAa,qBAAsB,SAAQ,2BAAY;IAInD,YAAY,KAAa,EAAE,WAA4B;QACnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAgB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,iCAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,CAAC;;AARL,sDASC;AARU,0BAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAUlD,MAAa,eAAgB,SAAQ,2BAAY;IAG7C;;;OAGG;IACH,YAAY,KAAmB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;YACzB,IAAI,IAAI,CAAC,KAAK,YAAY,gCAAe,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7B,CAAC;YACD,oEAAoE;YACpE,OAAO,IAAI,iCAAgB,CAAC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;;AAvBL,0CAwBC;AAvBU,oBAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAyB5C,MAAa,SAAU,SAAQ,2BAAY;IAGvC,YAAY,KAAuF;QAC/F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtH,CAAC;;AANL,8BAOC;AANU,cAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAQtC;;GAEG;AACH;;;GAGG;AACH;;;;GAIG;AACH,MAAa,aAAc,SAAQ,2BAAY;IAI3C,YACI,MAA2H,EAC3H,KAAqB;QAErB,KAAK,EAAE,CAAC;QACR,gDAAgD;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,MAAiG,CAAC;YACjH,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACpG,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iCAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAA0B,CAAC;YACnG,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;IACzC,CAAC;IACD;;OAEG;IACH,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,iCAAgB,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,iCAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;;AAzCL,sCA0CC;AAzCU,kBAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AA2C1C,MAAa,YAAa,SAAQ,2BAAY;IAG1C,YAAY,MAAwB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACM,kBAAkB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,CAAC;aACI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AAfL,oCAgBC;AAfU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAiBzC,MAAa,YAAa,SAAQ,2BAAY;IAG1C,YAAY,MAAwB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACM,kBAAkB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;;AATL,oCAUC;AATU,iBAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAWzC;;;;GAIG;AACH,MAAa,YAAa,SAAQ,2BAAY;IAI1C,YAAY,MAAwB,EAAE,OAA8C;QAChF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iCAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AAbD,oCAaC"}