rawsql-ts 0.13.2 → 0.14.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 (138) hide show
  1. package/dist/esm/models/DDLStatements.d.ts +28 -0
  2. package/dist/esm/models/DDLStatements.js +26 -0
  3. package/dist/esm/models/DDLStatements.js.map +1 -1
  4. package/dist/esm/models/SqlPrintToken.d.ts +2 -0
  5. package/dist/esm/models/SqlPrintToken.js +2 -0
  6. package/dist/esm/models/SqlPrintToken.js.map +1 -1
  7. package/dist/esm/parsers/CreateSchemaParser.d.ts +12 -0
  8. package/dist/esm/parsers/CreateSchemaParser.js +55 -0
  9. package/dist/esm/parsers/CreateSchemaParser.js.map +1 -0
  10. package/dist/esm/parsers/DropSchemaParser.d.ts +24 -0
  11. package/dist/esm/parsers/DropSchemaParser.js +75 -0
  12. package/dist/esm/parsers/DropSchemaParser.js.map +1 -0
  13. package/dist/esm/parsers/SqlParser.d.ts +4 -2
  14. package/dist/esm/parsers/SqlParser.js +38 -0
  15. package/dist/esm/parsers/SqlParser.js.map +1 -1
  16. package/dist/esm/parsers/SqlPrintTokenParser.d.ts +2 -0
  17. package/dist/esm/parsers/SqlPrintTokenParser.js +40 -1
  18. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
  19. package/dist/esm/tokenReaders/CommandTokenReader.js +2 -0
  20. package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
  21. package/dist/esm/tokenReaders/LiteralTokenReader.js +5 -16
  22. package/dist/esm/tokenReaders/LiteralTokenReader.js.map +1 -1
  23. package/dist/esm/tokenReaders/ParameterTokenReader.js +3 -15
  24. package/dist/esm/tokenReaders/ParameterTokenReader.js.map +1 -1
  25. package/dist/esm/tokenReaders/SqlServerMoneyLiteralDetector.d.ts +6 -0
  26. package/dist/esm/tokenReaders/SqlServerMoneyLiteralDetector.js +56 -0
  27. package/dist/esm/tokenReaders/SqlServerMoneyLiteralDetector.js.map +1 -0
  28. package/dist/esm/transformers/DDLToFixtureConverter.d.ts +10 -5
  29. package/dist/esm/transformers/DDLToFixtureConverter.js +82 -7
  30. package/dist/esm/transformers/DDLToFixtureConverter.js.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/models/Clause.js.map +1 -1
  34. package/dist/models/DDLStatements.js +84 -1
  35. package/dist/models/DDLStatements.js.map +1 -1
  36. package/dist/models/SqlPrintToken.js +2 -0
  37. package/dist/models/SqlPrintToken.js.map +1 -1
  38. package/dist/parsers/CheckpointStatementParser.js +18 -0
  39. package/dist/parsers/CheckpointStatementParser.js.map +1 -0
  40. package/dist/parsers/ClusterStatementParser.js +18 -0
  41. package/dist/parsers/ClusterStatementParser.js.map +1 -0
  42. package/dist/parsers/CommandExpressionParser.js.map +1 -1
  43. package/dist/parsers/CommonTableParser.js +94 -16
  44. package/dist/parsers/CommonTableParser.js.map +1 -1
  45. package/dist/parsers/CreateSchemaParser.js +59 -0
  46. package/dist/parsers/CreateSchemaParser.js.map +1 -0
  47. package/dist/parsers/DropSchemaParser.js +79 -0
  48. package/dist/parsers/DropSchemaParser.js.map +1 -0
  49. package/dist/parsers/ExplainStatementParser.js.map +1 -1
  50. package/dist/parsers/OrderByClauseParser.js.map +1 -1
  51. package/dist/parsers/ReindexStatementParser.js +18 -0
  52. package/dist/parsers/ReindexStatementParser.js.map +1 -0
  53. package/dist/parsers/SelectQueryParser.js.map +1 -1
  54. package/dist/parsers/SqlParser.js +118 -0
  55. package/dist/parsers/SqlParser.js.map +1 -1
  56. package/dist/parsers/SqlPrintTokenParser.js +39 -0
  57. package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
  58. package/dist/parsers/SqlTokenizer.js +3 -2
  59. package/dist/parsers/SqlTokenizer.js.map +1 -1
  60. package/dist/parsers/UsingClauseParser.js.map +1 -1
  61. package/dist/parsers/VacuumStatementParser.js +18 -0
  62. package/dist/parsers/VacuumStatementParser.js.map +1 -0
  63. package/dist/src/index.d.ts +4 -0
  64. package/dist/src/models/Clause.d.ts +9 -2
  65. package/dist/src/models/DDLStatements.d.ts +84 -0
  66. package/dist/src/models/SqlPrintToken.d.ts +2 -0
  67. package/dist/src/parsers/CheckpointStatementParser.d.ts +8 -0
  68. package/dist/src/parsers/ClusterStatementParser.d.ts +8 -0
  69. package/dist/src/parsers/CommonTableParser.d.ts +5 -1
  70. package/dist/src/parsers/CreateSchemaParser.d.ts +12 -0
  71. package/dist/src/parsers/DropSchemaParser.d.ts +24 -0
  72. package/dist/src/parsers/ReindexStatementParser.d.ts +8 -0
  73. package/dist/src/parsers/SqlParser.d.ts +8 -2
  74. package/dist/src/parsers/SqlPrintTokenParser.d.ts +2 -0
  75. package/dist/src/parsers/VacuumStatementParser.d.ts +8 -0
  76. package/dist/src/tokenReaders/SqlServerMoneyLiteralDetector.d.ts +6 -0
  77. package/dist/src/transformers/AliasRenamer.d.ts +1 -0
  78. package/dist/src/transformers/CTECollector.d.ts +5 -2
  79. package/dist/src/transformers/CTEDependencyTracer.d.ts +6 -1
  80. package/dist/src/transformers/CTEDisabler.d.ts +6 -0
  81. package/dist/src/transformers/ColumnReferenceCollector.d.ts +4 -0
  82. package/dist/src/transformers/DDLToFixtureConverter.d.ts +10 -5
  83. package/dist/src/transformers/SchemaCollector.d.ts +3 -0
  84. package/dist/src/transformers/SelectValueCollector.d.ts +5 -0
  85. package/dist/src/transformers/SqlParamInjector.d.ts +4 -0
  86. package/dist/src/transformers/TableSourceCollector.d.ts +4 -0
  87. package/dist/src/transformers/UpstreamSelectQueryFinder.d.ts +5 -0
  88. package/dist/src/utils/ParameterRemover.d.ts +4 -0
  89. package/dist/src/utils/ScopeResolver.d.ts +5 -2
  90. package/dist/src/utils/charLookupTable.d.ts +6 -0
  91. package/dist/tokenReaders/CommandTokenReader.js +2 -0
  92. package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
  93. package/dist/tokenReaders/LiteralTokenReader.js +5 -16
  94. package/dist/tokenReaders/LiteralTokenReader.js.map +1 -1
  95. package/dist/tokenReaders/ParameterTokenReader.js +3 -15
  96. package/dist/tokenReaders/ParameterTokenReader.js.map +1 -1
  97. package/dist/tokenReaders/SqlServerMoneyLiteralDetector.js +59 -0
  98. package/dist/tokenReaders/SqlServerMoneyLiteralDetector.js.map +1 -0
  99. package/dist/transformers/AliasRenamer.js +7 -1
  100. package/dist/transformers/AliasRenamer.js.map +1 -1
  101. package/dist/transformers/CTECollector.js +49 -0
  102. package/dist/transformers/CTECollector.js.map +1 -1
  103. package/dist/transformers/CTEDependencyTracer.js +44 -2
  104. package/dist/transformers/CTEDependencyTracer.js.map +1 -1
  105. package/dist/transformers/CTEDisabler.js +19 -0
  106. package/dist/transformers/CTEDisabler.js.map +1 -1
  107. package/dist/transformers/CTERenamer.js +5 -2
  108. package/dist/transformers/CTERenamer.js.map +1 -1
  109. package/dist/transformers/ColumnReferenceCollector.js +69 -1
  110. package/dist/transformers/ColumnReferenceCollector.js.map +1 -1
  111. package/dist/transformers/DDLToFixtureConverter.js +82 -7
  112. package/dist/transformers/DDLToFixtureConverter.js.map +1 -1
  113. package/dist/transformers/DeleteResultSelectConverter.js.map +1 -1
  114. package/dist/transformers/InsertResultSelectConverter.js.map +1 -1
  115. package/dist/transformers/MergeResultSelectConverter.js.map +1 -1
  116. package/dist/transformers/SchemaCollector.js +37 -1
  117. package/dist/transformers/SchemaCollector.js.map +1 -1
  118. package/dist/transformers/SelectValueCollector.js +44 -2
  119. package/dist/transformers/SelectValueCollector.js.map +1 -1
  120. package/dist/transformers/SqlParamInjector.js +40 -1
  121. package/dist/transformers/SqlParamInjector.js.map +1 -1
  122. package/dist/transformers/SqlPrinter.js +8 -2
  123. package/dist/transformers/SqlPrinter.js.map +1 -1
  124. package/dist/transformers/TableSourceCollector.js +56 -1
  125. package/dist/transformers/TableSourceCollector.js.map +1 -1
  126. package/dist/transformers/UpdateResultSelectConverter.js.map +1 -1
  127. package/dist/transformers/UpstreamSelectQueryFinder.js +46 -1
  128. package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -1
  129. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  130. package/dist/utils/ParameterRemover.js +23 -0
  131. package/dist/utils/ParameterRemover.js.map +1 -1
  132. package/dist/utils/ScopeResolver.js +36 -17
  133. package/dist/utils/ScopeResolver.js.map +1 -1
  134. package/dist/utils/charLookupTable.js +9 -1
  135. package/dist/utils/charLookupTable.js.map +1 -1
  136. package/dist/utils/stringUtils.js +9 -3
  137. package/dist/utils/stringUtils.js.map +1 -1
  138. package/package.json +4 -1
