kysely 0.19.6 → 0.19.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 (34) hide show
  1. package/README.md +11 -6
  2. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -1
  3. package/dist/cjs/operation-node/operation-node-transformer.d.ts +5 -2
  4. package/dist/cjs/operation-node/operation-node-transformer.js +134 -122
  5. package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
  6. package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
  7. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  8. package/dist/cjs/operation-node/select-modifier-node.d.ts +16 -0
  9. package/dist/cjs/operation-node/select-modifier-node.js +24 -0
  10. package/dist/cjs/operation-node/select-query-node.d.ts +5 -5
  11. package/dist/cjs/operation-node/select-query-node.js +11 -9
  12. package/dist/cjs/query-builder/select-query-builder.d.ts +50 -6
  13. package/dist/cjs/query-builder/select-query-builder.js +68 -13
  14. package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
  15. package/dist/cjs/query-compiler/default-query-compiler.js +14 -7
  16. package/dist/cjs/util/require-all-props.d.ts +43 -0
  17. package/dist/cjs/util/require-all-props.js +40 -0
  18. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -1
  19. package/dist/esm/operation-node/operation-node-transformer.d.ts +5 -2
  20. package/dist/esm/operation-node/operation-node-transformer.js +134 -122
  21. package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
  22. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  23. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  24. package/dist/esm/operation-node/select-modifier-node.d.ts +16 -0
  25. package/dist/esm/operation-node/select-modifier-node.js +22 -0
  26. package/dist/esm/operation-node/select-query-node.d.ts +5 -5
  27. package/dist/esm/operation-node/select-query-node.js +11 -9
  28. package/dist/esm/query-builder/select-query-builder.d.ts +50 -6
  29. package/dist/esm/query-builder/select-query-builder.js +68 -13
  30. package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
  31. package/dist/esm/query-compiler/default-query-compiler.js +14 -7
  32. package/dist/esm/util/require-all-props.d.ts +43 -0
  33. package/dist/esm/util/require-all-props.js +37 -0
  34. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OperationNodeTransformer = void 0;
4
4
  const object_utils_js_1 = require("../util/object-utils.js");
