rawsql-ts 0.1.0-beta.8 → 0.1.0-beta.9

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 (108) hide show
  1. package/README.md +58 -38
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/BinarySelectQuery.js +9 -8
  6. package/dist/models/BinarySelectQuery.js.map +1 -1
  7. package/dist/models/SimpleSelectQuery.js +10 -8
  8. package/dist/models/SimpleSelectQuery.js.map +1 -1
  9. package/dist/parsers/CommandExpressionParser.d.ts +1 -1
  10. package/dist/parsers/CommandExpressionParser.js +6 -6
  11. package/dist/parsers/CommandExpressionParser.js.map +1 -1
  12. package/dist/parsers/CommonTableParser.d.ts +2 -2
  13. package/dist/parsers/CommonTableParser.js +7 -5
  14. package/dist/parsers/CommonTableParser.js.map +1 -1
  15. package/dist/parsers/ForClauseParser.d.ts +2 -2
  16. package/dist/parsers/ForClauseParser.js +5 -3
  17. package/dist/parsers/ForClauseParser.js.map +1 -1
  18. package/dist/parsers/FromClauseParser.d.ts +2 -2
  19. package/dist/parsers/FromClauseParser.js +6 -4
  20. package/dist/parsers/FromClauseParser.js.map +1 -1
  21. package/dist/parsers/FunctionExpressionParser.d.ts +1 -1
  22. package/dist/parsers/FunctionExpressionParser.js +8 -8
  23. package/dist/parsers/FunctionExpressionParser.js.map +1 -1
  24. package/dist/parsers/GroupByParser.d.ts +2 -2
  25. package/dist/parsers/GroupByParser.js +6 -4
  26. package/dist/parsers/GroupByParser.js.map +1 -1
  27. package/dist/parsers/HavingParser.d.ts +2 -2
  28. package/dist/parsers/HavingParser.js +6 -4
  29. package/dist/parsers/HavingParser.js.map +1 -1
  30. package/dist/parsers/IdentifierParser.d.ts +1 -1
  31. package/dist/parsers/IdentifierParser.js +1 -1
  32. package/dist/parsers/IdentifierParser.js.map +1 -1
  33. package/dist/parsers/JoinClauseParser.js +2 -2
  34. package/dist/parsers/JoinClauseParser.js.map +1 -1
  35. package/dist/parsers/LimitClauseParser.d.ts +2 -2
  36. package/dist/parsers/LimitClauseParser.js +7 -5
  37. package/dist/parsers/LimitClauseParser.js.map +1 -1
  38. package/dist/parsers/LiteralParser.d.ts +1 -1
  39. package/dist/parsers/LiteralParser.js +1 -1
  40. package/dist/parsers/LiteralParser.js.map +1 -1
  41. package/dist/parsers/OrderByClauseParser.d.ts +2 -2
  42. package/dist/parsers/OrderByClauseParser.js +6 -4
  43. package/dist/parsers/OrderByClauseParser.js.map +1 -1
  44. package/dist/parsers/OverExpressionParser.d.ts +2 -2
  45. package/dist/parsers/OverExpressionParser.js +4 -4
  46. package/dist/parsers/OverExpressionParser.js.map +1 -1
  47. package/dist/parsers/ParameterExpressionParser.d.ts +1 -1
  48. package/dist/parsers/ParameterExpressionParser.js +1 -1
  49. package/dist/parsers/ParameterExpressionParser.js.map +1 -1
  50. package/dist/parsers/ParenExpressionParser.d.ts +1 -1
  51. package/dist/parsers/ParenExpressionParser.js +2 -2
  52. package/dist/parsers/ParenExpressionParser.js.map +1 -1
  53. package/dist/parsers/PartitionByParser.d.ts +2 -2
  54. package/dist/parsers/PartitionByParser.js +7 -5
  55. package/dist/parsers/PartitionByParser.js.map +1 -1
  56. package/dist/parsers/SelectClauseParser.d.ts +2 -2
  57. package/dist/parsers/SelectClauseParser.js +6 -4
  58. package/dist/parsers/SelectClauseParser.js.map +1 -1
  59. package/dist/parsers/SelectQueryParser.d.ts +2 -2
  60. package/dist/parsers/SelectQueryParser.js +16 -14
  61. package/dist/parsers/SelectQueryParser.js.map +1 -1
  62. package/dist/parsers/SourceAliasExpressionParser.d.ts +1 -1
  63. package/dist/parsers/SourceAliasExpressionParser.js +2 -1
  64. package/dist/parsers/SourceAliasExpressionParser.js.map +1 -1
  65. package/dist/parsers/SourceExpressionParser.d.ts +1 -1
  66. package/dist/parsers/SourceExpressionParser.js +5 -4
  67. package/dist/parsers/SourceExpressionParser.js.map +1 -1
  68. package/dist/parsers/SourceParser.d.ts +2 -2
  69. package/dist/parsers/SourceParser.js +9 -6
  70. package/dist/parsers/SourceParser.js.map +1 -1
  71. package/dist/parsers/StringSpecifierExpressionParser.d.ts +1 -1
  72. package/dist/parsers/StringSpecifierExpressionParser.js +1 -1
  73. package/dist/parsers/StringSpecifierExpressionParser.js.map +1 -1
  74. package/dist/parsers/UnaryExpressionParser.d.ts +1 -1
  75. package/dist/parsers/UnaryExpressionParser.js +2 -2
  76. package/dist/parsers/UnaryExpressionParser.js.map +1 -1
  77. package/dist/parsers/ValueParser.d.ts +2 -2
  78. package/dist/parsers/ValueParser.js +15 -13
  79. package/dist/parsers/ValueParser.js.map +1 -1
  80. package/dist/parsers/ValuesQueryParser.d.ts +2 -2
  81. package/dist/parsers/ValuesQueryParser.js +5 -5
  82. package/dist/parsers/ValuesQueryParser.js.map +1 -1
  83. package/dist/parsers/WhereClauseParser.d.ts +2 -2
  84. package/dist/parsers/WhereClauseParser.js +6 -4
  85. package/dist/parsers/WhereClauseParser.js.map +1 -1
  86. package/dist/parsers/WindowClauseParser.d.ts +2 -2
  87. package/dist/parsers/WindowClauseParser.js +6 -4
  88. package/dist/parsers/WindowClauseParser.js.map +1 -1
  89. package/dist/parsers/WindowExpressionParser.d.ts +2 -2
  90. package/dist/parsers/WindowExpressionParser.js +29 -17
  91. package/dist/parsers/WindowExpressionParser.js.map +1 -1
  92. package/dist/parsers/WithClauseParser.d.ts +2 -2
  93. package/dist/parsers/WithClauseParser.js +7 -5
  94. package/dist/parsers/WithClauseParser.js.map +1 -1
  95. package/dist/transformers/CTEBuilder.js +1 -1
  96. package/dist/transformers/CTEBuilder.js.map +1 -1
  97. package/dist/transformers/CTENormalizer.d.ts +5 -5
  98. package/dist/transformers/CTENormalizer.js +11 -7
  99. package/dist/transformers/CTENormalizer.js.map +1 -1
  100. package/dist/transformers/Formatter.d.ts +16 -1
  101. package/dist/transformers/Formatter.js +16 -1
  102. package/dist/transformers/Formatter.js.map +1 -1
  103. package/dist/transformers/QueryConverter.d.ts +41 -0
  104. package/dist/transformers/{QueryNormalizer.js → QueryConverter.js} +39 -34
  105. package/dist/transformers/QueryConverter.js.map +1 -0
  106. package/package.json +1 -1
  107. package/dist/transformers/QueryNormalizer.d.ts +0 -37
  108. package/dist/transformers/QueryNormalizer.js.map +0 -1