@@ -162,8 +162,9 @@ class SqlTokenizer {
162
162
  for (let i = 0; i < tokenData.length; i++) {
163
163
  const current = tokenData[i];
164
164
  const lexeme = current.lexeme;
165
+ const lexemeValue = lexeme.value;
165
166
  // Redirect SELECT suffix comments to the first meaningful select item.
166
- if (lexeme.value.toLowerCase() === 'select' && current.suffixComments && current.suffixComments.length > 0) {
167
+ if (lexemeValue === 'select' && current.suffixComments && current.suffixComments.length > 0) {
167
168
  const suffixComments = current.suffixComments;
168
169
  let targetIndex = i + 1;
169
170
  while (targetIndex < tokenData.length) {
@@ -186,7 +187,7 @@ class SqlTokenizer {
186
187
  targetIndex++;
187
188
  }
188
189
  }
189
- if (lexeme.value.toLowerCase() === 'from' && current.suffixComments && current.suffixComments.length > 0) {
190
+ if (lexemeValue === 'from' && current.suffixComments && current.suffixComments.length > 0) {
190
191
  const suffixComments = current.suffixComments;
191
192
  let targetIndex = i + 1;
192
193
  while (targetIndex < tokenData.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"SqlTokenizer.js","sourceRoot":"","sources":["../../src/parsers/SqlTokenizer.ts"],"names":[],"mappings":";;;AACA,6CAA8E;AAC9E,2EAAwE;AACxE,+FAA4F;AAC5F,6EAA0E;AAC1E,iFAA8E;AAC9E,2EAAwE;AACxE,6EAA0E;AAC1E,+EAA4E;AAC5E,yEAA6E;AAC7E,2FAAwF;AACxF,2EAAwE;AACxE,qEAAkE;AAClE,sDAAmD;AAkBnD;;GAEG;AACH,MAAa,YAAY;IAqBrB;;OAEG;IACH,YAAY,KAAa;QARzB;;WAEG;QACK,uBAAkB,GAAoB,IAAI,CAAC;QAM/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElB,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAkB,CAAC,KAAK,CAAC;aAC7C,QAAQ,CAAC,IAAI,2DAA4B,CAAC,KAAK,CAAC,CAAC;aACjD,QAAQ,CAAC,IAAI,2CAAoB,CAAC,KAAK,CAAC,CAAC;aACzC,QAAQ,CAAC,IAAI,uDAA0B,CAAC,KAAK,CAAC,CAAC;YAChD,kGAAkG;YAClG,wGAAwG;YACxG,2CAA2C;aAC1C,QAAQ,CAAC,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC;aACvC,QAAQ,CAAC,IAAI,4CAAwB,CAAC,KAAK,CAAC,CAAC;aAC7C,QAAQ,CAAC,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC;aACvC,QAAQ,CAAC,IAAI,yCAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,kEAAkE;YAClE,wFAAwF;YACxF,kDAAkD;aACjD,QAAQ,CAAC,IAAI,iCAAe,CAAC,KAAK,CAAC,CAAC;aACpC,QAAQ,CAAC,IAAI,yCAAmB,CAAC,KAAK,CAAC,CAAC;aACxC,QAAQ,CAAC,IAAI,6CAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,kDAAkD;SAC7F;IACT,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,QAAgB,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,QAAgB,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAQM,QAAQ,CAAC,OAAyB;QACrC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzC,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,WAAW;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,aAAa;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEM,iBAAiB,CAAC,gBAAwB,CAAC,EAAE,gBAAiC,IAAI;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,sDAAsD;QACtD,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAE9B,MAAM,cAAc,GAAG,aAAa,CAAC;QACrC,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,SAAS,GAMV,EAAE,CAAC;QAER,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,oGAAoG;YACpG,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClB,4EAA4E;gBAC5E,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzE,MAAM;YACV,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,kDAAkD;gBAClD,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzE,MAAM;YACV,CAAC;YAED,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3J,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YAExE,4DAA4D;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAEvC,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7E,cAAc,GAAG,IAAI,CAAC;YAEtB,SAAS,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,WAAW;gBACnB,cAAc;gBACd,cAAc,EAAE,aAAa,CAAC,KAAK;aACtC,CAAC,CAAC;YAEH,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE3D,OAAO;YACH,OAAO;YACP,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC;YACvD,eAAe,EAAE,cAAc;SAClC,CAAC;IACN,CAAC;IAEO,yBAAyB,CAAC,SAMhC;QACE,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAE9B,uEAAuE;YACvE,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC9C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACtC,wFAAwF;oBACxF,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC;oBAChG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,CAAC;wBAC3C,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,CAAC;wBACxC,cAAc;wBACd,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,CAAC;4BACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,KAAK,CAAC;4BACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC/C,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wBAC/B,CAAC;wBACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;wBACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC9B,MAAM;oBACV,CAAC;oBACD,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC9C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACtC,yEAAyE;oBACzE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wBAC/B,CAAC;wBACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;wBACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC9B,MAAM;oBACV,CAAC;oBACD,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAS,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC9C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oBAC/B,CAAC;oBACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;oBACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;gBAClC,CAAC;YACL,CAAC;YAED,uEAAuE;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO;gBACtC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,WAAW;gBAC1C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;gBACzC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC9C,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACjD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BACzB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wBAC/B,CAAC;wBACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;wBACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC9B,MAAM;oBACV,CAAC;oBACD,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,sFAAsF;YACtF,MAAM,CAAC,QAAQ,GAAG;gBACd,aAAa,EAAE,OAAO,CAAC,QAAQ;gBAC/B,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;aAC9D,CAAC;YACF,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACvC,IAAI,IAAI,GAAG,QAAQ,CAAC;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,IAAqB,EAAE,QAAqC;QAC9E,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAEO,uBAAuB,CAAC,OAAiB;QAC7C,iGAAiG;QACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC5E,SAAS;YACb,CAAC;YAED,0EAA0E;YAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpJ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACb,CAAC;YAED,oFAAoF;YACpF,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACxG,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,qFAAqF;YACrF,MAAM,cAAc,GAA8B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5E,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC,CAAC;YAEJ,6EAA6E;YAC7E,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,kBAAkB,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,kFAAkF;IAC1E,sBAAsB,CAAC,MAAc,EAAE,SAA+E;QAC1H,MAAM,qBAAqB,GAA2D,EAAE,CAAC;QACzF,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,sFAAsF;QACtF,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,qBAAqB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,+DAA+D;QAC/D,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACpD,qBAAqB,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC;QAED,8DAA8D;QAC9D,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACpD,qBAAqB,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC;QAED,wEAAwE;QACxE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;YAClD,4EAA4E;YAC5E,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,2DAA2D;YAC3D,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC;YACpC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,WAAW;QACf,OAAO,yBAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,WAAmB;QAC5C,OAAO,yBAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,4BAA4B;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,iEAAiE;QACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAEO,sBAAsB,CAAC,cAAwB;QACnD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,qDAAqD;QACrD,MAAM,eAAe,GAA0D,EAAE,CAAC;QAClF,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YAClC,+BAA+B;YAC/B,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAEtD,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEhE,IAAI,UAAU,EAAE,CAAC;gBACb,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,MAAM,YAAY,GAAG;oBACjB,aAAa,EAAE,SAAS;oBACxB,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC/C,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC;YACzC,CAAC;QACL,CAAC;QAED,wEAAwE;QACxE,MAAM,iBAAiB,GAAuB,EAAE,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAEtC,uDAAuD;YACvD,MAAM,kBAAkB,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;gBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAExB,sDAAsD;YACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;YAE7E,MAAM,gBAAgB,GAAqB;gBACvC,GAAG,MAAM;gBACT,mBAAmB,EAAE,iBAAiB;gBACtC,cAAc;gBACd,QAAQ,EAAE;oBACN,aAAa,EAAE,UAAU,CAAC,aAAa;oBACvC,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC;iBAC9E;aACJ,CAAC;YAEF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAc,EAAE,WAAmB;QAC5D,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,mGAAmG;QACnG,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3F,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,6DAA6D;YAC7D,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;gBACpD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU;gBACjF,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBACnD,OAAO;oBACH,aAAa,EAAE,WAAW;oBAC1B,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,MAAM;iBAC/C,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAa,EAAE,QAAgB;QACtD,yBAAyB;QACzB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,6BAA6B;YAC/C,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC,CAAC,6BAA6B;YAC/C,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,IAAY;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAM,MAAM;YACtC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAM,QAAQ;YACxC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAK,MAAM;YACtC,IAAI,KAAK,EAAE,CAAC,CAAoB,IAAI;IAC/C,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAY;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,EAAE,IAAK,QAAQ;YACxB,IAAI,KAAK,CAAC,IAAM,MAAM;YACtB,IAAI,KAAK,EAAE,IAAK,KAAK;YACrB,IAAI,KAAK,EAAE,CAAC,CAAI,KAAK;IAChC,CAAC;IAEO,6BAA6B,CAAC,iBAAyB;QAC3D,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,OAAO,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC;YAEnB,4CAA4C;YAC5C,MAAM,MAAM,GAAG,yBAAW,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAE5E,yBAAyB;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,wBAAwB;YACxB,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,kFAAkF;YAClF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACjB,GAAG,EAAE,CAAC;YACV,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,GAAW;QACzC,OAAO,yBAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC1E,CAAC;IAEG,iBAAiB,CAAC,QAAgB,EAAE,MAAc;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO;YACH,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,SAAS,EAAE,OAAO,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,QAAgB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAE/C,qFAAqF;QACrF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC1B,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO;YACH,IAAI,EAAE,SAAS,GAAG,CAAC;YACnB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC;SACnC,CAAC;IACN,CAAC;IAEO,wBAAwB;QAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAa,CAAC,CAAC,CAAC,CAAC;QAE7B,oFAAoF;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO;gBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAzoBD,oCAyoBC"}
1
+ {"version":3,"file":"SqlTokenizer.js","sourceRoot":"","sources":["../../src/parsers/SqlTokenizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UsingClauseParser.js","sourceRoot":"","sources":["../../src/parsers/UsingClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,6CAAqD;AACrD,qEAAkE;AAElE;;GAEG;AACH,MAAa,iBAAiB;IACnB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;;QAC1D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,iCAAiC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,yDAAyD;QACzD,MAAM,WAAW,GAAG,+CAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,oDAAoD;QACpD,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,0CAAE,IAAI,MAAK,kBAAS,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,EAAE,CAAC;YACN,MAAM,UAAU,GAAG,+CAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,oBAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9D,CAAC;CACJ;AAxBD,8CAwBC"}
1
+ {"version":3,"file":"UsingClauseParser.js","sourceRoot":"","sources":["../../src/parsers/UsingClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAAiE;AACjE,6CAAqD;AACrD,qEAAkE;AAElE;;GAEG;AACH,MAAa,iBAAiB;IACnB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;;QAC1D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,iCAAiC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,yDAAyD;QACzD,MAAM,WAAW,GAAG,+CAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,oDAAoD;QACpD,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,0CAAE,IAAI,MAAK,kBAAS,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,EAAE,CAAC;YACN,MAAM,UAAU,GAAG,+CAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,oBAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9D,CAAC;CACJ;AAxBD,8CAwBC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VacuumStatementParser = void 0;
4
+ const DDLStatements_1 = require("../models/DDLStatements");
5
+ class VacuumStatementParser {
6
+ static parseFromLexeme(lexemes, index) {
7
+ const lexeme = lexemes[index];
8
+ if (!lexeme || lexeme.value.toLowerCase() !== 'vacuum') {
9
+ throw new Error(`[VacuumStatementParser] Expected VACUUM at index ${index}.`);
10
+ }
11
+ return {
12
+ value: new DDLStatements_1.VacuumStatement(),
13
+ newIndex: lexemes.length,
14
+ };
15
+ }
16
+ }
17
+ exports.VacuumStatementParser = VacuumStatementParser;
18
+ //# sourceMappingURL=VacuumStatementParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VacuumStatementParser.js","sourceRoot":"","sources":["../../src/parsers/VacuumStatementParser.ts"],"names":[],"mappings":";;;AACA,2DAA0D;AAE1D,MAAa,qBAAqB;IACvB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI,+BAAe,EAAE;YAC5B,QAAQ,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC;IACN,CAAC;CACJ;AAZD,sDAYC"}
@@ -12,6 +12,10 @@ export * from './parsers/DropTableParser';
12
12
  export * from './parsers/DropIndexParser';
13
13
  export * from './parsers/AlterTableParser';
14
14
  export * from './parsers/DropConstraintParser';
15
+ export * from './parsers/VacuumStatementParser';
16
+ export * from './parsers/ReindexStatementParser';
17
+ export * from './parsers/ClusterStatementParser';
18
+ export * from './parsers/CheckpointStatementParser';
15
19
  export * from './types/Formatting';
16
20
  export * from './models/BinarySelectQuery';
17
21
  export * from './models/SelectQuery';
@@ -1,4 +1,7 @@
1
1
  import { SelectQuery } from "./SelectQuery";
2
+ import type { InsertQuery } from "./InsertQuery";
3
+ import type { UpdateQuery } from "./UpdateQuery";
4
+ import type { DeleteQuery } from "./DeleteQuery";
2
5
  import { SqlComponent } from "./SqlComponent";
3
6
  import { IdentifierString, RawString, ValueComponent, WindowFrameExpression, QualifiedName } from "./ValueComponent";
4
7
  import { HintClause } from "./HintClause";
@@ -171,12 +174,16 @@ export declare class UsingClause extends SqlComponent {
171
174
  constructor(sources: SourceExpression[]);
172
175
  getSources(): SourceExpression[];
173
176
  }
177
+ /**
178
+ * Query types permitted inside a CTE body.
179
+ */
180
+ export type CTEQuery = SelectQuery | InsertQuery | UpdateQuery | DeleteQuery;
174
181
  export declare class CommonTable extends SqlComponent {
175
182
  static kind: symbol;
176
- query: SelectQuery;
183
+ query: CTEQuery;
177
184
  materialized: boolean | null;
178
185
  aliasExpression: SourceAliasExpression;
179
- constructor(query: SelectQuery, aliasExpression: SourceAliasExpression | string, materialized: boolean | null);
186
+ constructor(query: CTEQuery, aliasExpression: SourceAliasExpression | string, materialized: boolean | null);
180
187
  getSourceAliasName(): string;
181
188
  }
182
189
  export declare class WithClause extends SqlComponent {
@@ -34,6 +34,34 @@ export declare class DropIndexStatement extends SqlComponent {
34
34
  behavior?: DropBehavior;
35
35
  });
36
36
  }
37
+ /**
38
+ * CREATE SCHEMA statement representation.
39
+ */
40
+ export declare class CreateSchemaStatement extends SqlComponent {
41
+ static kind: symbol;
42
+ schemaName: QualifiedName;
43
+ ifNotExists: boolean;
44
+ authorization: IdentifierString | null;
45
+ constructor(params: {
46
+ schemaName: QualifiedName;
47
+ ifNotExists?: boolean;
48
+ authorization?: IdentifierString | null;
49
+ });
50
+ }
51
+ /**
52
+ * DROP SCHEMA statement representation.
53
+ */
54
+ export declare class DropSchemaStatement extends SqlComponent {
55
+ static kind: symbol;
56
+ schemaNames: QualifiedName[];
57
+ ifExists: boolean;
58
+ behavior: DropBehavior;
59
+ constructor(params: {
60
+ schemaNames: QualifiedName[];
61
+ ifExists?: boolean;
62
+ behavior?: DropBehavior;
63
+ });
64
+ }
37
65
  /**
38
66
  * Column definition within CREATE INDEX clause.
39
67
  */
@@ -288,3 +316,59 @@ export declare class AlterSequenceStatement extends SqlComponent {
288
316
  clauses?: SequenceOptionClause[];
289
317
  });
290
318
  }
319
+ /**
320
+ * VACUUM statement representation.
321
+ */
322
+ export declare class VacuumStatement extends SqlComponent {
323
+ static kind: symbol;
324
+ full: boolean;
325
+ verbose: boolean;
326
+ freeze: boolean;
327
+ analyze: boolean;
328
+ targets: QualifiedName[];
329
+ constructor(params?: {
330
+ full?: boolean;
331
+ verbose?: boolean;
332
+ freeze?: boolean;
333
+ analyze?: boolean;
334
+ targets?: QualifiedName[];
335
+ });
336
+ }
337
+ /**
338
+ * REINDEX statement representation.
339
+ */
340
+ export declare class ReindexStatement extends SqlComponent {
341
+ static kind: symbol;
342
+ concurrently: boolean;
343
+ targets: QualifiedName[];
344
+ targetType: 'table' | 'index' | null;
345
+ constructor(params?: {
346
+ concurrently?: boolean;
347
+ targets?: QualifiedName[];
348
+ targetType?: 'table' | 'index' | null;
349
+ });
350
+ }
351
+ /**
352
+ * CLUSTER statement representation.
353
+ */
354
+ export declare class ClusterStatement extends SqlComponent {
355
+ static kind: symbol;
356
+ verbose: boolean;
357
+ table: QualifiedName | null;
358
+ index: QualifiedName | null;
359
+ constructor(params?: {
360
+ verbose?: boolean;
361
+ table?: QualifiedName | null;
362
+ index?: QualifiedName | null;
363
+ });
364
+ }
365
+ /**
366
+ * CHECKPOINT statement representation.
367
+ */
368
+ export declare class CheckpointStatement extends SqlComponent {
369
+ static kind: symbol;
370
+ options: string[];
371
+ constructor(params?: {
372
+ options?: string[];
373
+ });
374
+ }
@@ -97,6 +97,8 @@ export declare enum SqlPrintTokenContainerType {
97
97
  SequenceOptionClause = "SequenceOptionClause",
98
98
  DropTableStatement = "DropTableStatement",
99
99
  DropIndexStatement = "DropIndexStatement",
100
+ CreateSchemaStatement = "CreateSchemaStatement",
101
+ DropSchemaStatement = "DropSchemaStatement",
100
102
  AlterTableStatement = "AlterTableStatement",
101
103
  AlterTableAddConstraint = "AlterTableAddConstraint",
102
104
  AlterTableDropConstraint = "AlterTableDropConstraint",
@@ -0,0 +1,8 @@
1
+ import { Lexeme } from '../models/Lexeme';
2
+ import { CheckpointStatement } from '../models/DDLStatements';
3
+ export declare class CheckpointStatementParser {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
+ value: CheckpointStatement;
6
+ newIndex: number;
7
+ };
8
+ }
@@ -0,0 +1,8 @@
1
+ import { Lexeme } from '../models/Lexeme';
2
+ import { ClusterStatement } from '../models/DDLStatements';
3
+ export declare class ClusterStatementParser {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
+ value: ClusterStatement;
6
+ newIndex: number;
7
+ };
8
+ }
@@ -13,6 +13,10 @@ export declare class CommonTableParser {
13
13
  private static addPositionedComment;
14
14
  private static parseAsKeyword;
15
15
  private static parseMaterializedFlag;
16
- private static parseInnerSelectQuery;
16
+ private static parseInnerQuery;
17
+ private static parseCteQuery;
18
+ private static applyCteHeaderComments;
19
+ private static isSelectQuery;
20
+ private static getCommandAfterWith;
17
21
  private static extractComments;
18
22
  }
@@ -0,0 +1,12 @@
1
+ import { CreateSchemaStatement } from "../models/DDLStatements";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ /**
4
+ * Parses CREATE SCHEMA statements.
5
+ */
6
+ export declare class CreateSchemaParser {
7
+ static parse(sql: string): CreateSchemaStatement;
8
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
9
+ value: CreateSchemaStatement;
10
+ newIndex: number;
11
+ };
12
+ }
@@ -0,0 +1,24 @@
1
+ import { DropSchemaStatement } from "../models/DDLStatements";
2
+ import { Lexeme } from "../models/Lexeme";
3
+ /**
4
+ * Parses DROP SCHEMA statements.
5
+ */
6
+ export declare class DropSchemaParser {
7
+ /**
8
+ * Parses a DROP SCHEMA statement from raw SQL and validates that the entire string is consumed.
9
+ * @param sql - The SQL string to parse
10
+ * @returns The parsed DropSchemaStatement
11
+ * @throws Error if the SQL string contains unexpected trailing tokens or is malformed
12
+ */
13
+ static parse(sql: string): DropSchemaStatement;
14
+ /**
15
+ * Parses a DROP SCHEMA statement from lexemes starting at the provided index.
16
+ * @param lexemes - The lexeme stream that contains the statement
17
+ * @param index - The position within the lexeme stream where DROP SCHEMA should begin
18
+ * @returns An object containing the parsed DropSchemaStatement and the new lexeme index
19
+ */
20
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
21
+ value: DropSchemaStatement;
22
+ newIndex: number;
23
+ };
24
+ }
@@ -0,0 +1,8 @@
1
+ import { Lexeme } from '../models/Lexeme';
2
+ import { ReindexStatement } from '../models/DDLStatements';
3
+ export declare class ReindexStatementParser {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
+ value: ReindexStatement;
6
+ newIndex: number;
7
+ };
8
+ }
@@ -4,8 +4,8 @@ import type { UpdateQuery } from '../models/UpdateQuery';
4
4
  import type { DeleteQuery } from '../models/DeleteQuery';
5
5
  import type { CreateTableQuery } from '../models/CreateTableQuery';
6
6
  import type { MergeQuery } from '../models/MergeQuery';
7
- import type { DropTableStatement, DropIndexStatement, CreateIndexStatement, AlterTableStatement, DropConstraintStatement, AnalyzeStatement, ExplainStatement, CreateSequenceStatement, AlterSequenceStatement } from '../models/DDLStatements';
8
- export type ParsedStatement = SelectQuery | InsertQuery | UpdateQuery | DeleteQuery | CreateTableQuery | MergeQuery | DropTableStatement | DropIndexStatement | CreateIndexStatement | CreateSequenceStatement | AlterTableStatement | AlterSequenceStatement | DropConstraintStatement | AnalyzeStatement | ExplainStatement;
7
+ import type { DropTableStatement, DropIndexStatement, CreateIndexStatement, CreateSchemaStatement, DropSchemaStatement, AlterTableStatement, DropConstraintStatement, AnalyzeStatement, ExplainStatement, CreateSequenceStatement, AlterSequenceStatement, VacuumStatement, ReindexStatement, ClusterStatement, CheckpointStatement } from '../models/DDLStatements';
8
+ export type ParsedStatement = SelectQuery | InsertQuery | UpdateQuery | DeleteQuery | CreateTableQuery | MergeQuery | DropTableStatement | DropIndexStatement | DropSchemaStatement | CreateIndexStatement | CreateSchemaStatement | CreateSequenceStatement | AlterTableStatement | AlterSequenceStatement | DropConstraintStatement | AnalyzeStatement | ExplainStatement | VacuumStatement | ReindexStatement | ClusterStatement | CheckpointStatement;
9
9
  export interface SqlParserOptions {
10
10
  mode?: 'single' | 'multiple';
11
11
  skipEmptyStatements?: boolean;
@@ -23,13 +23,19 @@ export declare class SqlParser {
23
23
  private static dispatchParse;
24
24
  private static parseSelectStatement;
25
25
  private static parseExplainStatement;
26
+ private static parseVacuumStatement;
27
+ private static parseReindexStatement;
28
+ private static parseClusterStatement;
29
+ private static parseCheckpointStatement;
26
30
  private static parseInsertStatement;
27
31
  private static parseUpdateStatement;
28
32
  private static parseDeleteStatement;
29
33
  private static parseCreateTableStatement;
30
34
  private static parseDropTableStatement;
35
+ private static parseDropSchemaStatement;
31
36
  private static parseDropIndexStatement;
32
37
  private static parseCreateIndexStatement;
38
+ private static parseCreateSchemaStatement;
33
39
  private static parseCreateSequenceStatement;
34
40
  private static parseAlterSequenceStatement;
35
41
  private static parseAlterTableStatement;
@@ -70,6 +70,7 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
70
70
  * @param arg BinarySelectQuery
71
71
  */
72
72
  private visitBinarySelectQuery;
73
+ private visitCreateSchemaStatement;
73
74
  /**
74
75
  * Returns an array of tokens representing a comma followed by a space.
75
76
  * This is a common pattern in SQL pretty-printing.
@@ -302,6 +303,7 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
302
303
  private visitIndexColumnDefinition;
303
304
  private visitDropTableStatement;
304
305
  private visitDropIndexStatement;
306
+ private visitDropSchemaStatement;
305
307
  private visitAlterTableStatement;
306
308
  private visitAlterTableAddConstraint;
307
309
  private visitAlterTableDropConstraint;
@@ -0,0 +1,8 @@
1
+ import { Lexeme } from '../models/Lexeme';
2
+ import { VacuumStatement } from '../models/DDLStatements';
3
+ export declare class VacuumStatementParser {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
+ value: VacuumStatement;
6
+ newIndex: number;
7
+ };
8
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Detects SQL Server MONEY literals that start with `$` and that use thousands-group formatting.
3
+ * This helper coexists with parameter parsing so the tokenizer can decide whether to treat
4
+ * `$1,234` as a literal or keep `$1` as a positional parameter.
5
+ */
6
+ export declare function looksLikeSqlServerMoneyLiteral(input: string, position: number): boolean;
@@ -148,6 +148,7 @@ export declare class AliasRenamer {
148
148
  * Finds a CTE query by name within the parsed AST.
149
149
  */
150
150
  private findCTEQueryByName;
151
+ private isSelectQuery;
151
152
  /**
152
153
  * Collects all references to the specified alias within the given scope.
153
154
  */
@@ -1,5 +1,4 @@
1
1
  import { CommonTable, PartitionByClause } from "../models/Clause";
2
- import { SelectQuery } from "../models/SelectQuery";
3
2
  import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
4
3
  import { ValueList } from "../models/ValueComponent";
5
4
  /**
@@ -25,7 +24,7 @@ export declare class CTECollector implements SqlComponentVisitor<void> {
25
24
  * Reset the collection of CommonTables
26
25
  */
27
26
  private reset;
28
- collect(query: SelectQuery): CommonTable[];
27
+ collect(query: SqlComponent): CommonTable[];
29
28
  /**
30
29
  * Main entry point for the visitor pattern.
31
30
  * Implements the shallow visit pattern to distinguish between root and recursive visits.
@@ -39,6 +38,10 @@ export declare class CTECollector implements SqlComponentVisitor<void> {
39
38
  private visitSimpleSelectQuery;
40
39
  private visitBinarySelectQuery;
41
40
  private visitValuesQuery;
41
+ private visitInsertQuery;
42
+ private visitUpdateQuery;
43
+ private visitDeleteQuery;
44
+ private visitReturningClause;
42
45
  private visitWithClause;
43
46
  private visitCommonTable;
44
47
  private visitSelectClause;
@@ -1,4 +1,5 @@
1
1
  import { SelectQuery } from "../models/SelectQuery";
2
+ import { CTEQuery } from "../models/Clause";
2
3
  /**
3
4
  * CTE dependency tree node for visualization
4
5
  */
@@ -7,7 +8,7 @@ export interface CTENode {
7
8
  columns: string[];
8
9
  dependencies: string[];
9
10
  dependents: string[];
10
- query: SelectQuery;
11
+ query: CTEQuery;
11
12
  level: number;
12
13
  }
13
14
  /**
@@ -53,6 +54,10 @@ export declare class CTEDependencyTracer {
53
54
  * Uses TableSourceCollector to properly identify table references from the AST.
54
55
  */
55
56
  private findReferencedCTEs;
57
+ private extractReturningColumns;
58
+ private extractColumnsFromItems;
59
+ private extractColumnName;
60
+ private isSelectQuery;
56
61
  private calculateLevels;
57
62
  private getSearchOrder;
58
63
  }
@@ -1,5 +1,8 @@
1
1
  import { ForClause, FromClause, GroupByClause, HavingClause, JoinClause, JoinOnClause, JoinUsingClause, LimitClause, OrderByClause, OrderByItem, ParenSource, PartitionByClause, SelectClause, SelectItem, SourceExpression, SubQuerySource, TableSource, WhereClause, WindowFrameClause } from "../models/Clause";
2
2
  import { BinarySelectQuery, SimpleSelectQuery, SelectQuery, ValuesQuery } from "../models/SelectQuery";
3
+ import { InsertQuery } from "../models/InsertQuery";
4
+ import { UpdateQuery } from "../models/UpdateQuery";
5
+ import { DeleteQuery } from "../models/DeleteQuery";
3
6
  import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
4
7
  import { ArrayExpression, ArrayQueryExpression, ArraySliceExpression, ArrayIndexExpression, BetweenExpression, BinaryExpression, CaseExpression, CaseKeyValuePair, CastExpression, ColumnReference, FunctionCall, InlineQuery, ParenExpression, ParameterExpression, SwitchCaseArgument, TupleExpression, UnaryExpression, ValueComponent, ValueList, WindowFrameExpression, IdentifierString, RawString, StringSpecifierExpression, WindowFrameSpec, TypeValue } from "../models/ValueComponent";
5
8
  /**
@@ -36,6 +39,9 @@ export declare class CTEDisabler implements SqlComponentVisitor<SqlComponent> {
36
39
  visitSimpleSelectQuery(arg: SimpleSelectQuery): SqlComponent;
37
40
  visitBinarySelectQuery(query: BinarySelectQuery): SqlComponent;
38
41
  visitValuesQuery(query: ValuesQuery): SqlComponent;
42
+ visitInsertQuery(query: InsertQuery): SqlComponent;
43
+ visitUpdateQuery(query: UpdateQuery): SqlComponent;
44
+ visitDeleteQuery(query: DeleteQuery): SqlComponent;
39
45
  visitSelectClause(clause: SelectClause): SqlComponent;
40
46
  visitFromClause(clause: FromClause): SqlComponent;
41
47
  visitSubQuerySource(subQuery: SubQuerySource): SqlComponent;
@@ -146,6 +146,10 @@ export declare class ColumnReferenceCollector implements SqlComponentVisitor<voi
146
146
  private visitJoinUsingClause;
147
147
  private visitSourceExpression;
148
148
  private visitSubQuerySource;
149
+ private visitInsertQuery;
150
+ private visitUpdateQuery;
151
+ private visitDeleteQuery;
152
+ private visitReturningClause;
149
153
  private visitColumnReference;
150
154
  private visitBinaryExpression;
151
155
  private visitUnaryExpression;
@@ -6,14 +6,19 @@ export declare class DDLToFixtureConverter {
6
6
  * @param ddlSql The SQL text containing CREATE TABLE statements.
7
7
  * @returns A Record representing the Fixture JSON.
8
8
  */
9
+ static convert(ddlSql: string): Record<string, any>;
9
10
  /**
10
- * Converts DDL statements (CREATE TABLE) in the provided SQL text to a Fixture JSON object.
11
- * Ignores non-DDL statements and parse errors.
11
+ * Applies `ALTER TABLE ... ALTER COLUMN ... SET/DROP DEFAULT` actions to the table registry.
12
12
  *
13
- * @param ddlSql The SQL text containing CREATE TABLE statements.
14
- * @returns A Record representing the Fixture JSON.
13
+ * Uses normalization-based resolution to map `ALTER TABLE` targets to matching `CREATE TABLE` entries.
14
+ * Ambiguous or unresolved table names are skipped to avoid accidental cross-table updates.
15
+ *
16
+ * Only `AlterTableAlterColumnDefault` actions are processed; all other ALTER TABLE actions are ignored.
17
+ *
18
+ * @param registry The table definition registry built from `CREATE TABLE` statements.
19
+ * @param alterStatements The `ALTER TABLE` statements to apply.
15
20
  */
16
- static convert(ddlSql: string): Record<string, any>;
21
+ private static applyAlterTableStatements;
17
22
  private static extractValue;
18
23
  private static formatDefaultValue;
19
24
  }
@@ -95,4 +95,7 @@ export declare class SchemaCollector implements SqlComponentVisitor<void> {
95
95
  private resolveTableWildcard;
96
96
  private extractColumnsUsingCollector;
97
97
  private removeDuplicates;
98
+ private extractColumnsFromReturning;
99
+ private extractSelectItemName;
100
+ private isSelectQuery;
98
101
  }
@@ -55,4 +55,9 @@ export declare class SelectValueCollector implements SqlComponentVisitor<void> {
55
55
  private visitSourceExpression;
56
56
  private visitFromClause;
57
57
  private addSelectValueAsUnique;
58
+ private collectValuesFromCteQuery;
59
+ private collectValuesFromReturning;
60
+ private extractValuesFromReturningClause;
61
+ private extractSelectItemName;
62
+ private isSelectQuery;
58
63
  }
@@ -94,7 +94,11 @@ export declare class SqlParamInjector {
94
94
  /**
95
95
  * Recursively collects columns from any SelectQuery type
96
96
  */
97
+ private collectColumnsFromCteQuery;
97
98
  private collectColumnsFromSelectQuery;
99
+ private collectColumnsFromReturning;
100
+ private extractColumnName;
101
+ private isSelectQuery;
98
102
  /**
99
103
  * Builds a mapping between table aliases and real table names for enhanced qualified name resolution
100
104
  */
@@ -53,6 +53,10 @@ export declare class TableSourceCollector implements SqlComponentVisitor<void> {
53
53
  private visitSimpleSelectQuery;
54
54
  private visitBinarySelectQuery;
55
55
  private visitValuesQuery;
56
+ private visitInsertQuery;
57
+ private visitUpdateQuery;
58
+ private visitDeleteQuery;
59
+ private visitReturningClause;
56
60
  private visitWithClause;
57
61
  private visitCommonTable;
58
62
  private visitFromClause;
@@ -38,5 +38,10 @@ export declare class UpstreamSelectQueryFinder {
38
38
  /**
39
39
  * Recursively collects columns from SelectQuery
40
40
  */
41
+ private collectColumnsFromCteQuery;
41
42
  private collectColumnsFromSelectQuery;
43
+ private collectColumnsFromReturning;
44
+ private extractReturningColumns;
45
+ private extractColumnName;
46
+ private isSelectQuery;
42
47
  }
@@ -37,6 +37,9 @@ export declare class ParameterRemover implements SqlComponentVisitor<SqlComponen
37
37
  * Visit ValuesQuery node
38
38
  */
39
39
  private visitValuesQuery;
40
+ private visitInsertQuery;
41
+ private visitUpdateQuery;
42
+ private visitDeleteQuery;
40
43
  /**
41
44
  * Visit WithClause node
42
45
  */
@@ -216,6 +219,7 @@ export declare class ParameterRemover implements SqlComponentVisitor<SqlComponen
216
219
  * Visit FetchExpression node
217
220
  */
218
221
  private visitFetchExpression;
222
+ private isSelectQuery;
219
223
  /**
220
224
  * Static method to apply parameter removal transformation on an SQL AST
221
225
  * @param node The SQL AST node to transform