rawsql-ts 0.24.3 → 0.25.0

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 (105) hide show
  1. package/README.md +10 -1
  2. package/dist/esm/index.d.ts +6 -0
  3. package/dist/esm/index.js +6 -0
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/index.min.js +9 -9
  6. package/dist/esm/index.min.js.map +4 -4
  7. package/dist/esm/models/ValueComponent.d.ts +2 -1
  8. package/dist/esm/models/ValueComponent.js +2 -1
  9. package/dist/esm/models/ValueComponent.js.map +1 -1
  10. package/dist/esm/parsers/FunctionExpressionParser.d.ts +3 -0
  11. package/dist/esm/parsers/FunctionExpressionParser.js +50 -2
  12. package/dist/esm/parsers/FunctionExpressionParser.js.map +1 -1
  13. package/dist/esm/parsers/ParameterDecorator.d.ts +2 -2
  14. package/dist/esm/parsers/ParameterDecorator.js +1 -1
  15. package/dist/esm/parsers/ParameterDecorator.js.map +1 -1
  16. package/dist/esm/parsers/ParameterExpressionParser.js +2 -1
  17. package/dist/esm/parsers/ParameterExpressionParser.js.map +1 -1
  18. package/dist/esm/parsers/SqlPrintTokenParser.d.ts +16 -4
  19. package/dist/esm/parsers/SqlPrintTokenParser.js +76 -13
  20. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
  21. package/dist/esm/transformers/AstCommentAttachmentExtractor.d.ts +61 -0
  22. package/dist/esm/transformers/AstCommentAttachmentExtractor.js +221 -0
  23. package/dist/esm/transformers/AstCommentAttachmentExtractor.js.map +1 -0
  24. package/dist/esm/transformers/ClauseScopedColumnReferenceCollector.d.ts +47 -0
  25. package/dist/esm/transformers/ClauseScopedColumnReferenceCollector.js +235 -0
  26. package/dist/esm/transformers/ClauseScopedColumnReferenceCollector.js.map +1 -0
  27. package/dist/esm/transformers/FormatOptionResolver.js +1 -0
  28. package/dist/esm/transformers/FormatOptionResolver.js.map +1 -1
  29. package/dist/esm/transformers/LinePrinter.d.ts +1 -1
  30. package/dist/esm/transformers/NamedQueryDefinitionExtractor.d.ts +53 -0
  31. package/dist/esm/transformers/NamedQueryDefinitionExtractor.js +370 -0
  32. package/dist/esm/transformers/NamedQueryDefinitionExtractor.js.map +1 -0
  33. package/dist/esm/transformers/OnelineFormattingHelper.d.ts +1 -0
  34. package/dist/esm/transformers/OnelineFormattingHelper.js.map +1 -1
  35. package/dist/esm/transformers/SelectBodyExtractor.d.ts +21 -0
  36. package/dist/esm/transformers/SelectBodyExtractor.js +137 -0
  37. package/dist/esm/transformers/SelectBodyExtractor.js.map +1 -0
  38. package/dist/esm/transformers/SelectOutputCollector.d.ts +47 -0
  39. package/dist/esm/transformers/SelectOutputCollector.js +281 -0
  40. package/dist/esm/transformers/SelectOutputCollector.js.map +1 -0
  41. package/dist/esm/transformers/SelectValueCollector.d.ts +9 -1
  42. package/dist/esm/transformers/SelectValueCollector.js +83 -58
  43. package/dist/esm/transformers/SelectValueCollector.js.map +1 -1
  44. package/dist/esm/transformers/SqlFormatter.d.ts +9 -5
  45. package/dist/esm/transformers/SqlFormatter.js +4 -4
  46. package/dist/esm/transformers/SqlFormatter.js.map +1 -1
  47. package/dist/esm/transformers/SqlPrinter.d.ts +17 -2
  48. package/dist/esm/transformers/SqlPrinter.js +182 -21
  49. package/dist/esm/transformers/SqlPrinter.js.map +1 -1
  50. package/dist/esm/transformers/WildcardColumnInferenceCollector.d.ts +129 -0
  51. package/dist/esm/transformers/WildcardColumnInferenceCollector.js +373 -0
  52. package/dist/esm/transformers/WildcardColumnInferenceCollector.js.map +1 -0
  53. package/dist/index.js +6 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/index.min.js +9 -9
  56. package/dist/index.min.js.map +4 -4
  57. package/dist/models/ValueComponent.js +2 -1
  58. package/dist/models/ValueComponent.js.map +1 -1
  59. package/dist/parsers/FunctionExpressionParser.js +49 -1
  60. package/dist/parsers/FunctionExpressionParser.js.map +1 -1
  61. package/dist/parsers/ParameterDecorator.js +1 -1
  62. package/dist/parsers/ParameterDecorator.js.map +1 -1
  63. package/dist/parsers/ParameterExpressionParser.js +2 -1
  64. package/dist/parsers/ParameterExpressionParser.js.map +1 -1
  65. package/dist/parsers/SqlPrintTokenParser.js +76 -13
  66. package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
  67. package/dist/src/index.d.ts +6 -0
  68. package/dist/src/models/ValueComponent.d.ts +2 -1
  69. package/dist/src/parsers/FunctionExpressionParser.d.ts +3 -0
  70. package/dist/src/parsers/ParameterDecorator.d.ts +2 -2
  71. package/dist/src/parsers/SqlPrintTokenParser.d.ts +16 -4
  72. package/dist/src/transformers/AstCommentAttachmentExtractor.d.ts +61 -0
  73. package/dist/src/transformers/ClauseScopedColumnReferenceCollector.d.ts +47 -0
  74. package/dist/src/transformers/LinePrinter.d.ts +1 -1
  75. package/dist/src/transformers/NamedQueryDefinitionExtractor.d.ts +53 -0
  76. package/dist/src/transformers/OnelineFormattingHelper.d.ts +1 -0
  77. package/dist/src/transformers/SelectBodyExtractor.d.ts +21 -0
  78. package/dist/src/transformers/SelectOutputCollector.d.ts +47 -0
  79. package/dist/src/transformers/SelectValueCollector.d.ts +9 -1
  80. package/dist/src/transformers/SqlFormatter.d.ts +9 -5
  81. package/dist/src/transformers/SqlPrinter.d.ts +17 -2
  82. package/dist/src/transformers/WildcardColumnInferenceCollector.d.ts +129 -0
  83. package/dist/transformers/AstCommentAttachmentExtractor.js +231 -0
  84. package/dist/transformers/AstCommentAttachmentExtractor.js.map +1 -0
  85. package/dist/transformers/ClauseScopedColumnReferenceCollector.js +239 -0
  86. package/dist/transformers/ClauseScopedColumnReferenceCollector.js.map +1 -0
  87. package/dist/transformers/FormatOptionResolver.js +1 -0
  88. package/dist/transformers/FormatOptionResolver.js.map +1 -1
  89. package/dist/transformers/NamedQueryDefinitionExtractor.js +374 -0
  90. package/dist/transformers/NamedQueryDefinitionExtractor.js.map +1 -0
  91. package/dist/transformers/OnelineFormattingHelper.js.map +1 -1
  92. package/dist/transformers/SelectBodyExtractor.js +141 -0
  93. package/dist/transformers/SelectBodyExtractor.js.map +1 -0
  94. package/dist/transformers/SelectOutputCollector.js +291 -0
  95. package/dist/transformers/SelectOutputCollector.js.map +1 -0
  96. package/dist/transformers/SelectValueCollector.js +83 -58
  97. package/dist/transformers/SelectValueCollector.js.map +1 -1
  98. package/dist/transformers/SqlFormatter.js +5 -3
  99. package/dist/transformers/SqlFormatter.js.map +1 -1
  100. package/dist/transformers/SqlPrinter.js +182 -21
  101. package/dist/transformers/SqlPrinter.js.map +1 -1
  102. package/dist/transformers/WildcardColumnInferenceCollector.js +377 -0
  103. package/dist/transformers/WildcardColumnInferenceCollector.js.map +1 -0
  104. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  105. package/package.json +2 -2
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectOutputCollector = void 0;
4
+ const Clause_1 = require("../models/Clause");
5
+ const InsertQuery_1 = require("../models/InsertQuery");
6
+ const DeleteQuery_1 = require("../models/DeleteQuery");
7
+ const MergeQuery_1 = require("../models/MergeQuery");
8
+ const SelectQuery_1 = require("../models/SelectQuery");
9
+ const UpdateQuery_1 = require("../models/UpdateQuery");
10
+ const ValueComponent_1 = require("../models/ValueComponent");
11
+ const CTECollector_1 = require("./CTECollector");
12
+ /**
13
+ * Collects SELECT output columns without collapsing duplicate output names.
14
+ *
15
+ * This collector is intended for callers that need stable SELECT-list positions.
16
+ * It keeps output order and assigns outputIndex after supported wildcard expansion.
17
+ */
18
+ class SelectOutputCollector {
19
+ constructor(tableColumnResolver = null, initialCommonTables = null) {
20
+ this.tableColumnResolver = tableColumnResolver;
21
+ this.commonTableCollector = new CTECollector_1.CTECollector();
22
+ this.commonTables = initialCommonTables !== null && initialCommonTables !== void 0 ? initialCommonTables : [];
23
+ }
24
+ collect(arg) {
25
+ const rawColumns = this.collectRaw(arg);
26
+ return rawColumns.map((item, outputIndex) => ({
27
+ ...item,
28
+ outputIndex
29
+ }));
30
+ }
31
+ collectRaw(arg) {
32
+ if (arg instanceof SelectQuery_1.SimpleSelectQuery) {
33
+ return this.collectSimpleSelectQuery(arg);
34
+ }
35
+ if (arg instanceof Clause_1.SourceExpression) {
36
+ return this.collectSourceExpression(arg.getAliasName(), arg);
37
+ }
38
+ if (arg instanceof Clause_1.FromClause) {
39
+ return this.collectFromClause(arg, true);
40
+ }
41
+ return [];
42
+ }
43
+ collectSimpleSelectQuery(query) {
44
+ const previousCommonTables = this.commonTables;
45
+ if (this.commonTables.length === 0) {
46
+ this.commonTables = this.commonTableCollector.collect(query);
47
+ }
48
+ try {
49
+ const outputs = [];
50
+ for (const item of query.selectClause.items) {
51
+ outputs.push(...this.collectSelectItem(item, query.fromClause));
52
+ }
53
+ return outputs;
54
+ }
55
+ finally {
56
+ this.commonTables = previousCommonTables;
57
+ }
58
+ }
59
+ collectSelectItem(item, fromClause) {
60
+ if (item.identifier) {
61
+ return [this.createExplicitOutput(item.identifier.name, item.value, fromClause)];
62
+ }
63
+ if (!(item.value instanceof ValueComponent_1.ColumnReference)) {
64
+ return [];
65
+ }
66
+ const columnName = item.value.column.name;
67
+ if (columnName === "*") {
68
+ return this.expandWildcard(item.value, fromClause);
69
+ }
70
+ return [this.createExplicitOutput(columnName, item.value, fromClause)];
71
+ }
72
+ expandWildcard(value, fromClause) {
73
+ var _a;
74
+ if (!fromClause) {
75
+ return [];
76
+ }
77
+ if (value.namespaces === null) {
78
+ return this.collectFromClause(fromClause, true);
79
+ }
80
+ const sourceName = value.getNamespace();
81
+ if (fromClause.getSourceAliasName() === sourceName) {
82
+ return this.collectFromClause(fromClause, false);
83
+ }
84
+ const join = (_a = fromClause.joins) === null || _a === void 0 ? void 0 : _a.find(item => this.getJoinSourceName(item) === sourceName);
85
+ return join ? this.collectJoinClause(join) : [];
86
+ }
87
+ collectFromClause(clause, joinCascade) {
88
+ const outputs = this.collectSourceExpression(clause.getSourceAliasName(), clause.source);
89
+ if (clause.joins && joinCascade) {
90
+ for (const join of clause.joins) {
91
+ outputs.push(...this.collectJoinClause(join));
92
+ }
93
+ }
94
+ return outputs;
95
+ }
96
+ collectJoinClause(clause) {
97
+ return this.collectSourceExpression(this.getJoinSourceName(clause), clause.source);
98
+ }
99
+ getJoinSourceName(clause) {
100
+ return clause.source.getAliasName();
101
+ }
102
+ collectSourceExpression(sourceName, source) {
103
+ var _a;
104
+ if ((_a = source.aliasExpression) === null || _a === void 0 ? void 0 : _a.columns) {
105
+ return source.aliasExpression.columns.map(column => ({
106
+ name: column.name,
107
+ value: new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, column.name),
108
+ sourceAlias: sourceName,
109
+ sourceName: null,
110
+ sourceColumnName: column.name
111
+ }));
112
+ }
113
+ const cte = this.findCommonTable(source);
114
+ if (cte) {
115
+ const innerCommonTables = this.commonTables.filter(item => item.getSourceAliasName() !== cte.getSourceAliasName());
116
+ const innerOutputs = this.collectCteQuery(cte.query, innerCommonTables);
117
+ return this.qualifyOutputs(innerOutputs, sourceName, cte.getSourceAliasName());
118
+ }
119
+ if (source.datasource instanceof Clause_1.TableSource) {
120
+ return this.collectTableSource(sourceName, source.datasource);
121
+ }
122
+ if (source.datasource instanceof Clause_1.SubQuerySource) {
123
+ const innerOutputs = this.collectNestedSelectQuery(source.datasource.query);
124
+ return this.qualifyOutputs(innerOutputs, sourceName, null);
125
+ }
126
+ if (source.datasource instanceof Clause_1.ParenSource) {
127
+ return [];
128
+ }
129
+ return [];
130
+ }
131
+ findCommonTable(source) {
132
+ var _a;
133
+ if (!(source.datasource instanceof Clause_1.TableSource)) {
134
+ return null;
135
+ }
136
+ const tableName = source.datasource.getSourceName();
137
+ return (_a = this.commonTables.find(item => item.getSourceAliasName() === tableName)) !== null && _a !== void 0 ? _a : null;
138
+ }
139
+ collectTableSource(sourceName, source) {
140
+ if (!this.tableColumnResolver) {
141
+ return [];
142
+ }
143
+ const tableName = source.getSourceName();
144
+ const qualifier = sourceName !== null && sourceName !== void 0 ? sourceName : tableName;
145
+ return this.tableColumnResolver(tableName).map(column => ({
146
+ name: column,
147
+ value: new ValueComponent_1.ColumnReference([qualifier], column),
148
+ sourceAlias: sourceName,
149
+ sourceName: tableName,
150
+ sourceColumnName: column
151
+ }));
152
+ }
153
+ collectNestedSelectQuery(query) {
154
+ const collector = new SelectOutputCollector(this.tableColumnResolver, this.commonTables);
155
+ return collector.collect(query).map(({ name, value, sourceAlias, sourceName, sourceColumnName }) => ({
156
+ name,
157
+ value,
158
+ sourceAlias,
159
+ sourceName,
160
+ sourceColumnName
161
+ }));
162
+ }
163
+ collectCteQuery(query, commonTables) {
164
+ if (this.isSelectQuery(query)) {
165
+ const collector = new SelectOutputCollector(this.tableColumnResolver, commonTables);
166
+ return collector.collect(query).map(({ name, value, sourceAlias, sourceName, sourceColumnName }) => ({
167
+ name,
168
+ value,
169
+ sourceAlias,
170
+ sourceName,
171
+ sourceColumnName
172
+ }));
173
+ }
174
+ return this.collectReturningOutputs(query);
175
+ }
176
+ collectReturningOutputs(query) {
177
+ if (!(query instanceof InsertQuery_1.InsertQuery || query instanceof UpdateQuery_1.UpdateQuery || query instanceof DeleteQuery_1.DeleteQuery || query instanceof MergeQuery_1.MergeQuery)) {
178
+ return [];
179
+ }
180
+ if (!query.returningClause) {
181
+ return [];
182
+ }
183
+ return this.extractReturningOutputs(query.returningClause);
184
+ }
185
+ extractReturningOutputs(clause) {
186
+ var _a, _b;
187
+ const outputs = [];
188
+ for (const item of clause.items) {
189
+ const name = (_b = (_a = item.identifier) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : this.extractSelectItemName(item);
190
+ if (name) {
191
+ outputs.push(this.createExplicitOutput(name, item.value));
192
+ }
193
+ }
194
+ return outputs;
195
+ }
196
+ extractSelectItemName(item) {
197
+ if (item.identifier) {
198
+ return item.identifier.name;
199
+ }
200
+ if (item.value instanceof ValueComponent_1.ColumnReference) {
201
+ return item.value.column.name;
202
+ }
203
+ return null;
204
+ }
205
+ qualifyOutputs(outputs, sourceAlias, sourceName) {
206
+ return outputs.map(item => ({
207
+ name: item.name,
208
+ value: new ValueComponent_1.ColumnReference(sourceAlias ? [sourceAlias] : null, item.name),
209
+ sourceAlias,
210
+ sourceName,
211
+ sourceColumnName: item.name
212
+ }));
213
+ }
214
+ createExplicitOutput(name, value, fromClause = null) {
215
+ if (value instanceof ValueComponent_1.ColumnReference && value.column.name !== "*") {
216
+ const sourceMetadata = this.resolveColumnSourceMetadata(value, fromClause);
217
+ if (sourceMetadata) {
218
+ return {
219
+ name,
220
+ value,
221
+ ...sourceMetadata
222
+ };
223
+ }
224
+ }
225
+ return {
226
+ name,
227
+ value,
228
+ sourceAlias: null,
229
+ sourceName: null,
230
+ sourceColumnName: null
231
+ };
232
+ }
233
+ resolveColumnSourceMetadata(value, fromClause) {
234
+ if (!fromClause || value.namespaces === null) {
235
+ return null;
236
+ }
237
+ const namespace = value.getNamespace();
238
+ const matches = fromClause.getSources().filter(source => this.getSourceMatchNames(source).includes(namespace));
239
+ if (matches.length !== 1) {
240
+ return null;
241
+ }
242
+ const source = matches[0];
243
+ const sourceAlias = this.getColumnReferenceSourceAlias(source, namespace);
244
+ return {
245
+ sourceAlias,
246
+ sourceName: this.getColumnReferenceSourceName(source),
247
+ sourceColumnName: value.column.name
248
+ };
249
+ }
250
+ getSourceMatchNames(source) {
251
+ const names = new Set();
252
+ if (source.aliasExpression) {
253
+ names.add(source.aliasExpression.table.name);
254
+ return [...names];
255
+ }
256
+ const aliasName = source.getAliasName();
257
+ if (aliasName) {
258
+ names.add(aliasName);
259
+ }
260
+ if (source.datasource instanceof Clause_1.TableSource) {
261
+ names.add(source.datasource.table.name);
262
+ names.add(source.datasource.getSourceName());
263
+ }
264
+ return [...names];
265
+ }
266
+ getColumnReferenceSourceAlias(source, namespace) {
267
+ if (source.aliasExpression) {
268
+ return source.aliasExpression.table.name;
269
+ }
270
+ return namespace;
271
+ }
272
+ getColumnReferenceSourceName(source) {
273
+ var _a;
274
+ const cte = this.findCommonTable(source);
275
+ if (cte) {
276
+ return cte.getSourceAliasName();
277
+ }
278
+ if ((_a = source.aliasExpression) === null || _a === void 0 ? void 0 : _a.columns) {
279
+ return null;
280
+ }
281
+ if (source.datasource instanceof Clause_1.TableSource) {
282
+ return source.datasource.getSourceName();
283
+ }
284
+ return null;
285
+ }
286
+ isSelectQuery(query) {
287
+ return "__selectQueryType" in query && query.__selectQueryType === "SelectQuery";
288
+ }
289
+ }
290
+ exports.SelectOutputCollector = SelectOutputCollector;
291
+ //# sourceMappingURL=SelectOutputCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOutputCollector.js","sourceRoot":"","sources":["../../src/transformers/SelectOutputCollector.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const CTECollector_1 = require("./CTECollector");
15
15
  * It can also resolve wildcard selectors (table.* or *) using a provided table column resolver.
