rawsql-ts 0.11.37-beta → 0.11.38-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 (129) hide show
  1. package/dist/esm/index.min.js +54 -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/transformers/LinePrinter.d.ts +17 -2
  51. package/dist/esm/src/transformers/LinePrinter.js +39 -10
  52. package/dist/esm/src/transformers/LinePrinter.js.map +1 -1
  53. package/dist/esm/src/transformers/SqlFormatter.d.ts +10 -0
  54. package/dist/esm/src/transformers/SqlFormatter.js +1 -1
  55. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  56. package/dist/esm/src/transformers/SqlPrinter.d.ts +6 -1
  57. package/dist/esm/src/transformers/SqlPrinter.js +76 -31
  58. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  59. package/dist/esm/src/utils/CommentEditor.d.ts +12 -5
  60. package/dist/esm/src/utils/CommentEditor.js +67 -28
  61. package/dist/esm/src/utils/CommentEditor.js.map +1 -1
  62. package/dist/esm/src/utils/stringUtils.js +21 -9
  63. package/dist/esm/src/utils/stringUtils.js.map +1 -1
  64. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  65. package/dist/index.min.js +54 -51
  66. package/dist/index.min.js.map +3 -3
  67. package/dist/src/models/Lexeme.d.ts +8 -0
  68. package/dist/src/models/SqlComponent.d.ts +20 -0
  69. package/dist/src/models/SqlComponent.js +46 -0
  70. package/dist/src/models/SqlComponent.js.map +1 -1
  71. package/dist/src/parsers/CommandExpressionParser.d.ts +9 -0
  72. package/dist/src/parsers/CommandExpressionParser.js +118 -14
  73. package/dist/src/parsers/CommandExpressionParser.js.map +1 -1
  74. package/dist/src/parsers/CommonTableParser.d.ts +8 -0
  75. package/dist/src/parsers/CommonTableParser.js +127 -35
  76. package/dist/src/parsers/CommonTableParser.js.map +1 -1
  77. package/dist/src/parsers/FromClauseParser.js +2 -2
  78. package/dist/src/parsers/FromClauseParser.js.map +1 -1
  79. package/dist/src/parsers/FullNameParser.js +13 -1
  80. package/dist/src/parsers/FullNameParser.js.map +1 -1
  81. package/dist/src/parsers/FunctionExpressionParser.js +37 -3
  82. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  83. package/dist/src/parsers/JoinClauseParser.d.ts +4 -0
  84. package/dist/src/parsers/JoinClauseParser.js +54 -20
  85. package/dist/src/parsers/JoinClauseParser.js.map +1 -1
  86. package/dist/src/parsers/OrderByClauseParser.js +39 -8
  87. package/dist/src/parsers/OrderByClauseParser.js.map +1 -1
  88. package/dist/src/parsers/ParenExpressionParser.js +1 -1
  89. package/dist/src/parsers/ParenExpressionParser.js.map +1 -1
  90. package/dist/src/parsers/SelectClauseParser.d.ts +10 -0
  91. package/dist/src/parsers/SelectClauseParser.js +124 -12
  92. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  93. package/dist/src/parsers/SelectQueryParser.d.ts +12 -0
  94. package/dist/src/parsers/SelectQueryParser.js +280 -115
  95. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  96. package/dist/src/parsers/SourceAliasExpressionParser.js +15 -4
  97. package/dist/src/parsers/SourceAliasExpressionParser.js.map +1 -1
  98. package/dist/src/parsers/SourceParser.js +33 -2
  99. package/dist/src/parsers/SourceParser.js.map +1 -1
  100. package/dist/src/parsers/SqlPrintTokenParser.d.ts +62 -0
  101. package/dist/src/parsers/SqlPrintTokenParser.js +700 -32
  102. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  103. package/dist/src/parsers/SqlTokenizer.d.ts +1 -4
  104. package/dist/src/parsers/SqlTokenizer.js +108 -52
  105. package/dist/src/parsers/SqlTokenizer.js.map +1 -1
  106. package/dist/src/parsers/ValueParser.d.ts +4 -0
  107. package/dist/src/parsers/ValueParser.js +119 -20
  108. package/dist/src/parsers/ValueParser.js.map +1 -1
  109. package/dist/src/parsers/WithClauseParser.d.ts +4 -0
  110. package/dist/src/parsers/WithClauseParser.js +64 -35
  111. package/dist/src/parsers/WithClauseParser.js.map +1 -1
  112. package/dist/src/tokenReaders/CommandTokenReader.js +9 -1
  113. package/dist/src/tokenReaders/CommandTokenReader.js.map +1 -1
  114. package/dist/src/transformers/LinePrinter.d.ts +17 -2
  115. package/dist/src/transformers/LinePrinter.js +39 -10
  116. package/dist/src/transformers/LinePrinter.js.map +1 -1
  117. package/dist/src/transformers/SqlFormatter.d.ts +10 -0
  118. package/dist/src/transformers/SqlFormatter.js +4 -1
  119. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  120. package/dist/src/transformers/SqlPrinter.d.ts +6 -1
  121. package/dist/src/transformers/SqlPrinter.js +76 -31
  122. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  123. package/dist/src/utils/CommentEditor.d.ts +12 -5
  124. package/dist/src/utils/CommentEditor.js +67 -28
  125. package/dist/src/utils/CommentEditor.js.map +1 -1
  126. package/dist/src/utils/stringUtils.js +21 -9
  127. package/dist/src/utils/stringUtils.js.map +1 -1
  128. package/dist/tsconfig.tsbuildinfo +1 -1
  129. package/package.json +3 -3
