kysely 0.19.7 → 0.19.10
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 +16 -10
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -1
- package/dist/cjs/operation-node/create-type-node.d.ts +17 -0
- package/dist/cjs/operation-node/create-type-node.js +27 -0
- package/dist/cjs/operation-node/drop-type-node.d.ts +16 -0
- package/dist/cjs/operation-node/drop-type-node.js +25 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +9 -2
- package/dist/cjs/operation-node/operation-node-transformer.js +147 -122
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +6 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +3 -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/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +6 -0
- 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 +6 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +29 -7
- package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
- package/dist/cjs/schema/create-type-builder.d.ts +19 -0
- package/dist/cjs/schema/create-type-builder.js +29 -0
- package/dist/cjs/schema/drop-type-builder.d.ts +19 -0
- package/dist/cjs/schema/drop-type-builder.js +31 -0
- package/dist/cjs/schema/schema.d.ts +32 -0
- package/dist/cjs/schema/schema.js +46 -0
- 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/create-type-node.d.ts +17 -0
- package/dist/esm/operation-node/create-type-node.js +25 -0
- package/dist/esm/operation-node/drop-type-node.d.ts +16 -0
- package/dist/esm/operation-node/drop-type-node.js +23 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +9 -2
- package/dist/esm/operation-node/operation-node-transformer.js +147 -122
- package/dist/esm/operation-node/operation-node-visitor.d.ts +6 -0
- package/dist/esm/operation-node/operation-node-visitor.js +3 -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/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +6 -0
- 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 +6 -0
- package/dist/esm/query-compiler/default-query-compiler.js +29 -7
- package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
- package/dist/esm/schema/create-type-builder.d.ts +19 -0
- package/dist/esm/schema/create-type-builder.js +26 -0
- package/dist/esm/schema/drop-type-builder.d.ts +19 -0
- package/dist/esm/schema/drop-type-builder.js +28 -0
- package/dist/esm/schema/schema.d.ts +32 -0
- package/dist/esm/schema/schema.js +46 -0
- 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,9 @@ 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),
|
|
103
|
+
CreateTypeNode: this.transformCreateType.bind(this),
|
|
104
|
+
DropTypeNode: this.transformDropType.bind(this),
|
|
101
105
|
});
|
|
102
106
|
transformNode = (node) => {
|
|
103
107
|
if (!node) {
|
|
@@ -115,120 +119,120 @@ export class OperationNodeTransformer {
|
|
|
115
119
|
return freeze(list.map(this.transformNode));
|
|
116
120
|
}
|
|
117
121
|
transformSelectQuery(node) {
|
|
118
|
-
return {
|
|
122
|
+
return requireAllProps({
|
|
119
123
|
kind: 'SelectQueryNode',
|
|
120
124
|
from: this.transformNode(node.from),
|
|
121
125
|
selections: this.transformNodeList(node.selections),
|
|
122
126
|
distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
|
|
123
|
-
distinct: node.distinct,
|
|
124
127
|
joins: this.transformNodeList(node.joins),
|
|
125
128
|
groupBy: this.transformNode(node.groupBy),
|
|
126
129
|
orderBy: this.transformNode(node.orderBy),
|
|
127
130
|
where: this.transformNode(node.where),
|
|
128
|
-
|
|
131
|
+
frontModifiers: this.transformNodeList(node.frontModifiers),
|
|
132
|
+
endModifiers: this.transformNodeList(node.endModifiers),
|
|
129
133
|
limit: this.transformNode(node.limit),
|
|
130
134
|
offset: this.transformNode(node.offset),
|
|
131
135
|
with: this.transformNode(node.with),
|
|
132
136
|
having: this.transformNode(node.having),
|
|
133
137
|
union: this.transformNodeList(node.union),
|
|
134
|
-
};
|
|
138
|
+
});
|
|
135
139
|
}
|
|
136
140
|
transformSelection(node) {
|
|
137
|
-
return {
|
|
141
|
+
return requireAllProps({
|
|
138
142
|
kind: 'SelectionNode',
|
|
139
143
|
selection: this.transformNode(node.selection),
|
|
140
|
-
};
|
|
144
|
+
});
|
|
141
145
|
}
|
|
142
146
|
transformColumn(node) {
|
|
143
|
-
return {
|
|
147
|
+
return requireAllProps({
|
|
144
148
|
kind: 'ColumnNode',
|
|
145
149
|
column: this.transformNode(node.column),
|
|
146
|
-
};
|
|
150
|
+
});
|
|
147
151
|
}
|
|
148
152
|
transformAlias(node) {
|
|
149
|
-
return {
|
|
153
|
+
return requireAllProps({
|
|
150
154
|
kind: 'AliasNode',
|
|
151
155
|
node: this.transformNode(node.node),
|
|
152
156
|
alias: this.transformNode(node.alias),
|
|
153
|
-
};
|
|
157
|
+
});
|
|
154
158
|
}
|
|
155
159
|
transformTable(node) {
|
|
156
|
-
return {
|
|
160
|
+
return requireAllProps({
|
|
157
161
|
kind: 'TableNode',
|
|
158
162
|
schema: this.transformNode(node.schema),
|
|
159
163
|
table: this.transformNode(node.table),
|
|
160
|
-
};
|
|
164
|
+
});
|
|
161
165
|
}
|
|
162
166
|
transformFrom(node) {
|
|
163
|
-
return {
|
|
167
|
+
return requireAllProps({
|
|
164
168
|
kind: 'FromNode',
|
|
165
169
|
froms: this.transformNodeList(node.froms),
|
|
166
|
-
};
|
|
170
|
+
});
|
|
167
171
|
}
|
|
168
172
|
transformReference(node) {
|
|
169
|
-
return {
|
|
173
|
+
return requireAllProps({
|
|
170
174
|
kind: 'ReferenceNode',
|
|
171
175
|
table: this.transformNode(node.table),
|
|
172
176
|
column: this.transformNode(node.column),
|
|
173
|
-
};
|
|
177
|
+
});
|
|
174
178
|
}
|
|
175
179
|
transformFilter(node) {
|
|
176
|
-
return {
|
|
180
|
+
return requireAllProps({
|
|
177
181
|
kind: 'FilterNode',
|
|
178
182
|
left: this.transformNode(node.left),
|
|
179
183
|
op: this.transformNode(node.op),
|
|
180
184
|
right: this.transformNode(node.right),
|
|
181
|
-
};
|
|
185
|
+
});
|
|
182
186
|
}
|
|
183
187
|
transformAnd(node) {
|
|
184
|
-
return {
|
|
188
|
+
return requireAllProps({
|
|
185
189
|
kind: 'AndNode',
|
|
186
190
|
left: this.transformNode(node.left),
|
|
187
191
|
right: this.transformNode(node.right),
|
|
188
|
-
};
|
|
192
|
+
});
|
|
189
193
|
}
|
|
190
194
|
transformOr(node) {
|
|
191
|
-
return {
|
|
195
|
+
return requireAllProps({
|
|
192
196
|
kind: 'OrNode',
|
|
193
197
|
left: this.transformNode(node.left),
|
|
194
198
|
right: this.transformNode(node.right),
|
|
195
|
-
};
|
|
199
|
+
});
|
|
196
200
|
}
|
|
197
201
|
transformValueList(node) {
|
|
198
|
-
return {
|
|
202
|
+
return requireAllProps({
|
|
199
203
|
kind: 'ValueListNode',
|
|
200
204
|
values: this.transformNodeList(node.values),
|
|
201
|
-
};
|
|
205
|
+
});
|
|
202
206
|
}
|
|
203
207
|
transformParens(node) {
|
|
204
|
-
return {
|
|
208
|
+
return requireAllProps({
|
|
205
209
|
kind: 'ParensNode',
|
|
206
210
|
node: this.transformNode(node.node),
|
|
207
|
-
};
|
|
211
|
+
});
|
|
208
212
|
}
|
|
209
213
|
transformJoin(node) {
|
|
210
|
-
return {
|
|
214
|
+
return requireAllProps({
|
|
211
215
|
kind: 'JoinNode',
|
|
212
216
|
joinType: node.joinType,
|
|
213
217
|
table: this.transformNode(node.table),
|
|
214
218
|
on: this.transformNode(node.on),
|
|
215
|
-
};
|
|
219
|
+
});
|
|
216
220
|
}
|
|
217
221
|
transformRaw(node) {
|
|
218
|
-
return {
|
|
222
|
+
return requireAllProps({
|
|
219
223
|
kind: 'RawNode',
|
|
220
224
|
sqlFragments: freeze([...node.sqlFragments]),
|
|
221
225
|
parameters: this.transformNodeList(node.parameters),
|
|
222
|
-
};
|
|
226
|
+
});
|
|
223
227
|
}
|
|
224
228
|
transformWhere(node) {
|
|
225
|
-
return {
|
|
229
|
+
return requireAllProps({
|
|
226
230
|
kind: 'WhereNode',
|
|
227
231
|
where: this.transformNode(node.where),
|
|
228
|
-
};
|
|
232
|
+
});
|
|
229
233
|
}
|
|
230
234
|
transformInsertQuery(node) {
|
|
231
|
-
return {
|
|
235
|
+
return requireAllProps({
|
|
232
236
|
kind: 'InsertQueryNode',
|
|
233
237
|
into: this.transformNode(node.into),
|
|
234
238
|
columns: this.transformNodeList(node.columns),
|
|
@@ -238,16 +242,16 @@ export class OperationNodeTransformer {
|
|
|
238
242
|
onDuplicateKey: this.transformNode(node.onDuplicateKey),
|
|
239
243
|
with: this.transformNode(node.with),
|
|
240
244
|
ignore: node.ignore,
|
|
241
|
-
};
|
|
245
|
+
});
|
|
242
246
|
}
|
|
243
247
|
transformValues(node) {
|
|
244
|
-
return {
|
|
248
|
+
return requireAllProps({
|
|
245
249
|
kind: 'ValuesNode',
|
|
246
250
|
values: this.transformNodeList(node.values),
|
|
247
|
-
};
|
|
251
|
+
});
|
|
248
252
|
}
|
|
249
253
|
transformDeleteQuery(node) {
|
|
250
|
-
return {
|
|
254
|
+
return requireAllProps({
|
|
251
255
|
kind: 'DeleteQueryNode',
|
|
252
256
|
from: this.transformNode(node.from),
|
|
253
257
|
joins: this.transformNodeList(node.joins),
|
|
@@ -256,16 +260,16 @@ export class OperationNodeTransformer {
|
|
|
256
260
|
with: this.transformNode(node.with),
|
|
257
261
|
orderBy: this.transformNode(node.orderBy),
|
|
258
262
|
limit: this.transformNode(node.limit),
|
|
259
|
-
};
|
|
263
|
+
});
|
|
260
264
|
}
|
|
261
265
|
transformReturning(node) {
|
|
262
|
-
return {
|
|
266
|
+
return requireAllProps({
|
|
263
267
|
kind: 'ReturningNode',
|
|
264
268
|
selections: this.transformNodeList(node.selections),
|
|
265
|
-
};
|
|
269
|
+
});
|
|
266
270
|
}
|
|
267
271
|
transformCreateTable(node) {
|
|
268
|
-
return {
|
|
272
|
+
return requireAllProps({
|
|
269
273
|
kind: 'CreateTableNode',
|
|
270
274
|
table: this.transformNode(node.table),
|
|
271
275
|
columns: this.transformNodeList(node.columns),
|
|
@@ -273,10 +277,10 @@ export 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 requireAllProps({
|
|
280
284
|
kind: 'ColumnDefinitionNode',
|
|
281
285
|
column: this.transformNode(node.column),
|
|
282
286
|
dataType: this.transformNode(node.dataType),
|
|
@@ -289,48 +293,48 @@ export 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 requireAllProps({
|
|
296
300
|
kind: 'AddColumnNode',
|
|
297
301
|
column: this.transformNode(node.column),
|
|
298
|
-
};
|
|
302
|
+
});
|
|
299
303
|
}
|
|
300
304
|
transformDropTable(node) {
|
|
301
|
-
return {
|
|
305
|
+
return 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 requireAllProps({
|
|
309
313
|
kind: 'OrderByNode',
|
|
310
314
|
items: this.transformNodeList(node.items),
|
|
311
|
-
};
|
|
315
|
+
});
|
|
312
316
|
}
|
|
313
317
|
transformOrderByItem(node) {
|
|
314
|
-
return {
|
|
318
|
+
return 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 requireAllProps({
|
|
322
326
|
kind: 'GroupByNode',
|
|
323
327
|
items: this.transformNodeList(node.items),
|
|
324
|
-
};
|
|
328
|
+
});
|
|
325
329
|
}
|
|
326
330
|
transformGroupByItem(node) {
|
|
327
|
-
return {
|
|
331
|
+
return requireAllProps({
|
|
328
332
|
kind: 'GroupByItemNode',
|
|
329
333
|
groupBy: this.transformNode(node.groupBy),
|
|
330
|
-
};
|
|
334
|
+
});
|
|
331
335
|
}
|
|
332
336
|
transformUpdateQuery(node) {
|
|
333
|
-
return {
|
|
337
|
+
return requireAllProps({
|
|
334
338
|
kind: 'UpdateQueryNode',
|
|
335
339
|
table: this.transformNode(node.table),
|
|
336
340
|
from: this.transformNode(node.from),
|
|
@@ -339,29 +343,29 @@ export 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 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 requireAllProps({
|
|
353
357
|
kind: 'LimitNode',
|
|
354
358
|
limit: this.transformNode(node.limit),
|
|
355
|
-
};
|
|
359
|
+
});
|
|
356
360
|
}
|
|
357
361
|
transformOffset(node) {
|
|
358
|
-
return {
|
|
362
|
+
return requireAllProps({
|
|
359
363
|
kind: 'OffsetNode',
|
|
360
364
|
offset: this.transformNode(node.offset),
|
|
361
|
-
};
|
|
365
|
+
});
|
|
362
366
|
}
|
|
363
367
|
transformOnConflict(node) {
|
|
364
|
-
return {
|
|
368
|
+
return requireAllProps({
|
|
365
369
|
kind: 'OnConflictNode',
|
|
366
370
|
columns: this.transformNodeList(node.columns),
|
|
367
371
|
constraint: this.transformNode(node.constraint),
|
|
@@ -370,128 +374,128 @@ export 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 requireAllProps({
|
|
377
381
|
kind: 'OnDuplicateKeyNode',
|
|
378
382
|
updates: this.transformNodeList(node.updates),
|
|
379
|
-
};
|
|
383
|
+
});
|
|
380
384
|
}
|
|
381
385
|
transformCreateIndex(node) {
|
|
382
|
-
return {
|
|
386
|
+
return 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 requireAllProps({
|
|
393
397
|
kind: 'ListNode',
|
|
394
398
|
items: this.transformNodeList(node.items),
|
|
395
|
-
};
|
|
399
|
+
});
|
|
396
400
|
}
|
|
397
401
|
transformDropIndex(node) {
|
|
398
|
-
return {
|
|
402
|
+
return 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 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 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 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 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 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 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 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 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 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 requireAllProps({
|
|
475
479
|
kind: 'HavingNode',
|
|
476
480
|
having: this.transformNode(node.having),
|
|
477
|
-
};
|
|
481
|
+
});
|
|
478
482
|
}
|
|
479
483
|
transformCreateSchema(node) {
|
|
480
|
-
return {
|
|
484
|
+
return requireAllProps({
|
|
481
485
|
kind: 'CreateSchemaNode',
|
|
482
486
|
schema: this.transformNode(node.schema),
|
|
483
487
|
ifNotExists: node.ifNotExists,
|
|
484
|
-
};
|
|
488
|
+
});
|
|
485
489
|
}
|
|
486
490
|
transformDropSchema(node) {
|
|
487
|
-
return {
|
|
491
|
+
return requireAllProps({
|
|
488
492
|
kind: 'DropSchemaNode',
|
|
489
493
|
schema: this.transformNode(node.schema),
|
|
490
494
|
ifExists: node.ifExists,
|
|
491
|
-
};
|
|
495
|
+
});
|
|
492
496
|
}
|
|
493
497
|
transformAlterTable(node) {
|
|
494
|
-
return {
|
|
498
|
+
return requireAllProps({
|
|
495
499
|
kind: 'AlterTableNode',
|
|
496
500
|
table: this.transformNode(node.table),
|
|
497
501
|
renameTo: this.transformNode(node.renameTo),
|
|
@@ -503,23 +507,23 @@ export class OperationNodeTransformer {
|
|
|
503
507
|
modifyColumn: this.transformNode(node.modifyColumn),
|
|
504
508
|
addConstraint: this.transformNode(node.addConstraint),
|
|
505
509
|
dropConstraint: this.transformNode(node.dropConstraint),
|
|
506
|
-
};
|
|
510
|
+
});
|
|
507
511
|
}
|
|
508
512
|
transformDropColumn(node) {
|
|
509
|
-
return {
|
|
513
|
+
return requireAllProps({
|
|
510
514
|
kind: 'DropColumnNode',
|
|
511
515
|
column: this.transformNode(node.column),
|
|
512
|
-
};
|
|
516
|
+
});
|
|
513
517
|
}
|
|
514
518
|
transformRenameColumn(node) {
|
|
515
|
-
return {
|
|
519
|
+
return requireAllProps({
|
|
516
520
|
kind: 'RenameColumnNode',
|
|
517
521
|
column: this.transformNode(node.column),
|
|
518
522
|
renameTo: this.transformNode(node.renameTo),
|
|
519
|
-
};
|
|
523
|
+
});
|
|
520
524
|
}
|
|
521
525
|
transformAlterColumn(node) {
|
|
522
|
-
return {
|
|
526
|
+
return requireAllProps({
|
|
523
527
|
kind: 'AlterColumnNode',
|
|
524
528
|
column: this.transformNode(node.column),
|
|
525
529
|
dataType: this.transformNode(node.dataType),
|
|
@@ -528,30 +532,30 @@ export class OperationNodeTransformer {
|
|
|
528
532
|
dropDefault: node.dropDefault,
|
|
529
533
|
setNotNull: node.setNotNull,
|
|
530
534
|
dropNotNull: node.dropNotNull,
|
|
531
|
-
};
|
|
535
|
+
});
|
|
532
536
|
}
|
|
533
537
|
transformModifyColumn(node) {
|
|
534
|
-
return {
|
|
538
|
+
return requireAllProps({
|
|
535
539
|
kind: 'ModifyColumnNode',
|
|
536
540
|
column: this.transformNode(node.column),
|
|
537
|
-
};
|
|
541
|
+
});
|
|
538
542
|
}
|
|
539
543
|
transformAddConstraint(node) {
|
|
540
|
-
return {
|
|
544
|
+
return requireAllProps({
|
|
541
545
|
kind: 'AddConstraintNode',
|
|
542
546
|
constraint: this.transformNode(node.constraint),
|
|
543
|
-
};
|
|
547
|
+
});
|
|
544
548
|
}
|
|
545
549
|
transformDropConstraint(node) {
|
|
546
|
-
return {
|
|
550
|
+
return requireAllProps({
|
|
547
551
|
kind: 'DropConstraintNode',
|
|
548
552
|
constraintName: this.transformNode(node.constraintName),
|
|
549
553
|
ifExists: node.ifExists,
|
|
550
554
|
modifier: node.modifier,
|
|
551
|
-
};
|
|
555
|
+
});
|
|
552
556
|
}
|
|
553
557
|
transformCreateView(node) {
|
|
554
|
-
return {
|
|
558
|
+
return requireAllProps({
|
|
555
559
|
kind: 'CreateViewNode',
|
|
556
560
|
name: this.transformNode(node.name),
|
|
557
561
|
temporary: node.temporary,
|
|
@@ -560,37 +564,58 @@ export class OperationNodeTransformer {
|
|
|
560
564
|
materialized: node.materialized,
|
|
561
565
|
columns: this.transformNodeList(node.columns),
|
|
562
566
|
as: this.transformNode(node.as),
|
|
563
|
-
};
|
|
567
|
+
});
|
|
564
568
|
}
|
|
565
569
|
transformDropView(node) {
|
|
566
|
-
return {
|
|
570
|
+
return requireAllProps({
|
|
567
571
|
kind: 'DropViewNode',
|
|
568
572
|
name: this.transformNode(node.name),
|
|
569
573
|
ifExists: node.ifExists,
|
|
570
574
|
materialized: node.materialized,
|
|
571
|
-
};
|
|
575
|
+
});
|
|
572
576
|
}
|
|
573
577
|
transformGenerated(node) {
|
|
574
|
-
return {
|
|
578
|
+
return requireAllProps({
|
|
575
579
|
kind: 'GeneratedNode',
|
|
576
580
|
byDefault: node.byDefault,
|
|
577
581
|
always: node.always,
|
|
578
582
|
identity: node.identity,
|
|
579
583
|
stored: node.stored,
|
|
580
584
|
expression: this.transformNode(node.expression),
|
|
581
|
-
};
|
|
585
|
+
});
|
|
582
586
|
}
|
|
583
587
|
transformDefaultValue(node) {
|
|
584
|
-
return {
|
|
588
|
+
return requireAllProps({
|
|
585
589
|
kind: 'DefaultValueNode',
|
|
586
590
|
defaultValue: this.transformNode(node.defaultValue),
|
|
587
|
-
};
|
|
591
|
+
});
|
|
588
592
|
}
|
|
589
593
|
transformOn(node) {
|
|
590
|
-
return {
|
|
594
|
+
return requireAllProps({
|
|
591
595
|
kind: 'OnNode',
|
|
592
596
|
on: this.transformNode(node.on),
|
|
593
|
-
};
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
transformSelectModifier(node) {
|
|
600
|
+
return requireAllProps({
|
|
601
|
+
kind: 'SelectModifierNode',
|
|
602
|
+
modifier: node.modifier,
|
|
603
|
+
rawModifier: this.transformNode(node.rawModifier),
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
transformCreateType(node) {
|
|
607
|
+
return requireAllProps({
|
|
608
|
+
kind: 'CreateTypeNode',
|
|
609
|
+
name: this.transformNode(node.name),
|
|
610
|
+
enum: this.transformNode(node.enum),
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
transformDropType(node) {
|
|
614
|
+
return requireAllProps({
|
|
615
|
+
kind: 'DropTypeNode',
|
|
616
|
+
name: this.transformNode(node.name),
|
|
617
|
+
ifExists: node.ifExists,
|
|
618
|
+
});
|
|
594
619
|
}
|
|
595
620
|
transformDataType(node) {
|
|
596
621
|
// An Object.freezed leaf node. No need to clone.
|
|
@@ -65,6 +65,9 @@ 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';
|
|
69
|
+
import { CreateTypeNode } from './create-type-node.js';
|
|
70
|
+
import { DropTypeNode } from './drop-type-node.js';
|
|
68
71
|
export declare abstract class OperationNodeVisitor {
|
|
69
72
|
#private;
|
|
70
73
|
protected readonly nodeStack: OperationNode[];
|
|
@@ -136,4 +139,7 @@ export declare abstract class OperationNodeVisitor {
|
|
|
136
139
|
protected abstract visitDefaultValue(node: DefaultValueNode): void;
|
|
137
140
|
protected abstract visitOn(node: OnNode): void;
|
|
138
141
|
protected abstract visitValues(node: ValuesNode): void;
|
|
142
|
+
protected abstract visitSelectModifier(node: SelectModifierNode): void;
|
|
143
|
+
protected abstract visitCreateType(node: CreateTypeNode): void;
|
|
144
|
+
protected abstract visitDropType(node: DropTypeNode): void;
|
|
139
145
|
}
|
|
@@ -72,6 +72,9 @@ 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),
|
|
76
|
+
CreateTypeNode: this.visitCreateType.bind(this),
|
|
77
|
+
DropTypeNode: this.visitDropType.bind(this),
|
|
75
78
|
});
|
|
76
79
|
visitNode = (node) => {
|
|
77
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' | 'CreateTypeNode' | 'DropTypeNode';
|
|
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
|
+
}>;
|