package/README.md CHANGED
@@ -21,9 +21,9 @@ import { SelectQueryParser } from 'rawsql-ts';
21
21
  import { Formatter } from 'rawsql-ts';
22
22
 
23
23
  const sql = `SELECT id, name FROM users WHERE active = TRUE`;
24
- const query = SelectQueryParser.parseFromText(sql);
24
+ const query = SelectQueryParser.parse(sql);
25
25
  const formatter = new Formatter();
26
- const formattedSql = formatter.visit(query);
26
+ const formattedSql = formatter.format(query);
27
27
  console.log(formattedSql);
28
28
  // => select "id", "name" from "users" where "active" = true
29
29
  ```
@@ -38,10 +38,8 @@ rawsql-ts provides the following main parser class for converting SQL text into
38
38
  Parses complete SELECT and VALUES queries, including support for CTEs (WITH), UNION/INTERSECT/EXCEPT, subqueries, and all major SQL clauses. Handles PostgreSQL-specific syntax and advanced query structures.
39
39
 
40
40
  **Key methods:**
41
- - `parseFromText(sql: string): SelectQuery`
41
+ - `parse(sql: string): SelectQuery`
42
42
  Parses a SQL string and returns the root AST node for the query. Throws an error if the SQL is invalid or contains extra tokens.
43
- - `parse(lexemes: Lexeme[], index: number): { value: SelectQuery; newIndex: number }`
44
- Parses a tokenized SQL query from the given index and returns the AST node and the new index. Used internally for advanced parsing scenarios.
45
43
 
46
44
  **Notes:**
47
45
  - Only PostgreSQL syntax is supported at this time.
@@ -124,6 +122,9 @@ rawsql-ts provides a suite of AST (Abstract Syntax Tree) transformers for advanc
124
122
  - **SelectableColumnCollector**
125
123
  Collects all column references in a query that can be included in a SELECT clause. Gathers all columns available from root FROM/JOIN sources.
126
124
 
125
+ - **TableSourceCollector**
126
+ Collects all table and subquery sources from the FROM and JOIN clauses. This utility helps you extract all logical sources (tables, subqueries, CTEs, etc.) referenced in the root query, including their aliases. Useful for schema analysis, join logic, and query visualization.
127
+
127
128
  - **CTECollector**
128
129
  Collects all Common Table Expressions (CTEs) from WITH clauses, subqueries, and UNION queries. Supports both nested and recursive CTEs.
129
130
 
@@ -143,15 +144,63 @@ rawsql-ts provides a suite of AST (Abstract Syntax Tree) transformers for advanc
143
144
  ```typescript
