rawsql-ts 0.3.0-beta → 0.5.0-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 (62) hide show
  1. package/README.md +73 -17
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/models/BinarySelectQuery.js +10 -2
  5. package/dist/esm/models/BinarySelectQuery.js.map +1 -1
  6. package/dist/esm/models/SelectQuery.js.map +1 -1
  7. package/dist/esm/models/SimpleSelectQuery.js +12 -2
  8. package/dist/esm/models/SimpleSelectQuery.js.map +1 -1
  9. package/dist/esm/models/ValueComponent.js +12 -2
  10. package/dist/esm/models/ValueComponent.js.map +1 -1
  11. package/dist/esm/models/ValuesQuery.js +16 -1
  12. package/dist/esm/models/ValuesQuery.js.map +1 -1
  13. package/dist/esm/transformers/Formatter.js +60 -10
  14. package/dist/esm/transformers/Formatter.js.map +1 -1
  15. package/dist/esm/transformers/ParameterCollector.js +33 -0
  16. package/dist/esm/transformers/ParameterCollector.js.map +1 -0
  17. package/dist/esm/transformers/{QueryConverter.js → QueryBuilder.js} +42 -42
  18. package/dist/esm/transformers/QueryBuilder.js.map +1 -0
  19. package/dist/esm/types/index.d.ts +1 -1
  20. package/dist/esm/types/models/BinarySelectQuery.d.ts +7 -1
  21. package/dist/esm/types/models/SelectQuery.d.ts +4 -1
  22. package/dist/esm/types/models/SimpleSelectQuery.d.ts +7 -1
  23. package/dist/esm/types/models/ValueComponent.d.ts +8 -2
  24. package/dist/esm/types/models/ValuesQuery.d.ts +17 -2
  25. package/dist/esm/types/transformers/Formatter.d.ts +12 -3
  26. package/dist/esm/types/transformers/ParameterCollector.d.ts +12 -0
  27. package/dist/esm/types/transformers/{QueryConverter.d.ts → QueryBuilder.d.ts} +14 -21
  28. package/dist/esm/types/utils/ParameterHelper.d.ts +14 -0
  29. package/dist/esm/utils/ParameterHelper.js +27 -0
  30. package/dist/esm/utils/ParameterHelper.js.map +1 -0
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/models/BinarySelectQuery.d.ts +7 -1
  35. package/dist/models/BinarySelectQuery.js +10 -2
  36. package/dist/models/BinarySelectQuery.js.map +1 -1
  37. package/dist/models/SelectQuery.d.ts +4 -1
  38. package/dist/models/SelectQuery.js.map +1 -1
  39. package/dist/models/SimpleSelectQuery.d.ts +7 -1
  40. package/dist/models/SimpleSelectQuery.js +12 -2
  41. package/dist/models/SimpleSelectQuery.js.map +1 -1
  42. package/dist/models/ValueComponent.d.ts +8 -2
  43. package/dist/models/ValueComponent.js +12 -2
  44. package/dist/models/ValueComponent.js.map +1 -1
  45. package/dist/models/ValuesQuery.d.ts +17 -2
  46. package/dist/models/ValuesQuery.js +16 -1
  47. package/dist/models/ValuesQuery.js.map +1 -1
  48. package/dist/transformers/Formatter.d.ts +12 -3
  49. package/dist/transformers/Formatter.js +61 -11
  50. package/dist/transformers/Formatter.js.map +1 -1
  51. package/dist/transformers/ParameterCollector.d.ts +12 -0
  52. package/dist/transformers/ParameterCollector.js +37 -0
  53. package/dist/transformers/ParameterCollector.js.map +1 -0
  54. package/dist/transformers/{QueryConverter.d.ts → QueryBuilder.d.ts} +14 -21
  55. package/dist/transformers/{QueryConverter.js → QueryBuilder.js} +44 -44
  56. package/dist/transformers/QueryBuilder.js.map +1 -0
  57. package/dist/utils/ParameterHelper.d.ts +14 -0
  58. package/dist/utils/ParameterHelper.js +31 -0
  59. package/dist/utils/ParameterHelper.js.map +1 -0
  60. package/package.json +2 -2
  61. package/dist/esm/transformers/QueryConverter.js.map +0 -1
  62. package/dist/transformers/QueryConverter.js.map +0 -1
