rawsql-ts 0.11.10-beta → 0.11.12-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 (63) hide show
  1. package/dist/esm/index.min.js +12 -12
  2. package/dist/esm/index.min.js.map +4 -4
  3. package/dist/esm/src/models/SqlPrintToken.d.ts +6 -4
  4. package/dist/esm/src/models/SqlPrintToken.js +2 -0
  5. package/dist/esm/src/models/SqlPrintToken.js.map +1 -1
  6. package/dist/esm/src/parsers/FunctionExpressionParser.js +5 -4
  7. package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
  8. package/dist/esm/src/parsers/SelectQueryParser.js +3 -2
  9. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  10. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +40 -0
  11. package/dist/esm/src/parsers/SqlPrintTokenParser.js +103 -8
  12. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  13. package/dist/esm/src/parsers/ValueParser.js +4 -4
  14. package/dist/esm/src/parsers/ValueParser.js.map +1 -1
  15. package/dist/esm/src/reporting/models/DataFlowGraph.d.ts +3 -1
  16. package/dist/esm/src/reporting/models/DataFlowGraph.js +5 -27
  17. package/dist/esm/src/reporting/models/DataFlowGraph.js.map +1 -1
  18. package/dist/esm/src/reporting/models/DataFlowNode.d.ts +8 -2
  19. package/dist/esm/src/reporting/models/DataFlowNode.js +34 -10
  20. package/dist/esm/src/reporting/models/DataFlowNode.js.map +1 -1
  21. package/dist/esm/src/reporting/services/ProcessHandler.d.ts +6 -42
  22. package/dist/esm/src/reporting/services/ProcessHandler.js +9 -164
  23. package/dist/esm/src/reporting/services/ProcessHandler.js.map +1 -1
  24. package/dist/esm/src/transformers/QueryFlowDiagramGenerator.js +11 -1
  25. package/dist/esm/src/transformers/QueryFlowDiagramGenerator.js.map +1 -1
  26. package/dist/esm/src/transformers/SqlFormatter.d.ts +8 -1
  27. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  28. package/dist/esm/src/transformers/SqlPrinter.d.ts +55 -7
  29. package/dist/esm/src/transformers/SqlPrinter.js +151 -32
  30. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  31. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  32. package/dist/index.min.js +10 -10
  33. package/dist/index.min.js.map +4 -4
  34. package/dist/src/models/SqlPrintToken.d.ts +6 -4
  35. package/dist/src/models/SqlPrintToken.js +2 -0
  36. package/dist/src/models/SqlPrintToken.js.map +1 -1
  37. package/dist/src/parsers/FunctionExpressionParser.js +5 -4
  38. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  39. package/dist/src/parsers/SelectQueryParser.js +3 -2
  40. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  41. package/dist/src/parsers/SqlPrintTokenParser.d.ts +40 -0
  42. package/dist/src/parsers/SqlPrintTokenParser.js +103 -8
  43. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  44. package/dist/src/parsers/ValueParser.js +4 -4
  45. package/dist/src/parsers/ValueParser.js.map +1 -1
  46. package/dist/src/reporting/models/DataFlowGraph.d.ts +3 -1
  47. package/dist/src/reporting/models/DataFlowGraph.js +5 -27
  48. package/dist/src/reporting/models/DataFlowGraph.js.map +1 -1
  49. package/dist/src/reporting/models/DataFlowNode.d.ts +8 -2
  50. package/dist/src/reporting/models/DataFlowNode.js +34 -10
  51. package/dist/src/reporting/models/DataFlowNode.js.map +1 -1
  52. package/dist/src/reporting/services/ProcessHandler.d.ts +6 -42
  53. package/dist/src/reporting/services/ProcessHandler.js +9 -164
  54. package/dist/src/reporting/services/ProcessHandler.js.map +1 -1
  55. package/dist/src/transformers/QueryFlowDiagramGenerator.js +11 -1
  56. package/dist/src/transformers/QueryFlowDiagramGenerator.js.map +1 -1
  57. package/dist/src/transformers/SqlFormatter.d.ts +8 -1
  58. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  59. package/dist/src/transformers/SqlPrinter.d.ts +55 -7
  60. package/dist/src/transformers/SqlPrinter.js +151 -32
  61. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +1 -1
