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
|
@@ -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
|
-
|
|
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
|
+
}>;
|