rawsql-ts 0.11.11-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 (59) 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/SqlPrinter.d.ts +47 -2
  27. package/dist/esm/src/transformers/SqlPrinter.js +138 -51
  28. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  29. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  30. package/dist/index.min.js +10 -10
  31. package/dist/index.min.js.map +4 -4
  32. package/dist/src/models/SqlPrintToken.d.ts +6 -4
  33. package/dist/src/models/SqlPrintToken.js +2 -0
  34. package/dist/src/models/SqlPrintToken.js.map +1 -1
  35. package/dist/src/parsers/FunctionExpressionParser.js +5 -4
  36. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  37. package/dist/src/parsers/SelectQueryParser.js +3 -2
  38. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  39. package/dist/src/parsers/SqlPrintTokenParser.d.ts +40 -0
  40. package/dist/src/parsers/SqlPrintTokenParser.js +103 -8
  41. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  42. package/dist/src/parsers/ValueParser.js +4 -4
  43. package/dist/src/parsers/ValueParser.js.map +1 -1
  44. package/dist/src/reporting/models/DataFlowGraph.d.ts +3 -1
  45. package/dist/src/reporting/models/DataFlowGraph.js +5 -27
  46. package/dist/src/reporting/models/DataFlowGraph.js.map +1 -1
  47. package/dist/src/reporting/models/DataFlowNode.d.ts +8 -2
  48. package/dist/src/reporting/models/DataFlowNode.js +34 -10
  49. package/dist/src/reporting/models/DataFlowNode.js.map +1 -1
  50. package/dist/src/reporting/services/ProcessHandler.d.ts +6 -42
  51. package/dist/src/reporting/services/ProcessHandler.js +9 -164
  52. package/dist/src/reporting/services/ProcessHandler.js.map +1 -1
  53. package/dist/src/transformers/QueryFlowDiagramGenerator.js +11 -1
  54. package/dist/src/transformers/QueryFlowDiagramGenerator.js.map +1 -1
  55. package/dist/src/transformers/SqlPrinter.d.ts +47 -2
  56. package/dist/src/transformers/SqlPrinter.js +138 -51
  57. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/package.json +1 -1
@@ -29,6 +29,8 @@ class SqlPrinter {
29
29
  */
30
30
  constructor(options) {
31
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;
32
34
  this.indentChar = (_a = options === null || options === void 0 ? void 0 : options.indentChar) !== null && _a !== void 0 ? _a : '';
33
35
  this.indentSize = (_b = options === null || options === void 0 ? void 0 : options.indentSize) !== null && _b !== void 0 ? _b : 0;
34
36
  // The default newline character is set to a blank space (' ') to enable one-liner formatting.
@@ -61,10 +63,13 @@ class SqlPrinter {
61
63
  SqlPrintToken_1.SqlPrintTokenContainerType.CaseKeyValuePair,
62
64
  SqlPrintToken_1.SqlPrintTokenContainerType.CaseThenValue,
63
65
  SqlPrintToken_1.SqlPrintTokenContainerType.ElseClause,
64
- 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.
65
70
  // CaseExpression, SwitchCaseArgument, CaseKeyValuePair, and ElseClause
66
- // are not included by default to maintain backward compatibility with tests
67
- //SqlPrintTokenContainerType.CommonTable
71
+ // are not included by default to maintain backward compatibility with tests.
72
+ // SqlPrintTokenContainerType.CommonTable is also excluded by default.
68
73
  ]);
69
74
  }