144
145
  import { SelectQueryParser } from 'rawsql-ts';
145
146
  import { SelectableColumnCollector } from 'rawsql-ts/transformers/SelectableColumnCollector';
147
+ import { SelectValueCollector } from 'rawsql-ts/transformers/SelectValueCollector';
148
+ import { TableSourceCollector } from 'rawsql-ts/transformers/TableSourceCollector';
146
149
 
147
150
  const sql = `SELECT u.id, u.name FROM users u JOIN posts p ON u.id = p.user_id`;
148
- const query = SelectQueryParser.parseFromText(sql);
151
+ const query = SelectQueryParser.parse(sql);
152
+
153
+ // Collects all selectable columns from the query (from FROM/JOIN sources)
154
+ const selectableColumnCollector = new SelectableColumnCollector();
155
+ const selectableColumns = selectableColumnCollector.collect(query);
156
+ // ["id", "name", "user_id", ...]
157
+ console.log(selectableColumns.map(col => col.name));
158
+
159
+ // Collects all values and aliases from the SELECT clause
160
+ const selectValueCollector = new SelectValueCollector();
161
+ const selectValues = selectValueCollector.collect(query);
162
+ // ["id", "name"]
163
+ console.log(selectValues.map(val => val.alias || val.expression.toString()));
164
+
165
+ // Collects all table and subquery sources from the FROM/JOIN clauses
166
+ const tableSourceCollector = new TableSourceCollector();
167
+ const sources = tableSourceCollector.collect(query);
168
+ // ["u", "p"]
169
+ console.log(sources.map(src => src.alias || src.name));
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Practical Example: Table Join
175
+
176
+ The following example demonstrates how to join two tables using rawsql-ts. It is not necessary to understand the internal structure of the SelectQuery class or manage alias names manually. By specifying the join key(s), the library automatically generates the ON clause and handles all aliasing and subquery details.
177
+
178
+ ```typescript
179
+ import { SelectQueryParser } from 'rawsql-ts';
180
+ import { Formatter } from 'rawsql-ts';
149
181
 
150
- const collector = new SelectableColumnCollector();
151
- const columns = collector.collect(query);
152
- console.log(columns.map(col => col.name)); // ["id", "name", "user_id", ...]
182
+ // Parse two separate queries
183
+ const userQuery = SelectQueryParser.parse('SELECT user_id, user_name FROM users');
184
+ const postQuery = SelectQueryParser.parse('SELECT post_id, user_id, title FROM posts');
185
+
186
+ // Join the two queries using innerJoin
187
+ // Provide the join key(s) as an array; the ON clause will be generated automatically.
188
+ const joinedQuery = userQuery.innerJoin(postQuery, ['user_id']);
189
+
190
+ // Format the joined query back to SQL
191
+ const formatter = new Formatter();
192
+ const sql = formatter.format(joinedQuery);
193
+ console.log(sql);
194
+ // Output:
195
+ // select "user_id", "user_name", "post_id", "title" from "users" inner join (select "post_id", "user_id", "title" from "posts") on "users"."user_id" = "posts"."user_id"
153
196
  ```
154
197
 
198
+ **Key Points:**
199
+ - It is not necessary to understand the internal implementation of SelectQuery to perform join operations.
200
+ - Only the join key(s) (e.g., `['user_id']`) need to be specified. The ON clause is generated automatically.
201
+ - Alias names and subquery handling are managed by the library, eliminating the need for manual intervention.
202
+ - This approach enables straightforward joining of queries, even without detailed knowledge of the SQL structure or AST internals.
203
+
155
204
  ---
156
205
 
157
206
  By utilizing these transformer utilities, you can perform advanced SQL analysis and manipulation with reliability and consistency.
@@ -221,32 +270,3 @@ Node.js v22.14.0
221
270
 
222
271
  > **Note:** These benchmarks are based on a specific hardware and software environment. Actual performance may vary depending on system configuration and workload.
223
272
 
224
- ## Practical Example: Table Join
225
-
226
- Let's see how easy it is to join two tables using rawsql-ts! You don't need to know the internal structure of SelectQuery or worry about alias names—just specify the join key(s) and the library will generate the ON clause for you automatically.
227
-
228
- ```typescript
229
- import { SelectQueryParser } from 'rawsql-ts';
230
- import { Formatter } from 'rawsql-ts';
231
-
232
- // Parse two separate queries
233
- const userQuery = SelectQueryParser.parseFromText('SELECT user_id, user_name FROM users');
234
- const postQuery = SelectQueryParser.parseFromText('SELECT post_id, user_id, title FROM posts');
235
-
236
- // Join the two queries using innerJoin
237
- // Just pass the join key(s) as an array, and the ON clause will be generated automatically!
238
- const joinedQuery = userQuery.innerJoin(postQuery, ['user_id']);
239
-
240
- // Format the joined query back to SQL
241
- const formatter = new Formatter();
242
- const sql = formatter.visit(joinedQuery);
243
- console.log(sql);
244
- // Output:
245
- // select "user_id", "user_name", "post_id", "title" from "users" inner join (select "post_id", "user_id", "title" from "posts") on "users"."user_id" = "posts"."user_id"
246
- ```
247
-
248
- **Point:**
249
- - You do not need to understand the internal code of SelectQuery to perform joins.
250
- - You only need to specify the join key(s) (e.g., `['user_id']`). The ON clause is generated for you.
251
- - Alias names and subquery details are handled automatically by the library, so you never have to worry about them!
252
- - This makes it super easy to join queries, even if you don't know the full structure of the SQL or the internal AST.
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export * from './models/ValuesQuery';
6
6
  export * from './transformers/CTECollector';
