kysely 0.19.8 → 0.19.11
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 +67 -13
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +10 -0
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +25 -0
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +29 -0
- package/dist/cjs/dialect/postgres/postgres-driver.d.ts +6 -2
- package/dist/cjs/dialect/postgres/postgres-driver.js +24 -2
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +3 -0
- package/dist/cjs/driver/database-connection.d.ts +1 -0
- package/dist/cjs/driver/dummy-driver.js +3 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +4 -0
- 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/data-type-node.d.ts +1 -1
- 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/insert-query-node.d.ts +2 -1
- package/dist/cjs/operation-node/insert-query-node.js +2 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +9 -2
- package/dist/cjs/operation-node/operation-node-transformer.js +148 -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/insert-query-builder.d.ts +1 -1
- package/dist/cjs/query-builder/select-query-builder.d.ts +77 -6
- package/dist/cjs/query-builder/select-query-builder.js +101 -14
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +6 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +30 -8
- package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
- package/dist/cjs/query-creator.d.ts +27 -0
- package/dist/cjs/query-creator.js +33 -0
- package/dist/cjs/query-executor/query-executor-base.d.ts +6 -0
- package/dist/cjs/query-executor/query-executor-base.js +19 -0
- package/dist/cjs/query-executor/query-executor.d.ts +11 -0
- package/dist/cjs/schema/create-table-builder.d.ts +6 -6
- package/dist/cjs/schema/create-table-builder.js +6 -6
- package/dist/cjs/schema/create-type-builder.d.ts +28 -0
- package/dist/cjs/schema/create-type-builder.js +38 -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/deferred.d.ts +7 -0
- package/dist/cjs/util/deferred.js +28 -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/mysql/mysql-dialect-config.d.ts +10 -0
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +25 -0
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +29 -0
- package/dist/esm/dialect/postgres/postgres-driver.d.ts +6 -2
- package/dist/esm/dialect/postgres/postgres-driver.js +24 -2
- package/dist/esm/dialect/sqlite/sqlite-driver.js +3 -0
- package/dist/esm/driver/database-connection.d.ts +1 -0
- package/dist/esm/driver/dummy-driver.js +3 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- 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/data-type-node.d.ts +1 -1
- 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/insert-query-node.d.ts +2 -1
- package/dist/esm/operation-node/insert-query-node.js +2 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +9 -2
- package/dist/esm/operation-node/operation-node-transformer.js +148 -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/insert-query-builder.d.ts +1 -1
- package/dist/esm/query-builder/select-query-builder.d.ts +77 -6
- package/dist/esm/query-builder/select-query-builder.js +101 -14
- package/dist/esm/query-compiler/default-query-compiler.d.ts +6 -0
- package/dist/esm/query-compiler/default-query-compiler.js +30 -8
- package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
- package/dist/esm/query-creator.d.ts +27 -0
- package/dist/esm/query-creator.js +33 -0
- package/dist/esm/query-executor/query-executor-base.d.ts +6 -0
- package/dist/esm/query-executor/query-executor-base.js +19 -0
- package/dist/esm/query-executor/query-executor.d.ts +11 -0
- package/dist/esm/schema/create-table-builder.d.ts +6 -6
- package/dist/esm/schema/create-table-builder.js +6 -6
- package/dist/esm/schema/create-type-builder.d.ts +28 -0
- package/dist/esm/schema/create-type-builder.js +35 -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/deferred.d.ts +7 -0
- package/dist/esm/util/deferred.js +25 -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 +5 -2
|
@@ -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,17 @@ export class OperationNodeTransformer {
|
|
|
238
242
|
onDuplicateKey: this.transformNode(node.onDuplicateKey),
|
|
239
243
|
with: this.transformNode(node.with),
|
|
240
244
|
ignore: node.ignore,
|
|
241
|
-
|
|
245
|
+
replace: node.replace,
|
|
246
|
+
});
|
|
242
247
|
}
|
|
243
248
|
transformValues(node) {
|
|
244
|
-
return {
|
|
249
|
+
return requireAllProps({
|
|
245
250
|
kind: 'ValuesNode',
|
|
246
251
|
values: this.transformNodeList(node.values),
|
|
247
|
-
};
|
|
252
|
+
});
|
|
248
253
|
}
|
|
249
254
|
transformDeleteQuery(node) {
|
|
250
|
-
return {
|
|
255
|
+
return requireAllProps({
|
|
251
256
|
kind: 'DeleteQueryNode',
|
|
252
257
|
from: this.transformNode(node.from),
|
|
253
258
|
joins: this.transformNodeList(node.joins),
|
|
@@ -256,16 +261,16 @@ export class OperationNodeTransformer {
|
|
|
256
261
|
with: this.transformNode(node.with),
|
|
257
262
|
orderBy: this.transformNode(node.orderBy),
|
|
258
263
|
limit: this.transformNode(node.limit),
|
|
259
|
-
};
|
|
264
|
+
});
|
|
260
265
|
}
|
|
261
266
|
transformReturning(node) {
|
|
262
|
-
return {
|
|
267
|
+
return requireAllProps({
|
|
263
268
|
kind: 'ReturningNode',
|
|
264
269
|
selections: this.transformNodeList(node.selections),
|
|
265
|
-
};
|
|
270
|
+
});
|
|
266
271
|
}
|
|
267
272
|
transformCreateTable(node) {
|
|
268
|
-
return {
|
|
273
|
+
return requireAllProps({
|
|
269
274
|
kind: 'CreateTableNode',
|
|
270
275
|
table: this.transformNode(node.table),
|
|
271
276
|
columns: this.transformNodeList(node.columns),
|
|
@@ -273,10 +278,10 @@ export class OperationNodeTransformer {
|
|
|
273
278
|
temporary: node.temporary,
|
|
274
279
|
ifNotExists: node.ifNotExists,
|
|
275
280
|
onCommit: node.onCommit,
|
|
276
|
-
};
|
|
281
|
+
});
|
|
277
282
|
}
|
|
278
283
|
transformColumnDefinition(node) {
|
|
279
|
-
return {
|
|
284
|
+
return requireAllProps({
|
|
280
285
|
kind: 'ColumnDefinitionNode',
|
|
281
286
|
column: this.transformNode(node.column),
|
|
282
287
|
dataType: this.transformNode(node.dataType),
|
|
@@ -289,48 +294,48 @@ export class OperationNodeTransformer {
|
|
|
289
294
|
defaultTo: this.transformNode(node.defaultTo),
|
|
290
295
|
check: this.transformNode(node.check),
|
|
291
296
|
generated: this.transformNode(node.generated),
|
|
292
|
-
};
|
|
297
|
+
});
|
|
293
298
|
}
|
|
294
299
|
transformAddColumn(node) {
|
|
295
|
-
return {
|
|
300
|
+
return requireAllProps({
|
|
296
301
|
kind: 'AddColumnNode',
|
|
297
302
|
column: this.transformNode(node.column),
|
|
298
|
-
};
|
|
303
|
+
});
|
|
299
304
|
}
|
|
300
305
|
transformDropTable(node) {
|
|
301
|
-
return {
|
|
306
|
+
return requireAllProps({
|
|
302
307
|
kind: 'DropTableNode',
|
|
303
308
|
table: this.transformNode(node.table),
|
|
304
309
|
ifExists: node.ifExists,
|
|
305
|
-
};
|
|
310
|
+
});
|
|
306
311
|
}
|
|
307
312
|
transformOrderBy(node) {
|
|
308
|
-
return {
|
|
313
|
+
return requireAllProps({
|
|
309
314
|
kind: 'OrderByNode',
|
|
310
315
|
items: this.transformNodeList(node.items),
|
|
311
|
-
};
|
|
316
|
+
});
|
|
312
317
|
}
|
|
313
318
|
transformOrderByItem(node) {
|
|
314
|
-
return {
|
|
319
|
+
return requireAllProps({
|
|
315
320
|
kind: 'OrderByItemNode',
|
|
316
321
|
orderBy: this.transformNode(node.orderBy),
|
|
317
322
|
direction: this.transformNode(node.direction),
|
|
318
|
-
};
|
|
323
|
+
});
|
|
319
324
|
}
|
|
320
325
|
transformGroupBy(node) {
|
|
321
|
-
return {
|
|
326
|
+
return requireAllProps({
|
|
322
327
|
kind: 'GroupByNode',
|
|
323
328
|
items: this.transformNodeList(node.items),
|
|
324
|
-
};
|
|
329
|
+
});
|
|
325
330
|
}
|
|
326
331
|
transformGroupByItem(node) {
|
|
327
|
-
return {
|
|
332
|
+
return requireAllProps({
|
|
328
333
|
kind: 'GroupByItemNode',
|
|
329
334
|
groupBy: this.transformNode(node.groupBy),
|
|
330
|
-
};
|
|
335
|
+
});
|
|
331
336
|
}
|
|
332
337
|
transformUpdateQuery(node) {
|
|
333
|
-
return {
|
|
338
|
+
return requireAllProps({
|
|
334
339
|
kind: 'UpdateQueryNode',
|
|
335
340
|
table: this.transformNode(node.table),
|
|
336
341
|
from: this.transformNode(node.from),
|
|
@@ -339,29 +344,29 @@ export class OperationNodeTransformer {
|
|
|
339
344
|
updates: this.transformNodeList(node.updates),
|
|
340
345
|
returning: this.transformNode(node.returning),
|
|
341
346
|
with: this.transformNode(node.with),
|
|
342
|
-
};
|
|
347
|
+
});
|
|
343
348
|
}
|
|
344
349
|
transformColumnUpdate(node) {
|
|
345
|
-
return {
|
|
350
|
+
return requireAllProps({
|
|
346
351
|
kind: 'ColumnUpdateNode',
|
|
347
352
|
column: this.transformNode(node.column),
|
|
348
353
|
value: this.transformNode(node.value),
|
|
349
|
-
};
|
|
354
|
+
});
|
|
350
355
|
}
|
|
351
356
|
transformLimit(node) {
|
|
352
|
-
return {
|
|
357
|
+
return requireAllProps({
|
|
353
358
|
kind: 'LimitNode',
|
|
354
359
|
limit: this.transformNode(node.limit),
|
|
355
|
-
};
|
|
360
|
+
});
|
|
356
361
|
}
|
|
357
362
|
transformOffset(node) {
|
|
358
|
-
return {
|
|
363
|
+
return requireAllProps({
|
|
359
364
|
kind: 'OffsetNode',
|
|
360
365
|
offset: this.transformNode(node.offset),
|
|
361
|
-
};
|
|
366
|
+
});
|
|
362
367
|
}
|
|
363
368
|
transformOnConflict(node) {
|
|
364
|
-
return {
|
|
369
|
+
return requireAllProps({
|
|
365
370
|
kind: 'OnConflictNode',
|
|
366
371
|
columns: this.transformNodeList(node.columns),
|
|
367
372
|
constraint: this.transformNode(node.constraint),
|
|
@@ -370,128 +375,128 @@ export class OperationNodeTransformer {
|
|
|
370
375
|
updates: this.transformNodeList(node.updates),
|
|
371
376
|
updateWhere: this.transformNode(node.updateWhere),
|
|
372
377
|
doNothing: node.doNothing,
|
|
373
|
-
};
|
|
378
|
+
});
|
|
374
379
|
}
|
|
375
380
|
transformOnDuplicateKey(node) {
|
|
376
|
-
return {
|
|
381
|
+
return requireAllProps({
|
|
377
382
|
kind: 'OnDuplicateKeyNode',
|
|
378
383
|
updates: this.transformNodeList(node.updates),
|
|
379
|
-
};
|
|
384
|
+
});
|
|
380
385
|
}
|
|
381
386
|
transformCreateIndex(node) {
|
|
382
|
-
return {
|
|
387
|
+
return requireAllProps({
|
|
383
388
|
kind: 'CreateIndexNode',
|
|
384
389
|
name: this.transformNode(node.name),
|
|
385
390
|
table: this.transformNode(node.table),
|
|
386
391
|
expression: this.transformNode(node.expression),
|
|
387
392
|
unique: node.unique,
|
|
388
393
|
using: this.transformNode(node.using),
|
|
389
|
-
};
|
|
394
|
+
});
|
|
390
395
|
}
|
|
391
396
|
transformList(node) {
|
|
392
|
-
return {
|
|
397
|
+
return requireAllProps({
|
|
393
398
|
kind: 'ListNode',
|
|
394
399
|
items: this.transformNodeList(node.items),
|
|
395
|
-
};
|
|
400
|
+
});
|
|
396
401
|
}
|
|
397
402
|
transformDropIndex(node) {
|
|
398
|
-
return {
|
|
403
|
+
return requireAllProps({
|
|
399
404
|
kind: 'DropIndexNode',
|
|
400
405
|
name: this.transformNode(node.name),
|
|
401
406
|
table: this.transformNode(node.table),
|
|
402
407
|
ifExists: node.ifExists,
|
|
403
|
-
};
|
|
408
|
+
});
|
|
404
409
|
}
|
|
405
410
|
transformPrimaryKeyConstraint(node) {
|
|
406
|
-
return {
|
|
411
|
+
return requireAllProps({
|
|
407
412
|
kind: 'PrimaryKeyConstraintNode',
|
|
408
413
|
columns: this.transformNodeList(node.columns),
|
|
409
414
|
name: this.transformNode(node.name),
|
|
410
|
-
};
|
|
415
|
+
});
|
|
411
416
|
}
|
|
412
417
|
transformUniqueConstraint(node) {
|
|
413
|
-
return {
|
|
418
|
+
return requireAllProps({
|
|
414
419
|
kind: 'UniqueConstraintNode',
|
|
415
420
|
columns: this.transformNodeList(node.columns),
|
|
416
421
|
name: this.transformNode(node.name),
|
|
417
|
-
};
|
|
422
|
+
});
|
|
418
423
|
}
|
|
419
424
|
transformForeignKeyConstraint(node) {
|
|
420
|
-
return {
|
|
425
|
+
return requireAllProps({
|
|
421
426
|
kind: 'ForeignKeyConstraintNode',
|
|
422
427
|
columns: this.transformNodeList(node.columns),
|
|
423
428
|
references: this.transformNode(node.references),
|
|
424
429
|
name: this.transformNode(node.name),
|
|
425
430
|
onDelete: node.onDelete,
|
|
426
431
|
onUpdate: node.onUpdate,
|
|
427
|
-
};
|
|
432
|
+
});
|
|
428
433
|
}
|
|
429
434
|
transformUnion(node) {
|
|
430
|
-
return {
|
|
435
|
+
return requireAllProps({
|
|
431
436
|
kind: 'UnionNode',
|
|
432
437
|
union: this.transformNode(node.union),
|
|
433
438
|
all: node.all,
|
|
434
|
-
};
|
|
439
|
+
});
|
|
435
440
|
}
|
|
436
441
|
transformReferences(node) {
|
|
437
|
-
return {
|
|
442
|
+
return requireAllProps({
|
|
438
443
|
kind: 'ReferencesNode',
|
|
439
444
|
table: this.transformNode(node.table),
|
|
440
445
|
columns: this.transformNodeList(node.columns),
|
|
441
446
|
onDelete: node.onDelete,
|
|
442
447
|
onUpdate: node.onUpdate,
|
|
443
|
-
};
|
|
448
|
+
});
|
|
444
449
|
}
|
|
445
450
|
transformCheckConstraint(node) {
|
|
446
|
-
return {
|
|
451
|
+
return requireAllProps({
|
|
447
452
|
kind: 'CheckConstraintNode',
|
|
448
453
|
expression: this.transformNode(node.expression),
|
|
449
454
|
name: this.transformNode(node.name),
|
|
450
|
-
};
|
|
455
|
+
});
|
|
451
456
|
}
|
|
452
457
|
transformWith(node) {
|
|
453
|
-
return {
|
|
458
|
+
return requireAllProps({
|
|
454
459
|
kind: 'WithNode',
|
|
455
460
|
expressions: this.transformNodeList(node.expressions),
|
|
456
461
|
recursive: node.recursive,
|
|
457
|
-
};
|
|
462
|
+
});
|
|
458
463
|
}
|
|
459
464
|
transformCommonTableExpression(node) {
|
|
460
|
-
return {
|
|
465
|
+
return requireAllProps({
|
|
461
466
|
kind: 'CommonTableExpressionNode',
|
|
462
467
|
name: this.transformNode(node.name),
|
|
463
468
|
expression: this.transformNode(node.expression),
|
|
464
|
-
};
|
|
469
|
+
});
|
|
465
470
|
}
|
|
466
471
|
transformCommonTableExpressionName(node) {
|
|
467
|
-
return {
|
|
472
|
+
return requireAllProps({
|
|
468
473
|
kind: 'CommonTableExpressionNameNode',
|
|
469
474
|
table: this.transformNode(node.table),
|
|
470
475
|
columns: this.transformNodeList(node.columns),
|
|
471
|
-
};
|
|
476
|
+
});
|
|
472
477
|
}
|
|
473
478
|
transformHaving(node) {
|
|
474
|
-
return {
|
|
479
|
+
return requireAllProps({
|
|
475
480
|
kind: 'HavingNode',
|
|
476
481
|
having: this.transformNode(node.having),
|
|
477
|
-
};
|
|
482
|
+
});
|
|
478
483
|
}
|
|
479
484
|
transformCreateSchema(node) {
|
|
480
|
-
return {
|
|
485
|
+
return requireAllProps({
|
|
481
486
|
kind: 'CreateSchemaNode',
|
|
482
487
|
schema: this.transformNode(node.schema),
|
|
483
488
|
ifNotExists: node.ifNotExists,
|
|
484
|
-
};
|
|
489
|
+
});
|
|
485
490
|
}
|
|
486
491
|
transformDropSchema(node) {
|
|
487
|
-
return {
|
|
492
|
+
return requireAllProps({
|
|
488
493
|
kind: 'DropSchemaNode',
|
|
489
494
|
schema: this.transformNode(node.schema),
|
|
490
495
|
ifExists: node.ifExists,
|
|
491
|
-
};
|
|
496
|
+
});
|
|
492
497
|
}
|
|
493
498
|
transformAlterTable(node) {
|
|
494
|
-
return {
|
|
499
|
+
return requireAllProps({
|
|
495
500
|
kind: 'AlterTableNode',
|
|
496
501
|
table: this.transformNode(node.table),
|
|
497
502
|
renameTo: this.transformNode(node.renameTo),
|
|
@@ -503,23 +508,23 @@ export class OperationNodeTransformer {
|
|
|
503
508
|
modifyColumn: this.transformNode(node.modifyColumn),
|
|
504
509
|
addConstraint: this.transformNode(node.addConstraint),
|
|
505
510
|
dropConstraint: this.transformNode(node.dropConstraint),
|
|
506
|
-
};
|
|
511
|
+
});
|
|
507
512
|
}
|
|
508
513
|
transformDropColumn(node) {
|
|
509
|
-
return {
|
|
514
|
+
return requireAllProps({
|
|
510
515
|
kind: 'DropColumnNode',
|
|
511
516
|
column: this.transformNode(node.column),
|
|
512
|
-
};
|
|
517
|
+
});
|
|
513
518
|
}
|
|
514
519
|
transformRenameColumn(node) {
|
|
515
|
-
return {
|
|
520
|
+
return requireAllProps({
|
|
516
521
|
kind: 'RenameColumnNode',
|
|
517
522
|
column: this.transformNode(node.column),
|
|
518
523
|
renameTo: this.transformNode(node.renameTo),
|
|
519
|
-
};
|
|
524
|
+
});
|
|
520
525
|
}
|
|
521
526
|
transformAlterColumn(node) {
|
|
522
|
-
return {
|
|
527
|
+
return requireAllProps({
|
|
523
528
|
kind: 'AlterColumnNode',
|
|
524
529
|
column: this.transformNode(node.column),
|
|
525
530
|
dataType: this.transformNode(node.dataType),
|
|
@@ -528,30 +533,30 @@ export class OperationNodeTransformer {
|
|
|
528
533
|
dropDefault: node.dropDefault,
|
|
529
534
|
setNotNull: node.setNotNull,
|
|
530
535
|
dropNotNull: node.dropNotNull,
|
|
531
|
-
};
|
|
536
|
+
});
|
|
532
537
|
}
|
|
533
538
|
transformModifyColumn(node) {
|
|
534
|
-
return {
|
|
539
|
+
return requireAllProps({
|
|
535
540
|
kind: 'ModifyColumnNode',
|
|
536
541
|
column: this.transformNode(node.column),
|
|
537
|
-
};
|
|
542
|
+
});
|
|
538
543
|
}
|
|
539
544
|
transformAddConstraint(node) {
|
|
540
|
-
return {
|
|
545
|
+
return requireAllProps({
|
|
541
546
|
kind: 'AddConstraintNode',
|
|
542
547
|
constraint: this.transformNode(node.constraint),
|
|
543
|
-
};
|
|
548
|
+
});
|
|
544
549
|
}
|
|
545
550
|
transformDropConstraint(node) {
|
|
546
|
-
return {
|
|
551
|
+
return requireAllProps({
|
|
547
552
|
kind: 'DropConstraintNode',
|
|
548
553
|
constraintName: this.transformNode(node.constraintName),
|
|
549
554
|
ifExists: node.ifExists,
|
|
550
555
|
modifier: node.modifier,
|
|
551
|
-
};
|
|
556
|
+
});
|
|
552
557
|
}
|
|
553
558
|
transformCreateView(node) {
|
|
554
|
-
return {
|
|
559
|
+
return requireAllProps({
|
|
555
560
|
kind: 'CreateViewNode',
|
|
556
561
|
name: this.transformNode(node.name),
|
|
557
562
|
temporary: node.temporary,
|
|
@@ -560,37 +565,58 @@ export class OperationNodeTransformer {
|
|
|
560
565
|
materialized: node.materialized,
|
|
561
566
|
columns: this.transformNodeList(node.columns),
|
|
562
567
|
as: this.transformNode(node.as),
|
|
563
|
-
};
|
|
568
|
+
});
|
|
564
569
|
}
|
|
565
570
|
transformDropView(node) {
|
|
566
|
-
return {
|
|
571
|
+
return requireAllProps({
|
|
567
572
|
kind: 'DropViewNode',
|
|
568
573
|
name: this.transformNode(node.name),
|
|
569
574
|
ifExists: node.ifExists,
|
|
570
575
|
materialized: node.materialized,
|
|
571
|
-
};
|
|
576
|
+
});
|
|
572
577
|
}
|
|
573
578
|
transformGenerated(node) {
|
|
574
|
-
return {
|
|
579
|
+
return requireAllProps({
|
|
575
580
|
kind: 'GeneratedNode',
|
|
576
581
|
byDefault: node.byDefault,
|
|
577
582
|
always: node.always,
|
|
578
583
|
identity: node.identity,
|
|
579
584
|
stored: node.stored,
|
|
580
585
|
expression: this.transformNode(node.expression),
|
|
581
|
-
};
|
|
586
|
+
});
|
|
582
587
|
}
|
|
583
588
|
transformDefaultValue(node) {
|
|
584
|
-
return {
|
|
589
|
+
return requireAllProps({
|
|
585
590
|
kind: 'DefaultValueNode',
|
|
586
591
|
defaultValue: this.transformNode(node.defaultValue),
|
|
587
|
-
};
|
|
592
|
+
});
|
|
588
593
|
}
|
|
589
594
|
transformOn(node) {
|
|
590
|
-
return {
|
|
595
|
+
return requireAllProps({
|
|
591
596
|
kind: 'OnNode',
|
|
592
597
|
on: this.transformNode(node.on),
|
|
593
|
-
};
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
transformSelectModifier(node) {
|
|
601
|
+
return requireAllProps({
|
|
602
|
+
kind: 'SelectModifierNode',
|
|
603
|
+
modifier: node.modifier,
|
|
604
|
+
rawModifier: this.transformNode(node.rawModifier),
|
|
605
|
+
});
|
|
606
|
+
}
|
|
607
|
+
transformCreateType(node) {
|
|
608
|
+
return requireAllProps({
|
|
609
|
+
kind: 'CreateTypeNode',
|
|
610
|
+
name: this.transformNode(node.name),
|
|
611
|
+
enum: this.transformNode(node.enum),
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
transformDropType(node) {
|
|
615
|
+
return requireAllProps({
|
|
616
|
+
kind: 'DropTypeNode',
|
|
617
|
+
name: this.transformNode(node.name),
|
|
618
|
+
ifExists: node.ifExists,
|
|
619
|
+
});
|
|
594
620
|
}
|
|
595
621
|
transformDataType(node) {
|
|
596
622
|
// 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
|
+
}>;
|