70
75
  /**
@@ -79,13 +84,19 @@ class SqlPrinter {
79
84
  print(token, level = 0) {
80
85
  // initialize
81
86
  this.linePrinter = new LinePrinter_1.LinePrinter(this.indentChar, this.indentSize, this.newline);
87
+ this.insideWithClause = false; // Reset WITH clause context
82
88
  if (this.linePrinter.lines.length > 0 && level !== this.linePrinter.lines[0].level) {
83
89
  this.linePrinter.lines[0].level = level;
84
90
  }
85
- this.appendToken(token, level);
91
+ this.appendToken(token, level, undefined);
86
92
  return this.linePrinter.print();
87
93
  }
88
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
+ }
89
100
  if (this.shouldSkipToken(token)) {
90
101
  return;
91
102
  }
@@ -104,16 +115,21 @@ class SqlPrinter {
104
115
  this.handleJoinClauseToken(token, level);
105
116
  }
106
117
  else if (token.type === SqlPrintToken_1.SqlPrintTokenType.comment) {
107
- 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);
108
128
  }
109
129
  else if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.CommonTable && this.withClauseStyle === 'cte-oneline') {
110
130
  this.handleCteOnelineToken(token, level);
111
131
  return; // Return early to avoid processing innerTokens
112
132
  }
113
- else if (token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline') {
114
- this.handleWithClauseOnelineToken(token, level);
115
- return; // Return early to avoid processing innerTokens
116
- }
117
133
  else {
118
134
  this.linePrinter.appendText(token.text);
119
135
  }
@@ -126,9 +142,9 @@ class SqlPrinter {
126
142
  }
127
143
  let innerLevel = level;
128
144
  // indent level up
129
- if (this.newline !== ' ' && current.text !== '' && this.indentIncrementContainers.has(token.containerType)) { // Changed condition
130
- // Skip newline for WithClause when withClauseStyle is 'full-oneline'
131
- if (!(token.containerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline')) {
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')) {
132
148
  innerLevel++;
133
149
  this.linePrinter.appendNewline(innerLevel);
134
150
  }
@@ -137,15 +153,32 @@ class SqlPrinter {
137
153
  const child = token.innerTokens[i];
138
154
  this.appendToken(child, innerLevel, token.containerType);
139
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
+ }
140
163
  // indent level down
141
164
  if (innerLevel !== level) {
142
- // Skip newline for WithClause when withClauseStyle is 'full-oneline'
143
- if (!(parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause && this.withClauseStyle === 'full-oneline')) {
165
+ // Skip newline for any container when inside WITH clause with full-oneline style
166
+ if (!(this.insideWithClause && this.withClauseStyle === 'full-oneline')) {
144
167
  this.linePrinter.appendNewline(level);
145
168
  }
146
169
  }
147
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
+ */
148
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
149
182
  return (!token.innerTokens || token.innerTokens.length === 0) && token.text === '';
150
183
  }
151
184
  applyKeywordCase(text) {
@@ -163,18 +196,28 @@ class SqlPrinter {
163
196
  }
164
197
  handleCommaToken(token, level, parentContainerType) {
165
198
  const text = token.text;
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
+ }
166
203
  // Special handling for commas in WithClause when withClauseStyle is 'cte-oneline'
167
- if (this.withClauseStyle === 'cte-oneline' && parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause) {
204
+ else if (this.withClauseStyle === 'cte-oneline' && parentContainerType === SqlPrintToken_1.SqlPrintTokenContainerType.WithClause) {
168
205
  this.linePrinter.appendText(text);
169
206
  this.linePrinter.appendNewline(level);
170
207
  }
171
208
  else if (this.commaBreak === 'before') {
172
- 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
+ }
173
213
  this.linePrinter.appendText(text);
174
214
  }
175
215
  else if (this.commaBreak === 'after') {
176
216
  this.linePrinter.appendText(text);
177
- 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
+ }
178
221
  }
