kysely 0.16.11 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/dialect/mysql/mysql-adapter.js +3 -4
  3. package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -1
  4. package/dist/cjs/dialect/postgres/postgres-adapter.js +3 -2
  5. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +2 -1
  6. package/dist/cjs/index-nodeless.d.ts +2 -0
  7. package/dist/cjs/index-nodeless.js +2 -0
  8. package/dist/cjs/kysely.d.ts +3 -6
  9. package/dist/cjs/kysely.js +7 -12
  10. package/dist/cjs/migration/migrator.js +4 -4
  11. package/dist/cjs/operation-node/operation-node-transformer.js +1 -1
  12. package/dist/cjs/operation-node/raw-node.d.ts +4 -2
  13. package/dist/cjs/operation-node/raw-node.js +8 -2
  14. package/dist/cjs/parser/complex-expression-parser.d.ts +5 -5
  15. package/dist/cjs/parser/complex-expression-parser.js +5 -4
  16. package/dist/cjs/parser/filter-parser.d.ts +9 -9
  17. package/dist/cjs/parser/filter-parser.js +31 -30
  18. package/dist/cjs/parser/group-by-parser.d.ts +1 -2
  19. package/dist/cjs/parser/group-by-parser.js +2 -2
  20. package/dist/cjs/parser/insert-values-parser.d.ts +1 -2
  21. package/dist/cjs/parser/insert-values-parser.js +6 -6
  22. package/dist/cjs/parser/join-parser.d.ts +1 -2
  23. package/dist/cjs/parser/join-parser.js +8 -7
  24. package/dist/cjs/parser/order-by-parser.d.ts +1 -2
  25. package/dist/cjs/parser/order-by-parser.js +4 -4
  26. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  27. package/dist/cjs/parser/parse-utils.js +38 -0
  28. package/dist/cjs/parser/reference-parser.d.ts +2 -3
  29. package/dist/cjs/parser/reference-parser.js +5 -5
  30. package/dist/cjs/parser/select-parser.d.ts +1 -2
  31. package/dist/cjs/parser/select-parser.js +5 -5
  32. package/dist/cjs/parser/table-parser.d.ts +2 -3
  33. package/dist/cjs/parser/table-parser.js +5 -5
  34. package/dist/cjs/parser/update-set-parser.d.ts +1 -2
  35. package/dist/cjs/parser/update-set-parser.js +2 -2
  36. package/dist/cjs/parser/value-parser.d.ts +3 -4
  37. package/dist/cjs/parser/value-parser.js +7 -7
  38. package/dist/cjs/parser/with-parser.d.ts +1 -2
  39. package/dist/cjs/parser/with-parser.js +3 -2
  40. package/dist/cjs/query-builder/delete-query-builder.d.ts +23 -19
  41. package/dist/cjs/query-builder/delete-query-builder.js +15 -15
  42. package/dist/cjs/query-builder/expression-builder.d.ts +4 -13
  43. package/dist/cjs/query-builder/expression-builder.js +12 -21
  44. package/dist/cjs/query-builder/function-builder.d.ts +2 -6
  45. package/dist/cjs/query-builder/function-builder.js +5 -8
  46. package/dist/cjs/query-builder/insert-query-builder.d.ts +12 -8
  47. package/dist/cjs/query-builder/insert-query-builder.js +8 -7
  48. package/dist/cjs/query-builder/join-builder.d.ts +0 -2
  49. package/dist/cjs/query-builder/join-builder.js +8 -8
  50. package/dist/cjs/query-builder/on-conflict-builder.d.ts +24 -20
  51. package/dist/cjs/query-builder/on-conflict-builder.js +17 -17
  52. package/dist/cjs/query-builder/returning-interface.d.ts +3 -1
  53. package/dist/cjs/query-builder/select-query-builder.d.ts +41 -29
  54. package/dist/cjs/query-builder/select-query-builder.js +28 -26
  55. package/dist/cjs/query-builder/update-query-builder.d.ts +30 -24
  56. package/dist/cjs/query-builder/update-query-builder.js +22 -20
  57. package/dist/cjs/query-builder/where-interface.d.ts +20 -16
  58. package/dist/cjs/query-compiler/default-query-compiler.js +1 -1
  59. package/dist/cjs/query-creator.d.ts +10 -129
  60. package/dist/cjs/query-creator.js +5 -136
  61. package/dist/cjs/query-executor/default-query-executor.d.ts +8 -1
  62. package/dist/cjs/query-executor/default-query-executor.js +13 -13
  63. package/dist/cjs/query-executor/noop-query-executor.d.ts +8 -0
  64. package/dist/cjs/query-executor/noop-query-executor.js +8 -1
  65. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  66. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  67. package/dist/cjs/query-executor/query-executor.d.ts +7 -0
  68. package/dist/cjs/raw-builder/raw-builder.d.ts +42 -11
  69. package/dist/cjs/raw-builder/raw-builder.js +55 -56
  70. package/dist/cjs/raw-builder/sql.d.ts +323 -0
  71. package/dist/cjs/raw-builder/sql.js +153 -0
  72. package/dist/cjs/schema/alter-table-builder.d.ts +20 -8
  73. package/dist/cjs/schema/column-definition-builder.d.ts +20 -8
  74. package/dist/cjs/schema/create-index-builder.d.ts +3 -1
  75. package/dist/cjs/schema/create-index-builder.js +3 -1
  76. package/dist/cjs/schema/create-table-builder.d.ts +6 -2
  77. package/dist/cjs/schema/create-table-builder.js +6 -2
  78. package/dist/cjs/schema/create-view-builder.d.ts +3 -3
  79. package/dist/cjs/schema/create-view-builder.js +3 -3
  80. package/dist/cjs/util/query-id.js +10 -4
  81. package/dist/cjs/util/random-string.js +65 -2
  82. package/dist/esm/dialect/mysql/mysql-adapter.js +3 -4
  83. package/dist/esm/dialect/mysql/mysql-introspector.js +2 -1
  84. package/dist/esm/dialect/postgres/postgres-adapter.js +3 -2
  85. package/dist/esm/dialect/sqlite/sqlite-introspector.js +2 -1
  86. package/dist/esm/index-nodeless.d.ts +2 -0
  87. package/dist/esm/index-nodeless.js +2 -0
  88. package/dist/esm/kysely.d.ts +3 -6
  89. package/dist/esm/kysely.js +7 -12
  90. package/dist/esm/migration/migrator.js +4 -4
  91. package/dist/esm/operation-node/operation-node-transformer.js +1 -1
  92. package/dist/esm/operation-node/raw-node.d.ts +4 -2
  93. package/dist/esm/operation-node/raw-node.js +8 -2
  94. package/dist/esm/parser/complex-expression-parser.d.ts +5 -5
  95. package/dist/esm/parser/complex-expression-parser.js +5 -4
  96. package/dist/esm/parser/filter-parser.d.ts +9 -9
  97. package/dist/esm/parser/filter-parser.js +31 -30
  98. package/dist/esm/parser/group-by-parser.d.ts +1 -2
  99. package/dist/esm/parser/group-by-parser.js +2 -2
  100. package/dist/esm/parser/insert-values-parser.d.ts +1 -2
  101. package/dist/esm/parser/insert-values-parser.js +6 -6
  102. package/dist/esm/parser/join-parser.d.ts +1 -2
  103. package/dist/esm/parser/join-parser.js +8 -7
  104. package/dist/esm/parser/order-by-parser.d.ts +1 -2
  105. package/dist/esm/parser/order-by-parser.js +4 -4
  106. package/dist/esm/parser/parse-utils.d.ts +10 -0
  107. package/dist/esm/parser/parse-utils.js +32 -0
  108. package/dist/esm/parser/reference-parser.d.ts +2 -3
  109. package/dist/esm/parser/reference-parser.js +5 -5
  110. package/dist/esm/parser/select-parser.d.ts +1 -2
  111. package/dist/esm/parser/select-parser.js +5 -5
  112. package/dist/esm/parser/table-parser.d.ts +2 -3
  113. package/dist/esm/parser/table-parser.js +5 -5
  114. package/dist/esm/parser/update-set-parser.d.ts +1 -2
  115. package/dist/esm/parser/update-set-parser.js +2 -2
  116. package/dist/esm/parser/value-parser.d.ts +3 -4
  117. package/dist/esm/parser/value-parser.js +7 -7
  118. package/dist/esm/parser/with-parser.d.ts +1 -2
  119. package/dist/esm/parser/with-parser.js +3 -2
  120. package/dist/esm/query-builder/delete-query-builder.d.ts +23 -19
  121. package/dist/esm/query-builder/delete-query-builder.js +15 -15
  122. package/dist/esm/query-builder/expression-builder.d.ts +4 -13
  123. package/dist/esm/query-builder/expression-builder.js +12 -21
  124. package/dist/esm/query-builder/function-builder.d.ts +2 -6
  125. package/dist/esm/query-builder/function-builder.js +5 -8
  126. package/dist/esm/query-builder/insert-query-builder.d.ts +12 -8
  127. package/dist/esm/query-builder/insert-query-builder.js +8 -7
  128. package/dist/esm/query-builder/join-builder.d.ts +0 -2
  129. package/dist/esm/query-builder/join-builder.js +8 -8
  130. package/dist/esm/query-builder/on-conflict-builder.d.ts +24 -20
  131. package/dist/esm/query-builder/on-conflict-builder.js +17 -17
  132. package/dist/esm/query-builder/returning-interface.d.ts +3 -1
  133. package/dist/esm/query-builder/select-query-builder.d.ts +41 -29
  134. package/dist/esm/query-builder/select-query-builder.js +28 -26
  135. package/dist/esm/query-builder/update-query-builder.d.ts +30 -24
  136. package/dist/esm/query-builder/update-query-builder.js +22 -20
  137. package/dist/esm/query-builder/where-interface.d.ts +20 -16
  138. package/dist/esm/query-compiler/default-query-compiler.js +1 -1
  139. package/dist/esm/query-creator.d.ts +10 -129
  140. package/dist/esm/query-creator.js +5 -136
  141. package/dist/esm/query-executor/default-query-executor.d.ts +8 -1
  142. package/dist/esm/query-executor/default-query-executor.js +13 -13
  143. package/dist/esm/query-executor/noop-query-executor.d.ts +8 -0
  144. package/dist/esm/query-executor/noop-query-executor.js +7 -0
  145. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  146. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  147. package/dist/esm/query-executor/query-executor.d.ts +7 -0
  148. package/dist/esm/raw-builder/raw-builder.d.ts +42 -11
  149. package/dist/esm/raw-builder/raw-builder.js +56 -57
  150. package/dist/esm/raw-builder/sql.d.ts +323 -0
  151. package/dist/esm/raw-builder/sql.js +151 -0
  152. package/dist/esm/schema/alter-table-builder.d.ts +20 -8
  153. package/dist/esm/schema/column-definition-builder.d.ts +20 -8
  154. package/dist/esm/schema/create-index-builder.d.ts +3 -1
  155. package/dist/esm/schema/create-index-builder.js +3 -1
  156. package/dist/esm/schema/create-table-builder.d.ts +6 -2
  157. package/dist/esm/schema/create-table-builder.js +6 -2
  158. package/dist/esm/schema/create-view-builder.d.ts +3 -3
  159. package/dist/esm/schema/create-view-builder.js +3 -3
  160. package/dist/esm/util/query-id.js +10 -4
  161. package/dist/esm/util/random-string.js +65 -2
  162. package/package.json +13 -13
  163. package/dist/cjs/parser/parse-context.d.ts +0 -55
  164. package/dist/cjs/parser/parse-context.js +0 -50
  165. package/dist/cjs/util/private-symbols.d.ts +0 -5
  166. package/dist/cjs/util/private-symbols.js +0 -8
  167. package/dist/esm/parser/parse-context.d.ts +0 -55
  168. package/dist/esm/parser/parse-context.js +0 -47
  169. package/dist/esm/util/private-symbols.d.ts +0 -5
  170. package/dist/esm/util/private-symbols.js +0 -6