7
7
  export * from './transformers/CTENormalizer';
8
8
  export * from './transformers/Formatter';
9
- export * from './transformers/QueryNormalizer';
9
+ export * from './transformers/QueryConverter';
10
10
  export * from './transformers/SelectValueCollector';
11
11
  export * from './transformers/SelectableColumnCollector';
12
12
  export * from './transformers/TableSourceCollector';
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ __exportStar(require("./models/ValuesQuery"), exports);
23
23
  __exportStar(require("./transformers/CTECollector"), exports);
24
24
  __exportStar(require("./transformers/CTENormalizer"), exports);
25
25
  __exportStar(require("./transformers/Formatter"), exports);
26
- __exportStar(require("./transformers/QueryNormalizer"), exports);
26
+ __exportStar(require("./transformers/QueryConverter"), exports);
27
27
  __exportStar(require("./transformers/SelectValueCollector"), exports);
28
28
  __exportStar(require("./transformers/SelectableColumnCollector"), exports);
29
29
  __exportStar(require("./transformers/TableSourceCollector"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,iEAA+C;AAC/C,sEAAoD;AACpD,2EAAyD;AACzD,sEAAoD;AACpD,2EAAyD;AACzD,oEAAoE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,gEAA8C;AAC9C,sEAAoD;AACpD,2EAAyD;AACzD,sEAAoD;AACpD,2EAAyD;AACzD,oEAAoE"}
@@ -95,8 +95,9 @@ class BinarySelectQuery extends SqlComponent_1.SqlComponent {
95
95
  this.left = new BinarySelectQuery(this.left, this.operator.value, this.right);
96
96
  this.operator = new ValueComponent_1.RawString(operator);
97
97
  this.right = query;
98
- const normalizer = new CTENormalizer_1.CTENormalizer();
99
- normalizer.normalize(this);
98
+ // const normalizer = new CTENormalizer();
99
+ // normalizer.normalize(this);
100
+ CTENormalizer_1.CTENormalizer.normalize(this);
100
101
  return this;
101
102
  }
102
103
  /**
@@ -106,27 +107,27 @@ class BinarySelectQuery extends SqlComponent_1.SqlComponent {
106
107
  * @returns A new BinarySelectQuery representing "(this) UNION (parsed query)"
107
108
  */
108
109
  unionRaw(sql) {
109
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
110
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
110
111
  return this.union(parsedQuery);
111
112
  }
112
113
  unionAllRaw(sql) {
113
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
114
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
114
115
  return this.unionAll(parsedQuery);
115
116
  }
116
117
  intersectRaw(sql) {
117
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
118
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
118
119
  return this.intersect(parsedQuery);
119
120
  }
120
121
  intersectAllRaw(sql) {
121
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
122
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
122
123
  return this.intersectAll(parsedQuery);
123
124
  }
124
125
  exceptRaw(sql) {
125
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
126
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
126
127
  return this.except(parsedQuery);
127
128
  }
128
129
  exceptAllRaw(sql) {
129
- const parsedQuery = SelectQueryParser_1.SelectQueryParser.parseFromText(sql);
130
+ const parsedQuery = SelectQueryParser_1.SelectQueryParser.parse(sql);
130
131
  return this.exceptAll(parsedQuery);
131
132
  }
132
133
  // Returns a SourceExpression wrapping this query as a subquery source.
@@ -1 +1 @@
1
- {"version":3,"file":"BinarySelectQuery.js","sourceRoot":"","sources":["../../src/models/BinarySelectQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BinarySelectQuery.js","sourceRoot":"","sources":["../../src/models/BinarySelectQuery.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
106
106
  * @param rawCondition Raw SQL string representing the condition (e.g. "status = 'active'")
107
107
  */
108
108
  appendWhereRaw(rawCondition) {
109
- const parsedCondition = ValueParser_1.ValueParser.parseFromText(rawCondition);
109
+ const parsedCondition = ValueParser_1.ValueParser.parse(rawCondition);
110
110
  this.appendWhere(parsedCondition);
111
111
  }
112
112
  /**
@@ -130,7 +130,7 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
130
130
  * @param rawCondition Raw SQL string representing the condition (e.g. "count(*) > 5")
131
131
  */
132
132
  appendHavingRaw(rawCondition) {
133
- const parsedCondition = ValueParser_1.ValueParser.parseFromText(rawCondition);
133
+ const parsedCondition = ValueParser_1.ValueParser.parse(rawCondition);
134
134
  this.appendHaving(parsedCondition);
135
135
  }
136
136
  /**
@@ -208,7 +208,7 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
208
208
  * @param columns Array of column names to join on
209
209
  */
210
210
  joinSourceRaw(joinType, joinSourceRawText, alias, columns) {
211
- const tableSource = SourceParser_1.SourceParser.parseFromText(joinSourceRawText);
211
+ const tableSource = SourceParser_1.SourceParser.parse(joinSourceRawText);
212
212
  const sourceExpr = new Clause_1.SourceExpression(tableSource, new Clause_1.SourceAliasExpression(alias, null));
213
213
  this.joinSource(joinType, sourceExpr, columns);
214
214
  }
@@ -249,8 +249,9 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
249
249
  this.fromClause.joins = [joinClause];
250
250
  }
251
251
  }
252
- const normalizer = new CTENormalizer_1.CTENormalizer();
253
- normalizer.normalize(this);
252
+ // const normalizer = new CTENormalizer();
253
+ // normalizer.normalize(this);
254
+ CTENormalizer_1.CTENormalizer.normalize(this);
254
255
  }
255
256
  // Returns a SourceExpression wrapping this query as a subquery source.
256
257
  // Alias is required for correct SQL generation and join logic.
@@ -269,8 +270,9 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
269
270
  else {
270
271
  this.WithClause.tables.push(...tables);
271
272
  }
272
- const normalizer = new CTENormalizer_1.CTENormalizer();
273
- normalizer.normalize(this);
273
+ // const normalizer = new CTENormalizer();
274
+ // normalizer.normalize(this);
275
+ CTENormalizer_1.CTENormalizer.normalize(this);
274
276
  }
275
277
  /**
276
278
  * Appends a CommonTable (CTE) to the WITH clause from raw SQL text and alias.
@@ -280,7 +282,7 @@ class SimpleSelectQuery extends SqlComponent_1.SqlComponent {
280
282
  * @param alias Optional alias for the CTE (e.g. 'cte_name')
281
283
  */
282
284
  appendWithRaw(rawText, alias) {
283
- const query = SelectQueryParser_1.SelectQueryParser.parseFromText(rawText);
285
+ const query = SelectQueryParser_1.SelectQueryParser.parse(rawText);
284
286
  const commonTable = new Clause_1.CommonTable(query, alias, null);
285
287
  this.appendWith(commonTable);
286
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleSelectQuery.js","sourceRoot":"","sources":["../../src/models/SimpleSelectQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleSelectQuery.js","sourceRoot":"","sources":["../../src/models/SimpleSelectQuery.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Lexeme } from "../models/Lexeme";
2
2
  import { ValueComponent } from "../models/ValueComponent";
3
3
  export declare class CommandExpressionParser {
4
- static parse(lexemes: Lexeme[], index: number): {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
5
  value: ValueComponent;
6
6
  newIndex: number;
7
7
  };
@@ -5,7 +5,7 @@ const Lexeme_1 = require("../models/Lexeme");
5
5
  const ValueComponent_1 = require("../models/ValueComponent");
6
6
  const ValueParser_1 = require("./ValueParser");
7
7
  class CommandExpressionParser {
8
- static parse(lexemes, index) {
8
+ static parseFromLexeme(lexemes, index) {
9
9
  let idx = index;
10
10
  const current = lexemes[idx];
11
11
  if (current.value === "case") {
@@ -28,14 +28,14 @@ class CommandExpressionParser {
28
28
  if (idx < lexemes.length && lexemes[idx].type === Lexeme_1.TokenType.Command) {
29
29
  const command = lexemes[idx].value;
30
30
  idx++;
31
- const result = ValueParser_1.ValueParser.parse(lexemes, idx);
31
+ const result = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
32
32
  return { value: new ValueComponent_1.UnaryExpression(command, result.value), newIndex: result.newIndex };
33
33
  }
34
34
  throw new Error(`Invalid modifier unary expression at index ${idx}, Lexeme: ${lexemes[idx].value}`);
35
35
  }
36
36
  static parseCaseExpression(lexemes, index) {
37
37
  let idx = index;
38
- const condition = ValueParser_1.ValueParser.parse(lexemes, idx);
38
+ const condition = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
39
39
  idx = condition.newIndex;
40
40
  const switchCaseResult = this.parseSwitchCaseArgument(lexemes, idx, []);
41
41
  idx = switchCaseResult.newIndex;
@@ -72,7 +72,7 @@ class CommandExpressionParser {
72
72
  // Process ELSE
73
73
  if (idx < lexemes.length && this.isCommandWithValue(lexemes[idx], "else")) {
74
74
  idx++;
75
- const elseResult = ValueParser_1.ValueParser.parse(lexemes, idx);
75
+ const elseResult = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
76
76
  elseValue = elseResult.value;
77
77
  idx = elseResult.newIndex;
78
78
  }
@@ -96,7 +96,7 @@ class CommandExpressionParser {
96
96
  }
97
97
  static parseCaseConditionValuePair(lexemes, index) {
98
98
  let idx = index;
99
- const condition = ValueParser_1.ValueParser.parse(lexemes, idx);
99
+ const condition = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
100
100
  idx = condition.newIndex;
101
101
  // Check for the existence of the THEN keyword
102
102
  if (idx >= lexemes.length || lexemes[idx].type !== Lexeme_1.TokenType.Command || lexemes[idx].value !== "then") {
@@ -104,7 +104,7 @@ class CommandExpressionParser {
104
104
  }
105
105
  idx++; // Skip the THEN keyword
106
106
  // Parse the value after THEN
107
- const value = ValueParser_1.ValueParser.parse(lexemes, idx);
107
+ const value = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
108
108
  idx = value.newIndex;
109
109
  return { value: new ValueComponent_1.CaseKeyValuePair(condition.value, value.value), newIndex: idx };
110
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandExpressionParser.js","sourceRoot":"","sources":["../../src/parsers/CommandExpressionParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandExpressionParser.js","sourceRoot":"","sources":["../../src/parsers/CommandExpressionParser.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { CommonTable } from "../models/Clause";
2
2
  import { Lexeme } from "../models/Lexeme";
3
3
  export declare class CommonTableParser {
4
- static parseFromText(query: string): CommonTable;
5
- static parse(lexemes: Lexeme[], index: number): {
4
+ static parse(query: string): CommonTable;
5
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
6
6
  value: CommonTable;
7
7
  newIndex: number;
8
8
  };
@@ -7,22 +7,24 @@ const SqlTokenizer_1 = require("./SqlTokenizer");
7
7
  const SelectQueryParser_1 = require("./SelectQueryParser");
8
8
  const SourceAliasExpressionParser_1 = require("./SourceAliasExpressionParser");
9
9
  class CommonTableParser {
10
- static parseFromText(query) {
10
+ // Parse SQL string to AST (was: parse)
11
+ static parse(query) {
11
12
  const tokenizer = new SqlTokenizer_1.SqlTokenizer(query); // Initialize tokenizer
12
13
  const lexemes = tokenizer.readLexmes(); // Get tokens
13
14
  // Parse
14
- const result = this.parse(lexemes, 0);
15
+ const result = this.parseFromLexeme(lexemes, 0);
15
16
  // Error if there are remaining tokens
16
17
  if (result.newIndex < lexemes.length) {
17
18
  throw new Error(`Syntax error: Unexpected token "${lexemes[result.newIndex].value}" at position ${result.newIndex}. The CommonTable definition is complete but there are additional tokens.`);
18
19
  }
19
20
  return result.value;
20
21
  }
21
- static parse(lexemes, index) {
22
+ // Parse from lexeme array (was: parse)
23
+ static parseFromLexeme(lexemes, index) {
22
24
  let idx = index;
23
25
  // Parse alias and optional column aliases
24
26
  // SourceAliasExpressionParser already handles column aliases if present
25
- const aliasResult = SourceAliasExpressionParser_1.SourceAliasExpressionParser.parse(lexemes, idx);
27
+ const aliasResult = SourceAliasExpressionParser_1.SourceAliasExpressionParser.parseFromLexeme(lexemes, idx);
26
28
  idx = aliasResult.newIndex;
27
29
  if (idx < lexemes.length && lexemes[idx].value !== "as") {
28
30
  throw new Error(`Syntax error at position ${idx}: Expected 'AS' keyword after CTE name but found "${lexemes[idx].value}".`);
@@ -46,7 +48,7 @@ class CommonTableParser {
46
48
  throw new Error(`Syntax error at position ${idx}: Expected '(' after CTE name but found "${lexemes[idx].value}".`);
47
49
  }
48
50
  idx++; // Skip opening parenthesis
49
- const queryResult = SelectQueryParser_1.SelectQueryParser.parse(lexemes, idx);
51
+ const queryResult = SelectQueryParser_1.SelectQueryParser.parseFromLexeme(lexemes, idx);
50
52
  idx = queryResult.newIndex;
51
53
  if (idx < lexemes.length && lexemes[idx].type !== Lexeme_1.TokenType.CloseParen) {
52
54
  throw new Error(`Syntax error at position ${idx}: Expected ')' after CTE query but found "${lexemes[idx].value}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTableParser.js","sourceRoot":"","sources":["../../src/parsers/CommonTableParser.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,6CAAqD;AACrD,iDAA8C;AAC9C,2DAAwD;AACxD,+EAA4E;AAE5E,MAAa,iBAAiB;IACnB,MAAM,CAAC,aAAa,CAAC,KAAa;QACrC,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEtC,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,2EAA2E,CAAC,CAAC;QAClM,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAa;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,0CAA0C;QAC1C,wEAAwE;QACxE,MAAM,WAAW,GAAG,yDAA2B,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpE,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,qDAAqD,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChI,CAAC;QACD,GAAG,EAAE,CAAC,CAAC,oBAAoB;QAE3B,oBAAoB;QACpB,IAAI,YAAY,GAAmB,IAAI,CAAC;QAExC,2DAA2D;QAC3D,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACxC,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;gBAClC,YAAY,GAAG,IAAI,CAAC;gBACpB,GAAG,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;gBAC7C,YAAY,GAAG,KAAK,CAAC;gBACrB,GAAG,EAAE,CAAC;YACV,CAAC;QACL,CAAC;QAED,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,kBAAS,CAAC,SAAS,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,4CAA4C,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACvH,CAAC;QACD,GAAG,EAAE,CAAC,CAAC,2BAA2B;QAElC,MAAM,WAAW,GAAG,qCAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3B,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,kBAAS,CAAC,UAAU,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,6CAA6C,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACxH,CAAC;QACD,GAAG,EAAE,CAAC,CAAC,2BAA2B;QAElC,MAAM,KAAK,GAAG,IAAI,oBAAW,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;CACJ;AA5DD,8CA4DC"}
1
+ {"version":3,"file":"CommonTableParser.js","sourceRoot":"","sources":["../../src/parsers/CommonTableParser.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { ForClause } from "../models/Clause";
2
2
  import { Lexeme } from "../models/Lexeme";
3
3
  export declare class ForClauseParser {
4
- static parseFromText(query: string): ForClause;
5
- static parse(lexemes: Lexeme[], index: number): {
4
+ static parse(query: string): ForClause;
5
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
6
6
  value: ForClause;
7
7
  newIndex: number;
8
8
  };
@@ -4,18 +4,20 @@ exports.ForClauseParser = void 0;
4
4
  const Clause_1 = require("../models/Clause");
5
5
  const SqlTokenizer_1 = require("./SqlTokenizer");
6
6
  class ForClauseParser {
7
- static parseFromText(query) {
7
+ // Parse SQL string to AST (was: parse)
8
+ static parse(query) {
8
9
  const tokenizer = new SqlTokenizer_1.SqlTokenizer(query);
9
10
  const lexemes = tokenizer.readLexmes();
10
11
  // Parse
11
- const result = this.parse(lexemes, 0);
12
+ const result = this.parseFromLexeme(lexemes, 0);
12
13
  // Error if there are remaining tokens
13
14
  if (result.newIndex < lexemes.length) {
14
15
  throw new Error(`Syntax error: Unexpected token "${lexemes[result.newIndex].value}" at position ${result.newIndex}. The FOR clause is complete but there are additional tokens.`);
15
16
  }
16
17
  return result.value;
17
18
  }
18
- static parse(lexemes, index) {
19
+ // Parse from lexeme array (was: parse)
20
+ static parseFromLexeme(lexemes, index) {
19
21
  let idx = index;
20
22
  // Check for FOR keyword
21
23
  if (lexemes[idx].value.toLowerCase() !== 'for') {
@@ -1 +1 @@
1
- {"version":3,"file":"ForClauseParser.js","sourceRoot":"","sources":["../../src/parsers/ForClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAEvD,iDAA8C;AAE9C,MAAa,eAAe;IACjB,MAAM,CAAC,aAAa,CAAC,KAAa;QACrC,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QAEvC,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEtC,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,+DAA+D,CAAC,CAAC;QACtL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAa;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,wBAAwB;QACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,uCAAuC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,iDAAiD,CAAC,CAAC;QAC/J,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;QACrI,CAAC;QAED,kBAAkB;QAClB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACzC,IAAI,QAAkB,CAAC;QAEvB,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACT,QAAQ,GAAG,iBAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,OAAO;gBACR,QAAQ,GAAG,iBAAQ,CAAC,KAAK,CAAC;gBAC1B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,WAAW;gBACZ,QAAQ,GAAG,iBAAQ,CAAC,QAAQ,CAAC;gBAC7B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,eAAe;gBAChB,QAAQ,GAAG,iBAAQ,CAAC,WAAW,CAAC;gBAChC,GAAG,EAAE,CAAC;gBACN,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,wBAAwB,aAAa,mEAAmE,CAAC,CAAC;QACjK,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;CACJ;AAzDD,0CAyDC"}
1
+ {"version":3,"file":"ForClauseParser.js","sourceRoot":"","sources":["../../src/parsers/ForClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAEvD,iDAA8C;AAE9C,MAAa,eAAe;IACxB,uCAAuC;IAChC,MAAM,CAAC,KAAK,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QAEvC,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEhD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,+DAA+D,CAAC,CAAC;QACtL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,wBAAwB;QACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,uCAAuC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,iDAAiD,CAAC,CAAC;QAC/J,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;QACrI,CAAC;QAED,kBAAkB;QAClB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACzC,IAAI,QAAkB,CAAC;QAEvB,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACT,QAAQ,GAAG,iBAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,OAAO;gBACR,QAAQ,GAAG,iBAAQ,CAAC,KAAK,CAAC;gBAC1B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,WAAW;gBACZ,QAAQ,GAAG,iBAAQ,CAAC,QAAQ,CAAC;gBAC7B,GAAG,EAAE,CAAC;gBACN,MAAM;YACV,KAAK,eAAe;gBAChB,QAAQ,GAAG,iBAAQ,CAAC,WAAW,CAAC;gBAChC,GAAG,EAAE,CAAC;gBACN,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,wBAAwB,aAAa,mEAAmE,CAAC,CAAC;QACjK,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;CACJ;AA3DD,0CA2DC"}
@@ -1,8 +1,8 @@
1
1
  import { FromClause } from "../models/Clause";
2
2
  import { Lexeme } from "../models/Lexeme";
3
3
  export declare class FromClauseParser {
4
- static parseFromText(query: string): FromClause;
5
- static parse(lexemes: Lexeme[], index: number): {
4
+ static parse(query: string): FromClause;
5
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
6
6
  value: FromClause;
7
7
  newIndex: number;
8
8
  };
@@ -6,18 +6,20 @@ const SqlTokenizer_1 = require("./SqlTokenizer");
6
6
  const JoinClauseParser_1 = require("./JoinClauseParser");
7
7
  const SourceExpressionParser_1 = require("./SourceExpressionParser");
8
8
  class FromClauseParser {
9
- static parseFromText(query) {
9
+ // Parse SQL string to AST (was: parse)
10
+ static parse(query) {
10
11
  const tokenizer = new SqlTokenizer_1.SqlTokenizer(query); // Initialize tokenizer
11
12
  const lexemes = tokenizer.readLexmes(); // Get tokens
12
13
  // Parse
13
- const result = this.parse(lexemes, 0);
14
+ const result = this.parseFromLexeme(lexemes, 0);
14
15
  // Error if there are remaining tokens
15
16
  if (result.newIndex < lexemes.length) {
16
17
  throw new Error(`Syntax error: Unexpected token "${lexemes[result.newIndex].value}" at position ${result.newIndex}. The FROM clause is complete but there are additional tokens.`);
17
18
  }
18
19
  return result.value;
19
20
  }
20
- static parse(lexemes, index) {
21
+ // Parse from lexeme array (was: parse)
22
+ static parseFromLexeme(lexemes, index) {
21
23
  let idx = index;
22
24
  if (lexemes[idx].value !== 'from') {
23
25
  throw new Error(`Syntax error at position ${idx}: Expected 'FROM' keyword but found "${lexemes[idx].value}". FROM clauses must start with the FROM keyword.`);
@@ -27,7 +29,7 @@ class FromClauseParser {
27
29
  throw new Error(`Syntax error: Unexpected end of input after 'FROM' keyword. The FROM clause requires a table reference.`);
28
30
  }
29
31
  // Parse the main source expression
30
- const sourceExpression = SourceExpressionParser_1.SourceExpressionParser.parse(lexemes, idx);
32
+ const sourceExpression = SourceExpressionParser_1.SourceExpressionParser.parseFromLexeme(lexemes, idx);
31
33
  idx = sourceExpression.newIndex;
32
34
  const join = JoinClauseParser_1.JoinClauseParser.tryParse(lexemes, idx);
33
35
  idx = (join === null || join === void 0 ? void 0 : join.newIndex) || idx;
@@ -1 +1 @@
1
- {"version":3,"file":"FromClauseParser.js","sourceRoot":"","sources":["../../src/parsers/FromClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,iDAA8C;AAC9C,yDAAsD;AACtD,qEAAkE;AAElE,MAAa,gBAAgB;IAClB,MAAM,CAAC,aAAa,CAAC,KAAa;QACrC,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEtC,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,gEAAgE,CAAC,CAAC;QACvL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAa;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,mDAAmD,CAAC,CAAC;QAClK,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;QAC/H,CAAC;QAED,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,+CAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpE,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAEhC,MAAM,IAAI,GAAG,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrD,GAAG,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,GAAG,CAAC;QAE5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ;AA3CD,4CA2CC"}
1
+ {"version":3,"file":"FromClauseParser.js","sourceRoot":"","sources":["../../src/parsers/FromClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,iDAA8C;AAC9C,yDAAsD;AACtD,qEAAkE;AAElE,MAAa,gBAAgB;IACzB,uCAAuC;IAChC,MAAM,CAAC,KAAK,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEhD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,gEAAgE,CAAC,CAAC;QACvL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,mDAAmD,CAAC,CAAC;QAClK,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;QAC/H,CAAC;QAED,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,+CAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9E,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAEhC,MAAM,IAAI,GAAG,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrD,GAAG,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,GAAG,CAAC;QAE5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ;AA7CD,4CA6CC"}
@@ -1,7 +1,7 @@
1
1
  import { Lexeme } from "../models/Lexeme";
2
2
  import { ValueComponent, TypeValue } from "../models/ValueComponent";
3
3
  export declare class FunctionExpressionParser {
4
- static parse(lexemes: Lexeme[], index: number): {
4
+ static parseFromLexeme(lexemes: Lexeme[], index: number): {
5
5
  value: ValueComponent;
6
6
  newIndex: number;
7
7
  };