179
222
  else {
180
223
  this.linePrinter.appendText(text);
@@ -183,12 +226,18 @@ class SqlPrinter {
183
226
  handleAndOperatorToken(token, level) {
184
227
  const text = this.applyKeywordCase(token.text);
185
228
  if (this.andBreak === 'before') {
186
- 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
+ }
187
233
  this.linePrinter.appendText(text);
188
234
  }
189
235
  else if (this.andBreak === 'after') {
190
236
  this.linePrinter.appendText(text);
191
- 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
+ }
192
241
  }
193
242
  else {
194
243
  this.linePrinter.appendText(text);
@@ -196,54 +245,92 @@ class SqlPrinter {
196
245
  }
197
246
  handleJoinClauseToken(token, level) {
198
247
  const text = this.applyKeywordCase(token.text);
199
- // before join clause, add newline
200
- 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
+ }
201
252
  this.linePrinter.appendText(text);
202
253
  }
203
- handleCommentToken(token) {
204
- // Handle comments - only output if exportComment is true
205
- if (this.exportComment) {
206
- this.linePrinter.appendText(token.text);
207
- // Always add a space after comment to ensure SQL structure safety
208
- 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;
209
261
  }
262
+ this.linePrinter.appendText(token.text);
210
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);
285
+ }
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
+ */
211
306
  handleCteOnelineToken(token, level) {
212
- // Handle CTE with one-liner formatting when withClauseStyle is 'cte-oneline'
213
- const onelinePrinter = new SqlPrinter({
214
- indentChar: '',
215
- indentSize: 0,
216
- newline: ' ',
217
- commaBreak: this.commaBreak,
218
- andBreak: this.andBreak,
219
- keywordCase: this.keywordCase,
220
- exportComment: this.exportComment,
221
- strictCommentPlacement: this.strictCommentPlacement,
222
- withClauseStyle: 'standard', // Prevent recursive processing
223
- });
307
+ const onelinePrinter = this.createCteOnelinePrinter();
224
308
  const onelineResult = onelinePrinter.print(token, level);
225
- this.linePrinter.appendText(onelineResult);
309
+ const cleanedResult = this.cleanDuplicateSpaces(onelineResult);
310
+ this.linePrinter.appendText(cleanedResult);
226
311
  }
