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