rawsql-ts 0.11.35-beta → 0.11.37-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 (92) hide show
  1. package/dist/esm/index.js.map +1 -1
  2. package/dist/esm/index.min.js +28 -27
  3. package/dist/esm/index.min.js.map +3 -3
  4. package/dist/esm/src/index.d.ts +1 -0
  5. package/dist/esm/src/index.js.map +1 -1
  6. package/dist/esm/src/models/BinarySelectQuery.d.ts +2 -0
  7. package/dist/esm/src/models/BinarySelectQuery.js +2 -0
  8. package/dist/esm/src/models/BinarySelectQuery.js.map +1 -1
  9. package/dist/esm/src/models/Clause.d.ts +2 -0
  10. package/dist/esm/src/models/Clause.js +2 -0
  11. package/dist/esm/src/models/Clause.js.map +1 -1
  12. package/dist/esm/src/models/SelectQuery.d.ts +2 -0
  13. package/dist/esm/src/models/SelectQuery.js.map +1 -1
  14. package/dist/esm/src/models/SimpleSelectQuery.d.ts +2 -0
  15. package/dist/esm/src/models/SimpleSelectQuery.js +2 -0
  16. package/dist/esm/src/models/SimpleSelectQuery.js.map +1 -1
  17. package/dist/esm/src/models/ValuesQuery.d.ts +2 -0
  18. package/dist/esm/src/models/ValuesQuery.js +2 -0
  19. package/dist/esm/src/models/ValuesQuery.js.map +1 -1
  20. package/dist/esm/src/parsers/CommonTableParser.d.ts +1 -0
  21. package/dist/esm/src/parsers/CommonTableParser.js +9 -2
  22. package/dist/esm/src/parsers/CommonTableParser.js.map +1 -1
  23. package/dist/esm/src/parsers/SelectClauseParser.js +7 -1
  24. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  25. package/dist/esm/src/parsers/SelectQueryParser.d.ts +6 -0
  26. package/dist/esm/src/parsers/SelectQueryParser.js +51 -12
  27. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  28. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +2 -1
  29. package/dist/esm/src/parsers/SqlPrintTokenParser.js +73 -4
  30. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  31. package/dist/esm/src/parsers/WithClauseParser.d.ts +1 -0
  32. package/dist/esm/src/parsers/WithClauseParser.js +27 -3
  33. package/dist/esm/src/parsers/WithClauseParser.js.map +1 -1
  34. package/dist/esm/src/transformers/CTEQueryDecomposer.d.ts +69 -0
  35. package/dist/esm/src/transformers/CTEQueryDecomposer.js +123 -0
  36. package/dist/esm/src/transformers/CTEQueryDecomposer.js.map +1 -1
  37. package/dist/esm/src/transformers/SqlFormatter.d.ts +34 -16
  38. package/dist/esm/src/transformers/SqlFormatter.js +1 -1
  39. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  40. package/dist/esm/src/transformers/SqlPrinter.d.ts +25 -20
  41. package/dist/esm/src/transformers/SqlPrinter.js +51 -2
  42. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  43. package/dist/esm/src/utils/CommentEditor.d.ts +11 -0
  44. package/dist/esm/src/utils/CommentEditor.js +141 -29
  45. package/dist/esm/src/utils/CommentEditor.js.map +1 -1
  46. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  47. package/dist/index.min.js +31 -30
  48. package/dist/index.min.js.map +3 -3
  49. package/dist/src/index.d.ts +1 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/models/BinarySelectQuery.d.ts +2 -0
  52. package/dist/src/models/BinarySelectQuery.js +2 -0
  53. package/dist/src/models/BinarySelectQuery.js.map +1 -1
  54. package/dist/src/models/Clause.d.ts +2 -0
  55. package/dist/src/models/Clause.js +2 -0
  56. package/dist/src/models/Clause.js.map +1 -1
  57. package/dist/src/models/SelectQuery.d.ts +2 -0
  58. package/dist/src/models/SelectQuery.js.map +1 -1
  59. package/dist/src/models/SimpleSelectQuery.d.ts +2 -0
  60. package/dist/src/models/SimpleSelectQuery.js +2 -0
  61. package/dist/src/models/SimpleSelectQuery.js.map +1 -1
  62. package/dist/src/models/ValuesQuery.d.ts +2 -0
  63. package/dist/src/models/ValuesQuery.js +2 -0
  64. package/dist/src/models/ValuesQuery.js.map +1 -1
  65. package/dist/src/parsers/CommonTableParser.d.ts +1 -0
  66. package/dist/src/parsers/CommonTableParser.js +9 -2
  67. package/dist/src/parsers/CommonTableParser.js.map +1 -1
  68. package/dist/src/parsers/SelectClauseParser.js +7 -1
  69. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  70. package/dist/src/parsers/SelectQueryParser.d.ts +6 -0
  71. package/dist/src/parsers/SelectQueryParser.js +51 -12
  72. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  73. package/dist/src/parsers/SqlPrintTokenParser.d.ts +2 -1
  74. package/dist/src/parsers/SqlPrintTokenParser.js +73 -4
  75. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  76. package/dist/src/parsers/WithClauseParser.d.ts +1 -0
  77. package/dist/src/parsers/WithClauseParser.js +27 -3
  78. package/dist/src/parsers/WithClauseParser.js.map +1 -1
  79. package/dist/src/transformers/CTEQueryDecomposer.d.ts +69 -0
  80. package/dist/src/transformers/CTEQueryDecomposer.js +123 -0
  81. package/dist/src/transformers/CTEQueryDecomposer.js.map +1 -1
  82. package/dist/src/transformers/SqlFormatter.d.ts +34 -16
  83. package/dist/src/transformers/SqlFormatter.js +9 -1
  84. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  85. package/dist/src/transformers/SqlPrinter.d.ts +25 -20
  86. package/dist/src/transformers/SqlPrinter.js +51 -2
  87. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  88. package/dist/src/utils/CommentEditor.d.ts +11 -0
  89. package/dist/src/utils/CommentEditor.js +141 -29
  90. package/dist/src/utils/CommentEditor.js.map +1 -1
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +1 -1
@@ -9,43 +9,89 @@ const SqlComponent_1 = require("../models/SqlComponent");
9
9
  class CommentEditor {
10
10
  /**
11
11
  * Add a comment to a SQL component
12
+ * For SelectQuery components, adds to headerComments for query-level comments
12
13
  * @param component The SQL component to add comment to
13
14
  * @param comment The comment text to add
14
15
  */
15
16
  static addComment(component, comment) {
16
- if (!component.comments) {
17
- component.comments = [];
17
+ // Check if this is a SelectQuery component - add to headerComments for query-level comments
18
+ if (this.isSelectQuery(component)) {
19
+ const selectQuery = component;
20
+ if (!selectQuery.headerComments) {
21
+ selectQuery.headerComments = [];
22
+ }
23
+ selectQuery.headerComments.push(comment);
24
+ }
25
+ else {
26
+ // For other components, add to regular comments
27
+ if (!component.comments) {
28
+ component.comments = [];
29
+ }
30
+ component.comments.push(comment);
18
31
  }
19
- component.comments.push(comment);
32
+ }
33
+ /**
34
+ * Check if a component implements SelectQuery interface
35
+ * Uses discriminator property for robust type detection
36
+ * @param component The component to check
37
+ * @returns true if the component is a SelectQuery
38
+ */
39
+ static isSelectQuery(component) {
40
+ // Use discriminator property for robust type detection
41
+ return '__selectQueryType' in component &&
42
+ component.__selectQueryType === 'SelectQuery';
20
43
  }
21
44
  /**
22
45
  * Edit an existing comment by index
46
+ * For SelectQuery components, edits headerComments
23
47
  * @param component The SQL component containing the comment
24
48
  * @param index The index of the comment to edit (0-based)
25
49
  * @param newComment The new comment text
26
50
  * @throws Error if index is invalid
27
51
  */
28
52
  static editComment(component, index, newComment) {
29
- var _a;
30
- if (!component.comments || index < 0 || index >= component.comments.length) {
31
- throw new Error(`Invalid comment index: ${index}. Component has ${((_a = component.comments) === null || _a === void 0 ? void 0 : _a.length) || 0} comments.`);
53
+ var _a, _b;
54
+ if (this.isSelectQuery(component)) {
55
+ const selectQuery = component;
56
+ if (!selectQuery.headerComments || index < 0 || index >= selectQuery.headerComments.length) {
57
+ throw new Error(`Invalid comment index: ${index}. Component has ${((_a = selectQuery.headerComments) === null || _a === void 0 ? void 0 : _a.length) || 0} comments.`);
58
+ }
59
+ selectQuery.headerComments[index] = newComment;
60
+ }
61
+ else {
62
+ if (!component.comments || index < 0 || index >= component.comments.length) {
63
+ throw new Error(`Invalid comment index: ${index}. Component has ${((_b = component.comments) === null || _b === void 0 ? void 0 : _b.length) || 0} comments.`);
64
+ }
65
+ component.comments[index] = newComment;
32
66
  }
33
- component.comments[index] = newComment;
34
67
  }
35
68
  /**
36
69
  * Delete a comment by index
70
+ * For SelectQuery components, deletes from headerComments
37
71
  * @param component The SQL component containing the comment
38
72
  * @param index The index of the comment to delete (0-based)
39
73
  * @throws Error if index is invalid
40
74
  */
41
75
  static deleteComment(component, index) {
42
- var _a;
43
- if (!component.comments || index < 0 || index >= component.comments.length) {
44
- throw new Error(`Invalid comment index: ${index}. Component has ${((_a = component.comments) === null || _a === void 0 ? void 0 : _a.length) || 0} comments.`);
76
+ var _a, _b;
77
+ if (this.isSelectQuery(component)) {
78
+ const selectQuery = component;
79
+ if (!selectQuery.headerComments || index < 0 || index >= selectQuery.headerComments.length) {
80
+ throw new Error(`Invalid comment index: ${index}. Component has ${((_a = selectQuery.headerComments) === null || _a === void 0 ? void 0 : _a.length) || 0} comments.`);
81
+ }
82
+ selectQuery.headerComments.splice(index, 1);
83
+ if (selectQuery.headerComments.length === 0) {
84
+ selectQuery.headerComments = null;
85
+ }
45
86
  }
46
- component.comments.splice(index, 1);
47
- if (component.comments.length === 0) {
48
- component.comments = null;
87
+ else {
88
+ if (!component.comments || index < 0 || index >= component.comments.length) {
89
+ throw new Error(`Invalid comment index: ${index}. Component has ${((_b = component.comments) === null || _b === void 0 ? void 0 : _b.length) || 0} comments.`);
90
+ }
91
+ component.comments.splice(index, 1);
92
+ if (component.comments.length === 0) {
93
+ component.comments = null;
94
+ }
49
95
  }
50
96
  }
51
97
  /**
@@ -53,14 +99,25 @@ class CommentEditor {
53
99
  * @param component The SQL component to clear comments from
54
100
  */
55
101
  static deleteAllComments(component) {
56
- component.comments = null;
102
+ if (this.isSelectQuery(component)) {
103
+ const selectQuery = component;
104
+ selectQuery.headerComments = null;
105
+ }
106
+ else {
107
+ component.comments = null;
108
+ }
57
109
  }
58
110
  /**
59
111
  * Get all comments from a component
112
+ * For SelectQuery components, returns headerComments instead of regular comments
60
113
  * @param component The SQL component to get comments from
61
114
  * @returns Array of comment strings (empty array if no comments)
62
115
  */
63
116
  static getComments(component) {
117
+ if (this.isSelectQuery(component)) {
118
+ const selectQuery = component;
119
+ return selectQuery.headerComments || [];
120
+ }
64
121
  return component.comments || [];
65
122
  }
66
123
  /**
@@ -75,10 +132,25 @@ class CommentEditor {
75
132
  const searchTerm = caseSensitive ? searchText : searchText.toLowerCase();
76
133
  const traverse = (component) => {
77
134
  if (component && component instanceof SqlComponent_1.SqlComponent) {
135
+ let hasMatchingComment = false;
136
+ // Check regular comments
78
137
  if (component.comments && component.comments.some(c => {
79
138
  const commentText = caseSensitive ? c : c.toLowerCase();
80
139
  return commentText.includes(searchTerm);
81
140
  })) {
141
+ hasMatchingComment = true;
142
+ }
143
+ // Check headerComments for SelectQuery components
144
+ if (this.isSelectQuery(component)) {
145
+ const selectQuery = component;
146
+ if (selectQuery.headerComments && selectQuery.headerComments.some(c => {
147
+ const commentText = caseSensitive ? c : c.toLowerCase();
148
+ return commentText.includes(searchTerm);
149
+ })) {
150
+ hasMatchingComment = true;
151
+ }
152
+ }
153
+ if (hasMatchingComment) {
82
154
  results.push(component);
83
155
  }
84
156
  }
@@ -108,15 +180,34 @@ class CommentEditor {
108
180
  static replaceInComments(root, searchText, replaceText, caseSensitive = false) {
109
181
  let replacementCount = 0;
110
182
  const traverse = (component) => {
111
- if (component && component instanceof SqlComponent_1.SqlComponent && component.comments) {
112
- for (let i = 0; i < component.comments.length; i++) {
113
- const originalComment = component.comments[i];
114
- const flags = caseSensitive ? 'g' : 'gi';
115
- const regex = new RegExp(searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), flags);
116
- const newComment = originalComment.replace(regex, replaceText);
117
- if (newComment !== originalComment) {
118
- component.comments[i] = newComment;
119
- replacementCount++;
183
+ if (component && component instanceof SqlComponent_1.SqlComponent) {
184
+ // Handle regular comments
185
+ if (component.comments) {
186
+ for (let i = 0; i < component.comments.length; i++) {
187
+ const originalComment = component.comments[i];
188
+ const flags = caseSensitive ? 'g' : 'gi';
189
+ const regex = new RegExp(searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), flags);
190
+ const newComment = originalComment.replace(regex, replaceText);
191
+ if (newComment !== originalComment) {
192
+ component.comments[i] = newComment;
193
+ replacementCount++;
194
+ }
195
+ }
196
+ }
197
+ // Handle headerComments for SelectQuery components
198
+ if (this.isSelectQuery(component)) {
199
+ const selectQuery = component;
200
+ if (selectQuery.headerComments) {
201
+ for (let i = 0; i < selectQuery.headerComments.length; i++) {
202
+ const originalComment = selectQuery.headerComments[i];
203
+ const flags = caseSensitive ? 'g' : 'gi';
204
+ const regex = new RegExp(searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), flags);
205
+ const newComment = originalComment.replace(regex, replaceText);
206
+ if (newComment !== originalComment) {
207
+ selectQuery.headerComments[i] = newComment;
208
+ replacementCount++;
209
+ }
210
+ }
120
211
  }
121
212
  }
122
213
  }
@@ -143,8 +234,17 @@ class CommentEditor {
143
234
  static countComments(root) {
144
235
  let count = 0;
145
236
  const traverse = (component) => {
146
- if (component && component instanceof SqlComponent_1.SqlComponent && component.comments) {
147
- count += component.comments.length;
237
+ if (component && component instanceof SqlComponent_1.SqlComponent) {
238
+ if (component.comments) {
239
+ count += component.comments.length;
240
+ }
241
+ // Count headerComments for SelectQuery components
242
+ if (this.isSelectQuery(component)) {
243
+ const selectQuery = component;
244
+ if (selectQuery.headerComments) {
245
+ count += selectQuery.headerComments.length;
246
+ }
247
+ }
148
248
  }
149
249
  // Traverse all properties recursively
150
250
  for (const key in component) {
@@ -169,10 +269,22 @@ class CommentEditor {
169
269
  static getAllComments(root) {
170
270
  const results = [];
171
271
  const traverse = (component) => {
172
- if (component && component instanceof SqlComponent_1.SqlComponent && component.comments) {
173
- component.comments.forEach((comment, index) => {
174
- results.push({ comment, component, index });
175
- });
272
+ if (component && component instanceof SqlComponent_1.SqlComponent) {
273
+ // Add regular comments
274
+ if (component.comments) {
275
+ component.comments.forEach((comment, index) => {
276
+ results.push({ comment, component, index });
277
+ });
278
+ }
279
+ // Add headerComments for SelectQuery components
280
+ if (this.isSelectQuery(component)) {
281
+ const selectQuery = component;
282
+ if (selectQuery.headerComments) {
283
+ selectQuery.headerComments.forEach((comment, index) => {
284
+ results.push({ comment, component, index });
285
+ });
286
+ }
287
+ }
176
288
  }
177
289
  // Traverse all properties recursively
178
290
  for (const key in component) {
@@ -1 +1 @@
1
- {"version":3,"file":"CommentEditor.js","sourceRoot":"","sources":["../../../src/utils/CommentEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommentEditor.js","sourceRoot":"","sources":["../../../src/utils/CommentEditor.ts"],"names":[],"mappings":"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"}