@@ -11,14 +11,15 @@ const LinePrinter_1 = require("./LinePrinter");
11
11
  * - Line break styles for commas and AND operators
12
12
  * - Keyword case transformation
13
13
  * - Comment handling
14
- * - CTE (Common Table Expression) formatting
14
+ * - WITH clause formatting styles
15
15
  *
16
16
  * @example
17
17
  * const printer = new SqlPrinter({
18
18
  * indentChar: ' ',
19
19
  * indentSize: 1,
20
20
  * keywordCase: 'upper',
21
- * commaBreak: 'after'
21
+ * commaBreak: 'after',
22
+ * withClauseStyle: 'cte-oneline'
22
23
  * });
23
24
  * const formatted = printer.print(sqlToken);
24
25
  */
@@ -28,6 +29,8 @@ class SqlPrinter {
28
29
  */
29
30
  constructor(options) {
30
31
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
32
+ /** Track whether we are currently inside a WITH clause for full-oneline formatting */
33
+ this.insideWithClause = false;
31
34
  this.indentChar = (_a = options === null || options === void 0 ? void 0 : options.indentChar) !== null && _a !== void 0 ? _a : '';
32
35
  this.indentSize = (_b = options === null || options === void 0 ? void 0 : options.indentSize) !== null && _b !== void 0 ? _b : 0;
33
36
  // The default newline character is set to a blank space (' ') to enable one-liner formatting.
@@ -38,7 +41,7 @@ class SqlPrinter {
38
41
  this.keywordCase = (_f = options === null || options === void 0 ? void 0 : options.keywordCase) !== null && _f !== void 0 ? _f : 'none';
39
42
  this.exportComment = (_g = options === null || options === void 0 ? void 0 : options.exportComment) !== null && _g !== void 0 ? _g : false;
40
43
  this.strictCommentPlacement = (_h = options === null || options === void 0 ? void 0 : options.strictCommentPlacement) !== null && _h !== void 0 ? _h : false;
41
- this.cteOneline = (_j = options === null || options === void 0 ? void 0 : options.cteOneline) !== null && _j !== void 0 ? _j : false;
44
+ this.withClauseStyle = (_j = options === null || options === void 0 ? void 0 : options.withClauseStyle) !== null && _j !== void 0 ? _j : 'standard';
42
45
  this.linePrinter = new LinePrinter_1.LinePrinter(this.indentChar, this.indentSize, this.newline);
43
46
  // Initialize
44
47
  this.indentIncrementContainers = new Set((_k = options === null || options === void 0 ? void 0 : options.indentIncrementContainerTypes) !== null && _k !== void 0 ? _k : [
@@ -60,10 +63,13 @@ class SqlPrinter {
60
63
  SqlPrintToken_1.SqlPrintTokenContainerType.CaseKeyValuePair,
61
64
  SqlPrintToken_1.SqlPrintTokenContainerType.CaseThenValue,
62
65
  SqlPrintToken_1.SqlPrintTokenContainerType.ElseClause,
63
- SqlPrintToken_1.SqlPrintTokenContainerType.CaseElseValue
66
+ SqlPrintToken_1.SqlPrintTokenContainerType.CaseElseValue,
67
+ SqlPrintToken_1.SqlPrintTokenContainerType.SimpleSelectQuery
68
+ // Note: CommentBlock is intentionally excluded from indentIncrementContainers
69
+ // because it serves as a grouping mechanism without affecting indentation.
64
70
  // CaseExpression, SwitchCaseArgument, CaseKeyValuePair, and ElseClause
65
- // are not included by default to maintain backward compatibility with tests
66
- //SqlPrintTokenContainerType.CommonTable
71
+ // are not included by default to maintain backward compatibility with tests.
72
+ // SqlPrintTokenContainerType.CommonTable is also excluded by default.
67
73
  ]);
68
74
  }
69
75
  /**
@@ -78,13 +84,19 @@ class SqlPrinter {
78
84
  print(token, level = 0) {
79
85
  // initialize
80
86
  this.linePrinter = new LinePrinter_1.LinePrinter(this.indentChar, this.indentSize, this.newline);
87
+ this.insideWithClause = false; // Reset WITH clause context
81
88
  if (this.linePrinter.lines.length > 0 && level !== this.linePrinter.lines[0].level) {
82
89
  this.linePrinter.lines[0].level = level;
83
90
  }
84
- this.appendToken(token, level);
91
+ this.appendToken(token, level, undefined);
85
92
  return this.linePrinter.print();
86
93
  }
87
94
  appendToken(token, level, parentContainerType) {
95
+ // Track WITH clause context for full-oneline formatting
96
+ const wasInsideWithClause = this.insideWithClause;
97
+ if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline') {
98
+ this.insideWithClause = true;
99
+ }
88
100
  if (this.shouldSkipToken(token)) {
89
101
  return;
90
102
  }
@@ -103,9 +115,18 @@ class SqlPrinter {
103
115
  this.handleJoinClauseToken(token, level);
104
116
  }
105
117
  else if (token.type === SqlPrintToken_1.SqlPrintTokenType.comment) {
106
- this.handleCommentToken(token);
118
+ // Handle comments as regular tokens - let the standard processing handle everything
119
+ if (this.exportComment) {
120
+ this.linePrinter.appendText(token.text);
121
+ }
122
+ }
123
+ else if (token.type === SqlPrintToken_1.SqlPrintTokenType.space) {
124
+ this.handleSpaceToken(token, parentContainerType);
125
+ }
126
+ else if (token.type === SqlPrintToken_1.SqlPrintTokenType.commentNewline) {
127
+ this.handleCommentNewlineToken(token, level);
107
128
  }
108
- else if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.CommonTable && this.cteOneline) {
129
+ else if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.CommonTable && this.withClauseStyle === 'cte-oneline') {
109
130
  this.handleCteOnelineToken(token, level);
110
131
  return; // Return early to avoid processing innerTokens
111
132
  }
@@ -121,20 +142,43 @@ class SqlPrinter {
121
142
  }
122
143
  let innerLevel = level;
123
144
  // indent level up
124
- if (this.newline !== ' ' && current.text !== '' && this.indentIncrementContainers.has(token.containerType)) { // Changed condition
125
- innerLevel++;
126
- this.linePrinter.appendNewline(innerLevel);
145
+ if (!this.isOnelineMode() && current.text !== '' && this.indentIncrementContainers.has(token.containerType)) {
146
+ // Skip newline for any container when inside WITH clause with full-oneline style
147
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
148
+ innerLevel++;
149
+ this.linePrinter.appendNewline(innerLevel);
150
+ }
127
151
  }
128
152
  for (let i = 0; i < token.innerTokens.length; i++) {
129
153
  const child = token.innerTokens[i];
130
154
  this.appendToken(child, innerLevel, token.containerType);
131
155
  }
156
+ // Exit WITH clause context when we finish processing WithClause container
157
+ if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline') {
158
+ this.insideWithClause = false;
159
+ // Add newline after WITH clause to separate it from main SELECT
160
+ this.linePrinter.appendNewline(level);
161
+ return; // Return early to avoid additional newline below
162
+ }
132
163
  // indent level down
133
164
  if (innerLevel !== level) {
134
- this.linePrinter.appendNewline(level);
165
+ // Skip newline for any container when inside WITH clause with full-oneline style
166
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
167
+ this.linePrinter.appendNewline(level);
168
+ }
135
169
  }
136
170
  }
171
+ /**
172
+ * Determines if a token should be skipped during printing.
173
+ * Tokens are skipped if they have no content and no inner tokens,
174
+ * except for special token types that have semantic meaning despite empty text.
175
+ */
137
176
  shouldSkipToken(token) {
177
+ // Special tokens with semantic meaning should never be skipped
178
+ if (token.type === SqlPrintToken_1.SqlPrintTokenType.commentNewline) {
179
+ return false;
180
+ }
181
+ // Skip tokens that have no content and no children
138
182
  return (!token.innerTokens || token.innerTokens.length === 0) && token.text === '';
139
183
  }
140
184
  applyKeywordCase(text) {
@@ -152,18 +196,28 @@ class SqlPrinter {
152
196
  }
153
197
  handleCommaToken(token, level, parentContainerType) {
154
198
  const text = token.text;
155
- // Special handling for commas in WithClause when cteOneline is enabled
156
- if (this.cteOneline && parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause) {
199
+ // Skip comma newlines when inside WITH clause with full-oneline style
200
+ if (this.insideWithClause && this.withClauseStyle === 'full-oneline') {
201
+ this.linePrinter.appendText(text);
202
+ }
203
+ // Special handling for commas in WithClause when withClauseStyle is 'cte-oneline'
204
+ else if (this.withClauseStyle === 'cte-oneline' && parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause) {
157
205
  this.linePrinter.appendText(text);
158
206
  this.linePrinter.appendNewline(level);
159
207
  }
160
208
  else if (this.commaBreak === 'before') {
161
- this.linePrinter.appendNewline(level);
209
+ // Skip newline when inside WITH clause with full-oneline style
210
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
211
+ this.linePrinter.appendNewline(level);
212
+ }
162
213
  this.linePrinter.appendText(text);
163
214
  }
164
215
  else if (this.commaBreak === 'after') {
165
216
  this.linePrinter.appendText(text);
166
- this.linePrinter.appendNewline(level);
217
+ // Skip newline when inside WITH clause with full-oneline style
218
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
219
+ this.linePrinter.appendNewline(level);
220
+ }
167
221
  }
168
222
  else {
169
223
  this.linePrinter.appendText(text);
@@ -172,12 +226,18 @@ class SqlPrinter {
172
226
  handleAndOperatorToken(token, level) {
173
227
  const text = this.applyKeywordCase(token.text);
174
228
  if (this.andBreak === 'before') {
175
- this.linePrinter.appendNewline(level);
229
+ // Skip newline when inside WITH clause with full-oneline style
230
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
231
+ this.linePrinter.appendNewline(level);
232
+ }
176
233
  this.linePrinter.appendText(text);
177
234
  }
178
235
  else if (this.andBreak === 'after') {
179
236
  this.linePrinter.appendText(text);
180
- this.linePrinter.appendNewline(level);
237
+ // Skip newline when inside WITH clause with full-oneline style
238
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
239
+ this.linePrinter.appendNewline(level);
240
+ }
181
241
  }
182
242
  else {
183
243
  this.linePrinter.appendText(text);
@@ -185,21 +245,75 @@ class SqlPrinter {
185
245
  }
186
246
  handleJoinClauseToken(token, level) {
187
247
  const text = this.applyKeywordCase(token.text);
188
- // before join clause, add newline
189
- this.linePrinter.appendNewline(level);
248
+ // before join clause, add newline (skip when inside WITH clause with full-oneline style)
249
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
250
+ this.linePrinter.appendNewline(level);
251
+ }
190
252
  this.linePrinter.appendText(text);
191
253
  }
192
- handleCommentToken(token) {
193
- // Handle comments - only output if exportComment is true
194
- if (this.exportComment) {
195
- this.linePrinter.appendText(token.text);
196
- // Always add a space after comment to ensure SQL structure safety
197
- this.linePrinter.appendText(' ');
254
+ /**
255
+ * Handles space tokens with context-aware filtering.
256
+ * Skips spaces in CommentBlocks when in specific CTE modes to prevent duplication.
257
+ */
258
+ handleSpaceToken(token, parentContainerType) {
259
+ if (this.shouldSkipCommentBlockSpace(parentContainerType)) {
260
+ return;
261
+ }
262
+ this.linePrinter.appendText(token.text);
263
+ }
264
+ /**
265
+ * Determines whether to skip space tokens in CommentBlocks.
266
+ * Prevents duplicate spacing in CTE full-oneline mode only.
267
+ */
268
+ shouldSkipCommentBlockSpace(parentContainerType) {
269
+ return parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.CommentBlock &&
270
+ this.insideWithClause &&
271
+ this.withClauseStyle === 'full-oneline';
272
+ }
273
+ /**
274
+ * Handles commentNewline tokens with conditional newline behavior.
275
+ * In multiline mode (newline !== ' '), adds a newline after comments.
276
+ * In oneliner mode (newline === ' '), does nothing to keep comments on same line.
277
+ * Skips newlines in CTE modes (full-oneline, cte-oneline) to maintain one-line format.
278
+ */
279
+ handleCommentNewlineToken(token, level) {
280
+ if (this.shouldSkipCommentNewline()) {
281
+ return;
282
+ }
283
+ if (!this.isOnelineMode()) {
284
+ this.linePrinter.appendNewline(level);
198
285
  }
199
286
  }
287
+ /**
288
+ * Determines whether to skip commentNewline tokens.
289
+ * Skips in CTE modes to maintain one-line formatting.
290
+ */
291
+ shouldSkipCommentNewline() {
292
+ return (this.insideWithClause && this.withClauseStyle === 'full-oneline') ||
293
+ this.withClauseStyle === 'cte-oneline';
294
+ }
295
+ /**
296
+ * Determines if the printer is in oneliner mode.
297
+ * Oneliner mode uses single spaces instead of actual newlines.
298
+ */
299
+ isOnelineMode() {
300
+ return this.newline === ' ';
301
+ }
302
+ /**
303
+ * Handles CTE tokens with one-liner formatting.
304
+ * Creates a nested SqlPrinter instance for proper CTE oneline formatting.
305
+ */
200
306
  handleCteOnelineToken(token, level) {
201
- // Handle CTE with one-liner formatting when cteOneline is enabled
202
- const onelinePrinter = new SqlPrinter({
307
+ const onelinePrinter = this.createCteOnelinePrinter();
308
+ const onelineResult = onelinePrinter.print(token, level);
309
+ const cleanedResult = this.cleanDuplicateSpaces(onelineResult);
310
+ this.linePrinter.appendText(cleanedResult);
311
+ }
312
+ /**
313
+ * Creates a SqlPrinter instance configured for CTE oneline formatting.
314
+ */
315
+ createCteOnelinePrinter() {
316
+ return new SqlPrinter({
203
317
  indentChar: '',
204
318
  indentSize: 0,
205
319
  newline: ' ',
@@ -208,10 +322,15 @@ class SqlPrinter {
208
322
  keywordCase: this.keywordCase,
209
323
  exportComment: this.exportComment,
210
324
  strictCommentPlacement: this.strictCommentPlacement,
211
- cteOneline: false, // Prevent recursive CTE oneline processing
325
+ withClauseStyle: 'standard', // Prevent recursive processing
212
326
  });
213
- const onelineResult = onelinePrinter.print(token, level);
214
- this.linePrinter.appendText(onelineResult);
327
+ }
328
+ /**
329
+ * Removes duplicate consecutive spaces while preserving single spaces.
330
+ * Simple and safe space normalization for CTE oneline mode.
331
+ */
332
+ cleanDuplicateSpaces(text) {
333
+ return text.replace(/\s{2,}/g, ' ');
215
334
  }
216
335
  }
217
336
  exports.SqlPrinter = SqlPrinter;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlPrinter.js","sourceRoot":"","sources":["../../../src/transformers/SqlPrinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlPrinter.js","sourceRoot":"","sources":["../../../src/transformers/SqlPrinter.ts"],"names":[],"mappings":"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"}