rawsql-ts 0.24.2 → 0.24.3
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.
- package/dist/esm/index.min.js +7 -7
- package/dist/esm/index.min.js.map +2 -2
- package/dist/esm/parsers/CommandExpressionParser.d.ts +2 -0
- package/dist/esm/parsers/CommandExpressionParser.js +49 -4
- package/dist/esm/parsers/CommandExpressionParser.js.map +1 -1
- package/dist/esm/parsers/HavingParser.js +6 -0
- package/dist/esm/parsers/HavingParser.js.map +1 -1
- package/dist/esm/parsers/JoinOnClauseParser.js +6 -0
- package/dist/esm/parsers/JoinOnClauseParser.js.map +1 -1
- package/dist/esm/parsers/LimitClauseParser.js +6 -0
- package/dist/esm/parsers/LimitClauseParser.js.map +1 -1
- package/dist/esm/parsers/OffsetClauseParser.js +6 -0
- package/dist/esm/parsers/OffsetClauseParser.js.map +1 -1
- package/dist/esm/parsers/OrderByClauseParser.d.ts +2 -0
- package/dist/esm/parsers/OrderByClauseParser.js +42 -29
- package/dist/esm/parsers/OrderByClauseParser.js.map +1 -1
- package/dist/esm/parsers/SqlPrintTokenParser.d.ts +3 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js +70 -6
- package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/parsers/ValueParser.js +5 -3
- package/dist/esm/parsers/ValueParser.js.map +1 -1
- package/dist/esm/transformers/SqlPrinter.d.ts +9 -0
- package/dist/esm/transformers/SqlPrinter.js +143 -5
- package/dist/esm/transformers/SqlPrinter.js.map +1 -1
- package/dist/index.min.js +7 -7
- package/dist/index.min.js.map +2 -2
- package/dist/parsers/CommandExpressionParser.js +49 -4
- package/dist/parsers/CommandExpressionParser.js.map +1 -1
- package/dist/parsers/HavingParser.js +6 -0
- package/dist/parsers/HavingParser.js.map +1 -1
- package/dist/parsers/JoinOnClauseParser.js +6 -0
- package/dist/parsers/JoinOnClauseParser.js.map +1 -1
- package/dist/parsers/LimitClauseParser.js +6 -0
- package/dist/parsers/LimitClauseParser.js.map +1 -1
- package/dist/parsers/OffsetClauseParser.js +6 -0
- package/dist/parsers/OffsetClauseParser.js.map +1 -1
- package/dist/parsers/OrderByClauseParser.js +42 -29
- package/dist/parsers/OrderByClauseParser.js.map +1 -1
- package/dist/parsers/SqlPrintTokenParser.js +71 -6
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/parsers/ValueParser.js +5 -3
- package/dist/parsers/ValueParser.js.map +1 -1
- package/dist/src/parsers/CommandExpressionParser.d.ts +2 -0
- package/dist/src/parsers/OrderByClauseParser.d.ts +2 -0
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +3 -0
- package/dist/src/transformers/SqlPrinter.d.ts +9 -0
- package/dist/transformers/SqlPrinter.js +143 -5
- package/dist/transformers/SqlPrinter.js.map +1 -1
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -43,10 +43,12 @@ export class ValueParser {
|
|
|
43
43
|
const positionedComments = lexemes[idx].positionedComments;
|
|
44
44
|
const left = this.parseItem(lexemes, idx);
|
|
45
45
|
// Transfer positioned comments if they exist and the component doesn't handle its own comments
|
|
46
|
-
if (positionedComments && positionedComments.length > 0
|
|
47
|
-
left.value.positionedComments
|
|
46
|
+
if (positionedComments && positionedComments.length > 0) {
|
|
47
|
+
if (!left.value.positionedComments) {
|
|
48
|
+
left.value.positionedComments = positionedComments;
|
|
49
|
+
}
|
|
48
50
|
}
|
|
49
|
-
// Fall back to legacy comments
|
|
51
|
+
// Fall back to legacy comments only when positioned comments aren't available.
|
|
50
52
|
else if (left.value.comments === null && comment && comment.length > 0) {
|
|
51
53
|
left.value.comments = comment;
|
|
52
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,8 @@ export declare class SqlPrinter {
|
|
|
122
122
|
private pendingLineCommentBreak;
|
|
123
123
|
/** Accumulates lines when reconstructing multi-line block comments inside CommentBlocks */
|
|
124
124
|
private smartCommentBlockBuilder;
|
|
125
|
+
/** Tracks function calls whose arguments must expand because rendered comments are present */
|
|
126
|
+
private commentedFunctionCallDepth;
|
|
125
127
|
/**
|
|
126
128
|
* @param options Optional style settings for pretty printing
|
|
127
129
|
*/
|
|
@@ -141,6 +143,10 @@ export declare class SqlPrinter {
|
|
|
141
143
|
private shouldRenderComment;
|
|
142
144
|
private appendToken;
|
|
143
145
|
private shouldAlignExplainStatementChild;
|
|
146
|
+
private shouldExpandCommentedFunctionCall;
|
|
147
|
+
private containsCommentBlock;
|
|
148
|
+
private isLogicalOperatorWithComment;
|
|
149
|
+
private currentLineEndsWithLogicalOperator;
|
|
144
150
|
private isCaseContext;
|
|
145
151
|
/**
|
|
146
152
|
* Determines if a token should be skipped during printing.
|
|
@@ -157,6 +163,7 @@ export declare class SqlPrinter {
|
|
|
157
163
|
*/
|
|
158
164
|
private tryAppendInsertClauseTokenText;
|
|
159
165
|
private handleCommaToken;
|
|
166
|
+
private handleArgumentSplitterToken;
|
|
160
167
|
private handleAndOperatorToken;
|
|
161
168
|
private handleParenthesisToken;
|
|
162
169
|
private handleOrOperatorToken;
|
|
@@ -195,6 +202,7 @@ export declare class SqlPrinter {
|
|
|
195
202
|
private printCommentToken;
|
|
196
203
|
private handleSmartCommentBlockToken;
|
|
197
204
|
private handleCommentBlockContainer;
|
|
205
|
+
private getEmptyBlockCommentText;
|
|
198
206
|
private normalizeSmartBlockLine;
|
|
199
207
|
private extractLineCommentContent;
|
|
200
208
|
private flushSmartCommentBlockBuilder;
|
|
@@ -221,6 +229,7 @@ export declare class SqlPrinter {
|
|
|
221
229
|
private shouldSkipCommentNewline;
|
|
222
230
|
private shouldAddNewlineBeforeLeadingComments;
|
|
223
231
|
private getLeadingCommentIndentLevel;
|
|
232
|
+
private shouldKeepLeadingCommentOnCommaLine;
|
|
224
233
|
/**
|
|
225
234
|
* Determines if the printer is in oneliner mode.
|
|
226
235
|
* Oneliner mode uses single spaces instead of actual newlines.
|
|
@@ -43,6 +43,8 @@ export class SqlPrinter {
|
|
|
43
43
|
this.pendingLineCommentBreak = null;
|
|
44
44
|
/** Accumulates lines when reconstructing multi-line block comments inside CommentBlocks */
|
|
45
45
|
this.smartCommentBlockBuilder = null;
|
|
46
|
+
/** Tracks function calls whose arguments must expand because rendered comments are present */
|
|
47
|
+
this.commentedFunctionCallDepth = 0;
|
|
46
48
|
// Resolve logical options to their control character representations before applying defaults.
|
|
47
49
|
const resolvedIndentChar = resolveIndentCharOption(options === null || options === void 0 ? void 0 : options.indentChar);
|
|
48
50
|
const resolvedNewline = resolveNewlineOption(options === null || options === void 0 ? void 0 : options.newline);
|
|
@@ -135,6 +137,7 @@ export class SqlPrinter {
|
|
|
135
137
|
this.pendingLineCommentBreak = null;
|
|
136
138
|
this.smartCommentBlockBuilder = null;
|
|
137
139
|
this.expandedOneLineFallbackTokens = new WeakSet();
|
|
140
|
+
this.commentedFunctionCallDepth = 0;
|
|
138
141
|
if (this.linePrinter.lines.length > 0 && level !== this.linePrinter.lines[0].level) {
|
|
139
142
|
this.linePrinter.lines[0].level = level;
|
|
140
143
|
}
|
|
@@ -177,6 +180,7 @@ export class SqlPrinter {
|
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
182
|
appendToken(token, level, parentContainerType, caseContextDepth = 0, indentParentActive = false, commentContext, previousSiblingWasOpenParen = false) {
|
|
183
|
+
var _a;
|
|
180
184
|
// Track WITH clause context for full-oneline formatting
|
|
181
185
|
const wasInsideWithClause = this.insideWithClause;
|
|
182
186
|
if (token.containerType === SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline') {
|
|
@@ -205,12 +209,16 @@ export class SqlPrinter {
|
|
|
205
209
|
}
|
|
206
210
|
}
|
|
207
211
|
const hasRenderableLeadingComment = leadingCommentContexts.some(item => item.shouldRender);
|
|
212
|
+
const leadingCommentFollowsLogicalOperator = hasRenderableLeadingComment && this.currentLineEndsWithLogicalOperator();
|
|
208
213
|
const leadingCommentIndentLevel = hasRenderableLeadingComment
|
|
209
|
-
? this.getLeadingCommentIndentLevel(
|
|
214
|
+
? this.getLeadingCommentIndentLevel(token.containerType === SqlPrintTokenContainerType.SelectItem
|
|
215
|
+
? token.containerType
|
|
216
|
+
: parentContainerType, level)
|
|
210
217
|
: null;
|
|
211
218
|
if (hasRenderableLeadingComment
|
|
212
219
|
&& !this.isOnelineMode()
|
|
213
|
-
&& this.shouldAddNewlineBeforeLeadingComments(parentContainerType)
|
|
220
|
+
&& this.shouldAddNewlineBeforeLeadingComments(parentContainerType)
|
|
221
|
+
&& !this.shouldKeepLeadingCommentOnCommaLine()) {
|
|
214
222
|
const currentLine = this.linePrinter.getCurrentLine();
|
|
215
223
|
if (currentLine.text.trim().length > 0) {
|
|
216
224
|
// Align the newline before leading comments with the intended comment indentation.
|
|
@@ -223,13 +231,26 @@ export class SqlPrinter {
|
|
|
223
231
|
}
|
|
224
232
|
// Keep leading comment processing aligned with its computed indentation level.
|
|
225
233
|
this.appendToken(leading.token, leadingCommentIndentLevel !== null && leadingCommentIndentLevel !== void 0 ? leadingCommentIndentLevel : level, token.containerType, caseContextDepth, indentParentActive, leading.context, false);
|
|
234
|
+
if (token.containerType === SqlPrintTokenContainerType.SelectItem &&
|
|
235
|
+
((_a = this.smartCommentBlockBuilder) === null || _a === void 0 ? void 0 : _a.mode) === 'line') {
|
|
236
|
+
this.flushSmartCommentBlockBuilder();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
if (leadingCommentFollowsLogicalOperator &&
|
|
240
|
+
this.pendingLineCommentBreak === null &&
|
|
241
|
+
!this.isOnelineMode() &&
|
|
242
|
+
this.linePrinter.getCurrentLine().text.trim().endsWith('*/')) {
|
|
243
|
+
this.linePrinter.appendNewline(level + 1);
|
|
226
244
|
}
|
|
227
245
|
if (this.smartCommentBlockBuilder && token.containerType !== SqlPrintTokenContainerType.CommentBlock && token.type !== SqlPrintTokenType.commentNewline) {
|
|
228
246
|
this.flushSmartCommentBlockBuilder();
|
|
229
247
|
}
|
|
230
248
|
if (this.pendingLineCommentBreak !== null) {
|
|
231
249
|
if (!this.isOnelineMode()) {
|
|
232
|
-
|
|
250
|
+
const pendingBreakLevel = leadingCommentFollowsLogicalOperator
|
|
251
|
+
? this.pendingLineCommentBreak + 1
|
|
252
|
+
: this.pendingLineCommentBreak;
|
|
253
|
+
this.linePrinter.appendNewline(pendingBreakLevel);
|
|
233
254
|
}
|
|
234
255
|
const shouldSkipToken = token.type === SqlPrintTokenType.commentNewline;
|
|
235
256
|
this.pendingLineCommentBreak = null;
|
|
@@ -246,7 +267,15 @@ export class SqlPrinter {
|
|
|
246
267
|
if (!this.shouldRenderComment(token, effectiveCommentContext)) {
|
|
247
268
|
return;
|
|
248
269
|
}
|
|
270
|
+
if (this.shouldKeepLeadingCommentOnCommaLine()) {
|
|
271
|
+
this.ensureTrailingSpace();
|
|
272
|
+
}
|
|
249
273
|
const commentLevel = this.getCommentBaseIndentLevel(level, parentContainerType);
|
|
274
|
+
if (parentContainerType === SqlPrintTokenContainerType.SelectItem &&
|
|
275
|
+
effectiveCommentContext.position === 'leading' &&
|
|
276
|
+
this.linePrinter.getCurrentLine().text.trim() === '') {
|
|
277
|
+
this.linePrinter.getCurrentLine().level = commentLevel;
|
|
278
|
+
}
|
|
250
279
|
this.handleCommentBlockContainer(token, commentLevel, effectiveCommentContext);
|
|
251
280
|
return;
|
|
252
281
|
}
|
|
@@ -261,6 +290,9 @@ export class SqlPrinter {
|
|
|
261
290
|
else if (token.type === SqlPrintTokenType.comma) {
|
|
262
291
|
this.handleCommaToken(token, level, parentContainerType);
|
|
263
292
|
}
|
|
293
|
+
else if (token.type === SqlPrintTokenType.argumentSplitter) {
|
|
294
|
+
this.handleArgumentSplitterToken(token, level, parentContainerType);
|
|
295
|
+
}
|
|
264
296
|
else if (token.type === SqlPrintTokenType.parenthesis) {
|
|
265
297
|
this.handleParenthesisToken(token, level, indentParentActive, parentContainerType);
|
|
266
298
|
}
|
|
@@ -381,6 +413,11 @@ export class SqlPrinter {
|
|
|
381
413
|
if (enteredJoinOnClause) {
|
|
382
414
|
this.joinOnClauseDepth++;
|
|
383
415
|
}
|
|
416
|
+
const enteredCommentedFunctionCall = this.shouldExpandCommentedFunctionCall(token);
|
|
417
|
+
if (enteredCommentedFunctionCall) {
|
|
418
|
+
this.commentedFunctionCallDepth++;
|
|
419
|
+
}
|
|
420
|
+
const enteredLogicalOperatorWithComment = this.isLogicalOperatorWithComment(token);
|
|
384
421
|
for (let i = leadingCommentCount; i < token.innerTokens.length; i++) {
|
|
385
422
|
const child = token.innerTokens[i];
|
|
386
423
|
const nextChild = token.innerTokens[i + 1];
|
|
@@ -431,7 +468,10 @@ export class SqlPrinter {
|
|
|
431
468
|
const childCommentContext = child.containerType === SqlPrintTokenContainerType.CommentBlock
|
|
432
469
|
? { position: 'inline', isTopLevelContainer: containerIsTopLevel }
|
|
433
470
|
: undefined;
|
|
434
|
-
|
|
471
|
+
const childLevel = enteredCommentedFunctionCall && child.containerType === SqlPrintTokenContainerType.ValueList
|
|
472
|
+
? innerLevel + 1
|
|
473
|
+
: innerLevel;
|
|
474
|
+
this.appendToken(child, childLevel, token.containerType, nextCaseContextDepth, childIndentParentActive, childCommentContext, previousChildWasOpenParen);
|
|
435
475
|
if (inMergePredicate) {
|
|
436
476
|
this.mergeWhenPredicateDepth--;
|
|
437
477
|
}
|
|
@@ -439,12 +479,24 @@ export class SqlPrinter {
|
|
|
439
479
|
mergePredicateActive = false;
|
|
440
480
|
}
|
|
441
481
|
}
|
|
482
|
+
if (enteredLogicalOperatorWithComment && !this.isOnelineMode()) {
|
|
483
|
+
const currentLine = this.linePrinter.getCurrentLine();
|
|
484
|
+
if (currentLine.text.trim() === '') {
|
|
485
|
+
currentLine.level = level + 1;
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
this.linePrinter.appendNewline(level + 1);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
442
491
|
if (this.smartCommentBlockBuilder && this.smartCommentBlockBuilder.mode === 'line') {
|
|
443
492
|
this.flushSmartCommentBlockBuilder();
|
|
444
493
|
}
|
|
445
494
|
if (enteredJoinOnClause) {
|
|
446
495
|
this.joinOnClauseDepth--;
|
|
447
496
|
}
|
|
497
|
+
if (enteredCommentedFunctionCall) {
|
|
498
|
+
this.commentedFunctionCallDepth--;
|
|
499
|
+
}
|
|
448
500
|
// Exit WITH clause context when we finish processing WithClause container
|
|
449
501
|
if (token.containerType === SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline') {
|
|
450
502
|
this.insideWithClause = false;
|
|
@@ -472,6 +524,27 @@ export class SqlPrinter {
|
|
|
472
524
|
return false;
|
|
473
525
|
}
|
|
474
526
|
}
|
|
527
|
+
shouldExpandCommentedFunctionCall(token) {
|
|
528
|
+
return this.commentExportMode !== 'none' &&
|
|
529
|
+
token.containerType === SqlPrintTokenContainerType.FunctionCall &&
|
|
530
|
+
token.innerTokens.some(child => child.containerType === SqlPrintTokenContainerType.ValueList &&
|
|
531
|
+
this.containsCommentBlock(child));
|
|
532
|
+
}
|
|
533
|
+
containsCommentBlock(token) {
|
|
534
|
+
if (token.containerType === SqlPrintTokenContainerType.CommentBlock) {
|
|
535
|
+
return true;
|
|
536
|
+
}
|
|
537
|
+
return token.innerTokens.some(child => this.containsCommentBlock(child));
|
|
538
|
+
}
|
|
539
|
+
isLogicalOperatorWithComment(token) {
|
|
540
|
+
return this.containsCommentBlock(token) &&
|
|
541
|
+
token.type === SqlPrintTokenType.operator &&
|
|
542
|
+
['and', 'or'].includes(token.text.toLowerCase());
|
|
543
|
+
}
|
|
544
|
+
currentLineEndsWithLogicalOperator() {
|
|
545
|
+
const trimmed = this.linePrinter.getCurrentLine().text.trim().toLowerCase();
|
|
546
|
+
return trimmed === 'and' || trimmed === 'or';
|
|
547
|
+
}
|
|
475
548
|
isCaseContext(containerType) {
|
|
476
549
|
switch (containerType) {
|
|
477
550
|
case SqlPrintTokenContainerType.CaseExpression:
|
|
@@ -631,6 +704,14 @@ export class SqlPrinter {
|
|
|
631
704
|
this.linePrinter.appendText(text);
|
|
632
705
|
}
|
|
633
706
|
}
|
|
707
|
+
handleArgumentSplitterToken(token, level, parentContainerType) {
|
|
708
|
+
this.linePrinter.appendText(token.text);
|
|
709
|
+
if (this.commentedFunctionCallDepth > 0 &&
|
|
710
|
+
parentContainerType === SqlPrintTokenContainerType.ValueList &&
|
|
711
|
+
!this.isOnelineMode()) {
|
|
712
|
+
this.linePrinter.appendNewline(level);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
634
715
|
handleAndOperatorToken(token, level, parentContainerType, caseContextDepth = 0) {
|
|
635
716
|
const text = this.applyKeywordCase(token.text);
|
|
636
717
|
if (caseContextDepth > 0) {
|
|
@@ -663,6 +744,12 @@ export class SqlPrinter {
|
|
|
663
744
|
handleParenthesisToken(token, level, indentParentActive, parentContainerType) {
|
|
664
745
|
if (token.text === '(') {
|
|
665
746
|
this.linePrinter.appendText(token.text);
|
|
747
|
+
if (this.commentedFunctionCallDepth > 0 &&
|
|
748
|
+
parentContainerType === SqlPrintTokenContainerType.FunctionCall &&
|
|
749
|
+
!this.isOnelineMode()) {
|
|
750
|
+
this.linePrinter.appendNewline(level + 1);
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
666
753
|
if ((parentContainerType === SqlPrintTokenContainerType.InsertClause ||
|
|
667
754
|
parentContainerType === SqlPrintTokenContainerType.MergeInsertAction) &&
|
|
668
755
|
this.insertColumnsOneLine) {
|
|
@@ -681,6 +768,12 @@ export class SqlPrinter {
|
|
|
681
768
|
return;
|
|
682
769
|
}
|
|
683
770
|
if (token.text === ')' && !this.isOnelineMode()) {
|
|
771
|
+
if (this.commentedFunctionCallDepth > 0 &&
|
|
772
|
+
parentContainerType === SqlPrintTokenContainerType.FunctionCall) {
|
|
773
|
+
this.linePrinter.appendNewline(level);
|
|
774
|
+
this.linePrinter.appendText(token.text);
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
684
777
|
if (this.shouldBreakBeforeClosingParen(parentContainerType)) {
|
|
685
778
|
this.linePrinter.appendNewline(Math.max(level, 0));
|
|
686
779
|
this.linePrinter.appendText(token.text);
|
|
@@ -794,6 +887,12 @@ export class SqlPrinter {
|
|
|
794
887
|
if (this.smartCommentBlockBuilder && this.smartCommentBlockBuilder.mode === 'line') {
|
|
795
888
|
this.flushSmartCommentBlockBuilder();
|
|
796
889
|
}
|
|
890
|
+
if (this.commentedFunctionCallDepth > 0 &&
|
|
891
|
+
parentContainerType === SqlPrintTokenContainerType.ValueList &&
|
|
892
|
+
(previousToken === null || previousToken === void 0 ? void 0 : previousToken.type) === SqlPrintTokenType.argumentSplitter &&
|
|
893
|
+
!this.isOnelineMode()) {
|
|
894
|
+
return;
|
|
895
|
+
}
|
|
797
896
|
const currentLineText = this.linePrinter.getCurrentLine().text;
|
|
798
897
|
if (this.onelineHelper.shouldSkipInsertClauseSpace(parentContainerType, nextToken, currentLineText)) {
|
|
799
898
|
return;
|
|
@@ -1018,6 +1117,11 @@ export class SqlPrinter {
|
|
|
1018
1117
|
}
|
|
1019
1118
|
return;
|
|
1020
1119
|
}
|
|
1120
|
+
const emptyBlockCommentText = this.getEmptyBlockCommentText(token);
|
|
1121
|
+
if (emptyBlockCommentText !== null) {
|
|
1122
|
+
this.linePrinter.appendText(emptyBlockCommentText);
|
|
1123
|
+
return;
|
|
1124
|
+
}
|
|
1021
1125
|
const lines = this.collectCommentBlockLines(token);
|
|
1022
1126
|
if (lines.length === 0 && !this.smartCommentBlockBuilder) {
|
|
1023
1127
|
// No meaningful content; treat as empty line comment to preserve spacing
|
|
@@ -1039,6 +1143,18 @@ export class SqlPrinter {
|
|
|
1039
1143
|
this.smartCommentBlockBuilder.lines.push(...lines);
|
|
1040
1144
|
}
|
|
1041
1145
|
}
|
|
1146
|
+
getEmptyBlockCommentText(token) {
|
|
1147
|
+
var _a;
|
|
1148
|
+
const commentTokens = ((_a = token.innerTokens) !== null && _a !== void 0 ? _a : []).filter(child => child.type === SqlPrintTokenType.comment);
|
|
1149
|
+
if (commentTokens.length !== 1) {
|
|
1150
|
+
return null;
|
|
1151
|
+
}
|
|
1152
|
+
const trimmed = commentTokens[0].text.trim();
|
|
1153
|
+
if (!trimmed.startsWith('/*') || !trimmed.endsWith('*/')) {
|
|
1154
|
+
return null;
|
|
1155
|
+
}
|
|
1156
|
+
return trimmed.slice(2, -2).trim() === '' ? trimmed : null;
|
|
1157
|
+
}
|
|
1042
1158
|
normalizeSmartBlockLine(raw) {
|
|
1043
1159
|
// Remove trailing whitespace that only carries formatting artifacts
|
|
1044
1160
|
let line = raw.replace(/\s+$/g, '');
|
|
@@ -1114,7 +1230,12 @@ export class SqlPrinter {
|
|
|
1114
1230
|
}
|
|
1115
1231
|
const content = this.extractLineCommentContent(trimmed);
|
|
1116
1232
|
if (content !== null) {
|
|
1117
|
-
|
|
1233
|
+
if (!content && trimmed.startsWith('/*') && trimmed.endsWith('*/')) {
|
|
1234
|
+
lines.push(this.sanitizeCommentLine(this.escapeCommentDelimiters(trimmed)));
|
|
1235
|
+
}
|
|
1236
|
+
else {
|
|
1237
|
+
lines.push(content);
|
|
1238
|
+
}
|
|
1118
1239
|
}
|
|
1119
1240
|
}
|
|
1120
1241
|
}
|
|
@@ -1300,6 +1421,10 @@ export class SqlPrinter {
|
|
|
1300
1421
|
if (parentType === SqlPrintTokenContainerType.SelectClause) {
|
|
1301
1422
|
return true;
|
|
1302
1423
|
}
|
|
1424
|
+
if (parentType === SqlPrintTokenContainerType.OrderByItem ||
|
|
1425
|
+
parentType === SqlPrintTokenContainerType.GroupByClause) {
|
|
1426
|
+
return true;
|
|
1427
|
+
}
|
|
1303
1428
|
if (parentType === SqlPrintTokenContainerType.ExplainStatement) {
|
|
1304
1429
|
// Ensure EXPLAIN targets print header comments on a dedicated line.
|
|
1305
1430
|
return true;
|
|
@@ -1310,6 +1435,13 @@ export class SqlPrinter {
|
|
|
1310
1435
|
return false;
|
|
1311
1436
|
}
|
|
1312
1437
|
getLeadingCommentIndentLevel(parentType, currentLevel) {
|
|
1438
|
+
if (parentType === SqlPrintTokenContainerType.SelectItem) {
|
|
1439
|
+
return currentLevel;
|
|
1440
|
+
}
|
|
1441
|
+
if (parentType === SqlPrintTokenContainerType.OrderByItem ||
|
|
1442
|
+
parentType === SqlPrintTokenContainerType.GroupByClause) {
|
|
1443
|
+
return currentLevel;
|
|
1444
|
+
}
|
|
1313
1445
|
if (parentType === SqlPrintTokenContainerType.TupleExpression) {
|
|
1314
1446
|
return currentLevel + 1;
|
|
1315
1447
|
}
|
|
@@ -1324,6 +1456,12 @@ export class SqlPrinter {
|
|
|
1324
1456
|
}
|
|
1325
1457
|
return currentLevel;
|
|
1326
1458
|
}
|
|
1459
|
+
shouldKeepLeadingCommentOnCommaLine() {
|
|
1460
|
+
if (this.commaBreak !== 'before') {
|
|
1461
|
+
return false;
|
|
1462
|
+
}
|
|
1463
|
+
return this.linePrinter.getCurrentLine().text.trim() === ',';
|
|
1464
|
+
}
|
|
1327
1465
|
/**
|
|
1328
1466
|
* Determines if the printer is in oneliner mode.
|
|
1329
1467
|
* Oneliner mode uses single spaces instead of actual newlines.
|