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,61 @@
1
+ import { SqlComponent } from "../models/SqlComponent";
2
+ /**
3
+ * Source span for a comment when parser metadata is available.
4
+ *
5
+ * @remarks The current parser stores comment text on AST nodes but does not
6
+ * retain reliable per-comment source spans, so extractors usually omit this.
7
+ */
8
+ export interface AstCommentSourceRange {
9
+ start: number;
10
+ end: number;
11
+ }
12
+ /**
13
+ * Conservatively describes where an AST comment fact appears relative to syntax.
14
+ */
15
+ export type AstCommentPlacement = "leading" | "trailing" | "inner" | "detached";
16
+ /**
17
+ * Generic comment fact extracted from SQL AST comment metadata.
18
+ *
19
+ * @remarks `targetNode` is optional because SQL comments do not always have a
20
+ * strict syntactic owner. Ambiguous legacy buckets are emitted as detached.
21
+ */
22
+ export interface AstCommentAttachment {
23
+ text: string;
24
+ sourceOrder: number;
25
+ placement: AstCommentPlacement;
26
+ targetNode?: SqlComponent;
27
+ range?: AstCommentSourceRange;
28
+ }
29
+ /**
30
+ * Extracts comment attachment facts already represented in the SQL AST.
31
+ *
32
+ * @remarks This API does not infer product-specific meanings or rewrite
33
+ * comments. It returns a deterministic flat list without mutating the input AST.
34
+ */
35
+ export declare class AstCommentAttachmentExtractor {
36
+ private readonly attachments;
37
+ private readonly visited;
38
+ private readonly suppressedDetachedCommentArrays;
39
+ /**
40
+ * Extract comment attachment facts from a SQL AST component.
41
+ */
42
+ static extract(input: SqlComponent | null | undefined): AstCommentAttachment[];
43
+ private visit;
44
+ private visitSqlComponent;
45
+ private visitFallbackProperties;
46
+ private shouldSkipProperty;
47
+ private emitHeaderComments;
48
+ private emitLegacyComments;
49
+ private emitPositionedComments;
50
+ private emitSelectItemKeywordComments;
51
+ private emitKeywordPositionedComments;
52
+ private emitDetachedComments;
53
+ private emitComments;
54
+ private isSelectQuery;
55
+ private suppressWithClauseTrailingCommentsAlreadyCopiedToQuery;
56
+ private containsCommentSequence;
57
+ }
58
+ /**
59
+ * Extract comment attachment facts from a SQL AST component.
60
+ */
61
+ export declare function extractAstCommentAttachments(input: SqlComponent | null | undefined): AstCommentAttachment[];
@@ -0,0 +1,221 @@
1
+ import { BinarySelectQuery, SimpleSelectQuery, ValuesQuery } from "../models/SelectQuery";
2
+ import { CommonTable, SelectClause, SelectItem, SourceAliasExpression, WithClause } from "../models/Clause";
3
+ import { SqlComponent } from "../models/SqlComponent";
4
+ /**
5
+ * Extracts comment attachment facts already represented in the SQL AST.
6
+ *
7
+ * @remarks This API does not infer product-specific meanings or rewrite
8
+ * comments. It returns a deterministic flat list without mutating the input AST.
9
+ */
10
+ export class AstCommentAttachmentExtractor {
11
+ constructor() {
12
+ this.attachments = [];
13
+ this.visited = new Set();
14
+ this.suppressedDetachedCommentArrays = new WeakSet();
15
+ }
16
+ /**
17
+ * Extract comment attachment facts from a SQL AST component.
18
+ */
19
+ static extract(input) {
20
+ if (!input) {
21
+ return [];
22
+ }
23
+ const extractor = new AstCommentAttachmentExtractor();
24
+ extractor.visit(input);
25
+ return extractor.attachments;
26
+ }
27
+ visit(value) {
28
+ if (!value || typeof value !== "object") {
29
+ return;
30
+ }
31
+ if (this.visited.has(value)) {
32
+ return;
33
+ }
34
+ this.visited.add(value);
35
+ if (Array.isArray(value)) {
36
+ for (const item of value) {
37
+ this.visit(item);
38
+ }
39
+ return;
40
+ }
41
+ if (value instanceof SqlComponent) {
42
+ this.visitSqlComponent(value);
43
+ return;
44
+ }
45
+ }
46
+ visitSqlComponent(component) {
47
+ this.emitHeaderComments(component);
48
+ this.emitPositionedComments(component, "before");
49
+ if (!(component instanceof SimpleSelectQuery)) {
50
+ this.emitLegacyComments(component);
51
+ }
52
+ if (component instanceof SelectItem) {
53
+ this.emitPositionedComments(component, "after");
54
+ this.emitSelectItemKeywordComments(component);
55
+ this.visit(component.value);
56
+ this.visit(component.identifier);
57
+ return;
58
+ }
59
+ if (component instanceof CommonTable) {
60
+ this.visit(component.aliasExpression);
61
+ this.visit(component.query);
62
+ this.emitPositionedComments(component, "after");
63
+ return;
64
+ }
65
+ if (component instanceof WithClause) {
66
+ this.visit(component.tables);
67
+ this.emitDetachedComments(component.trailingComments);
68
+ this.emitDetachedComments(component.globalComments);
69
+ this.emitPositionedComments(component, "after");
70
+ return;
71
+ }
72
+ if (component instanceof SimpleSelectQuery) {
73
+ this.suppressWithClauseTrailingCommentsAlreadyCopiedToQuery(component);
74
+ this.visit(component.withClause);
75
+ this.emitLegacyComments(component);
76
+ this.visit(component.selectClause);
77
+ this.visit(component.fromClause);
78
+ this.visit(component.whereClause);
79
+ this.visit(component.groupByClause);
80
+ this.visit(component.havingClause);
81
+ this.visit(component.windowClause);
82
+ this.visit(component.orderByClause);
83
+ this.visit(component.limitClause);
84
+ this.visit(component.offsetClause);
85
+ this.visit(component.fetchClause);
86
+ this.visit(component.forClause);
87
+ this.emitPositionedComments(component, "after");
88
+ return;
89
+ }
90
+ if (component instanceof BinarySelectQuery) {
91
+ this.visit(component.left);
92
+ this.visit(component.right);
93
+ this.emitPositionedComments(component, "after");
94
+ return;
95
+ }
96
+ if (component instanceof ValuesQuery) {
97
+ this.visit(component.withClause);
98
+ this.visit(component.tuples);
99
+ this.emitPositionedComments(component, "after");
100
+ return;
101
+ }
102
+ if (component instanceof SelectClause) {
103
+ this.visit(component.distinct);
104
+ this.visit(component.hints);
105
+ this.visit(component.items);
106
+ this.emitPositionedComments(component, "after");
107
+ return;
108
+ }
109
+ if (component instanceof SourceAliasExpression) {
110
+ this.visit(component.table);
111
+ this.visit(component.columns);
112
+ this.emitPositionedComments(component, "after");
113
+ return;
114
+ }
115
+ this.visitFallbackProperties(component);
116
+ this.emitPositionedComments(component, "after");
117
+ }
118
+ visitFallbackProperties(component) {
119
+ for (const key of Object.keys(component)) {
120
+ if (this.shouldSkipProperty(key)) {
121
+ continue;
122
+ }
123
+ this.visit(component[key]);
124
+ }
125
+ }
126
+ shouldSkipProperty(key) {
127
+ return key === "comments" ||
128
+ key === "positionedComments" ||
129
+ key === "headerComments" ||
130
+ key === "trailingComments" ||
131
+ key === "globalComments" ||
132
+ key === "asKeywordPositionedComments" ||
133
+ key === "asKeywordComments" ||
134
+ key === "aliasPositionedComments" ||
135
+ key === "aliasComments" ||
136
+ key === "cteNameCache";
137
+ }
138
+ emitHeaderComments(component) {
139
+ if (!this.isSelectQuery(component)) {
140
+ return;
141
+ }
142
+ this.emitComments(component.headerComments, "leading", component);
143
+ }
144
+ emitLegacyComments(component) {
145
+ this.emitComments(component.comments, "detached");
146
+ }
147
+ emitPositionedComments(component, position) {
148
+ if (!component.positionedComments) {
149
+ return;
150
+ }
151
+ for (const positionedComment of component.positionedComments) {
152
+ if (positionedComment.position !== position) {
153
+ continue;
154
+ }
155
+ this.emitComments(positionedComment.comments, position === "before" ? "leading" : "trailing", component);
156
+ }
157
+ }
158
+ emitSelectItemKeywordComments(selectItem) {
159
+ const itemWithCommentFields = selectItem;
160
+ this.emitKeywordPositionedComments(itemWithCommentFields.asKeywordPositionedComments, selectItem, "inner");
161
+ this.emitComments(itemWithCommentFields.asKeywordComments, "inner", selectItem);
162
+ this.emitKeywordPositionedComments(itemWithCommentFields.aliasPositionedComments, selectItem);
163
+ this.emitComments(itemWithCommentFields.aliasComments, "trailing", selectItem);
164
+ }
165
+ emitKeywordPositionedComments(positionedComments, targetNode, placementOverride) {
166
+ if (!positionedComments) {
167
+ return;
168
+ }
169
+ for (const positionedComment of positionedComments) {
170
+ const placement = placementOverride !== null && placementOverride !== void 0 ? placementOverride : (positionedComment.position === "before" ? "leading" : "trailing");
171
+ this.emitComments(positionedComment.comments, placement, targetNode);
172
+ }
173
+ }
174
+ emitDetachedComments(comments) {
175
+ if (comments && this.suppressedDetachedCommentArrays.has(comments)) {
176
+ return;
177
+ }
178
+ this.emitComments(comments, "detached");
179
+ }
180
+ emitComments(comments, placement, targetNode) {
181
+ if (!comments) {
182
+ return;
183
+ }
184
+ for (const text of comments) {
185
+ this.attachments.push(Object.assign({ text, sourceOrder: this.attachments.length, placement }, (targetNode ? { targetNode } : {})));
186
+ }
187
+ }
188
+ isSelectQuery(component) {
189
+ return "__selectQueryType" in component &&
190
+ component.__selectQueryType === "SelectQuery";
191
+ }
192
+ suppressWithClauseTrailingCommentsAlreadyCopiedToQuery(query) {
193
+ var _a;
194
+ const trailingComments = (_a = query.withClause) === null || _a === void 0 ? void 0 : _a.trailingComments;
195
+ if (!trailingComments || !query.comments) {
196
+ return;
197
+ }
198
+ if (this.containsCommentSequence(query.comments, trailingComments)) {
199
+ this.suppressedDetachedCommentArrays.add(trailingComments);
200
+ }
201
+ }
202
+ containsCommentSequence(source, candidate) {
203
+ if (candidate.length === 0) {
204
+ return true;
205
+ }
206
+ for (let start = 0; start <= source.length - candidate.length; start++) {
207
+ const matches = candidate.every((comment, index) => source[start + index] === comment);
208
+ if (matches) {
209
+ return true;
210
+ }
211
+ }
212
+ return false;
213
+ }
214
+ }
215
+ /**
216
+ * Extract comment attachment facts from a SQL AST component.
217
+ */
218
+ export function extractAstCommentAttachments(input) {
219
+ return AstCommentAttachmentExtractor.extract(input);
220
+ }
221
+ //# sourceMappingURL=AstCommentAttachmentExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AstCommentAttachmentExtractor.js","sourceRoot":"","sources":["../../../src/transformers/AstCommentAttachmentExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { SimpleSelectQuery } from "../models/SimpleSelectQuery";
2
+ import { ColumnReference, ValueComponent } from "../models/ValueComponent";
3
+ export type ClauseScopedColumnReferenceClause = "select" | "where" | "joinOn" | "groupBy" | "having" | "orderBy" | "window" | "limitOffset";
4
+ export interface ClauseScopedColumnReferenceInfo {
5
+ clause: ClauseScopedColumnReferenceClause;
6
+ reference: ColumnReference;
7
+ qualifiedName: string;
8
+ namespaces: string[];
9
+ namespace: string | null;
10
+ column: string;
11
+ expression: ValueComponent;
12
+ }
13
+ export interface ClauseScopedColumnReferences {
14
+ select: ClauseScopedColumnReferenceInfo[];
15
+ where: ClauseScopedColumnReferenceInfo[];
16
+ joinOn: ClauseScopedColumnReferenceInfo[];
17
+ groupBy: ClauseScopedColumnReferenceInfo[];
18
+ having: ClauseScopedColumnReferenceInfo[];
19
+ orderBy: ClauseScopedColumnReferenceInfo[];
20
+ window: ClauseScopedColumnReferenceInfo[];
21
+ limitOffset: ClauseScopedColumnReferenceInfo[];
22
+ }
23
+ /**
24
+ * Collects ColumnReference nodes grouped by the root SimpleSelectQuery clause that owns them.
25
+ *
26
+ * Subquery and CTE bodies are intentionally not traversed because they have their own query-body
27
+ * ownership. Use ColumnReferenceCollector when comprehensive tree traversal is required.
28
+ */
29
+ export declare class ClauseScopedColumnReferenceCollector {
30
+ collect(query: SimpleSelectQuery): ClauseScopedColumnReferences;
31
+ private createEmptyResult;
32
+ private collectFromSelectClause;
33
+ private collectFromJoinClauses;
34
+ private collectFromWhereClause;
35
+ private collectFromGroupByClause;
36
+ private collectFromHavingClause;
37
+ private collectFromOrderByClause;
38
+ private collectFromLimitClause;
39
+ private collectFromOffsetClause;
40
+ private collectFromFetchClause;
41
+ private collectFromWindowsClause;
42
+ private collectFromValueComponent;
43
+ private collectFromFunctionCall;
44
+ private collectFromWindowFrameExpression;
45
+ private createInfo;
46
+ private getNameText;
47
+ }
@@ -0,0 +1,235 @@
1
+ import { DistinctOn, JoinOnClause, JoinUsingClause, OrderByItem, } from "../models/Clause";
2
+ import { SimpleSelectQuery } from "../models/SimpleSelectQuery";
3
+ import { ArrayExpression, ArrayIndexExpression, ArrayQueryExpression, ArraySliceExpression, BetweenExpression, BinaryExpression, CaseExpression, CastExpression, ColumnReference, FunctionCall, IdentifierString, InlineQuery, JsonPredicateExpression, ParenExpression, TupleExpression, TypeValue, UnaryExpression, ValueList, WindowFrameBoundaryValue, WindowFrameExpression, } from "../models/ValueComponent";
4
+ /**
5
+ * Collects ColumnReference nodes grouped by the root SimpleSelectQuery clause that owns them.
6
+ *
7
+ * Subquery and CTE bodies are intentionally not traversed because they have their own query-body
8
+ * ownership. Use ColumnReferenceCollector when comprehensive tree traversal is required.
9
+ */
10
+ export class ClauseScopedColumnReferenceCollector {
11
+ collect(query) {
12
+ if (!(query instanceof SimpleSelectQuery)) {
13
+ throw new Error("ClauseScopedColumnReferenceCollector requires a SimpleSelectQuery.");
14
+ }
15
+ const result = this.createEmptyResult();
16
+ this.collectFromSelectClause(query.selectClause, result);
17
+ this.collectFromJoinClauses(query, result);
18
+ if (query.whereClause) {
19
+ this.collectFromWhereClause(query.whereClause, result);
20
+ }
21
+ if (query.groupByClause) {
22
+ this.collectFromGroupByClause(query.groupByClause, result);
23
+ }
24
+ if (query.havingClause) {
25
+ this.collectFromHavingClause(query.havingClause, result);
26
+ }
27
+ if (query.orderByClause) {
28
+ this.collectFromOrderByClause(query.orderByClause, "orderBy", result);
29
+ }
30
+ if (query.windowClause) {
31
+ this.collectFromWindowsClause(query.windowClause, result);
32
+ }
33
+ if (query.limitClause) {
34
+ this.collectFromLimitClause(query.limitClause, result);
35
+ }
36
+ if (query.offsetClause) {
37
+ this.collectFromOffsetClause(query.offsetClause, result);
38
+ }
39
+ if (query.fetchClause) {
40
+ this.collectFromFetchClause(query.fetchClause, result);
41
+ }
42
+ return result;
43
+ }
44
+ createEmptyResult() {
45
+ return {
46
+ select: [],
47
+ where: [],
48
+ joinOn: [],
49
+ groupBy: [],
50
+ having: [],
51
+ orderBy: [],
52
+ window: [],
53
+ limitOffset: [],
54
+ };
55
+ }
56
+ collectFromSelectClause(clause, result) {
57
+ if (clause.distinct instanceof DistinctOn) {
58
+ this.collectFromValueComponent(clause.distinct.value, "select", result);
59
+ }
60
+ for (const item of clause.items) {
61
+ this.collectFromValueComponent(item.value, "select", result);
62
+ }
63
+ }
64
+ collectFromJoinClauses(query, result) {
65
+ var _a;
66
+ if (!((_a = query.fromClause) === null || _a === void 0 ? void 0 : _a.joins)) {
67
+ return;
68
+ }
69
+ for (const join of query.fromClause.joins) {
70
+ if (join.condition instanceof JoinOnClause || join.condition instanceof JoinUsingClause) {
71
+ this.collectFromValueComponent(join.condition.condition, "joinOn", result);
72
+ }
73
+ }
74
+ }
75
+ collectFromWhereClause(clause, result) {
76
+ this.collectFromValueComponent(clause.condition, "where", result);
77
+ }
78
+ collectFromGroupByClause(clause, result) {
79
+ for (const item of clause.grouping) {
80
+ this.collectFromValueComponent(item, "groupBy", result);
81
+ }
82
+ }
83
+ collectFromHavingClause(clause, result) {
84
+ this.collectFromValueComponent(clause.condition, "having", result);
85
+ }
86
+ collectFromOrderByClause(clause, target, result) {
87
+ for (const item of clause.order) {
88
+ if (item instanceof OrderByItem) {
89
+ this.collectFromValueComponent(item.value, target, result);
90
+ }
91
+ else {
92
+ this.collectFromValueComponent(item, target, result);
93
+ }
94
+ }
95
+ }
96
+ collectFromLimitClause(clause, result) {
97
+ this.collectFromValueComponent(clause.value, "limitOffset", result);
98
+ }
99
+ collectFromOffsetClause(clause, result) {
100
+ this.collectFromValueComponent(clause.value, "limitOffset", result);
101
+ }
102
+ collectFromFetchClause(clause, result) {
103
+ this.collectFromValueComponent(clause.expression.count, "limitOffset", result);
104
+ }
105
+ collectFromWindowsClause(clause, result) {
106
+ for (const window of clause.windows) {
107
+ this.collectFromWindowFrameExpression(window.expression, "window", result);
108
+ }
109
+ }
110
+ collectFromValueComponent(value, target, result, expression = value) {
111
+ if (value instanceof ColumnReference) {
112
+ result[target].push(this.createInfo(value, target, expression));
113
+ return;
114
+ }
115
+ if (value instanceof BinaryExpression) {
116
+ this.collectFromValueComponent(value.left, target, result, value);
117
+ this.collectFromValueComponent(value.right, target, result, value);
118
+ }
119
+ else if (value instanceof UnaryExpression) {
120
+ this.collectFromValueComponent(value.expression, target, result, value);
121
+ }
122
+ else if (value instanceof FunctionCall) {
123
+ this.collectFromFunctionCall(value, target, result);
124
+ }
125
+ else if (value instanceof CaseExpression) {
126
+ if (value.condition) {
127
+ this.collectFromValueComponent(value.condition, target, result, value);
128
+ }
129
+ for (const pair of value.switchCase.cases) {
130
+ this.collectFromValueComponent(pair.key, target, result, value);
131
+ this.collectFromValueComponent(pair.value, target, result, value);
132
+ }
133
+ if (value.switchCase.elseValue) {
134
+ this.collectFromValueComponent(value.switchCase.elseValue, target, result, value);
135
+ }
136
+ }
137
+ else if (value instanceof ParenExpression) {
138
+ this.collectFromValueComponent(value.expression, target, result, value);
139
+ }
140
+ else if (value instanceof CastExpression) {
141
+ this.collectFromValueComponent(value.input, target, result, value);
142
+ }
143
+ else if (value instanceof BetweenExpression) {
144
+ this.collectFromValueComponent(value.expression, target, result, value);
145
+ this.collectFromValueComponent(value.lower, target, result, value);
146
+ this.collectFromValueComponent(value.upper, target, result, value);
147
+ }
148
+ else if (value instanceof JsonPredicateExpression) {
149
+ this.collectFromValueComponent(value.expression, target, result, value);
150
+ }
151
+ else if (value instanceof ArrayExpression) {
152
+ this.collectFromValueComponent(value.expression, target, result, value);
153
+ }
154
+ else if (value instanceof ArraySliceExpression) {
155
+ this.collectFromValueComponent(value.array, target, result, value);
156
+ if (value.startIndex) {
157
+ this.collectFromValueComponent(value.startIndex, target, result, value);
158
+ }
159
+ if (value.endIndex) {
160
+ this.collectFromValueComponent(value.endIndex, target, result, value);
161
+ }
162
+ }
163
+ else if (value instanceof ArrayIndexExpression) {
164
+ this.collectFromValueComponent(value.array, target, result, value);
165
+ this.collectFromValueComponent(value.index, target, result, value);
166
+ }
167
+ else if (value instanceof ValueList) {
168
+ for (const item of value.values) {
169
+ this.collectFromValueComponent(item, target, result, value);
170
+ }
171
+ }
172
+ else if (value instanceof TupleExpression) {
173
+ for (const item of value.values) {
174
+ this.collectFromValueComponent(item, target, result, value);
175
+ }
176
+ }
177
+ else if (value instanceof TypeValue && value.argument) {
178
+ this.collectFromValueComponent(value.argument, target, result, value);
179
+ }
180
+ else if (value instanceof InlineQuery || value instanceof ArrayQueryExpression) {
181
+ return;
182
+ }
183
+ }
184
+ collectFromFunctionCall(value, target, result) {
185
+ if (value.argument) {
186
+ this.collectFromValueComponent(value.argument, target, result, value);
187
+ }
188
+ if (value.filterCondition) {
189
+ this.collectFromValueComponent(value.filterCondition, target, result, value);
190
+ }
191
+ if (value.withinGroup) {
192
+ this.collectFromOrderByClause(value.withinGroup, target, result);
193
+ }
194
+ if (value.internalOrderBy) {
195
+ this.collectFromOrderByClause(value.internalOrderBy, target, result);
196
+ }
197
+ if (value.over instanceof WindowFrameExpression) {
198
+ this.collectFromWindowFrameExpression(value.over, target, result);
199
+ }
200
+ }
201
+ collectFromWindowFrameExpression(value, target, result) {
202
+ if (value.partition) {
203
+ this.collectFromValueComponent(value.partition.value, target, result);
204
+ }
205
+ if (value.order) {
206
+ this.collectFromOrderByClause(value.order, target, result);
207
+ }
208
+ if (value.frameSpec) {
209
+ if (value.frameSpec.startBound instanceof WindowFrameBoundaryValue) {
210
+ this.collectFromValueComponent(value.frameSpec.startBound.value, target, result);
211
+ }
212
+ if (value.frameSpec.endBound instanceof WindowFrameBoundaryValue) {
213
+ this.collectFromValueComponent(value.frameSpec.endBound.value, target, result);
214
+ }
215
+ }
216
+ }
217
+ createInfo(reference, clause, expression) {
218
+ var _a, _b;
219
+ const namespaces = (_b = (_a = reference.namespaces) === null || _a === void 0 ? void 0 : _a.map(namespace => namespace.name)) !== null && _b !== void 0 ? _b : [];
220
+ const columnName = this.getNameText(reference.qualifiedName.name);
221
+ return {
222
+ clause,
223
+ reference,
224
+ qualifiedName: reference.qualifiedName.toString(),
225
+ namespaces,
226
+ namespace: namespaces.length > 0 ? namespaces.join(".") : null,
227
+ column: columnName,
228
+ expression,
229
+ };
230
+ }
231
+ getNameText(name) {
232
+ return name instanceof IdentifierString ? name.name : name.value;
233
+ }
234
+ }
235
+ //# sourceMappingURL=ClauseScopedColumnReferenceCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClauseScopedColumnReferenceCollector.js","sourceRoot":"","sources":["../../../src/transformers/ClauseScopedColumnReferenceCollector.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const NEWLINE_MAP = {
6
6
  lf: '\n',
7
7
  crlf: '\r\n',
8
8
  cr: '\r',
9
+ space: ' ',
9
10
  };
10
11
  const IDENTIFIER_ESCAPE_MAP = {
11
12
  quote: { start: '"', end: '"' },
@@ -1 +1 @@
1
- {"version":3,"file":"FormatOptionResolver.js","sourceRoot":"","sources":["../../../src/transformers/FormatOptionResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormatOptionResolver.js","sourceRoot":"","sources":["../../../src/transformers/FormatOptionResolver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type NewlineLogicalName = 'lf' | 'crlf' | 'cr';
1
+ export type NewlineLogicalName = 'lf' | 'crlf' | 'cr' | 'space';
2
2
  export type NewlineOption = NewlineLogicalName | '\n' | '\r\n' | '\r' | ' ';
3
3
  export type IndentCharLogicalName = 'space' | 'tab';
4
4
  export type IndentCharOption = IndentCharLogicalName | string;