5
+ const require_all_props_js_1 = require("../util/require-all-props.js");
5
6
  /**
6
7
  * Transforms an operation node tree into another one.
7
8
  *
@@ -100,6 +101,7 @@ class OperationNodeTransformer {
100
101
  DefaultValueNode: this.transformDefaultValue.bind(this),
101
102
  OnNode: this.transformOn.bind(this),
102
103
  ValuesNode: this.transformValues.bind(this),
104
+ SelectModifierNode: this.transformSelectModifier.bind(this),
103
105
  });
104
106
  transformNode = (node) => {
105
107
  if (!node) {
@@ -117,120 +119,120 @@ class OperationNodeTransformer {
117
119
  return (0, object_utils_js_1.freeze)(list.map(this.transformNode));
118
120
  }
119
121
  transformSelectQuery(node) {
120
- return {
122
+ return (0, require_all_props_js_1.requireAllProps)({
121
123
  kind: 'SelectQueryNode',
122
124
  from: this.transformNode(node.from),
123
125
  selections: this.transformNodeList(node.selections),
124
126
  distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
125
- distinct: node.distinct,
126
127
  joins: this.transformNodeList(node.joins),
127
128
  groupBy: this.transformNode(node.groupBy),
128
129
  orderBy: this.transformNode(node.orderBy),
129
130
  where: this.transformNode(node.where),
130
- modifiers: node.modifiers,
131
+ frontModifiers: this.transformNodeList(node.frontModifiers),
132
+ endModifiers: this.transformNodeList(node.endModifiers),
131
133
  limit: this.transformNode(node.limit),
132
134
  offset: this.transformNode(node.offset),
133
135
  with: this.transformNode(node.with),
134
136
  having: this.transformNode(node.having),
135
137
  union: this.transformNodeList(node.union),
136
- };
138
+ });
137
139
  }
138
140
  transformSelection(node) {
139
- return {
141
+ return (0, require_all_props_js_1.requireAllProps)({
140
142
  kind: 'SelectionNode',
141
143
  selection: this.transformNode(node.selection),
142
- };
144
+ });
143
145
  }
144
146
  transformColumn(node) {
145
- return {
147
+ return (0, require_all_props_js_1.requireAllProps)({
146
148
  kind: 'ColumnNode',
147
149
  column: this.transformNode(node.column),
148
- };
150
+ });
149
151
  }
150
152
  transformAlias(node) {
151
- return {
153
+ return (0, require_all_props_js_1.requireAllProps)({
152
154
  kind: 'AliasNode',
153
155
  node: this.transformNode(node.node),
154
156
  alias: this.transformNode(node.alias),
155
- };
157
+ });
156
158
  }
157
159
  transformTable(node) {
158
- return {
160
+ return (0, require_all_props_js_1.requireAllProps)({
159
161
  kind: 'TableNode',
160
162
  schema: this.transformNode(node.schema),
161
163
  table: this.transformNode(node.table),
162
- };
164
+ });
163
165
  }
164
166
  transformFrom(node) {
165
- return {
167
+ return (0, require_all_props_js_1.requireAllProps)({
166
168
  kind: 'FromNode',
167
169
  froms: this.transformNodeList(node.froms),
168
- };
170
+ });
169
171
  }
170
172
  transformReference(node) {
171
- return {
173
+ return (0, require_all_props_js_1.requireAllProps)({
172
174
  kind: 'ReferenceNode',
173
175
  table: this.transformNode(node.table),
174
176
  column: this.transformNode(node.column),
175
- };
177
+ });
176
178
  }
177
179
  transformFilter(node) {
178
- return {
180
+ return (0, require_all_props_js_1.requireAllProps)({
179
181
  kind: 'FilterNode',
180
182
  left: this.transformNode(node.left),
181
183
  op: this.transformNode(node.op),
182
184
  right: this.transformNode(node.right),
183
- };
185
+ });
184
186
  }
185
187
  transformAnd(node) {
186
- return {
188
+ return (0, require_all_props_js_1.requireAllProps)({
187
189
  kind: 'AndNode',
188
190
  left: this.transformNode(node.left),
189
191
  right: this.transformNode(node.right),
190
- };
192
+ });
191
193
  }
192
194
  transformOr(node) {
193
- return {
195
+ return (0, require_all_props_js_1.requireAllProps)({
194
196
  kind: 'OrNode',
195
197
  left: this.transformNode(node.left),
196
198
  right: this.transformNode(node.right),
197
- };
199
+ });
198
200
  }
199
201
  transformValueList(node) {
200
- return {
202
+ return (0, require_all_props_js_1.requireAllProps)({
201
203
  kind: 'ValueListNode',
202
204
  values: this.transformNodeList(node.values),
203
- };
205
+ });
204
206
  }
205
207
  transformParens(node) {
206
- return {
208
+ return (0, require_all_props_js_1.requireAllProps)({
207
209
  kind: 'ParensNode',
208
210
  node: this.transformNode(node.node),
209
- };
211
+ });
210
212
  }
211
213
  transformJoin(node) {
212
- return {
214
+ return (0, require_all_props_js_1.requireAllProps)({
213
215
  kind: 'JoinNode',
214
216
  joinType: node.joinType,
215
217
  table: this.transformNode(node.table),
216
218
  on: this.transformNode(node.on),
217
- };
219
+ });
218
220
  }
219
221
  transformRaw(node) {
220
- return {
222
+ return (0, require_all_props_js_1.requireAllProps)({
221
223
  kind: 'RawNode',
222
224
  sqlFragments: (0, object_utils_js_1.freeze)([...node.sqlFragments]),
223
225
  parameters: this.transformNodeList(node.parameters),
224
- };
226
+ });
225
227
  }
226
228
  transformWhere(node) {
227
- return {
229
+ return (0, require_all_props_js_1.requireAllProps)({
228
230
  kind: 'WhereNode',
229
231
  where: this.transformNode(node.where),
230
- };
232
+ });
231
233
  }
232
234
  transformInsertQuery(node) {
233
- return {
235
+ return (0, require_all_props_js_1.requireAllProps)({
234
236
  kind: 'InsertQueryNode',
235
237
  into: this.transformNode(node.into),
236
238
  columns: this.transformNodeList(node.columns),
@@ -240,32 +242,34 @@ class OperationNodeTransformer {
240
242
  onDuplicateKey: this.transformNode(node.onDuplicateKey),
241
243
  with: this.transformNode(node.with),
242
244
  ignore: node.ignore,
243
- };
245
+ });
244
246
  }
245
247
  transformValues(node) {
246
- return {
248
+ return (0, require_all_props_js_1.requireAllProps)({
247
249
  kind: 'ValuesNode',
248
250
  values: this.transformNodeList(node.values),
249
- };
251
+ });
250
252
  }
251
253
  transformDeleteQuery(node) {
252
- return {
254
+ return (0, require_all_props_js_1.requireAllProps)({
253
255
  kind: 'DeleteQueryNode',
254
256
  from: this.transformNode(node.from),
255
257
  joins: this.transformNodeList(node.joins),
256
258
  where: this.transformNode(node.where),
257
259
  returning: this.transformNode(node.returning),
258
260
  with: this.transformNode(node.with),
259
- };
261
+ orderBy: this.transformNode(node.orderBy),
262
+ limit: this.transformNode(node.limit),
263
+ });
260
264
  }
261
265
  transformReturning(node) {
262
- return {
266
+ return (0, require_all_props_js_1.requireAllProps)({
263
267
  kind: 'ReturningNode',
264
268
  selections: this.transformNodeList(node.selections),
265
- };
269
+ });
266
270
  }
267
271
  transformCreateTable(node) {
268
- return {
272
+ return (0, require_all_props_js_1.requireAllProps)({
269
273
  kind: 'CreateTableNode',
270
274
  table: this.transformNode(node.table),
271
275
  columns: this.transformNodeList(node.columns),
@@ -273,10 +277,10 @@ class OperationNodeTransformer {
273
277
  temporary: node.temporary,
274
278
  ifNotExists: node.ifNotExists,
275
279
  onCommit: node.onCommit,
276
- };
280
+ });
277
281
  }
278
282
  transformColumnDefinition(node) {
279
- return {
283
+ return (0, require_all_props_js_1.requireAllProps)({
280
284
  kind: 'ColumnDefinitionNode',
281
285
  column: this.transformNode(node.column),
282
286
  dataType: this.transformNode(node.dataType),
@@ -289,48 +293,48 @@ class OperationNodeTransformer {
289
293
  defaultTo: this.transformNode(node.defaultTo),
290
294
  check: this.transformNode(node.check),
291
295
  generated: this.transformNode(node.generated),
292
- };
296
+ });
293
297
  }
294
298
  transformAddColumn(node) {
295
- return {
299
+ return (0, require_all_props_js_1.requireAllProps)({
296
300
  kind: 'AddColumnNode',
297
301
  column: this.transformNode(node.column),
298
- };
302
+ });
299
303
  }
300
304
  transformDropTable(node) {
301
- return {
305
+ return (0, require_all_props_js_1.requireAllProps)({
302
306
  kind: 'DropTableNode',
303
307
  table: this.transformNode(node.table),
304
308
  ifExists: node.ifExists,
305
- };
309
+ });
306
310
  }
307
311
  transformOrderBy(node) {
308
- return {
312
+ return (0, require_all_props_js_1.requireAllProps)({
309
313
  kind: 'OrderByNode',
310
314
  items: this.transformNodeList(node.items),
311
- };
315
+ });
312
316
  }
313
317
  transformOrderByItem(node) {
314
- return {
318
+ return (0, require_all_props_js_1.requireAllProps)({
315
319
  kind: 'OrderByItemNode',
316
320
  orderBy: this.transformNode(node.orderBy),
317
321
  direction: this.transformNode(node.direction),
318
- };
322
+ });
319
323
  }
320
324
  transformGroupBy(node) {
321
- return {
325
+ return (0, require_all_props_js_1.requireAllProps)({
322
326
  kind: 'GroupByNode',
323
327
  items: this.transformNodeList(node.items),
324
- };
328
+ });
325
329
  }
326
330
  transformGroupByItem(node) {
327
- return {
331
+ return (0, require_all_props_js_1.requireAllProps)({
328
332
  kind: 'GroupByItemNode',
329
333
  groupBy: this.transformNode(node.groupBy),
330
- };
334
+ });
331
335
  }
332
336
  transformUpdateQuery(node) {
333
- return {
337
+ return (0, require_all_props_js_1.requireAllProps)({
334
338
  kind: 'UpdateQueryNode',
335
339
  table: this.transformNode(node.table),
336
340
  from: this.transformNode(node.from),
@@ -339,29 +343,29 @@ class OperationNodeTransformer {
339
343
  updates: this.transformNodeList(node.updates),
340
344
  returning: this.transformNode(node.returning),
341
345
  with: this.transformNode(node.with),
342
- };
346
+ });
343
347
  }
344
348
  transformColumnUpdate(node) {
345
- return {
349
+ return (0, require_all_props_js_1.requireAllProps)({
346
350
  kind: 'ColumnUpdateNode',
347
351
  column: this.transformNode(node.column),
348
352
  value: this.transformNode(node.value),
349
- };
353
+ });
350
354
  }
351
355
  transformLimit(node) {
352
- return {
356
+ return (0, require_all_props_js_1.requireAllProps)({
353
357
  kind: 'LimitNode',
354
358
  limit: this.transformNode(node.limit),
355
- };
359
+ });
356
360
  }
357
361
  transformOffset(node) {
358
- return {
362
+ return (0, require_all_props_js_1.requireAllProps)({
359
363
  kind: 'OffsetNode',
360
364
  offset: this.transformNode(node.offset),
361
- };
365
+ });
362
366
  }
363
367
  transformOnConflict(node) {
364
- return {
368
+ return (0, require_all_props_js_1.requireAllProps)({
365
369
  kind: 'OnConflictNode',
366
370
  columns: this.transformNodeList(node.columns),
367
371
  constraint: this.transformNode(node.constraint),
@@ -370,127 +374,128 @@ class OperationNodeTransformer {
370
374
  updates: this.transformNodeList(node.updates),
371
375
  updateWhere: this.transformNode(node.updateWhere),
372
376
  doNothing: node.doNothing,
373
- };
377
+ });
374
378
  }
375
379
  transformOnDuplicateKey(node) {
376
- return {
380
+ return (0, require_all_props_js_1.requireAllProps)({
377
381
  kind: 'OnDuplicateKeyNode',
378
382
  updates: this.transformNodeList(node.updates),
379
- };
383
+ });
380
384
  }
381
385
  transformCreateIndex(node) {
382
- return {
386
+ return (0, require_all_props_js_1.requireAllProps)({
383
387
  kind: 'CreateIndexNode',
384
388
  name: this.transformNode(node.name),
385
389
  table: this.transformNode(node.table),
386
390
  expression: this.transformNode(node.expression),
387
391
  unique: node.unique,
388
392
  using: this.transformNode(node.using),
389
- };
393
+ });
390
394
  }
391
395
  transformList(node) {
392
- return {
396
+ return (0, require_all_props_js_1.requireAllProps)({
393
397
  kind: 'ListNode',
394
398
  items: this.transformNodeList(node.items),
395
- };
399
+ });
396
400
  }
397
401
  transformDropIndex(node) {
398
- return {
402
+ return (0, require_all_props_js_1.requireAllProps)({
399
403
  kind: 'DropIndexNode',
400
404
  name: this.transformNode(node.name),
401
405
  table: this.transformNode(node.table),
402
406
  ifExists: node.ifExists,
403
- };
407
+ });
404
408
  }
405
409
  transformPrimaryKeyConstraint(node) {
406
- return {
410
+ return (0, require_all_props_js_1.requireAllProps)({
407
411
  kind: 'PrimaryKeyConstraintNode',
408
412
  columns: this.transformNodeList(node.columns),
409
413
  name: this.transformNode(node.name),
410
- };
414
+ });
411
415
  }
412
416
  transformUniqueConstraint(node) {
413
- return {
417
+ return (0, require_all_props_js_1.requireAllProps)({
414
418
  kind: 'UniqueConstraintNode',
415
419
  columns: this.transformNodeList(node.columns),
416
420
  name: this.transformNode(node.name),
417
- };
421
+ });
418
422
  }
419
423
  transformForeignKeyConstraint(node) {
420
- return {
424
+ return (0, require_all_props_js_1.requireAllProps)({
421
425
  kind: 'ForeignKeyConstraintNode',
422
426
  columns: this.transformNodeList(node.columns),
423
427
  references: this.transformNode(node.references),
424
428
  name: this.transformNode(node.name),
425
429
  onDelete: node.onDelete,
426
430
  onUpdate: node.onUpdate,
427
- };
431
+ });
428
432
  }
429
433
  transformUnion(node) {
430
- return {
434
+ return (0, require_all_props_js_1.requireAllProps)({
431
435
  kind: 'UnionNode',
432
436
  union: this.transformNode(node.union),
433
437
  all: node.all,
434
- };
438
+ });
435
439
  }
436
440
  transformReferences(node) {
437
- return {
441
+ return (0, require_all_props_js_1.requireAllProps)({
438
442
  kind: 'ReferencesNode',
439
443
  table: this.transformNode(node.table),
440
444
  columns: this.transformNodeList(node.columns),
441
445
  onDelete: node.onDelete,
442
446
  onUpdate: node.onUpdate,
443
- };
447
+ });
444
448
  }
445
449
  transformCheckConstraint(node) {
446
- return {
450
+ return (0, require_all_props_js_1.requireAllProps)({
447
451
  kind: 'CheckConstraintNode',
448
452
  expression: this.transformNode(node.expression),
449
453
  name: this.transformNode(node.name),
450
- };
454
+ });
451
455
  }
452
456
  transformWith(node) {
453
- return {
457
+ return (0, require_all_props_js_1.requireAllProps)({
454
458
  kind: 'WithNode',
455
459
  expressions: this.transformNodeList(node.expressions),
456
460
  recursive: node.recursive,
457
- };
461
+ });
458
462
  }
459
463
  transformCommonTableExpression(node) {
460
- return {
464
+ return (0, require_all_props_js_1.requireAllProps)({
461
465
  kind: 'CommonTableExpressionNode',
462
466
  name: this.transformNode(node.name),
463
467
  expression: this.transformNode(node.expression),
464
- };
468
+ });
465
469
  }
466
470
  transformCommonTableExpressionName(node) {
467
- return {
471
+ return (0, require_all_props_js_1.requireAllProps)({
468
472
  kind: 'CommonTableExpressionNameNode',
469
473
  table: this.transformNode(node.table),
470
474
  columns: this.transformNodeList(node.columns),
471
- };
475
+ });
472
476
  }
473
477
  transformHaving(node) {
474
- return {
478
+ return (0, require_all_props_js_1.requireAllProps)({
475
479
  kind: 'HavingNode',
476
480
  having: this.transformNode(node.having),
477
- };
481
+ });
478
482
  }
479
483
  transformCreateSchema(node) {
480
- return {
484
+ return (0, require_all_props_js_1.requireAllProps)({
481
485
  kind: 'CreateSchemaNode',
482
486
  schema: this.transformNode(node.schema),
483
- };
487
+ ifNotExists: node.ifNotExists,
488
+ });
484
489
  }
485
490
  transformDropSchema(node) {
486
- return {
491
+ return (0, require_all_props_js_1.requireAllProps)({
487
492
  kind: 'DropSchemaNode',
488
493
  schema: this.transformNode(node.schema),
489
494
  ifExists: node.ifExists,
490
- };
495
+ });
491
496
  }
492
497
  transformAlterTable(node) {
493
- return {
498
+ return (0, require_all_props_js_1.requireAllProps)({
494
499
  kind: 'AlterTableNode',
495
500
  table: this.transformNode(node.table),
496
501
  renameTo: this.transformNode(node.renameTo),
@@ -502,23 +507,23 @@ class OperationNodeTransformer {
502
507
  modifyColumn: this.transformNode(node.modifyColumn),
503
508
  addConstraint: this.transformNode(node.addConstraint),
504
509
  dropConstraint: this.transformNode(node.dropConstraint),
505
- };
510
+ });
506
511
  }
507
512
  transformDropColumn(node) {
508
- return {
513
+ return (0, require_all_props_js_1.requireAllProps)({
509
514
  kind: 'DropColumnNode',
510
515
  column: this.transformNode(node.column),
511
- };
516
+ });
512
517
  }
513
518
  transformRenameColumn(node) {
514
- return {
519
+ return (0, require_all_props_js_1.requireAllProps)({
515
520
  kind: 'RenameColumnNode',
516
521
  column: this.transformNode(node.column),
517
522
  renameTo: this.transformNode(node.renameTo),
518
- };
523
+ });
519
524
  }
520
525
  transformAlterColumn(node) {
521
- return {
526
+ return (0, require_all_props_js_1.requireAllProps)({
522
527
  kind: 'AlterColumnNode',
523
528
  column: this.transformNode(node.column),
524
529
  dataType: this.transformNode(node.dataType),
@@ -527,30 +532,30 @@ class OperationNodeTransformer {
527
532
  dropDefault: node.dropDefault,
528
533
  setNotNull: node.setNotNull,
529
534
  dropNotNull: node.dropNotNull,
530
- };
535
+ });
531
536
  }
532
537
  transformModifyColumn(node) {
533
- return {
538
+ return (0, require_all_props_js_1.requireAllProps)({
534
539
  kind: 'ModifyColumnNode',
535
540
  column: this.transformNode(node.column),
536
- };
541
+ });
537
542
  }
538
543
  transformAddConstraint(node) {
539
- return {
544
+ return (0, require_all_props_js_1.requireAllProps)({
540
545
  kind: 'AddConstraintNode',
541
546
  constraint: this.transformNode(node.constraint),
542
- };
547
+ });
543
548
  }
544
549
  transformDropConstraint(node) {
545
- return {
550
+ return (0, require_all_props_js_1.requireAllProps)({
546
551
  kind: 'DropConstraintNode',
547
552
  constraintName: this.transformNode(node.constraintName),
548
553
  ifExists: node.ifExists,
549
554
  modifier: node.modifier,
550
- };
555
+ });
551
556
  }
552
557
  transformCreateView(node) {
553
- return {
558
+ return (0, require_all_props_js_1.requireAllProps)({
554
559
  kind: 'CreateViewNode',
555
560
  name: this.transformNode(node.name),
556
561
  temporary: node.temporary,
@@ -559,37 +564,44 @@ class OperationNodeTransformer {
559
564
  materialized: node.materialized,
560
565
  columns: this.transformNodeList(node.columns),
561
566
  as: this.transformNode(node.as),
562
- };
567
+ });
563
568
  }
564
569
  transformDropView(node) {
565
- return {
570
+ return (0, require_all_props_js_1.requireAllProps)({
566
571
  kind: 'DropViewNode',
567
572
  name: this.transformNode(node.name),
568
573
  ifExists: node.ifExists,
569
574
  materialized: node.materialized,
570
- };
575
+ });
571
576
  }
572
577
  transformGenerated(node) {
573
- return {
578
+ return (0, require_all_props_js_1.requireAllProps)({
574
579
  kind: 'GeneratedNode',
575
580
  byDefault: node.byDefault,
576
581
  always: node.always,
577
582
  identity: node.identity,
578
583
  stored: node.stored,
579
584
  expression: this.transformNode(node.expression),
580
- };
585
+ });
581
586
  }
582
587
  transformDefaultValue(node) {
583
- return {
588
+ return (0, require_all_props_js_1.requireAllProps)({
584
589
  kind: 'DefaultValueNode',
585
590
  defaultValue: this.transformNode(node.defaultValue),
586
- };
591
+ });
587
592
  }
588
593
  transformOn(node) {
589
- return {
594
+ return (0, require_all_props_js_1.requireAllProps)({
590
595
  kind: 'OnNode',
591
596
  on: this.transformNode(node.on),
592
- };
597
+ });
598
+ }
599
+ transformSelectModifier(node) {
600
+ return (0, require_all_props_js_1.requireAllProps)({
601
+ kind: 'SelectModifierNode',
602
+ modifier: node.modifier,
603
+ rawModifier: this.transformNode(node.rawModifier),
604
+ });
593
605
  }
594
606
  transformDataType(node) {
595
607
  // An Object.freezed leaf node. No need to clone.
@@ -65,6 +65,7 @@ import { GeneratedNode } from './generated-node.js';
65
65
  import { DefaultValueNode } from './default-value-node.js';
66
66
  import { OnNode } from './on-node.js';
67
67
  import { ValuesNode } from './values-node.js';
68
+ import { SelectModifierNode } from './select-modifier-node.js';
68
69
  export declare abstract class OperationNodeVisitor {
69
70
  #private;
70
71
  protected readonly nodeStack: OperationNode[];
@@ -136,4 +137,5 @@ export declare abstract class OperationNodeVisitor {
136
137
  protected abstract visitDefaultValue(node: DefaultValueNode): void;
137
138
  protected abstract visitOn(node: OnNode): void;
138
139
  protected abstract visitValues(node: ValuesNode): void;
140
+ protected abstract visitSelectModifier(node: SelectModifierNode): void;
139
141
  }
@@ -74,6 +74,7 @@ class OperationNodeVisitor {
74
74
  DefaultValueNode: this.visitDefaultValue.bind(this),
75
75
  OnNode: this.visitOn.bind(this),
76
76
  ValuesNode: this.visitValues.bind(this),
77
+ SelectModifierNode: this.visitSelectModifier.bind(this),
77
78
  });
78
79
  visitNode = (node) => {
79
80
  this.nodeStack.push(node);
@@ -1,4 +1,4 @@
1
- export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode';
1
+ export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode';
2
2
  export interface OperationNode {
3
3
  readonly kind: OperationNodeKind;
4
4
  }
@@ -0,0 +1,16 @@
1
+ import { OperationNode } from './operation-node.js';
2
+ import { RawNode } from './raw-node.js';
3
+ export declare type SelectModifier = 'ForUpdate' | 'ForNoKeyUpdate' | 'ForShare' | 'ForKeyShare' | 'NoWait' | 'SkipLocked' | 'Distinct';
4
+ export interface SelectModifierNode extends OperationNode {
5
+ readonly kind: 'SelectModifierNode';
6
+ readonly modifier?: SelectModifier;
7
+ readonly rawModifier?: RawNode;
8
+ }
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare const SelectModifierNode: Readonly<{
13
+ is(node: OperationNode): node is SelectModifierNode;
14
+ create(modifier: SelectModifier): SelectModifierNode;
15
+ createWithRaw(modifier: RawNode): SelectModifierNode;
16
+ }>;