@@ -80,7 +80,7 @@ class OnConflictBuilder {
80
80
  where(...args) {
81
81
  return new OnConflictBuilder({
82
82
  ...this.#props,
83
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
83
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
84
84
  });
85
85
  }
86
86
  /**
@@ -91,13 +91,13 @@ class OnConflictBuilder {
91
91
  whereRef(lhs, op, rhs) {
92
92
  return new OnConflictBuilder({
93
93
  ...this.#props,
94
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
94
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
95
95
  });
96
96
  }
97
97
  orWhere(...args) {
98
98
  return new OnConflictBuilder({
99
99
  ...this.#props,
100
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
100
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
101
101
  });
102
102
  }
103
103
  /**
@@ -108,7 +108,7 @@ class OnConflictBuilder {
108
108
  orWhereRef(lhs, op, rhs) {
109
109
  return new OnConflictBuilder({
110
110
  ...this.#props,
111
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
111
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
112
112
  });
113
113
  }
114
114
  /**
@@ -119,7 +119,7 @@ class OnConflictBuilder {
119
119
  whereExists(arg) {
120
120
  return new OnConflictBuilder({
121
121
  ...this.#props,
122
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
122
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
123
123
  });
124
124
  }
125
125
  /**
@@ -130,7 +130,7 @@ class OnConflictBuilder {
130
130
  whereNotExists(arg) {
131
131
  return new OnConflictBuilder({
132
132
  ...this.#props,
133
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
133
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
134
134
  });
135
135
  }
136
136
  /**
@@ -141,7 +141,7 @@ class OnConflictBuilder {
141
141
  orWhereExists(arg) {
142
142
  return new OnConflictBuilder({
143
143
  ...this.#props,
144
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
144
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
145
145
  });
146
146
  }
147
147
  /**
@@ -152,7 +152,7 @@ class OnConflictBuilder {
152
152
  orWhereNotExists(arg) {
153
153
  return new OnConflictBuilder({
154
154
  ...this.#props,
155
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
155
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
156
156
  });
157
157
  }
158
158
  /**
@@ -214,7 +214,7 @@ class OnConflictBuilder {
214
214
  return new OnConflictUpdateBuilder({
215
215
  ...this.#props,
216
216
  onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWith(this.#props.onConflictNode, {
217
- updates: (0, update_set_parser_js_1.parseUpdateObject)(this.#props.parseContext, updates),
217
+ updates: (0, update_set_parser_js_1.parseUpdateObject)(updates),
218
218
  }),
219
219
  });
220
220
  }
@@ -240,7 +240,7 @@ class OnConflictUpdateBuilder {
240
240
  where(...args) {
241
241
  return new OnConflictUpdateBuilder({
242
242
  ...this.#props,
243
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
243
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
244
244
  });
245
245
  }
246
246
  /**
@@ -251,13 +251,13 @@ class OnConflictUpdateBuilder {
251
251
  whereRef(lhs, op, rhs) {
252
252
  return new OnConflictUpdateBuilder({
253
253
  ...this.#props,
254
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
254
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
255
255
  });
256
256
  }
257
257
  orWhere(...args) {
258
258
  return new OnConflictUpdateBuilder({
259
259
  ...this.#props,
260
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
260
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
261
261
  });
262
262
  }
263
263
  /**
@@ -268,7 +268,7 @@ class OnConflictUpdateBuilder {
268
268
  orWhereRef(lhs, op, rhs) {
269
269
  return new OnConflictUpdateBuilder({
270
270
  ...this.#props,
271
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
271
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
272
272
  });
273
273
  }
274
274
  /**
@@ -279,7 +279,7 @@ class OnConflictUpdateBuilder {
279
279
  whereExists(arg) {
280
280
  return new OnConflictUpdateBuilder({
281
281
  ...this.#props,
282
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
282
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
283
283
  });
284
284
  }
285
285
  /**
@@ -290,7 +290,7 @@ class OnConflictUpdateBuilder {
290
290
  whereNotExists(arg) {
291
291
  return new OnConflictUpdateBuilder({
292
292
  ...this.#props,
293
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
293
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
294
294
  });
295
295
  }
296
296
  /**
@@ -301,7 +301,7 @@ class OnConflictUpdateBuilder {
301
301
  orWhereExists(arg) {
302
302
  return new OnConflictUpdateBuilder({
303
303
  ...this.#props,
304
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
304
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
305
305
  });
306
306
  }
307
307
  /**
@@ -312,7 +312,7 @@ class OnConflictUpdateBuilder {
312
312
  orWhereNotExists(arg) {
313
313
  return new OnConflictUpdateBuilder({
314
314
  ...this.#props,
315
- onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
315
+ onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
316
316
  });
317
317
  }
318
318
  toOperationNode() {
@@ -45,6 +45,8 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
45
45
  * Return arbitrary expressions:
46
46
  *
47
47
  * ```ts
48
+ * import { sql } from 'kysely'
49
+ *
48
50
  * const { id, full_name, first_pet_id } = await db
49
51
  * .insertInto('person')
50
52
  * .values({
@@ -53,7 +55,7 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
53
55
  * })
54
56
  * .returning([
55
57
  * 'id as id',
56
- * db.raw<string>(`concat(first_name, ' ', last_name)`).as('full_name'),
58
+ * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
57
59
  * (qb) => qb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
58
60
  * ])
59
61
  * .executeTakeFirst()
@@ -12,7 +12,6 @@ import { OrderByDirectionExpression, OrderByExpression } from '../parser/order-b
12
12
  import { Compilable } from '../util/compilable.js';
13
13
  import { QueryExecutor } from '../query-executor/query-executor.js';
14
14
  import { QueryId } from '../util/query-id.js';
15
- import { ParseContext } from '../parser/parse-context.js';
16
15
  import { UnionExpression } from '../parser/union-parser.js';
17
16
  import { KyselyPlugin } from '../plugin/kysely-plugin.js';
18
17
  import { WhereInterface } from './where-interface.js';
@@ -46,7 +45,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
46
45
  * ```
47
46
  *
48
47
  * Operator can be any supported operator or if the typings don't support it
49
- * you can always use `db.raw('your operator')`.
48
+ * you can always use `sql\`your operator\``.
50
49
  *
51
50
  * ```ts
52
51
  * const persons = await db
@@ -116,7 +115,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
116
115
  *
117
116
  * A `where in` query can be built by using the `in` operator and an array
118
117
  * of values. The values in the array can also be subqueries or raw
119
- * instances.
118
+ * {@link sql} expressions.
120
119
  *
121
120
  * ```ts
122
121
  * const persons = await db
@@ -132,15 +131,17 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
132
131
  * select * from "person" where "id" in ($1, $2, $3)
133
132
  * ```
134
133
  *
135
- * If everything else fails, you can always pass {@link Kysely.raw | raw}
134
+ * If everything else fails, you can always use the {@link sql} tag
136
135
  * as any of the arguments, including the operator:
137
136
  *
138
137
  * ```ts
138
+ * import { sql } from 'kysely'
139
+ *
139
140
  * const persons = await db
140
141
  * .selectFrom('person')
141
142
  * .selectAll()
142
143
  * .where(
143
- * db.raw('coalesce(first_name, last_name)'),
144
+ * sql`coalesce(first_name, last_name)`,
144
145
  * 'like',
145
146
  * '%' + name + '%',
146
147
  * )
@@ -175,24 +176,25 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
175
176
  * ```
176
177
  *
177
178
  * In all examples above the columns were known at compile time
178
- * (except for the `raw` expressions). By default kysely only allows
179
- * you to refer to columns that exist in the database **and** can be
180
- * referred to in the current query and context.
179
+ * (except for the raw {@link sql} expressions). By default kysely only
180
+ * allows you to refer to columns that exist in the database **and**
181
+ * can be referred to in the current query and context.
181
182
  *
182
183
  * Sometimes you may want to refer to columns that come from the user
183
184
  * input and thus are not available at compile time.
184
185
  *
185
- * You have two options, `db.raw` or `db.dynamic`. The example below
186
+ * You have two options, the {@link sql} tag or `db.dynamic`. The example below
186
187
  * uses both:
187
188
  *
188
189
  * ```ts
190
+ * import { sql } from 'kysely'
189
191
  * const { ref } = db.dynamic
190
192
  *
191
193
  * const persons = await db
192
194
  * .selectFrom('person')
193
195
  * .selectAll()
194
196
  * .where(ref(columnFromUserInput), '=', 1)
195
- * .orWhere(db.raw('??', [columnFromUserInput]), '=', 2)
197
+ * .orWhere(sql.id(columnFromUserInput), '=', 2)
196
198
  * .execute()
197
199
  * ```
198
200
  */
@@ -326,13 +328,14 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
326
328
  /**
327
329
  * Adds a `where exists` clause to the query.
328
330
  *
329
- * You can either use a subquery or a raw instance.
331
+ * You can either use a subquery or a raw {@link sql} snippet.
330
332
  *
331
333
  * ### Examples
332
334
  *
333
335
  * The query below selets all persons that own a pet named Catto:
334
336
  *
335
337
  * ```ts
338
+ * const petName = 'Catto'
336
339
  * const persons = await db
337
340
  * .selectFrom('person')
338
341
  * .selectAll()
@@ -340,7 +343,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
340
343
  * .selectFrom('pet')
341
344
  * .select('pet.id')
342
345
  * .whereRef('person.id', '=', 'pet.owner_id')
343
- * .where('pet.name', '=', 'Catto')
346
+ * .where('pet.name', '=', petName)
344
347
  * )
345
348
  * .execute()
346
349
  * ```
@@ -357,16 +360,16 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
357
360
  * )
358
361
  * ```
359
362
  *
360
- * The same query as in the previous example but with using raw:
363
+ * The same query as in the previous example but with using raw {@link sql}:
361
364
  *
362
365
  * ```ts
366
+ * import { sql } from 'kysely'
367
+ *
368
+ * const petName = 'Catto'
363
369
  * db.selectFrom('person')
364
370
  * .selectAll()
365
371
  * .whereExists(
366
- * db.raw(
367
- * '(select pet.id from pet where person.id = pet.owner_id and pet.name = ?)',
368
- * ['Catto']
369
- * )
372
+ * sql`(select pet.id from pet where person.id = pet.owner_id and pet.name = ${petName})`
370
373
  * )
371
374
  * ```
372
375
  *
@@ -449,7 +452,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
449
452
  * Kysely only allows you to select columns and expressions that exist and would
450
453
  * produce valid SQL. However, Kysely is not perfect and there may be cases where
451
454
  * the type inference doesn't work and you need to override it. You can always
452
- * use the {@link Kysely.dynamic | dynamic} module and {@link Kysely.raw | raw}
455
+ * use the {@link Kysely.dynamic | dynamic} module and the {@link sql} tag
453
456
  * to override the types.
454
457
  *
455
458
  * Select calls are additive. Calling `select('id').select('first_name')` is the
@@ -536,11 +539,13 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
536
539
  * from "person"
537
540
  * ```
538
541
  *
539
- * You can also select subqueries and raw expressions. Note that you
542
+ * You can also select subqueries and raw sql expressions. Note that you
540
543
  * always need to give a name for the selections using the `as`
541
544
  * method:
542
545
  *
543
546
  * ```ts
547
+ * import { sql } from 'kysely'
548
+ *
544
549
  * const persons = await db.selectFrom('person')
545
550
  * .select([
546
551
  * (qb) => qb
@@ -549,7 +554,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
549
554
  * .select('pet.name')
550
555
  * .limit(1)
551
556
  * .as('pet_name')
552
- * db.raw<string>("concat(first_name, ' ', last_name)").as('full_name')
557
+ * sql<string>`concat(first_name, ' ', last_name)`.as('full_name')
553
558
  * ])
554
559
  * .execute()
555
560
  *
@@ -571,7 +576,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
571
576
  * from "person"
572
577
  * ```
573
578
  *
574
- * In case you use `raw` you need to specify the type of the expression
579
+ * In case you use the {@link sql} tag you need to specify the type of the expression
575
580
  * (in this example `string`).
576
581
  *
577
582
  * All the examples above assume you know the column names at compile time.
@@ -889,10 +894,12 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
889
894
  * order by "id" asc, "fn" desc
890
895
  * ```
891
896
  *
892
- * The order by expression can also be a `raw` expression or a subquery
897
+ * The order by expression can also be a raw sql expression or a subquery
893
898
  * in addition to column references:
894
899
  *
895
900
  * ```ts
901
+ * import { sql } from 'kysely'
902
+ *
896
903
  * await db
897
904
  * .selectFrom('person')
898
905
  * .selectAll()
@@ -902,7 +909,7 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
902
909
  * .limit(1)
903
910
  * )
904
911
  * .orderBy(
905
- * db.raw('concat(first_name, last_name)')
912
+ * sql`concat(first_name, last_name)`
906
913
  * )
907
914
  * .execute()
908
915
  * ```
@@ -953,11 +960,13 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
953
960
  * ### Examples
954
961
  *
955
962
  * ```ts
963
+ * import { sql } from 'kysely'
964
+ *
956
965
  * await db
957
966
  * .selectFrom('person')
958
967
  * .select([
959
968
  * 'first_name',
960
- * db.raw('max(id)').as('max_id')
969
+ * sql`max(id)`.as('max_id')
961
970
  * ])
962
971
  * .groupBy('first_name')
963
972
  * .execute()
@@ -974,12 +983,14 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
974
983
  * `groupBy` also accepts an array:
975
984
  *
976
985
  * ```ts
986
+ * import { sql } from 'kysely'
987
+ *
977
988
  * await db
978
989
  * .selectFrom('person')
979
990
  * .select([
980
991
  * 'first_name',
981
992
  * 'last_name',
982
- * db.raw('max(id)').as('max_id')
993
+ * sql`max(id)`.as('max_id')
983
994
  * ])
984
995
  * .groupBy([
985
996
  * 'first_name',
@@ -997,18 +1008,20 @@ export declare class SelectQueryBuilder<DB, TB extends keyof DB, O> implements W
997
1008
  * ```
998
1009
  *
999
1010
  * The group by expressions can also be subqueries or
1000
- * raw expressions:
1011
+ * raw sql expressions:
1001
1012
  *
1002
1013
  * ```ts
1014
+ * import { sql } from 'kysely'
1015
+ *
1003
1016
  * await db
1004
1017
  * .selectFrom('person')
1005
1018
  * .select([
1006
1019
  * 'first_name',
1007
1020
  * 'last_name',
1008
- * db.raw('max(id)').as('max_id')
1021
+ * sql`max(id)`.as('max_id')
1009
1022
  * ])
1010
1023
  * .groupBy([
1011
- * db.raw('concat(first_name, last_name)'),
1024
+ * sql`concat(first_name, last_name)`,
1012
1025
  * (qb) => qb.selectFrom('pet').select('id').limit(1)
1013
1026
  * ])
1014
1027
  * .execute()
@@ -1242,7 +1255,6 @@ export interface SelectQueryBuilderProps {
1242
1255
  readonly queryId: QueryId;
1243
1256
  readonly queryNode: SelectQueryNode;
1244
1257
  readonly executor: QueryExecutor;
1245
- readonly parseContext: ParseContext;
1246
1258
  }
1247
1259
  /**
1248
1260
  * {@link SelectQueryBuilder} with an alias. The result of calling {@link SelectQueryBuilder.as}.
@@ -23,109 +23,109 @@ class SelectQueryBuilder {
23
23
  where(...args) {
24
24
  return new SelectQueryBuilder({
25
25
  ...this.#props,
26
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
26
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
27
27
  });
28
28
  }
29
29
  whereRef(lhs, op, rhs) {
30
30
  return new SelectQueryBuilder({
31
31
  ...this.#props,
32
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
32
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
33
33
  });
34
34
  }
35
35
  orWhere(...args) {
36
36
  return new SelectQueryBuilder({
37
37
  ...this.#props,
38
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(this.#props.parseContext, args)),
38
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseWhereFilter)(args)),
39
39
  });
40
40
  }
41
41
  orWhereRef(lhs, op, rhs) {
42
42
  return new SelectQueryBuilder({
43
43
  ...this.#props,
44
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
44
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
45
45
  });
46
46
  }
47
47
  whereExists(arg) {
48
48
  return new SelectQueryBuilder({
49
49
  ...this.#props,
50
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
50
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
51
51
  });
52
52
  }
53
53
  whereNotExists(arg) {
54
54
  return new SelectQueryBuilder({
55
55
  ...this.#props,
56
- queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
56
+ queryNode: query_node_js_1.QueryNode.cloneWithWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
57
57
  });
58
58
  }
59
59
  orWhereExists(arg) {
60
60
  return new SelectQueryBuilder({
61
61
  ...this.#props,
62
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
62
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
63
63
  });
64
64
  }
65
65
  orWhereNotExists(arg) {
66
66
  return new SelectQueryBuilder({
67
67
  ...this.#props,
68
- queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
68
+ queryNode: query_node_js_1.QueryNode.cloneWithOrWhere(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
69
69
  });
70
70
  }
71
71
  having(...args) {
72
72
  return new SelectQueryBuilder({
73
73
  ...this.#props,
74
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseHavingFilter)(this.#props.parseContext, args)),
74
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseHavingFilter)(args)),
75
75
  });
76
76
  }
77
77
  havingRef(lhs, op, rhs) {
78
78
  return new SelectQueryBuilder({
79
79
  ...this.#props,
80
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
80
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
81
81
  });
82
82
  }
83
83
  orHaving(...args) {
84
84
  return new SelectQueryBuilder({
85
85
  ...this.#props,
86
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseHavingFilter)(this.#props.parseContext, args)),
86
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseHavingFilter)(args)),
87
87
  });
88
88
  }
89
89
  orHavingRef(lhs, op, rhs) {
90
90
  return new SelectQueryBuilder({
91
91
  ...this.#props,
92
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(this.#props.parseContext, lhs, op, rhs)),
92
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseReferenceFilter)(lhs, op, rhs)),
93
93
  });
94
94
  }
95
95
  havingExists(arg) {
96
96
  return new SelectQueryBuilder({
97
97
  ...this.#props,
98
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
98
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
99
99
  });
100
100
  }
101
101
  havingNotExist(arg) {
102
102
  return new SelectQueryBuilder({
103
103
  ...this.#props,
104
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
104
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithHaving(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
105
105
  });
106
106
  }
107
107
  orHavingExists(arg) {
108
108
  return new SelectQueryBuilder({
109
109
  ...this.#props,
110
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(this.#props.parseContext, arg)),
110
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseExistFilter)(arg)),
111
111
  });
112
112
  }
113
113
  orHavingNotExists(arg) {
114
114
  return new SelectQueryBuilder({
115
115
  ...this.#props,
116
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(this.#props.parseContext, arg)),
116
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrHaving(this.#props.queryNode, (0, filter_parser_js_1.parseNotExistFilter)(arg)),
117
117
  });
118
118
  }
119
119
  select(selection) {
120
120
  return new SelectQueryBuilder({
121
121
  ...this.#props,
122
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(this.#props.parseContext, selection)),
122
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(selection)),
123
123
  });
124
124
  }
125
125
  distinctOn(selection) {
126
126
  return new SelectQueryBuilder({
127
127
  ...this.#props,
128
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithDistinctOnSelections(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(this.#props.parseContext, selection)),
128
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithDistinctOnSelections(this.#props.queryNode, (0, select_parser_js_1.parseSelectExpressionOrList)(selection)),
129
129
  });
130
130
  }
131
131
  /**
@@ -215,25 +215,25 @@ class SelectQueryBuilder {
215
215
  innerJoin(...args) {
216
216
  return new SelectQueryBuilder({
217
217
  ...this.#props,
218
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'InnerJoin', args)),
218
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('InnerJoin', args)),
219
219
  });
220
220
  }
221
221
  leftJoin(...args) {
222
222
  return new SelectQueryBuilder({
223
223
  ...this.#props,
224
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'LeftJoin', args)),
224
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('LeftJoin', args)),
225
225
  });
226
226
  }
227
227
  rightJoin(...args) {
228
228
  return new SelectQueryBuilder({
229
229
  ...this.#props,
230
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'RightJoin', args)),
230
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('RightJoin', args)),
231
231
  });
232
232
  }
233
233
  fullJoin(...args) {
234
234
  return new SelectQueryBuilder({
235
235
  ...this.#props,
236
- queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)(this.#props.parseContext, 'FullJoin', args)),
236
+ queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)),
237
237
  });
238
238
  }
239
239
  /**
@@ -264,10 +264,12 @@ class SelectQueryBuilder {
264
264
  * order by "id" asc, "fn" desc
265
265
  * ```
266
266
  *
267
- * The order by expression can also be a `raw` expression or a subquery
267
+ * The order by expression can also be a raw sql expression or a subquery
268
268
  * in addition to column references:
269
269
  *
270
270
  * ```ts
271
+ * import { sql } from 'kysely'
272
+ *
271
273
  * await db
272
274
  * .selectFrom('person')
273
275
  * .selectAll()
@@ -277,7 +279,7 @@ class SelectQueryBuilder {
277
279
  * .limit(1)
278
280
  * )
279
281
  * .orderBy(
280
- * db.raw('concat(first_name, last_name)')
282
+ * sql`concat(first_name, last_name)`
281
283
  * )
282
284
  * .execute()
283
285
  * ```
@@ -324,13 +326,13 @@ class SelectQueryBuilder {
324
326
  orderBy(orderBy, direction) {
325
327
  return new SelectQueryBuilder({
326
328
  ...this.#props,
327
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrderByItem(this.#props.queryNode, (0, order_by_parser_js_1.parseOrderBy)(this.#props.parseContext, orderBy, direction)),
329
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithOrderByItem(this.#props.queryNode, (0, order_by_parser_js_1.parseOrderBy)(orderBy, direction)),
328
330
  });
329
331
  }
330
332
  groupBy(groupBy) {
331
333
  return new SelectQueryBuilder({
332
334
  ...this.#props,
333
- queryNode: select_query_node_js_1.SelectQueryNode.cloneWithGroupByItems(this.#props.queryNode, (0, group_by_parser_js_1.parseGroupBy)(this.#props.parseContext, groupBy)),
335
+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithGroupByItems(this.#props.queryNode, (0, group_by_parser_js_1.parseGroupBy)(groupBy)),
334
336
  });
335
337
  }
336
338
  /**