package/README.md CHANGED
@@ -115,10 +115,13 @@ const customSql = formatter.format(query, {
115
115
 
116
116
  ### Configurable Options
117
117
 
118
- Formatting options are provided as the second argument to the `format()` method. You can customize:
118
+ Formatting options are provided as the second argument to the `formatWithParameters()` method. You can customize:
119
119
  - `identifierEscape`: How identifiers are escaped (e.g., `"`, `[`, `` ` ``)
120
120
  - `parameterSymbol`: The symbol or pattern for parameters (e.g., `:`, `@`, `?`, or `{ start: '${', end: '}' }`)
121
- - `supportNamedParameter`: If false, parameter names are omitted (for MySQL-style `?` only)
121
+ - `parameterStyle`: Controls the parameter style (anonymous, indexed, or named)
122
+
123
+ > [!Note]
124
+ > The traditional `format()` method is also available. If you only need the SQL string without parameter information, use the `format` method instead of `formatWithParameters()`.
122
125
 
123
126
  ### Usage Example
124
127
 
@@ -130,9 +133,11 @@ import { SelectQueryParser, Formatter } from 'rawsql-ts';
130
133
  const sql = `SELECT user_id, name FROM users WHERE active = TRUE`;
131
134
  const query = SelectQueryParser.parse(sql);
132
135
  const formatter = new Formatter();
133
- const formattedSql = formatter.format(query, Formatter.PRESETS.postgres);
134
- console.log(formattedSql);
136
+ const formatted = formatter.formatWithParameters(query, Formatter.PRESETS.postgres);
137
+ console.log(formatted.sql);
135
138
  // => select "user_id", "name" from "users" where "active" = true
139
+ console.log(formatted.params);
140
+ // => { ... } (parameters object or array depending on style)
136
141
  ```
137
142
 
138
143
  #### Using Manual Configuration
@@ -143,16 +148,66 @@ import { SelectQueryParser, Formatter } from 'rawsql-ts';
143
148
  const sql = `SELECT user_id, name FROM users WHERE active = TRUE`;
144
149
  const query = SelectQueryParser.parse(sql);
145
150
  const formatter = new Formatter();
146
- const formattedSql = formatter.format(query, {
151
+ const formatted = formatter.formatWithParameters(query, {
147
152
  identifierEscape: { start: '`', end: '`' },
148
153
  parameterSymbol: '?',
149
- supportNamedParameter: false,
154
+ parameterStyle: 'anonymous',
150
155
  });
151
- console.log(formattedSql);
156
+ console.log(formatted.sql);
152
157
  // => select `user_id`, `name` from `users` where `active` = ?
158
+ console.log(formatted.params);
159
+ // => [ ... ] (parameters array)
153
160
  ```
154
161
 
155
- rawsql-ts is designed to be flexible and support various SQL dialects. The `Formatter` class can be customized to handle different dialects by adjusting the identifier escape characters, parameter symbols, and named parameter support. This makes it easy to work with SQL queries for different database systems using a consistent API.
162
+ rawsql-ts is designed to be flexible and support various SQL dialects. The `Formatter` class can be customized to handle different dialects by adjusting the identifier escape characters, parameter symbols, and parameter style. This makes it easy to work with SQL queries for different database systems using a consistent API.
163
+
164
+ ---
165
+
166
+ ### Advanced Parameterized Query Formatting
167
+
168
+ rawsql-ts's `Formatter` class supports advanced parameterized query formatting for all major SQL dialects. You can output SQL with parameters in three styles:
169
+
170
+ - **Anonymous** (`?`): For MySQL and similar drivers. Parameters are output as `?` and values are provided as an array.
171
+ - **Indexed** (`$1`, `$2`, ...): For PostgreSQL and compatible drivers. Parameters are output as `$1`, `$2`, ... and values are provided as an array in the correct order.
172
+ - **Named** (`:name`, `@name`, `$name`): For SQL Server, SQLite, and ORMs that support named parameters. Parameters are output as `:name`, `@name`, or `$name` and values are provided as an object (dictionary).
173
+
174
+ You can control the parameter style using the `parameterStyle` option in the Formatter configuration, or by using one of the built-in presets. **In most cases, you do not need to set this manually—just use the appropriate preset (e.g., `Formatter.PRESETS.mysql`, `Formatter.PRESETS.postgres`, etc.) and the correct parameter style will be applied automatically.**
175
+
176
+ #### Example: Parameterized Query Output
177
+
178
+ ```typescript
179
+ import { SelectQueryParser, Formatter, ParameterStyle } from 'rawsql-ts';
180
+
181
+ const sql = 'SELECT * FROM users WHERE id = :id AND status = :status';
182
+ const query = SelectQueryParser.parse(sql);
183
+ query.setParameter('id', 123);
184
+ query.setParameter('status', 'active');
185
+ const formatter = new Formatter();
186
+
187
+ // Anonymous style (MySQL)
188
+ const anon = formatter.formatWithParameters(query, { parameterStyle: ParameterStyle.Anonymous });
189
+ // anon.sql: 'select * from "users" where "id" = ? and "status" = ?'
190
+ // anon.params: [123, 'active']
191
+
192
+ // Indexed style (PostgreSQL)
193
+ const indexed = formatter.formatWithParameters(query, { parameterStyle: ParameterStyle.Indexed });
194
+ // indexed.sql: 'select * from "users" where "id" = $1 and "status" = $2'
195
+ // indexed.params: [123, 'active']
196
+
197
+ // Named style (SQL Server, SQLite, ORMs)
198
+ const named = formatter.formatWithParameters(query, { parameterStyle: ParameterStyle.Named });
199
+ // named.sql: 'select * from "users" where "id" = :id and "status" = :status'
200
+ // named.params: { id: 123, status: 'active' }
201
+ ```
202
+
203
+ The formatter automatically assigns parameter indexes in the order they appear in the query, even for complex queries with CTEs, subqueries, or set operations (UNION, INTERSECT, etc.). When combining queries, parameter indexes are always reassigned to ensure correct binding order for your database client.
204
+
205
+ This makes rawsql-ts ideal for building safe, maintainable, and highly portable SQL in TypeScript, with zero risk of SQL injection and maximum compatibility across database systems.
206
+
207
+ A unique feature of rawsql-ts is the `setParameter` method. Instead of passing parameter values at formatting time, you assign values directly to the query object using `setParameter`. This makes your code highly portable and decouples query construction from parameter binding. Parameter indexes (for indexed or anonymous styles) are always assigned at formatting time, so even if you modify or combine queries (e.g., with UNION, CTEs, or subqueries), the parameter order and binding will always be correct and never break.
208
+
209
+ > [!Tip]
210
+ > While rawsql-ts supports anonymous and indexed parameters, it is highly recommended to use named parameters in your source code. Using names makes your queries much more readable and maintainable, and the setParameter method assigns values by name, reducing the risk of mistakes. You can always output the final SQL and parameters in the style required by your database client (e.g., anonymous or indexed) at formatting time. This approach lets you write clear, maintainable code during development, while still generating the exact parameter style needed for your production environment.
156
211
 
157
212
  ---
158
213
 
@@ -319,9 +374,6 @@ Overrides a SELECT item using its SQL expression. The callback receives the orig
319
374
  // Override the SELECT item 'journal_date' to use greatest(journal_date, DATE '2025-01-01')
320
375
  query.overrideSelectItemExpr('journal_date', expr => `greatest(${expr}, DATE '2025-01-01')`);
321
376
  ```
322
- ---
323
-
324
-
325
377
 
326
378
  ---
327
379
 
@@ -347,10 +399,12 @@ A suite of utilities for transforming and analyzing SQL ASTs.
347
399
  Consolidates all CTEs into a single root-level WITH clause. Throws an error if duplicate CTE names with different definitions are found.
348
400
  - **QueryNormalizer**
349
401
  Converts any SELECT/UNION/VALUES query into a standard SimpleSelectQuery. Handles subquery wrapping and automatic column name generation.
350
- - **QueryConverter**
402
+ - **QueryBuilder**
351
403
  Converts any SELECT/UNION/VALUES query into a standard SimpleSelectQuery. Handles subquery wrapping and automatic column name generation.
352
404
  Supports CREATE TABLE ... AS SELECT ... conversion:
353
- - `QueryConverter.toCreateTableQuery(query, tableName, isTemporary?)` creates a `CreateTableQuery` from any SELECT query.
405
+ - `QueryBuilder.buildCreateTableQuery(query, tableName, isTemporary?)` creates a `CreateTableQuery` from any SELECT query.
406
+ Supports combining multiple queries:
407
+ - `QueryBuilder.buildBinaryQuery(queries, operator)` combines an array of SelectQuery objects into a single BinarySelectQuery using the specified set operator (e.g., 'union', 'intersect', 'except').
354
408
 
355
409
  - **TableColumnResolver**
356
410
  A function type for resolving column names from a table name, mainly used for wildcard expansion (e.g., `table.*`). Used by analyzers like SelectValueCollector.
@@ -358,6 +412,9 @@ A suite of utilities for transforming and analyzing SQL ASTs.
358
412
  export type TableColumnResolver = (tableName: string) => string[];
359
413
  ```
360
414
 
415
+ > [!NOTE]
416
+ > As of version 0.4.0-beta, the class previously named `QueryConverter` has been renamed to `QueryBuilder`, and its methods have been updated for consistency. The new `buildBinaryQuery` method was also introduced, allowing you to combine multiple `SelectQuery` objects into a single set operation query. These are breaking changes. If you were using `QueryConverter` in earlier versions, please update your code to use `QueryBuilder` and the new method names (e.g., `buildCreateTableQuery`, `buildBinaryQuery`).
417
+
361
418
  ---
362
419
 
363
420
  ## Usage Example
@@ -419,15 +476,15 @@ Selectable columns:
419
476
 
420
477
  ```typescript
421
478
  // Create Table from SELECT Example
422
- import { QueryConverter, SelectQueryParser, Formatter } from 'rawsql-ts';
479
+ import { QueryBuilder, SelectQueryParser, Formatter } from 'rawsql-ts';
423
480
 
424
481
  const select = SelectQueryParser.parse('SELECT id, name FROM users');
425
- const create = QueryConverter.toCreateTableQuery(select, 'my_table');
482
+ const create = QueryBuilder.buildCreateTableQuery(select, 'my_table');
426
483
  const sqlCreate = new Formatter().format(create);
427
484
  console.log(sqlCreate);
428
485
  // => create table "my_table" as select "id", "name" from "users"
429
486
 
430
- const createTemp = QueryConverter.toCreateTableQuery(select, 'tmp_table', true);
487
+ const createTemp = QueryBuilder.buildCreateTableQuery(select, 'tmp_table', true);
431
488
  const sqlTemp = new Formatter().format(createTemp);
432
489
  console.log(sqlTemp);
433
490
  // => create temporary table "tmp_table" as select "id", "name" from "users"
@@ -552,4 +609,3 @@ Node.js v22.14.0
552
609
  ---
553
610
 
554
611
  Feel free to try rawsql-ts! Questions, requests, and bug reports are always welcome.
555
-
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ export * from './models/ValuesQuery';
8
8
  export * from './transformers/CTECollector';
9
9
  export * from './transformers/CTENormalizer';
10
10
  export * from './transformers/Formatter';
11
- export * from './transformers/QueryConverter';
11
+ export * from './transformers/QueryBuilder'; // old name:QueryConverter
12
12
  export * from './transformers/SelectValueCollector';
13
13
  export * from './transformers/SelectableColumnCollector';
14
14
  export * from './transformers/TableColumnResolver';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,oEAAoE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC,CAAC,0BAA0B;AACvE,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0CAA0C,CAAC;AACzD,oEAAoE"}
@@ -3,6 +3,7 @@ import { SqlComponent } from "./SqlComponent";
3
3
  import { RawString } from "./ValueComponent";
4
4
  import { CTENormalizer } from "../transformers/CTENormalizer";
5
5
  import { SelectQueryParser } from "../parsers/SelectQueryParser";
6
+ import { ParameterHelper } from "../utils/ParameterHelper";
6
7
  /**
7
8
  * Represents a binary SELECT query (e.g., UNION, INTERSECT, EXCEPT).
8
9
  */
@@ -92,8 +93,6 @@ export class BinarySelectQuery extends SqlComponent {
92
93
  this.left = new BinarySelectQuery(this.left, this.operator.value, this.right);
93
94
  this.operator = new RawString(operator);
94
95
  this.right = query;
95
- // const normalizer = new CTENormalizer();
96
- // normalizer.normalize(this);
97
96
  CTENormalizer.normalize(this);
98
97
  return this;
99
98
  }
@@ -132,6 +131,15 @@ export class BinarySelectQuery extends SqlComponent {
132
131
  toSource(alias = "subq") {
133
132
  return new SourceExpression(new SubQuerySource(this), new SourceAliasExpression(alias, null));
134
133
  }
134
+ /**
135
+ * Sets the value of a parameter by name in this query.
136
+ * @param name Parameter name
137
+ * @param value Value to set
138
+ */
139
+ setParameter(name, value) {
140
+ ParameterHelper.set(this, name, value);
141
+ return this;
142
+ }
135
143
  }
136
144
  BinarySelectQuery.kind = Symbol("BinarySelectQuery");
137
145
  //# sourceMappingURL=BinarySelectQuery.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/models/SelectQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/models/SelectQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -5,10 +5,11 @@ import { ValueParser } from "../parsers/ValueParser";
5
5
  import { CTENormalizer } from "../transformers/CTENormalizer";
6
6
  import { SelectableColumnCollector } from "../transformers/SelectableColumnCollector";
7
7
  import { SourceParser } from "../parsers/SourceParser";
8
- import { BinarySelectQuery } from "./BinarySelectQuery";
9
8
  import { SelectQueryParser } from "../parsers/SelectQueryParser";
10
9
  import { Formatter } from "../transformers/Formatter";
11
10
  import { UpstreamSelectQueryFinder } from "../transformers/UpstreamSelectQueryFinder";
11
+ import { QueryBuilder } from "../transformers/QueryBuilder";
12
+ import { ParameterHelper } from "../utils/ParameterHelper";
12
13
  /**
13
14
  * Represents a simple SELECT query in SQL.
14
15
  */
@@ -96,7 +97,7 @@ export class SimpleSelectQuery extends SqlComponent {
96
97
  * @returns A new BinarySelectQuery representing "this [operator] rightQuery"
97
98
  */
98
99
  toBinaryQuery(operator, rightQuery) {
99
- return new BinarySelectQuery(this, operator, rightQuery);
100
+ return QueryBuilder.buildBinaryQuery([this, rightQuery], operator);
100
101
  }
101
102
  /**
102
103
  * Appends a new condition to the query's WHERE clause using AND logic.
@@ -353,6 +354,15 @@ export class SimpleSelectQuery extends SqlComponent {
353
354
  this.appendWhereRaw(exprBuilder(exprStr));
354
355
  }
355
356
  }
357
+ /**
358
+ * Sets the value of a parameter by name in this query.
359
+ * @param name Parameter name
360
+ * @param value Value to set
361
+ */
362
+ setParameter(name, value) {
363
+ ParameterHelper.set(this, name, value);
364
+ return this;
365
+ }
356
366
  }
357
367
  SimpleSelectQuery.kind = Symbol("SelectQuery");
358
368
  //# sourceMappingURL=SimpleSelectQuery.js.map
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAwC,YAAY,EAAE,UAAU,EAAE,YAAY,EAA4C,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAqB,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACpQ,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAa/C,YACI,UAA6B,EAC7B,YAA0B,EAC1B,UAA6B,EAC7B,WAA+B,EAC/B,aAAmC,EACnC,YAAiC,EACjC,aAAmC,EACnC,iBAA2C,EAC3C,cAAkC,EAClC,SAA2B;QAE3B,KAAK,EAAE,CAAC;QAvBZ,eAAU,GAAsB,IAAI,CAAC;QAwBjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACI,OAAO,CAAC,UAAuB;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,UAAuB;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,UAAuB;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,UAAuB;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,UAAuB;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,UAAuB;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAC,QAAgB,EAAE,UAAuB;QAC1D,OAAO,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,YAAoB;QACtC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,SAAyB;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,KAAK,EACL,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,YAAoB;QACvC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,SAAyB;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAC9C,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,KAAK,EACL,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,iBAAyB,EAAE,KAAa,EAAE,OAA0B,EAAE,WAAuC,IAAI;QACjI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,iBAAyB,EAAE,KAAa,EAAE,OAA0B,EAAE,WAAuC,IAAI;QAChI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,iBAAyB,EAAE,KAAa,EAAE,OAA0B,EAAE,WAAuC,IAAI;QACjI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,UAA4B,EAAE,OAA0B,EAAE,WAAuC,IAAI;QAClH,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,UAA4B,EAAE,OAA0B,EAAE,WAAuC,IAAI;QACjH,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,UAA4B,EAAE,OAA0B,EAAE,WAAuC,IAAI;QAClH,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CAAC,QAAgB,EAAE,iBAAyB,EAAE,KAAa,EAAE,OAA0B,EAAE,WAAuC,IAAI;QACrJ,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,IAAI,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,QAAgB,EAAE,UAA4B,EAAE,OAA0B,EAAE,WAAuC,IAAI;QACtI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC/F,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAC7B,QAAQ,CAAC,KAAK,EACd,GAAG,EACH,IAAI,eAAe,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CACpD,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,aAAa,GAAG,IAAI,gBAAgB,CAChC,aAAa,EACb,KAAK,EACL,IAAI,CACP,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,aAAa,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,iEAAiE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IACxD,QAAQ,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,IAAI,gBAAgB,CACvB,IAAI,cAAc,CAAC,IAAI,CAAC,EACxB,IAAI,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CACzC,CAAC;IACN,CAAC;IAEM,UAAU,CAAC,WAAwC;QACtD,uCAAuC;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,OAAe,EAAE,KAAa;QAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;OAUG;IACI,sBAAsB,CAAC,UAAkB,EAAE,EAA4B;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,MAAK,UAAU,CAAA,EAAA,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,qBAAqB,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACI,eAAe,CAClB,UAAkB,EAClB,WAAqC,EACrC,OAAgC;QAEhC,8EAA8E;QAC9E,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,6DAA6D;YAC7D,iDAAiD;YACjD,MAAM,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,yBAAyB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,GAAG,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,yBAAyB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,GAAG,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,IAAY,EAAE,KAAU;QACxC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;;AAraM,sBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,AAAxB,CAAyB"}
@@ -16,7 +16,15 @@ ValueList.kind = Symbol("ValueList");
16
16
  export class ColumnReference extends SqlComponent {
17
17
  constructor(namespaces, column) {
18
18
  super();
19
- this.namespaces = namespaces !== null ? namespaces.map((namespace) => new IdentifierString(namespace)) : null;
19
+ if (typeof namespaces === "string") {
20
+ this.namespaces = [new IdentifierString(namespaces)];
21
+ }
22
+ else if (Array.isArray(namespaces)) {
23
+ this.namespaces = namespaces.map((namespace) => new IdentifierString(namespace));
24
+ }
25
+ else {
26
+ this.namespaces = null;
27
+ }
20
28
  this.column = new IdentifierString(column);
21
29
  }
22
30
  toString() {
@@ -116,9 +124,11 @@ export class LiteralValue extends SqlComponent {
116
124
  }
117
125
  LiteralValue.kind = Symbol("LiteralExpression");
118
126
  export class ParameterExpression extends SqlComponent {
119
- constructor(name) {
127
+ constructor(name, value = null) {
120
128
  super();
121
129
  this.name = new RawString(name);
130
+ this.value = value;
131
+ this.index = null;
122
132
  }
123
133
  }
124
134
  ParameterExpression.kind = Symbol("ParameterExpression");
@@ -1 +1 @@
1
- {"version":3,"file":"ValueComponent.js","sourceRoot":"","sources":["../../../src/models/ValueComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueComponent.js","sourceRoot":"","sources":["../../../src/models/ValueComponent.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,26 @@
1
+ import { ParameterHelper } from "../utils/ParameterHelper";
2
+ import { QueryBuilder } from "../transformers/QueryBuilder";
1
3
  import { SqlComponent } from "./SqlComponent";
2
4
  /**
3
5
  * Represents a VALUES query in SQL.
4
6
  */
5
7
  export class ValuesQuery extends SqlComponent {
6
- constructor(tuples) {
8
+ constructor(tuples, columnAliases = null) {
7
9
  super();
8
10
  this.tuples = tuples;
11
+ this.columnAliases = columnAliases;
12
+ }
13
+ toSimpleSelectQuery() {
14
+ return QueryBuilder.buildSimpleQuery(this);
15
+ }
16
+ /**
17
+ * Sets the value of a parameter by name in this query.
18
+ * @param name Parameter name
19
+ * @param value Value to set
20
+ */
21
+ setParameter(name, value) {
22
+ ParameterHelper.set(this, name, value);
23
+ return this;
9
24
  }
10
25
  }
11
26
  ValuesQuery.kind = Symbol("ValuesQuery");
@@ -1 +1 @@
1
- {"version":3,"file":"ValuesQuery.js","sourceRoot":"","sources":["../../../src/models/ValuesQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAGzC,YAAY,MAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;;AALM,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"ValuesQuery.js","sourceRoot":"","sources":["../../../src/models/ValuesQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAUzC,YAAY,MAAyB,EAAE,gBAAiC,IAAI;QACxE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAEM,mBAAmB;QACtB,OAAO,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;SAIK;IACE,YAAY,CAAC,IAAY,EAAE,KAAU;QACxC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;;AA3BM,gBAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC"}
@@ -3,8 +3,16 @@ import { LiteralValue, RawString, IdentifierString, ColumnReference, FunctionCal
3
3
  import { CommonTable, Distinct, DistinctOn, FetchSpecification, FetchType, ForClause, FromClause, FunctionSource, GroupByClause, HavingClause, JoinClause, JoinOnClause, JoinUsingClause, LimitClause, NullsSortDirection, OrderByClause, OrderByItem, PartitionByClause, SelectClause, SelectItem, SortDirection, SourceAliasExpression, SourceExpression, SubQuerySource, TableSource, WhereClause, WindowFrameClause, WithClause } from "../models/Clause";
4
4
  import { CreateTableQuery } from "../models/CreateTableQuery";
5
5
  import { InsertQuery } from "../models/InsertQuery";
6
+ import { ParameterCollector } from "./ParameterCollector";
7
+ export var ParameterStyle;
8
+ (function (ParameterStyle) {
9
+ ParameterStyle["Anonymous"] = "anonymous";
10
+ ParameterStyle["Indexed"] = "indexed";
11
+ ParameterStyle["Named"] = "named";
12
+ })(ParameterStyle || (ParameterStyle = {}));
6
13
  export class Formatter {
7
14
  constructor() {
15
+ this.parameterIndex = 0;
8
16
  this.handlers = new Map();
9
17
  // Default settings
10
18
  this.config = {
@@ -13,6 +21,7 @@ export class Formatter {
13
21
  end: '"'
14
22
  },
15
23
  parameterSymbol: ':',
24
+ parameterStyle: ParameterStyle.Named,
16
25
  };
17
26
  // value
18
27
  this.handlers.set(LiteralValue.kind, (expr) => this.visitLiteralExpression(expr));
@@ -90,12 +99,47 @@ export class Formatter {
90
99
  * @returns The formatted SQL string.
91
100
  */
92
101
  format(arg, config = null) {
102
+ this.parameterIndex = 0; // Reset counter for each format
93
103
  if (config) {
94
104
  // Always reset to default before merging user config
95
105
  this.config = Object.assign({ identifierEscape: { start: '"', end: '"' }, parameterSymbol: ':' }, config);
96
106
  }
97
107
  return this.visit(arg);
98
108
  }
109
+ formatWithParameters(arg, config = null) {
110
+ var _a;
111
+ const sql = this.format(arg, config); // Sort parameters by index
112
+ const paramsRaw = ParameterCollector.collect(arg).sort((a, b) => { var _a, _b; return ((_a = a.index) !== null && _a !== void 0 ? _a : 0) - ((_b = b.index) !== null && _b !== void 0 ? _b : 0); });
113
+ const style = ((_a = this.config.parameterStyle) !== null && _a !== void 0 ? _a : ParameterStyle.Named);
114
+ if (style === ParameterStyle.Named) {
115
+ // Named: { name: value, ... }
116
+ const paramsObj = {};
117
+ for (const p of paramsRaw) {
118
+ const key = p.name.value;
119
+ if (paramsObj.hasOwnProperty(key)) {
120
+ if (paramsObj[key] !== p.value) {
121
+ throw new Error(`Duplicate parameter name '${key}' with different values detected during query composition.`);
122
+ }
123
+ // If value is the same, skip (already set)
124
+ continue;
125
+ }
126
+ paramsObj[key] = p.value;
127
+ }
128
+ return { sql, params: paramsObj };
129
+ }
130
+ else if (style === ParameterStyle.Indexed) {
131
+ // Indexed: [value1, value2, ...] (sorted by index)
132
+ const paramsArr = paramsRaw.map(p => p.value);
133
+ return { sql, params: paramsArr };
134
+ }
135
+ else if (style === ParameterStyle.Anonymous) {
136
+ // Anonymous: [value1, value2, ...] (sorted by index, name is empty)
137
+ const paramsArr = paramsRaw.map(p => p.value);
138
+ return { sql, params: paramsArr };
139
+ }
140
+ // Fallback (just in case)
141
+ return { sql, params: [] };
142
+ }
99
143
  /**
100
144
  * Visitor entry point for SQL AST nodes.
101
145
  * Note: This method is public only for interface compatibility.
@@ -314,17 +358,23 @@ export class Formatter {
314
358
  return arg.value.toString();
315
359
  }
316
360
  visitParameterExpression(arg) {
317
- var _a;
318
- // New: support parameterSymbol as string or {start, end}
319
- if (this.config.supportNamedParameter === false && this.config.parameterSymbol === '?') {
320
- // MySQL style: only output '?', ignore name
361
+ var _a, _b;
362
+ // update index
363
+ arg.index = this.parameterIndex;
364
+ this.parameterIndex++;
365
+ // Decide output style based on config
366
+ const style = (_a = this.config.parameterStyle) !== null && _a !== void 0 ? _a : ParameterStyle.Named;
367
+ if (style === ParameterStyle.Anonymous) {
321
368
  return '?';
322
369
  }
370
+ if (style === ParameterStyle.Indexed) {
371
+ return `$${arg.index + 1}`; // 0-based to 1-based
372
+ }
373
+ // Named (default)
323
374
  if (typeof this.config.parameterSymbol === 'object' && this.config.parameterSymbol !== null) {
324
375
  return `${this.config.parameterSymbol.start}${arg.name.accept(this)}${this.config.parameterSymbol.end}`;
325
376
  }
326
- // fallback (string or undefined)
327
- return `${(_a = this.config.parameterSymbol) !== null && _a !== void 0 ? _a : ':'}${arg.name.accept(this)}`;
377
+ return `${(_b = this.config.parameterSymbol) !== null && _b !== void 0 ? _b : ':'}${arg.name.accept(this)}`;
328
378
  }
329
379
  visitSelectItemExpression(arg) {
330
380
  if (arg.identifier) {
@@ -513,22 +563,22 @@ Formatter.PRESETS = {
513
563
  mysql: {
514
564
  identifierEscape: { start: '`', end: '`' },
515
565
  parameterSymbol: '?',
516
- supportNamedParameter: false,
566
+ parameterStyle: ParameterStyle.Anonymous,
517
567
  },
518
568
  postgres: {
519
569
  identifierEscape: { start: '"', end: '"' },
520
570
  parameterSymbol: ':',
521
- supportNamedParameter: true,
571
+ parameterStyle: ParameterStyle.Indexed,
522
572
  },
523
573
  sqlserver: {
524
574
  identifierEscape: { start: '[', end: ']' },
525
575
  parameterSymbol: '@',
526
- supportNamedParameter: true,
576
+ parameterStyle: ParameterStyle.Named,
527
577
  },
528
578
  sqlite: {
529
579
  identifierEscape: { start: '"', end: '"' },
530
580
  parameterSymbol: ':',
531
- supportNamedParameter: true,
581
+ parameterStyle: ParameterStyle.Named,
532
582
  },
533
583
  };
534
584
  //# sourceMappingURL=Formatter.js.map