rawsql-ts 0.11.37-beta → 0.11.39-beta

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 (139) hide show
  1. package/dist/esm/index.min.js +55 -51
  2. package/dist/esm/index.min.js.map +3 -3
  3. package/dist/esm/src/models/Lexeme.d.ts +8 -0
  4. package/dist/esm/src/models/SqlComponent.d.ts +20 -0
  5. package/dist/esm/src/models/SqlComponent.js +46 -0
  6. package/dist/esm/src/models/SqlComponent.js.map +1 -1
  7. package/dist/esm/src/parsers/CommandExpressionParser.d.ts +9 -0
  8. package/dist/esm/src/parsers/CommandExpressionParser.js +118 -14
  9. package/dist/esm/src/parsers/CommandExpressionParser.js.map +1 -1
  10. package/dist/esm/src/parsers/CommonTableParser.d.ts +8 -0
  11. package/dist/esm/src/parsers/CommonTableParser.js +127 -35
  12. package/dist/esm/src/parsers/CommonTableParser.js.map +1 -1
  13. package/dist/esm/src/parsers/FromClauseParser.js +2 -2
  14. package/dist/esm/src/parsers/FromClauseParser.js.map +1 -1
  15. package/dist/esm/src/parsers/FullNameParser.js +13 -1
  16. package/dist/esm/src/parsers/FullNameParser.js.map +1 -1
  17. package/dist/esm/src/parsers/FunctionExpressionParser.js +37 -3
  18. package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
  19. package/dist/esm/src/parsers/JoinClauseParser.d.ts +4 -0
  20. package/dist/esm/src/parsers/JoinClauseParser.js +54 -20
  21. package/dist/esm/src/parsers/JoinClauseParser.js.map +1 -1
  22. package/dist/esm/src/parsers/OrderByClauseParser.js +39 -8
  23. package/dist/esm/src/parsers/OrderByClauseParser.js.map +1 -1
  24. package/dist/esm/src/parsers/ParenExpressionParser.js +1 -1
  25. package/dist/esm/src/parsers/ParenExpressionParser.js.map +1 -1
  26. package/dist/esm/src/parsers/SelectClauseParser.d.ts +10 -0
  27. package/dist/esm/src/parsers/SelectClauseParser.js +124 -12
  28. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  29. package/dist/esm/src/parsers/SelectQueryParser.d.ts +12 -0
  30. package/dist/esm/src/parsers/SelectQueryParser.js +277 -115
  31. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  32. package/dist/esm/src/parsers/SourceAliasExpressionParser.js +15 -4
  33. package/dist/esm/src/parsers/SourceAliasExpressionParser.js.map +1 -1
  34. package/dist/esm/src/parsers/SourceParser.js +33 -2
  35. package/dist/esm/src/parsers/SourceParser.js.map +1 -1
  36. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +62 -0
  37. package/dist/esm/src/parsers/SqlPrintTokenParser.js +700 -32
  38. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  39. package/dist/esm/src/parsers/SqlTokenizer.d.ts +1 -4
  40. package/dist/esm/src/parsers/SqlTokenizer.js +108 -52
  41. package/dist/esm/src/parsers/SqlTokenizer.js.map +1 -1
  42. package/dist/esm/src/parsers/ValueParser.d.ts +4 -0
  43. package/dist/esm/src/parsers/ValueParser.js +119 -20
  44. package/dist/esm/src/parsers/ValueParser.js.map +1 -1
  45. package/dist/esm/src/parsers/WithClauseParser.d.ts +4 -0
  46. package/dist/esm/src/parsers/WithClauseParser.js +64 -35
  47. package/dist/esm/src/parsers/WithClauseParser.js.map +1 -1
  48. package/dist/esm/src/tokenReaders/CommandTokenReader.js +9 -1
  49. package/dist/esm/src/tokenReaders/CommandTokenReader.js.map +1 -1
  50. package/dist/esm/src/tokenReaders/EscapedIdentifierTokenReader.js +5 -0
  51. package/dist/esm/src/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -1
  52. package/dist/esm/src/tokenReaders/OperatorTokenReader.js +12 -9
  53. package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  54. package/dist/esm/src/transformers/LinePrinter.d.ts +17 -2
  55. package/dist/esm/src/transformers/LinePrinter.js +39 -10
  56. package/dist/esm/src/transformers/LinePrinter.js.map +1 -1
  57. package/dist/esm/src/transformers/SqlFormatter.d.ts +10 -0
  58. package/dist/esm/src/transformers/SqlFormatter.js +1 -1
  59. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  60. package/dist/esm/src/transformers/SqlPrinter.d.ts +6 -1
  61. package/dist/esm/src/transformers/SqlPrinter.js +76 -31
  62. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  63. package/dist/esm/src/utils/CommentEditor.d.ts +12 -5
  64. package/dist/esm/src/utils/CommentEditor.js +67 -28
  65. package/dist/esm/src/utils/CommentEditor.js.map +1 -1
  66. package/dist/esm/src/utils/stringUtils.d.ts +1 -0
  67. package/dist/esm/src/utils/stringUtils.js +43 -26
  68. package/dist/esm/src/utils/stringUtils.js.map +1 -1
  69. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  70. package/dist/index.min.js +55 -51
  71. package/dist/index.min.js.map +3 -3
  72. package/dist/src/models/Lexeme.d.ts +8 -0
  73. package/dist/src/models/SqlComponent.d.ts +20 -0
  74. package/dist/src/models/SqlComponent.js +46 -0
  75. package/dist/src/models/SqlComponent.js.map +1 -1
  76. package/dist/src/parsers/CommandExpressionParser.d.ts +9 -0
  77. package/dist/src/parsers/CommandExpressionParser.js +118 -14
  78. package/dist/src/parsers/CommandExpressionParser.js.map +1 -1
  79. package/dist/src/parsers/CommonTableParser.d.ts +8 -0
  80. package/dist/src/parsers/CommonTableParser.js +127 -35
  81. package/dist/src/parsers/CommonTableParser.js.map +1 -1
  82. package/dist/src/parsers/FromClauseParser.js +2 -2
  83. package/dist/src/parsers/FromClauseParser.js.map +1 -1
  84. package/dist/src/parsers/FullNameParser.js +13 -1
  85. package/dist/src/parsers/FullNameParser.js.map +1 -1
  86. package/dist/src/parsers/FunctionExpressionParser.js +37 -3
  87. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  88. package/dist/src/parsers/JoinClauseParser.d.ts +4 -0
  89. package/dist/src/parsers/JoinClauseParser.js +54 -20
  90. package/dist/src/parsers/JoinClauseParser.js.map +1 -1
  91. package/dist/src/parsers/OrderByClauseParser.js +39 -8
  92. package/dist/src/parsers/OrderByClauseParser.js.map +1 -1
  93. package/dist/src/parsers/ParenExpressionParser.js +1 -1
  94. package/dist/src/parsers/ParenExpressionParser.js.map +1 -1
  95. package/dist/src/parsers/SelectClauseParser.d.ts +10 -0
  96. package/dist/src/parsers/SelectClauseParser.js +124 -12
  97. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  98. package/dist/src/parsers/SelectQueryParser.d.ts +12 -0
  99. package/dist/src/parsers/SelectQueryParser.js +280 -115
  100. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  101. package/dist/src/parsers/SourceAliasExpressionParser.js +15 -4
  102. package/dist/src/parsers/SourceAliasExpressionParser.js.map +1 -1
  103. package/dist/src/parsers/SourceParser.js +33 -2
  104. package/dist/src/parsers/SourceParser.js.map +1 -1
  105. package/dist/src/parsers/SqlPrintTokenParser.d.ts +62 -0
  106. package/dist/src/parsers/SqlPrintTokenParser.js +700 -32
  107. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  108. package/dist/src/parsers/SqlTokenizer.d.ts +1 -4
  109. package/dist/src/parsers/SqlTokenizer.js +108 -52
  110. package/dist/src/parsers/SqlTokenizer.js.map +1 -1
  111. package/dist/src/parsers/ValueParser.d.ts +4 -0
  112. package/dist/src/parsers/ValueParser.js +119 -20
  113. package/dist/src/parsers/ValueParser.js.map +1 -1
  114. package/dist/src/parsers/WithClauseParser.d.ts +4 -0
  115. package/dist/src/parsers/WithClauseParser.js +64 -35
  116. package/dist/src/parsers/WithClauseParser.js.map +1 -1
  117. package/dist/src/tokenReaders/CommandTokenReader.js +9 -1
  118. package/dist/src/tokenReaders/CommandTokenReader.js.map +1 -1
  119. package/dist/src/tokenReaders/EscapedIdentifierTokenReader.js +5 -0
  120. package/dist/src/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -1
  121. package/dist/src/tokenReaders/OperatorTokenReader.js +12 -9
  122. package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
  123. package/dist/src/transformers/LinePrinter.d.ts +17 -2
  124. package/dist/src/transformers/LinePrinter.js +39 -10
  125. package/dist/src/transformers/LinePrinter.js.map +1 -1
  126. package/dist/src/transformers/SqlFormatter.d.ts +10 -0
  127. package/dist/src/transformers/SqlFormatter.js +4 -1
  128. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  129. package/dist/src/transformers/SqlPrinter.d.ts +6 -1
  130. package/dist/src/transformers/SqlPrinter.js +76 -31
  131. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  132. package/dist/src/utils/CommentEditor.d.ts +12 -5
  133. package/dist/src/utils/CommentEditor.js +67 -28
  134. package/dist/src/utils/CommentEditor.js.map +1 -1
  135. package/dist/src/utils/stringUtils.d.ts +1 -0
  136. package/dist/src/utils/stringUtils.js +43 -26
  137. package/dist/src/utils/stringUtils.js.map +1 -1
  138. package/dist/tsconfig.tsbuildinfo +1 -1
  139. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SourceAliasExpressionParser.js","sourceRoot":"","sources":["../../../src/parsers/SourceAliasExpressionParser.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AACzD,6CAAqD;AAGrD,MAAa,2BAA2B;IACpC,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,iGAAiG;QACjG,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACnH,kBAAkB;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACjC,GAAG,EAAE,CAAC;YAEN,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,yBAAyB;gBACzB,MAAM,OAAO,GAAa,EAAE,CAAC;gBAE7B,4BAA4B;gBAC5B,GAAG,EAAE,CAAC;gBAEN,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjC,GAAG,EAAE,CAAC;oBACN,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChE,GAAG,EAAE,CAAC;oBACV,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,2BAA2B;oBACtC,CAAC;gBACL,CAAC;gBAED,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,EAAE,CAAC;oBAC3C,+BAA+B;oBAC/B,GAAG,EAAE,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,6HAA6H,CAAC,CAAC;gBAClL,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,6FAA6F,CAAC,CAAC;gBACpJ,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,IAAI,8BAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YAC/E,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,8BAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,uDAAuD,CAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,KAAI,cAAc,IAAI,CAAC,CAAC;IACzJ,CAAC;CACJ;AA9CD,kEA8CC"}