@@ -14,6 +14,10 @@ export declare class ValueParser {
14
14
  * Uses precedence climbing algorithm
15
15
  */
16
16
  private static parseExpressionWithPrecedence;
17
+ /**
18
+ * Transfer positioned comments from lexeme to value component if the component doesn't already handle them
19
+ */
20
+ private static transferPositionedComments;
17
21
  private static parseItem;
18
22
  static parseArgument(openToken: TokenType, closeToken: TokenType, lexemes: Lexeme[], index: number): {
19
23
  value: ValueComponent;
@@ -42,9 +42,14 @@ class ValueParser {
42
42
  let idx = index;
43
43
  // Parse the primary expression (left side)
44
44
  const comment = lexemes[idx].comments;
45
+ const positionedComments = lexemes[idx].positionedComments;
45
46
  const left = this.parseItem(lexemes, idx);
46
- // Only set comments if the child component doesn't already have comments
47
- if (left.value.comments === null && comment && comment.length > 0) {
47
+ // Transfer positioned comments if they exist and the component doesn't handle its own comments
48
+ if (positionedComments && positionedComments.length > 0 && !left.value.positionedComments) {
49
+ left.value.positionedComments = positionedComments;
50
+ }
51
+ // Fall back to legacy comments if positioned comments aren't available
52
+ else if (left.value.comments === null && comment && comment.length > 0) {
48
53
  left.value.comments = comment;
49
54
  }
50
55
  idx = left.newIndex;
@@ -89,11 +94,31 @@ class ValueParser {
89
94
  // Parse the right-hand side with higher precedence
90
95
  const rightResult = this.parseExpressionWithPrecedence(lexemes, idx, nextMinPrecedence, allowAndOperator, allowOrOperator);
91
96
  idx = rightResult.newIndex;
92
- // Create binary expression directly
93
- result = new ValueComponent_1.BinaryExpression(result, operator, rightResult.value);
97
+ // Create binary expression with operator comments preserved
98
+ const binaryExpr = new ValueComponent_1.BinaryExpression(result, operator, rightResult.value);
99
+ // Transfer operator token comments to the operator RawString
100
+ if (operatorToken.comments && operatorToken.comments.length > 0) {
101
+ binaryExpr.operator.comments = operatorToken.comments;
102
+ }
103
+ if (operatorToken.positionedComments && operatorToken.positionedComments.length > 0) {
104
+ binaryExpr.operator.positionedComments = operatorToken.positionedComments;
105
+ }
106
+ result = binaryExpr;
94
107
  }
95
108
  return { value: result, newIndex: idx };
96
109
  }
110
+ /**
111
+ * Transfer positioned comments from lexeme to value component if the component doesn't already handle them
112
+ */
113
+ static transferPositionedComments(lexeme, value) {
114
+ if (lexeme.positionedComments && lexeme.positionedComments.length > 0 && !value.positionedComments) {
115
+ value.positionedComments = lexeme.positionedComments;
116
+ }
117
+ // Fall back to legacy comments if positioned comments aren't available
118
+ else if (value.comments === null && lexeme.comments && lexeme.comments.length > 0) {
119
+ value.comments = lexeme.comments;
120
+ }
121
+ }
97
122
  static parseItem(lexemes, index) {
98
123
  let idx = index;
99
124
  // Range check
@@ -107,12 +132,14 @@ class ValueParser {
107
132
  // Determine if this is a type constructor or function call
108
133
  if (this.isTypeConstructor(lexemes, idx + 1, current.value)) {
109
134
  // Type constructor
110
- const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
111
- return { value: typeValue.value, newIndex: typeValue.newIndex };
135
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
136
+ this.transferPositionedComments(current, result.value);
137
+ return { value: result.value, newIndex: result.newIndex };
112
138
  }
113
139
  else {
114
140
  // Function call
115
141
  const result = FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
142
+ this.transferPositionedComments(current, result.value);
116
143
  return result;
117
144
  }
118
145
  }
@@ -120,6 +147,7 @@ class ValueParser {
120
147
  // e.g., `interval '2 days'`
121
148
  const first = IdentifierParser_1.IdentifierParser.parseFromLexeme(lexemes, idx);
122
149
  if (first.newIndex >= lexemes.length) {
150
+ this.transferPositionedComments(current, first.value);
123
151
  return first;
124
152
  }
125
153
  const next = lexemes[first.newIndex];
@@ -127,8 +155,10 @@ class ValueParser {
127
155
  // Typed literal format
128
156
  const second = LiteralParser_1.LiteralParser.parseFromLexeme(lexemes, first.newIndex);
129
157
  const result = new ValueComponent_1.UnaryExpression(lexemes[idx].value, second.value);
158
+ this.transferPositionedComments(current, result);
130
159
  return { value: result, newIndex: second.newIndex };
131
160
  }
161
+ this.transferPositionedComments(current, first.value);
132
162
  return first;
133
163
  }
134
164
  else if (current.type & Lexeme_1.TokenType.Identifier) {
@@ -137,7 +167,9 @@ class ValueParser {
137
167
  // Since functions and types, as well as columns (tables), can have namespaces,
138
168
  // it is necessary to determine by the last element of the identifier.
139
169
  if (lexemes[newIndex - 1].type & Lexeme_1.TokenType.Function) {
140
- return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
170
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
171
+ this.transferPositionedComments(current, result.value);
172
+ return result;
141
173
  }
142
174
  else if (lexemes[newIndex - 1].type & Lexeme_1.TokenType.Type) {
143
175
  // Handle Type tokens that also have Identifier flag
@@ -145,48 +177,68 @@ class ValueParser {
145
177
  // Determine if this is a type constructor or function call
146
178
  if (this.isTypeConstructor(lexemes, newIndex, name.name)) {
147
179
  // Type constructor (NUMERIC(10,2), VARCHAR(50), etc.)
148
- const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
149
- return { value: typeValue.value, newIndex: typeValue.newIndex };
180
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
181
+ this.transferPositionedComments(current, result.value);
182
+ return { value: result.value, newIndex: result.newIndex };
150
183
  }
151
184
  else {
152
185
  // Function call (DATE('2025-01-01'), etc.)
153
- return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
186
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
187
+ this.transferPositionedComments(current, result.value);
188
+ return result;
154
189
  }
155
190
  }
156
191
  else {
157
192
  // Handle standalone type tokens
158
193
  const value = new ValueComponent_1.TypeValue(namespaces, name);
194
+ this.transferPositionedComments(current, value);
159
195
  return { value, newIndex };
160
196
  }
161
197
  }
162
198
  const value = new ValueComponent_1.ColumnReference(namespaces, name);
199
+ this.transferPositionedComments(current, value);
163
200
  return { value, newIndex };
164
201
  }
165
202
  else if (current.type & Lexeme_1.TokenType.Literal) {
166
- return LiteralParser_1.LiteralParser.parseFromLexeme(lexemes, idx);
203
+ const result = LiteralParser_1.LiteralParser.parseFromLexeme(lexemes, idx);
204
+ this.transferPositionedComments(current, result.value);
205
+ return result;
167
206
  }
168
207
  else if (current.type & Lexeme_1.TokenType.OpenParen) {
169
- return ParenExpressionParser_1.ParenExpressionParser.parseFromLexeme(lexemes, idx);
208
+ const result = ParenExpressionParser_1.ParenExpressionParser.parseFromLexeme(lexemes, idx);
209
+ this.transferPositionedComments(current, result.value);
210
+ return result;
170
211
  }
171
212
  else if (current.type & Lexeme_1.TokenType.Function) {
172
- return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
213
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
214
+ this.transferPositionedComments(current, result.value);
215
+ return result;
173
216
  }
174
217
  else if (current.type & Lexeme_1.TokenType.Operator) {
175
- return UnaryExpressionParser_1.UnaryExpressionParser.parseFromLexeme(lexemes, idx);
218
+ const result = UnaryExpressionParser_1.UnaryExpressionParser.parseFromLexeme(lexemes, idx);
219
+ this.transferPositionedComments(current, result.value);
220
+ return result;
176
221
  }
177
222
  else if (current.type & Lexeme_1.TokenType.Parameter) {
178
- return ParameterExpressionParser_1.ParameterExpressionParser.parseFromLexeme(lexemes, idx);
223
+ const result = ParameterExpressionParser_1.ParameterExpressionParser.parseFromLexeme(lexemes, idx);
224
+ this.transferPositionedComments(current, result.value);
225
+ return result;
179
226
  }
180
227
  else if (current.type & Lexeme_1.TokenType.StringSpecifier) {
181
- return StringSpecifierExpressionParser_1.StringSpecifierExpressionParser.parseFromLexeme(lexemes, idx);
228
+ const result = StringSpecifierExpressionParser_1.StringSpecifierExpressionParser.parseFromLexeme(lexemes, idx);
229
+ this.transferPositionedComments(current, result.value);
230
+ return result;
182
231
  }
183
232
  else if (current.type & Lexeme_1.TokenType.Command) {
184
- return CommandExpressionParser_1.CommandExpressionParser.parseFromLexeme(lexemes, idx);
233
+ const result = CommandExpressionParser_1.CommandExpressionParser.parseFromLexeme(lexemes, idx);
234
+ this.transferPositionedComments(current, result.value);
235
+ return result;
185
236
  }
186
237
  else if (current.type & Lexeme_1.TokenType.OpenBracket) {
187
238
  // SQLServer escape identifier format. e.g. [dbo] or [dbo].[table]
188
239
  const { namespaces, name, newIndex } = FullNameParser_1.FullNameParser.parseFromLexeme(lexemes, idx);
189
240
  const value = new ValueComponent_1.ColumnReference(namespaces, name);
241
+ this.transferPositionedComments(current, value);
190
242
  return { value, newIndex };
191
243
  }
192
244
  else if (current.type & Lexeme_1.TokenType.Type) {
@@ -196,17 +248,21 @@ class ValueParser {
196
248
  // Determine if this is a type constructor or function call
197
249
  if (this.isTypeConstructor(lexemes, newIndex, name.name)) {
198
250
  // Type constructor (NUMERIC(10,2), VARCHAR(50), etc.)
199
- const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
200
- return { value: typeValue.value, newIndex: typeValue.newIndex };
251
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
252
+ this.transferPositionedComments(current, result.value);
253
+ return { value: result.value, newIndex: result.newIndex };
201
254
  }
202
255
  else {
203
256
  // Function call (DATE('2025-01-01'), etc.)
204
- return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
257
+ const result = FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
258
+ this.transferPositionedComments(current, result.value);
259
+ return result;
205
260
  }
206
261
  }
207
262
  else {
208
263
  // Handle standalone type tokens
209
264
  const value = new ValueComponent_1.TypeValue(namespaces, name);
265
+ this.transferPositionedComments(current, value);
210
266
  return { value, newIndex };
211
267
  }
212
268
  }
@@ -217,6 +273,8 @@ class ValueParser {
217
273
  const args = [];
218
274
  // Check for opening parenthesis
219
275
  if (idx < lexemes.length && lexemes[idx].type === openToken) {
276
+ // Capture comments from opening parenthesis
277
+ const openParenToken = lexemes[idx];
220
278
  idx++;
221
279
  if (idx < lexemes.length && lexemes[idx].type === closeToken) {
222
280
  // If there are no arguments, return an empty ValueList
@@ -226,6 +284,20 @@ class ValueParser {
226
284
  // If the next element is `*`, treat `*` as an Identifier
227
285
  if (idx < lexemes.length && lexemes[idx].value === "*") {
228
286
  const wildcard = new ValueComponent_1.ColumnReference(null, "*");
287
+ // Transfer opening paren comments to wildcard
288
+ if (openParenToken.positionedComments && openParenToken.positionedComments.length > 0) {
289
+ // Convert "after" positioned comments from opening paren to "before" comments for the argument
290
+ const beforeComments = openParenToken.positionedComments.filter(pc => pc.position === 'after');
291
+ if (beforeComments.length > 0) {
292
+ wildcard.positionedComments = beforeComments.map(pc => ({
293
+ position: 'before',
294
+ comments: pc.comments
295
+ }));
296
+ }
297
+ }
298
+ else if (openParenToken.comments && openParenToken.comments.length > 0) {
299
+ wildcard.comments = openParenToken.comments;
300
+ }
229
301
  idx++;
230
302
  // The next element must be closeToken
231
303
  if (idx < lexemes.length && lexemes[idx].type === closeToken) {
@@ -239,6 +311,33 @@ class ValueParser {
239
311
  // Parse the value inside
240
312
  const result = this.parseFromLexeme(lexemes, idx);
241
313
  idx = result.newIndex;
314
+ // Transfer opening paren comments to the first argument
315
+ if (openParenToken.positionedComments && openParenToken.positionedComments.length > 0) {
316
+ // Convert "after" positioned comments from opening paren to "before" comments for the argument
317
+ const afterComments = openParenToken.positionedComments.filter(pc => pc.position === 'after');
318
+ if (afterComments.length > 0) {
319
+ const beforeComments = afterComments.map(pc => ({
320
+ position: 'before',
321
+ comments: pc.comments
322
+ }));
323
+ // Merge with existing positioned comments
324
+ if (result.value.positionedComments) {
325
+ result.value.positionedComments = [...beforeComments, ...result.value.positionedComments];
326
+ }
327
+ else {
328
+ result.value.positionedComments = beforeComments;
329
+ }
330
+ }
331
+ }
332
+ else if (openParenToken.comments && openParenToken.comments.length > 0) {
333
+ // Fall back to legacy comments
334
+ if (result.value.comments) {
335
+ result.value.comments = openParenToken.comments.concat(result.value.comments);
336
+ }
337
+ else {
338
+ result.value.comments = openParenToken.comments;
339
+ }
340
+ }
242
341
  args.push(result.value);
243
342
  // Continue reading if the next element is a comma
244
343
  while (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.Comma)) {
@@ -1 +1 @@
1
- {"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AACrD,6DAAgM;AAChM,iDAA8C;AAC9C,yDAAsD;AACtD,mDAAgD;AAChD,mEAAgE;AAChE,mEAAgE;AAChE,2EAAwE;AACxE,uFAAoF;AACpF,uEAAoE;AACpE,yEAAsE;AACtE,qDAAkD;AAClD,6CAA0C;AAC1C,oEAAiE;AAEjE,MAAa,WAAW;IACpB,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,uBAAU,CAAC,mBAAmB,CAChC,OAAO,EACP,MAAM,CAAC,QAAQ,EACf,eAAe,CAClB,CAAC;QACN,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa,EAAE,mBAA4B,IAAI,EAAE,kBAA2B,IAAI;QAC7H,OAAO,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACpG,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,6BAA6B,CACxC,OAAiB,EACjB,KAAa,EACb,aAAqB,EACrB,mBAA4B,IAAI,EAChC,kBAA2B,IAAI;QAE/B,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,2CAA2C;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1C,yEAAyE;QACzE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEpB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,sCAAsC;QACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACjC,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAEjC,oCAAoC;QACpC,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YAErC,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxD,MAAM;YACV,CAAC;YACD,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,0BAA0B;YAC1B,MAAM,UAAU,GAAG,uCAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE9D,2DAA2D;YAC3D,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;gBAC7B,MAAM;YACV,CAAC;YAED,GAAG,EAAE,CAAC,CAAC,qFAAqF;YAC5F,IAAI,uCAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjD,MAAM,aAAa,GAAG,mDAAwB,CAAC,sBAAsB,CACjE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC/D,CAAC;gBACF,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC7B,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC;gBAC7B,SAAS;YACb,CAAC;YAED,sCAAsC;YACtC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,mDAAwB,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACrD,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACzB,SAAS;YACb,CAAC;YAED,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,CAAC;YAEzC,mDAAmD;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAClD,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,CACrE,CAAC;YACF,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;YAE3B,oCAAoC;YACpC,MAAM,GAAG,IAAI,iCAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,OAAiB,EAAE,KAAa;QACrD,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,cAAc;QACd,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,IAAI,EAAE,CAAC;YAC5G,2DAA2D;YAC3D,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5E,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1D,mBAAmB;oBACnB,MAAM,SAAS,GAAG,mDAAwB,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACxE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACJ,gBAAgB;oBAChB,MAAM,MAAM,GAAG,mDAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACtE,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YACD,+BAA+B;YAC/B,4BAA4B;YAC5B,MAAM,KAAK,GAAG,mCAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,EAAE,CAAC;gBAChC,uBAAuB;gBACvB,MAAM,MAAM,GAAG,6BAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAG,IAAI,gCAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAAc,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,8CAA8C;YAC9C,+EAA+E;YAC/E,sEAAsE;YACtE,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,EAAE,CAAC;gBAClD,OAAO,mDAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,IAAI,EAAE,CAAC;gBACrD,oDAAoD;gBACpD,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9E,2DAA2D;oBAC3D,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvD,sDAAsD;wBACtD,MAAM,SAAS,GAAG,mDAAwB,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;wBACxE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACJ,2CAA2C;wBAC3C,OAAO,mDAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAClE,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,gCAAgC;oBAChC,MAAM,KAAK,GAAG,IAAI,0BAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,gCAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,6BAAa,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,EAAE,CAAC;YAC5C,OAAO,6CAAqB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,mDAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,6CAAqB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,EAAE,CAAC;YAC5C,OAAO,qDAAyB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,eAAe,EAAE,CAAC;YAClD,OAAO,iEAA+B,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,iDAAuB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,WAAW,EAAE,CAAC;YAC9C,kEAAkE;YAClE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAAc,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,KAAK,GAAG,IAAI,gCAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,GAAG,kBAAS,CAAC,IAAI,EAAE,CAAC;YACvC,iEAAiE;YACjE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAAc,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9E,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,sDAAsD;oBACtD,MAAM,SAAS,GAAG,mDAAwB,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACxE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACJ,2CAA2C;oBAC3C,OAAO,mDAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,gCAAgC;gBAChC,MAAM,KAAK,GAAG,IAAI,0BAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,MAAM,uBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,+BAA+B,CAAC,CAAC;IACxF,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,SAAoB,EAAE,UAAqB,EAAE,OAAiB,EAAE,KAAa;QACrG,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,MAAM,IAAI,GAAqB,EAAE,CAAC;QAElC,gCAAgC;QAChC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,GAAG,EAAE,CAAC;YAEN,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3D,uDAAuD;gBACvD,GAAG,EAAE,CAAC;gBACN,OAAO,EAAE,KAAK,EAAE,IAAI,0BAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACvD,CAAC;YAED,yDAAyD;YACzD,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,IAAI,gCAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChD,GAAG,EAAE,CAAC;gBACN,sCAAsC;gBACtC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3D,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACJ,MAAM,uBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,kDAAkD,CAAC,CAAC;gBAC3G,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAExB,kDAAkD;YAClD,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,GAAG,EAAE,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACrD,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAED,gCAAgC;YAChC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3D,GAAG,EAAE,CAAC;gBACN,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,6CAA6C;oBAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC7C,CAAC;gBACD,yDAAyD;gBACzD,MAAM,KAAK,GAAG,IAAI,0BAAS,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,uBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QAED,MAAM,uBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,gBAAgB,CAAC,OAAiB,EAAE,KAAa,EAAE,cAA8B;QAC5F,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,MAAM,GAAG,cAAc,CAAC;QAE5B,sCAAsC;QACtC,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,kEAAkE;YAClE,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,sDAAsD;YACjE,CAAC;YAED,GAAG,EAAE,CAAC,CAAC,0BAA0B;YAEjC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,8BAA8B;YAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,YAAY,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,+DAA+D;YAC/D,IAAI,SAAS,GAA0B,IAAI,CAAC;YAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,iEAAiE;YACjE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACvE,2CAA2C;gBAC3C,OAAO,GAAG,IAAI,CAAC;gBACf,GAAG,EAAE,CAAC,CAAC,gBAAgB;YAC3B,CAAC;iBAAM,CAAC;gBACJ,qEAAqE;gBACrE,MAAM,eAAe,GAAG,uCAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;gBAC1F,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC9B,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAE3B,+BAA+B;gBAC/B,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAC/F,OAAO,GAAG,IAAI,CAAC;oBACf,GAAG,EAAE,CAAC,CAAC,gBAAgB;gBAC3B,CAAC;YACL,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,yCAAyC;gBACzC,IAAI,OAAO,GAA0B,IAAI,CAAC;gBAE1C,wEAAwE;gBACxE,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBACxE,MAAM,eAAe,GAAG,uCAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;oBACxF,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC1B,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAC7B,CAAC;gBAED,yBAAyB;gBACzB,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzE,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,GAAG,EAAE,CAAC,CAAC,0BAA0B;gBAEjC,8BAA8B;gBAC9B,MAAM,GAAG,IAAI,qCAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,wCAAwC;gBACxC,gEAAgE;gBAChE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACvD,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;oBAC9B,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC/B,CAAC;gBAED,yBAAyB;gBACzB,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzE,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,GAAG,EAAE,CAAC,CAAC,0BAA0B;gBAEjC,8BAA8B;gBAC9B,MAAM,GAAG,IAAI,qCAAoB,CAAC,MAAM,EAAE,SAAU,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,4BAA4B,CAAC,OAAiB,EAAE,YAAoB;QAC/E,IAAI,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,8BAA8B;QAE1D,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAExC,0EAA0E;QAC1E,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAE3B,0DAA0D;YAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,CAAC;gBACnC,CAAC,KAAK,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3D,GAAG,EAAE,CAAC;gBACN,SAAS;YACb,CAAC;YAED,6EAA6E;YAC7E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0EAA0E;QAC1E,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAExC,yFAAyF;QACzF,sBAAsB;QACtB,MAAM,mBAAmB,GAAG,GAAG,CAAC;QAChC,IAAI,mBAAmB,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,SAAS,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,qFAAqF;QACrF,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC;QACvB,IAAI,yBAAyB,GAAG,IAAI,CAAC;QACrC,OAAO,GAAG,GAAG,mBAAmB,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,kBAAS,CAAC,UAAU,CAAC;gBACnC,CAAC,KAAK,CAAC,IAAI,GAAG,kBAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,yBAAyB,GAAG,KAAK,CAAC;gBAClC,MAAM;YACV,CAAC;YACD,GAAG,EAAE,CAAC;QACV,CAAC;QAED,0EAA0E;QAC1E,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,iBAAiB,CAAC,OAAiB,EAAE,cAAsB,EAAE,QAAgB;QACxF,2DAA2D;QAC3D,MAAM,sBAAsB,GAAG;YAC3B,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW;YACpD,WAAW,EAAE,MAAM,EAAE,UAAU;SAClC,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,qFAAqF;QACrF,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC;YACzC,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxC,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAS,CAAC,OAAO,CAAC;oBACpC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBAClC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrD,8DAA8D;gBAC9D,iCAAiC;gBACjC,8BAA8B;gBAC9B,OAAO,CAAC,eAAe,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/cD,kCA+cC"}
1
+ {"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,8 @@ export declare class WithClauseParser {
58
58
  newIndex: number;
59
59
  headerComments: string[] | null;
60
60
  };
61
+ private static extractWithTokenHeaderComments;
62
+ private static parseWithKeyword;
63
+ private static parseRecursiveFlag;
64
+ private static parseAllCommonTables;
61
65
  }
@@ -70,65 +70,94 @@ class WithClauseParser {
70
70
  */
71
71
  static parseFromLexeme(lexemes, index) {
72
72
  let idx = index;
73
- // Capture comments from the WITH keyword and separate them
74
- const withTokenComments = idx < lexemes.length ? lexemes[idx].comments : null;
73
+ // Extract header comments from WITH token
74
+ const headerComments = this.extractWithTokenHeaderComments(lexemes, idx);
75
+ // Parse WITH keyword
76
+ idx = this.parseWithKeyword(lexemes, idx);
77
+ // Parse optional RECURSIVE keyword
78
+ const { recursive, newIndex: recursiveIndex } = this.parseRecursiveFlag(lexemes, idx);
79
+ idx = recursiveIndex;
80
+ // Parse all CTEs
81
+ const { tables, trailingComments, newIndex: ctesIndex } = this.parseAllCommonTables(lexemes, idx);
82
+ idx = ctesIndex;
83
+ // Create WITH clause and apply trailing comments directly
84
+ const withClause = new Clause_1.WithClause(recursive, tables);
85
+ if (trailingComments.length > 0) {
86
+ withClause.trailingComments = trailingComments;
87
+ }
88
+ return {
89
+ value: withClause,
90
+ newIndex: idx,
91
+ headerComments: headerComments
92
+ };
93
+ }
94
+ // Extract header comments from WITH token
95
+ static extractWithTokenHeaderComments(lexemes, index) {
96
+ if (index >= lexemes.length)
97
+ return null;
98
+ const withToken = lexemes[index];
75
99
  let headerComments = null;
76
- let actualWithComments = null;
77
- // Based on tokenizer analysis:
78
- // - All comments before WITH token are header comments (query-level)
79
- // - Comments that appear after WITH keyword are WITH-specific
80
- if (withTokenComments && withTokenComments.length > 0) {
81
- headerComments = [...withTokenComments]; // All comments before WITH are header comments
82
- actualWithComments = null; // No WITH-specific comments from the WITH token itself
100
+ // Extract positioned comments: only "before" comments are header comments
101
+ if (withToken.positionedComments && withToken.positionedComments.length > 0) {
102
+ for (const posComment of withToken.positionedComments) {
103
+ if (posComment.position === 'before' && posComment.comments) {
104
+ if (!headerComments)
105
+ headerComments = [];
106
+ headerComments.push(...posComment.comments);
107
+ }
108
+ }
83
109
  }
84
- // Expect WITH keyword
85
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === "with") {
86
- idx++;
110
+ // Fallback to legacy comments if no positioned comments (for backward compatibility)
111
+ if (!headerComments && withToken.comments && withToken.comments.length > 0) {
112
+ headerComments = [...withToken.comments];
87
113
  }
88
- else {
89
- throw new Error(`Syntax error at position ${idx}: Expected WITH keyword.`);
114
+ return headerComments;
115
+ }
116
+ // Parse WITH keyword
117
+ static parseWithKeyword(lexemes, index) {
118
+ if (index < lexemes.length && lexemes[index].value.toLowerCase() === "with") {
119
+ return index + 1;
90
120
  }
91
- // Check for RECURSIVE keyword
92
- const recursive = idx < lexemes.length && lexemes[idx].value.toLowerCase() === "recursive";
93
- if (recursive) {
94
- idx++;
121
+ else {
122
+ throw new Error(`Syntax error at position ${index}: Expected WITH keyword.`);
95
123
  }
96
- // Parse CTEs
124
+ }
125
+ // Parse optional RECURSIVE keyword
126
+ static parseRecursiveFlag(lexemes, index) {
127
+ const recursive = index < lexemes.length && lexemes[index].value.toLowerCase() === "recursive";
128
+ return {
129
+ recursive,
130
+ newIndex: recursive ? index + 1 : index
131
+ };
132
+ }
133
+ // Parse all common table expressions
134
+ static parseAllCommonTables(lexemes, index) {
135
+ let idx = index;
97
136
  const tables = [];
137
+ const allTrailingComments = [];
98
138
  // Parse first CTE (required)
99
139
  const firstCte = CommonTableParser_1.CommonTableParser.parseFromLexeme(lexemes, idx);
100
140
  tables.push(firstCte.value);
101
141
  idx = firstCte.newIndex;
102
- // Collect trailing comments from all CTEs
103
- const allTrailingComments = [];
142
+ // Collect trailing comments from first CTE directly
104
143
  if (firstCte.trailingComments) {
105
144
  allTrailingComments.push(...firstCte.trailingComments);
106
145
  }
107
146
  // Parse additional CTEs (optional)
108
147
  while (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.Comma)) {
109
148
  idx++; // Skip comma
110
- // Capture comments that may be before the next CTE name
111
- // Check if there are tokens before the CTE name that might have comments
112
149
  const cteResult = CommonTableParser_1.CommonTableParser.parseFromLexeme(lexemes, idx);
113
150
  tables.push(cteResult.value);
114
151
  idx = cteResult.newIndex;
115
- // Collect trailing comments from this CTE too
152
+ // Collect trailing comments from this CTE directly
116
153
  if (cteResult.trailingComments) {
117
154
  allTrailingComments.push(...cteResult.trailingComments);
118
155
  }
119
156
  }
120
- // Create WITH clause with comments
121
- const withClause = new Clause_1.WithClause(recursive, tables);
122
- withClause.comments = actualWithComments; // Only WITH-specific comments
123
- // Global comments should be handled at SelectQuery level, not here
124
- // Set trailing comments for the main query
125
- if (allTrailingComments.length > 0) {
126
- withClause.trailingComments = allTrailingComments;
127
- }
128
157
  return {
129
- value: withClause,
130
- newIndex: idx,
131
- headerComments: headerComments
158
+ tables,
159
+ trailingComments: allTrailingComments,
160
+ newIndex: idx
132
161
  };
133
162
  }
134
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WithClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/WithClauseParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WithClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/WithClauseParser.ts"],"names":[],"mappings":"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"}
@@ -138,7 +138,15 @@ class CommandTokenReader extends BaseTokenReader_1.BaseTokenReader {
138
138
  const keyword = keywordParser.parse(this.input, this.position);
139
139
  if (keyword !== null) {
140
140
  this.position = keyword.newPosition;
141
- return this.createLexeme(Lexeme_1.TokenType.Command, keyword.keyword, keyword.comments);
141
+ const lexeme = this.createLexeme(Lexeme_1.TokenType.Command, keyword.keyword, keyword.comments);
142
+ // Add positioned comments if comments exist (convert from keyword parser comments)
143
+ if (keyword.comments && keyword.comments.length > 0) {
144
+ lexeme.positionedComments = [{
145
+ position: 'after',
146
+ comments: keyword.comments
147
+ }];
148
+ }
149
+ return lexeme;
142
150
  }
143
151
  // check hint clause
144
152
  if (this.canRead(2) && this.input[this.position] === '/' && this.input[this.position + 1] === '*' && this.input[this.position + 2] === '+') {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/CommandTokenReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandTokenReader.js","sourceRoot":"","sources":["../../../src/tokenReaders/CommandTokenReader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type NewlineOption = ' ' | '\n' | '\r\n';
2
- export type IndentCharOption = '' | ' ' | '\t';
2
+ export type IndentCharOption = string;
3
+ export type CommaBreakStyle = 'none' | 'before' | 'after';
3
4
  /**
4
5
  * SqlPrintHelper provides utility methods for SQL pretty printing.
5
6
  */
@@ -7,13 +8,15 @@ export declare class LinePrinter {
7
8
  indentChar: IndentCharOption;
8
9
  indentSize: number;
9
10
  newline: NewlineOption;
11
+ commaBreak: CommaBreakStyle;
10
12
  lines: PrintLine[];
11
13
  /**
12
14
  * @param indentChar Character used for indentation (default: ' ') // Updated comment to reflect options
13
15
  * @param indentSize Number of indentChar per level (default: 0)
14
16
  * @param newline Newline string (default: '\r\n') // Changed type and default value
17
+ * @param commaBreak Comma break style (default: 'none')
15
18
  */
16
- constructor(indentChar?: IndentCharOption, indentSize?: number, newline?: NewlineOption);
19
+ constructor(indentChar?: IndentCharOption, indentSize?: number, newline?: NewlineOption, commaBreak?: CommaBreakStyle);
17
20
  print(): string;
18
21
  /**
19
22
  * Returns the indent string for a given level.
@@ -32,7 +35,19 @@ export declare class LinePrinter {
32
35
  * @param text Text to append
33
36
  */
34
37
  appendText(text: string): void;
38
+ /**
39
+ * Cleans up the current line for comma formatting.
40
+ * For 'after' and 'none' comma styles, removes empty line when a comma is being added.
41
+ * @param text The text being processed
42
+ * @returns true if cleanup was performed, false otherwise
43
+ */
44
+ cleanupLine(text: string): boolean;
35
45
  getCurrentLine(): PrintLine;
46
+ /**
47
+ * Checks if the current line is empty (has no text content)
48
+ * @returns true if current line is empty, false otherwise
49
+ */
50
+ isCurrentLineEmpty(): boolean;
36
51
  }
37
52
  export declare class PrintLine {
38
53
  level: number;