227
- handleWithClauseOnelineToken(token, level) {
228
- // Handle entire WITH clause as one-liner when withClauseStyle is 'full-oneline'
229
- // Create a completely oneline printer for the entire WITH clause
230
- const onelinePrinter = new SqlPrinter({
312
+ /**
313
+ * Creates a SqlPrinter instance configured for CTE oneline formatting.
314
+ */
315
+ createCteOnelinePrinter() {
316
+ return new SqlPrinter({
231
317
  indentChar: '',
232
318
  indentSize: 0,
233
319
  newline: ' ',
234
- commaBreak: 'none',
320
+ commaBreak: this.commaBreak,
235
321
  andBreak: this.andBreak,
236
322
  keywordCase: this.keywordCase,
237
323
  exportComment: this.exportComment,
238
324
  strictCommentPlacement: this.strictCommentPlacement,
239
325
  withClauseStyle: 'standard', // Prevent recursive processing
240
- indentIncrementContainerTypes: [], // Disable all indentation
241
326
  });
242
- // Print the entire WITH clause as one line
243
- const onelineResult = onelinePrinter.print(token, 0);
244
- this.linePrinter.appendText(onelineResult);
245
- // Add newline after WITH clause
246
- this.linePrinter.appendNewline(level);
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, ' ');
247
334
  }
248
335
  }
249
336
  exports.SqlPrinter = SqlPrinter;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlPrinter.js","sourceRoot":"","sources":["../../../src/transformers/SqlPrinter.ts"],"names":[],"mappings":";;;AAAA,2DAAuG;AACvG,+CAA6E;AA6C7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,UAAU;IA2BnB;;OAEG;IACH,YAAY,OAA2B;;QACnC,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,CAAC,CAAC;QAE3C,8FAA8F;QAC9F,0EAA0E;QAC1E,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,GAAG,CAAC;QAEvC,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,MAAM,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,MAAM,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,MAAM,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,KAAK,CAAC;QACrD,IAAI,CAAC,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,mCAAI,KAAK,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,UAAU,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnF,aAAa;QACb,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,CACpC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,6BAA6B,mCAAI;YACtC,0CAA0B,CAAC,YAAY;YACvC,0CAA0B,CAAC,UAAU;YACrC,0CAA0B,CAAC,WAAW;YACtC,0CAA0B,CAAC,aAAa;YACxC,0CAA0B,CAAC,YAAY;YACvC,0CAA0B,CAAC,qBAAqB;YAChD,0CAA0B,CAAC,iBAAiB;YAC5C,0CAA0B,CAAC,aAAa;YACxC,0CAA0B,CAAC,YAAY;YACvC,0CAA0B,CAAC,WAAW;YACtC,0CAA0B,CAAC,YAAY;YACvC,0CAA0B,CAAC,cAAc;YACzC,0CAA0B,CAAC,yBAAyB,EAAE,0CAA0B,CAAC,MAAM;YACvF,0CAA0B,CAAC,UAAU;YACrC,0CAA0B,CAAC,kBAAkB;YAC7C,0CAA0B,CAAC,gBAAgB;YAC3C,0CAA0B,CAAC,aAAa;YACxC,0CAA0B,CAAC,UAAU;YACrC,0CAA0B,CAAC,aAAa;YACxC,uEAAuE;YACvE,4EAA4E;YAC5E,wCAAwC;SAC3C,CACJ,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAoB,EAAE,QAAgB,CAAC;QACzC,aAAa;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACjF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAEO,WAAW,CAAC,KAAoB,EAAE,KAAa,EAAE,mBAAgD;QACrG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAElD,+BAA+B;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiB,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiB,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACzF,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;YAC9C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiB,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,aAAa,KAAK,0CAA0B,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE,CAAC;YAClH,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,CAAC,+CAA+C;QAC3D,CAAC;aAAM,IAAI,KAAK,CAAC,aAAa,KAAK,0CAA0B,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YAClH,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,+CAA+C;QAC3D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,sCAAsC;QACtC,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QAED,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,kBAAkB;QAClB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,oBAAoB;YAC9H,qEAAqE;YACrE,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,0CAA0B,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,KAAK,cAAc,CAAC,EAAE,CAAC;gBAC9G,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,oBAAoB;QACpB,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACvB,qEAAqE;YACrE,IAAI,CAAC,CAAC,mBAAmB,KAAK,0CAA0B,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,KAAK,cAAc,CAAC,EAAE,CAAC;gBAC9G,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,KAAoB;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;IACvF,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACjC,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAoB,EAAE,KAAa;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,gBAAgB,CAAC,KAAoB,EAAE,KAAa,EAAE,mBAAgD;QAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,kFAAkF;QAClF,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,IAAI,mBAAmB,KAAK,0CAA0B,CAAC,UAAU,EAAE,CAAC;YAC1G,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAAoB,EAAE,KAAa;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,KAAoB,EAAE,KAAa;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,kCAAkC;QAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,kBAAkB,CAAC,KAAoB;QAC3C,yDAAyD;QACzD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,kEAAkE;YAClE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,KAAoB,EAAE,KAAa;QAC7D,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC;YAClC,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,eAAe,EAAE,UAAU,EAAE,+BAA+B;SAC/D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEO,4BAA4B,CAAC,KAAoB,EAAE,KAAa;QACpE,gFAAgF;QAEhF,iEAAiE;QACjE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC;YAClC,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,eAAe,EAAE,UAAU,EAAE,+BAA+B;YAC5D,6BAA6B,EAAE,EAAE,EAAE,0BAA0B;SAChE,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3C,kCAAkC;QAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ;AAzQD,gCAyQC"}
1
+ {"version":3,"file":"SqlPrinter.js","sourceRoot":"","sources":["../../../src/transformers/SqlPrinter.ts"],"names":[],"mappings":"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"}