1
+ {"version":3,"file":"SourceAliasExpressionParser.js","sourceRoot":"","sources":["../../../src/parsers/SourceAliasExpressionParser.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,13 @@ class SourceParser {
54
54
  static parseTableSource(fullNameResult) {
55
55
  const { namespaces, name, newIndex } = fullNameResult;
56
56
  const value = new Clause_1.TableSource(namespaces, name.name);
57
+ // Transfer positioned comments from the table name to TableSource
58
+ if (name.positionedComments && name.positionedComments.length > 0) {
59
+ value.positionedComments = name.positionedComments;
60
+ }
61
+ else if (name.comments && name.comments.length > 0) {
62
+ value.comments = name.comments;
63
+ }
57
64
  return { value, newIndex };
58
65
  }
59
66
  static parseFunctionSource(lexemes, fullNameResult) {
@@ -67,6 +74,8 @@ class SourceParser {
67
74
  }
68
75
  static parseParenSource(lexemes, index) {
69
76
  let idx = index;
77
+ // capture the open parenthesis and its comments
78
+ const openParenToken = lexemes[idx];
70
79
  // skip the open parenthesis
71
80
  idx++;
72
81
  if (idx >= lexemes.length) {
@@ -75,7 +84,7 @@ class SourceParser {
75
84
  // Support both SELECT and VALUES in subqueries
76
85
  const keyword = lexemes[idx].value;
77
86
  if (keyword === "select" || keyword === "values" || keyword === "with") {
78
- const result = this.parseSubQuerySource(lexemes, idx);
87
+ const result = this.parseSubQuerySource(lexemes, idx, openParenToken);
79
88
  idx = result.newIndex;
80
89
  if (idx < lexemes.length && lexemes[idx].type == Lexeme_1.TokenType.CloseParen) {
81
90
  // skip the closing parenthesis
@@ -100,11 +109,33 @@ class SourceParser {
100
109
  }
101
110
  throw new Error(`Syntax error at position ${idx}: Expected 'SELECT' keyword, 'VALUES' keyword, or opening parenthesis '(' but found "${lexemes[idx].value}".`);
102
111
  }
103
- static parseSubQuerySource(lexemes, index) {
112
+ static parseSubQuerySource(lexemes, index, openParenToken) {
104
113
  let idx = index;
105
114
  // Use the new parseFromLexeme method and destructure the result
106
115
  const { value: selectQuery, newIndex } = SelectQueryParser_1.SelectQueryParser.parseFromLexeme(lexemes, idx);
107
116
  idx = newIndex;
117
+ // Transfer opening paren comments to the subquery (similar to function arguments)
118
+ if (openParenToken && openParenToken.positionedComments && openParenToken.positionedComments.length > 0) {
119
+ // Convert "after" positioned comments from opening paren to "before" comments for the subquery
120
+ const afterComments = openParenToken.positionedComments.filter(pc => pc.position === 'after');
121
+ if (afterComments.length > 0) {
122
+ const beforeComments = afterComments.map(pc => ({
123
+ position: 'before',
124
+ comments: pc.comments
125
+ }));
126
+ // Merge with existing positioned comments on the subquery
127
+ if (selectQuery.positionedComments) {
128
+ selectQuery.positionedComments = [...beforeComments, ...selectQuery.positionedComments];
129
+ }
130
+ else {
131
+ selectQuery.positionedComments = beforeComments;
132
+ }
133
+ // Clear legacy comments to prevent duplication
134
+ if (selectQuery.comments) {
135
+ selectQuery.comments = null;
136
+ }
137
+ }
138
+ }
108
139
  const subQuerySource = new Clause_1.SubQuerySource(selectQuery);
109
140
  return { value: subQuerySource, newIndex: idx };
110
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SourceParser.js","sourceRoot":"","sources":["../../../src/parsers/SourceParser.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAClD,6CAAgG;AAChG,6CAAqD;AACrD,2DAAwD;AACxD,iDAA8C;AAC9C,+CAA4C;AAE5C,MAAa,YAAY;IACrB,uCAAuC;IAChC,MAAM,CAAC,KAAK,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEhD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,qEAAqE,CAAC,CAAC;QAC5L,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,2BAA2B,CAAC,OAAiB,EAAE,KAAa;QACtE,MAAM,cAAc,GAAG,+BAAc,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,kBAAkB;QAClB,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,wDAAwD;QACxD,MAAM,cAAc,GAAG,+BAAc,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEpE,4DAA4D;QAC5D,IAAI,cAAc,CAAC,aAAa,GAAG,kBAAS,CAAC,QAAQ,EAAE,CAAC;YACpD,8DAA8D;YAC9D,OAAO,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrE,CAAC;QAED,oEAAoE;QACpE,OAAO,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,cAA4E;QACxG,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,oBAAW,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAC9B,OAAiB,EACjB,cAA4E;QAE5E,IAAI,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC;QAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;QAE5C,MAAM,QAAQ,GAAG,yBAAW,CAAC,aAAa,CAAC,kBAAS,CAAC,SAAS,EAAE,kBAAS,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACpG,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAExB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,OAAiB,EAAE,KAAa;QAC5D,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,4BAA4B;QAC5B,GAAG,EAAE,CAAC;QACN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,GAAG,uEAAuE,CAAC,CAAC;QACrJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACnC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACtD,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtB,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,kBAAS,CAAC,UAAU,EAAE,CAAC;gBACpE,+BAA+B;gBAC/B,GAAG,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,mGAAmG,CAAC,CAAC;YACxJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAClD,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,kBAAS,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtB,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,kBAAS,CAAC,UAAU,EAAE,CAAC;gBACpE,+BAA+B;gBAC/B,GAAG,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,mGAAmG,CAAC,CAAC;YACxJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,wFAAwF,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACnK,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,OAAiB,EAAE,KAAa;QAC/D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,gEAAgE;QAChE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,qCAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzF,GAAG,GAAG,QAAQ,CAAC;QAEf,MAAM,cAAc,GAAG,IAAI,uBAAc,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACpD,CAAC;CACJ;AAxHD,oCAwHC"}
1
+ {"version":3,"file":"SourceParser.js","sourceRoot":"","sources":["../../../src/parsers/SourceParser.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,13 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
33
33
  private static readonly PAREN_OPEN_TOKEN;
34
34
  private static readonly PAREN_CLOSE_TOKEN;
35
35
  private static readonly DOT_TOKEN;
36
+ private static _selfHandlingComponentTypes;
37
+ private static getSelfHandlingComponentTypes;
36
38
  private handlers;
37
39
  parameterDecorator: ParameterDecorator;
38
40
  identifierDecorator: IdentifierDecorator;
39
41
  index: number;
42
+ private commentStyle;
40
43
  constructor(options?: {
41
44
  preset?: FormatterConfig;
42
45
  identifierEscape?: {
@@ -48,6 +51,7 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
48
51
  end: string;
49
52
  };
50
53
  parameterStyle?: 'anonymous' | 'indexed' | 'named';
54
+ commentStyle?: 'block' | 'smart';
51
55
  });
52
56
  /**
53
57
  * Pretty-prints a BinarySelectQuery (e.g., UNION, INTERSECT, EXCEPT).
@@ -72,17 +76,59 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
72
76
  token: SqlPrintToken;
73
77
  params: any[] | Record<string, any>[] | Record<string, any>;
74
78
  };
79
+ /**
80
+ * Check if a component handles its own comments
81
+ */
82
+ private componentHandlesOwnComments;
75
83
  visit(arg: SqlComponent): SqlPrintToken;
84
+ /**
85
+ * Check if a component has positioned comments
86
+ */
87
+ private hasPositionedComments;
88
+ /**
89
+ * Check if a component has legacy comments
90
+ */
91
+ private hasLegacyComments;
92
+ /**
93
+ * Centralized comment handling - checks positioned comments first, falls back to legacy
94
+ */
95
+ private addComponentComments;
96
+ /**
97
+ * Adds positioned comment tokens to a SqlPrintToken for inline formatting
98
+ */
99
+ private addPositionedCommentsToToken;
76
100
  /**
77
101
  * Adds comment tokens to a SqlPrintToken based on the comments array
78
102
  */
79
103
  private addCommentsToToken;
104
+ /**
105
+ * Creates inline comment sequence for multiple comments without newlines
106
+ */
107
+ private createInlineCommentSequence;
80
108
  /**
81
109
  * Creates CommentBlock containers for the given comments.
82
110
  * Each CommentBlock contains: Comment -> CommentNewline -> Space
83
111
  * This structure supports both oneliner and multiline formatting modes.
84
112
  */
85
113
  private createCommentBlocks;
114
+ /**
115
+ * Creates smart comment blocks by merging consecutive block comments into multi-line format
116
+ */
117
+ private createSmartCommentBlocks;
118
+ /**
119
+ * Determines if a comment should be merged with consecutive comments
120
+ */
121
+ private shouldMergeComment;
122
+ /**
123
+ * Creates a multi-line block comment structure from consecutive comments
124
+ * Returns a CommentBlock containing multiple comment lines for proper LinePrinter integration
125
+ */
126
+ private createMultiLineCommentBlock;
127
+ /**
128
+ * Creates a multi-line comment block specifically for headerComments
129
+ * headerComments come as pre-split lines, so we handle them differently
130
+ */
131
+ private createHeaderMultiLineCommentBlock;
86
132
  /**
87
133
  * Creates a single CommentBlock with the standard structure:
88
134
  * Comment -> CommentNewline -> Space
@@ -92,11 +138,27 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
92
138
  * - Oneliner mode: Comment + space (commentNewline is skipped)
93
139
  */
94
140
  private createSingleCommentBlock;
141
+ /**
142
+ * Formats a comment, preserving line comment format for -- comments
143
+ * and converting others to block format for safety
144
+ */
145
+ private formatComment;
146
+ /**
147
+ * Formats comments using smart style rules:
148
+ * - Only multi-line block comment merging is supported
149
+ * - Single-line comments remain as block comments (no dash conversion)
150
+ */
151
+ private formatCommentSmart;
95
152
  /**
96
153
  * Inserts comment blocks into a token and handles spacing logic.
97
154
  * Adds separator spaces for clause-level containers and manages duplicate space removal.
98
155
  */
99
156
  private insertCommentBlocksWithSpacing;
157
+ /**
158
+ * Handles positioned comments for ParenExpression with special spacing rules.
159
+ * ParenExpression comments should be adjacent to parentheses without separator spaces.
160
+ */
161
+ private addPositionedCommentsToParenExpression;
100
162
  /**
101
163
  * Determines whether a separator space should be added after comments for the given container type.
102
164
  *