16
16
  */
17
17
  class SelectValueCollector {
18
- constructor(tableColumnResolver = null, initialCommonTables = null) {
18
+ constructor(tableColumnResolver = null, initialCommonTables = null, preserveDuplicateSelectItems = false) {
19
19
  this.selectValues = [];
20
20
  this.visitedNodes = new Set();
21
21
  this.isRootVisit = true;
@@ -23,6 +23,7 @@ class SelectValueCollector {
23
23
  this.commonTableCollector = new CTECollector_1.CTECollector();
24
24
  this.commonTables = [];
25
25
  this.initialCommonTables = initialCommonTables;
26
+ this.preserveDuplicateSelectItems = preserveDuplicateSelectItems;
26
27
  this.handlers = new Map();
27
28
  this.handlers.set(SelectQuery_1.SimpleSelectQuery.kind, (expr) => this.visitSimpleSelectQuery(expr));
28
29
  this.handlers.set(Clause_1.SelectClause.kind, (expr) => this.visitSelectClause(expr));
@@ -109,71 +110,85 @@ class SelectValueCollector {
109
110
  if (wildcards.length === 0) {
110
111
  return;
111
112
  }
112
- // full wildcard
113
- if (this.selectValues.some(item => item.value instanceof ValueComponent_1.ColumnReference && item.value.namespaces === null)) {
114
- if (query.fromClause) {
115
- this.processFromClause(query.fromClause, true);
113
+ const expandedValues = [];
114
+ for (const item of this.selectValues) {
115
+ if (item.name !== '*' || !(item.value instanceof ValueComponent_1.ColumnReference)) {
116
+ expandedValues.push(item);
117
+ continue;
116
118
  }
117
- // remove wildcard
118
- this.selectValues = this.selectValues.filter(item => item.name !== '*');
119
- return;
119
+ expandedValues.push(...this.expandWildcardValue(item.value, query.fromClause));
120
120
  }
121
- ;
122
- // table wildcard
123
- const wildSourceNames = wildcards.filter(item => item.value instanceof ValueComponent_1.ColumnReference && item.value.namespaces)
124
- .map(item => item.value.getNamespace());
125
- if (query.fromClause) {
126
- const fromSourceName = query.fromClause.getSourceAliasName();
127
- if (fromSourceName && wildSourceNames.includes(fromSourceName)) {
128
- this.processFromClause(query.fromClause, false);
129
- }
130
- if (query.fromClause.joins) {
131
- for (const join of query.fromClause.joins) {
132
- const joinSourceName = join.getSourceAliasName();
133
- if (joinSourceName && wildSourceNames.includes(joinSourceName)) {
134
- this.processJoinClause(join);
135
- }
136
- }
137
- }
138
- }
139
- // remove wildcard
140
- this.selectValues = this.selectValues.filter(item => item.name !== '*');
141
- return;
121
+ this.selectValues = expandedValues;
142
122
  }
143
123
  processFromClause(clause, joinCascade) {
144
- if (clause) {
145
- const fromSourceName = clause.getSourceAliasName();
146
- this.processSourceExpression(fromSourceName, clause.source);
147
- if (clause.joins && joinCascade) {
148
- for (const join of clause.joins) {
149
- this.processJoinClause(join);
150
- }
151
- }
124
+ for (const item of this.collectFromClauseValues(clause, joinCascade)) {
125
+ this.addSelectValue(item.name, item.value);
152
126
  }
153
127
  return;
154
128
  }
155
129
  processJoinClause(clause) {
156
- const sourceName = clause.getSourceAliasName();
157
- this.processSourceExpression(sourceName, clause.source);
130
+ for (const item of this.collectJoinClauseValues(clause)) {
131
+ this.addSelectValue(item.name, item.value);
132
+ }
158
133
  }
159
134
  processSourceExpression(sourceName, source) {
135
+ for (const item of this.collectSourceExpressionValues(sourceName, source)) {
136
+ this.addSelectValue(item.name, item.value);
137
+ }
138
+ }
139
+ expandWildcardValue(value, fromClause) {
140
+ if (!fromClause) {
141
+ return [];
142
+ }
143
+ if (value.namespaces === null) {
144
+ return this.collectFromClauseValues(fromClause, true);
145
+ }
146
+ const sourceName = value.getNamespace();
147
+ if (fromClause.getSourceAliasName() === sourceName) {
148
+ return this.collectFromClauseValues(fromClause, false);
149
+ }
150
+ if (!fromClause.joins) {
151
+ return [];
152
+ }
153
+ const join = fromClause.joins.find(item => this.getJoinSourceName(item) === sourceName);
154
+ return join ? this.collectJoinClauseValues(join) : [];
155
+ }
156
+ collectFromClauseValues(clause, joinCascade) {
157
+ const values = this.collectSourceExpressionValues(clause.getSourceAliasName(), clause.source);
158
+ if (clause.joins && joinCascade) {
159
+ for (const join of clause.joins) {
160
+ values.push(...this.collectJoinClauseValues(join));
161
+ }
162
+ }
163
+ return values;
164
+ }
165
+ collectJoinClauseValues(clause) {
166
+ return this.collectSourceExpressionValues(this.getJoinSourceName(clause), clause.source);
167
+ }
168
+ getJoinSourceName(clause) {
169
+ return clause.source.getAliasName();
170
+ }
171
+ collectSourceExpressionValues(sourceName, source) {
160
172
  // check common table
161
- const commonTable = this.commonTables.find(item => item.aliasExpression.table.name === sourceName);
173
+ const tableSourceName = source.datasource instanceof Clause_1.TableSource ? source.datasource.getSourceName() : null;
174
+ const commonTable = tableSourceName
175
+ ? this.commonTables.find(item => item.aliasExpression.table.name === tableSourceName)
176
+ : null;
162
177
  if (commonTable) {
163
178
  // Exclude this CTE from consideration to prevent self-reference
164
- const innerCommonTables = this.commonTables.filter(item => item.aliasExpression.table.name !== sourceName);
179
+ const innerCommonTables = this.commonTables.filter(item => item.aliasExpression.table.name !== commonTable.aliasExpression.table.name);
165
180
  const innerSelected = this.collectValuesFromCteQuery(commonTable.query, innerCommonTables);
166
- innerSelected.forEach(item => {
167
- this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
168
- });
169
- }
170
- else {
171
- const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables);
172
- const innerSelected = innerCollector.collect(source);
173
- innerSelected.forEach(item => {
174
- this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
175
- });
181
+ return innerSelected.map(item => ({
182
+ name: item.name,
183
+ value: new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name)
184
+ }));
176
185
  }
186
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables, true);
187
+ const innerSelected = innerCollector.collect(source);
188
+ return innerSelected.map(item => ({
189
+ name: item.name,
190
+ value: new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name)
191
+ }));
177
192
  }
178
193
  visitSelectClause(clause) {
179
194
  for (const item of clause.items) {
@@ -182,7 +197,7 @@ class SelectValueCollector {
182
197
  }
183
198
  processSelectItem(item) {
184
199
  if (item.identifier) {
185
- this.addSelectValueAsUnique(item.identifier.name, item.value);
200
+ this.addSelectValueFromSelectItem(item.identifier.name, item.value);
186
201
  }
187
202
  else if (item.value instanceof ValueComponent_1.ColumnReference) { // Handle column reference
188
203
  // columnName can be '*'
@@ -193,7 +208,7 @@ class SelectValueCollector {
193
208
  }
194
209
  else {
195
210
  // Add with duplicate checking
196
- this.addSelectValueAsUnique(columnName, item.value);
211
+ this.addSelectValueFromSelectItem(columnName, item.value);
197
212
  }
198
213
  }
199
214
  }
@@ -205,7 +220,7 @@ class SelectValueCollector {
205
220
  if (source.aliasExpression && source.aliasExpression.columns) {
206
221
  const sourceName = source.getAliasName();
207
222
  source.aliasExpression.columns.forEach(column => {
208
- this.addSelectValueAsUnique(column.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, column.name));
223
+ this.addSelectValueFromSelectItem(column.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, column.name));
209
224
  });
210
225
  return;
211
226
  }
@@ -213,17 +228,17 @@ class SelectValueCollector {
213
228
  if (this.tableColumnResolver) {
214
229
  const sourceName = source.datasource.getSourceName();
215
230
  this.tableColumnResolver(sourceName).forEach(column => {
216
- this.addSelectValueAsUnique(column, new ValueComponent_1.ColumnReference([sourceName], column));
231
+ this.addSelectValueFromSelectItem(column, new ValueComponent_1.ColumnReference([sourceName], column));
217
232
  });
218
233
  }
219
234
  return;
220
235
  }
221
236
  else if (source.datasource instanceof Clause_1.SubQuerySource) {
222
237
  const sourceName = source.getAliasName();
223
- const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables);
238
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, this.commonTables, true);
224
239
  const innerSelected = innerCollector.collect(source.datasource.query);
225
240
  innerSelected.forEach(item => {
226
- this.addSelectValueAsUnique(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
241
+ this.addSelectValueFromSelectItem(item.name, new ValueComponent_1.ColumnReference(sourceName ? [sourceName] : null, item.name));
227
242
  });
228
243
  return;
229
244
  }
@@ -242,9 +257,19 @@ class SelectValueCollector {
242
257
  this.selectValues.push({ name, value });
243
258
  }
244
259
  }
260
+ addSelectValue(name, value) {
261
+ this.selectValues.push({ name, value });
262
+ }
263
+ addSelectValueFromSelectItem(name, value) {
264
+ if (this.preserveDuplicateSelectItems) {
265
+ this.addSelectValue(name, value);
266
+ return;
267
+ }
268
+ this.addSelectValueAsUnique(name, value);
269
+ }
245
270
  collectValuesFromCteQuery(query, commonTables) {
246
271
  if (this.isSelectQuery(query)) {
247
- const innerCollector = new SelectValueCollector(this.tableColumnResolver, commonTables);
272
+ const innerCollector = new SelectValueCollector(this.tableColumnResolver, commonTables, true);
248
273
  return innerCollector.collect(query);
249
274
  }
250
275
  // Writable CTEs expose their output via RETURNING.
@@ -1 +1 @@
1
- {"version":3,"file":"SelectValueCollector.js","sourceRoot":"","sources":["../../src/transformers/SelectValueCollector.ts"],"names":[],"mappings":";;;AAAA,6CAAwL;AACxL,uDAAuG;AACvG,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAElD,6DAAsG;AACtG,iDAA8C;AAG9C;;;;GAIG;AACH,MAAa,oBAAoB;IAU7B,YAAY,sBAAkD,IAAI,EAAE,sBAA4C,IAAI;QAR5G,iBAAY,GAA8C,EAAE,CAAC;QAC7D,iBAAY,GAAsB,IAAI,GAAG,EAAE,CAAC;QAC5C,gBAAW,GAAY,IAAI,CAAC;QAOhC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,IAAI,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,IAAI,2BAAY,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAyB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAkB,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,KAAK;QACT,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,GAAiB;QAC5B,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAiB;QAC1B,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;gBAAS,CAAC;YACP,8DAA8D;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,GAAiB;QAC/B,wEAAwE;QACxE,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,CAAC;YACb,OAAO;QACX,CAAC;IACL,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAwB;QACnD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,eAAe;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,YAAY,gCAAe,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1G,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,kBAAkB;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACxE,OAAO;QACX,CAAC;QAAA,CAAC;QAEF,iBAAiB;QACjB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,YAAY,gCAAe,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;aAC3G,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,IAAI,CAAC,KAAyB,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC7D,IAAI,cAAc,IAAI,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACxC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACjD,IAAI,cAAc,IAAI,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC7D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QACxE,OAAO;IACX,CAAC;IAEO,iBAAiB,CAAC,MAAkB,EAAE,WAAoB;QAC9D,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACnD,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAE5D,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO;IACX,CAAC;IAEO,iBAAiB,CAAC,MAAkB;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/C,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEO,uBAAuB,CAAC,UAAyB,EAAE,MAAwB;QAC/E,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACnG,IAAI,WAAW,EAAE,CAAC;YACd,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAE3G,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAC3F,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,gCAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7G,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,gCAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7G,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,MAAoB;QAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;aACI,IAAI,IAAI,CAAC,KAAK,YAAY,gCAAe,EAAE,CAAC,CAAY,0BAA0B;YACnF,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1C,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;iBACI,CAAC;gBACF,8BAA8B;gBAC9B,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,MAAwB;QAClD,sDAAsD;QACtD,iEAAiE;QACjE,qFAAqF;QACrF,mEAAmE;QAEnE,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,gCAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjH,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,YAAY,oBAAW,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBACrD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAClD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,gCAAe,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnF,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO;QACX,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,YAAY,uBAAc,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,gCAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7G,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,YAAY,oBAAW,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,MAAkB;QACtC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,IAAY,EAAE,KAAqB;QAC9D,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,KAAe,EAAE,YAA2B;QAC1E,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;YACxF,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,mDAAmD;QACnD,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAEO,0BAA0B,CAAC,KAAe;QAC9C,IAAI,CAAC,CAAC,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,yBAAW,IAAI,KAAK,YAAY,uBAAU,CAAC,EAAE,CAAC;YACjI,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxE,CAAC;IAEO,gCAAgC,CAAC,MAAuB;;QAC5D,MAAM,MAAM,GAA8C,EAAE,CAAC;QAE7D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mCAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,IAAgB;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,YAAY,gCAAe,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,KAAe;QACjC,OAAO,mBAAmB,IAAI,KAAK,IAAK,KAAqB,CAAC,iBAAiB,KAAK,aAAa,CAAC;IACtG,CAAC;CACJ;AAhTD,oDAgTC"}
1
+ {"version":3,"file":"SelectValueCollector.js","sourceRoot":"","sources":["../../src/transformers/SelectValueCollector.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ exports.VALID_PRESETS = ['mysql', 'postgres', 'sqlserver', 'sqlite'];
19
19
  */
20
20
  class SqlFormatter {
21
21
  constructor(options = {}) {
22
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
23
  const presetConfig = options.preset ? SqlPrintTokenParser_1.PRESETS[options.preset] : undefined;
24
24
  if (options.preset && !presetConfig) {
25
25
  throw new Error(`Invalid preset: ${options.preset}`); // Throw error for invalid preset
@@ -33,10 +33,11 @@ class SqlFormatter {
33
33
  parameterStyle: (_d = options.parameterStyle) !== null && _d !== void 0 ? _d : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.parameterStyle,
34
34
  castStyle: (_e = options.castStyle) !== null && _e !== void 0 ? _e : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.castStyle,
35
35
  sourceAliasStyle: (_f = options.sourceAliasStyle) !== null && _f !== void 0 ? _f : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.sourceAliasStyle,
36
- orderByDefaultDirectionStyle: (_g = options.orderByDefaultDirectionStyle) !== null && _g !== void 0 ? _g : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.orderByDefaultDirectionStyle,
36
+ columnAliasStyle: (_g = options.columnAliasStyle) !== null && _g !== void 0 ? _g : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.columnAliasStyle,
37
+ orderByDefaultDirectionStyle: (_h = options.orderByDefaultDirectionStyle) !== null && _h !== void 0 ? _h : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.orderByDefaultDirectionStyle,
37
38
  joinConditionOrderByDeclaration: options.joinConditionOrderByDeclaration,
38
39
  };
39
- const constraintStyle = (_j = (_h = options.constraintStyle) !== null && _h !== void 0 ? _h : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.constraintStyle) !== null && _j !== void 0 ? _j : 'postgres';
40
+ const constraintStyle = (_k = (_j = options.constraintStyle) !== null && _j !== void 0 ? _j : presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.constraintStyle) !== null && _k !== void 0 ? _k : 'postgres';
40
41
  const parserConfig = {
41
42
  ...parserOptions,
42
43
  constraintStyle,
@@ -56,6 +57,7 @@ class SqlFormatter {
56
57
  parenthesesOneLine: options.parenthesesOneLine,
57
58
  betweenOneLine: options.betweenOneLine,
58
59
  valuesOneLine: options.valuesOneLine,
60
+ inOneLine: options.inOneLine,
59
61
  joinOneLine: options.joinOneLine,
60
62
  caseOneLine: options.caseOneLine,
61
63
  subqueryOneLine: options.subqueryOneLine,
@@ -1 +1 @@
1
- {"version":3,"file":"SqlFormatter.js","sourceRoot":"","sources":["../../src/transformers/SqlFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlFormatter.js","sourceRoot":"","sources":["../../src/transformers/SqlFormatter.ts"],"names":[],"mappings":"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"}