kysely 0.25.0 → 0.26.0
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 +10 -563
- package/dist/cjs/dialect/database-introspector.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -2
- package/dist/cjs/dialect/mysql/mysql-driver.js +5 -1
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +1 -4
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -1
- package/dist/cjs/driver/database-connection.d.ts +6 -0
- package/dist/cjs/driver/driver.d.ts +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +207 -108
- package/dist/cjs/expression/expression-builder.js +28 -7
- package/dist/cjs/expression/expression-wrapper.d.ts +296 -5
- package/dist/cjs/expression/expression-wrapper.js +70 -2
- package/dist/cjs/helpers/postgres.d.ts +30 -18
- package/dist/cjs/helpers/postgres.js +30 -18
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/kysely.d.ts +23 -13
- package/dist/cjs/kysely.js +13 -9
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/operation-node/alter-column-node.d.ts +2 -3
- package/dist/cjs/operation-node/alter-column-node.js +2 -7
- package/dist/cjs/operation-node/alter-table-node.d.ts +2 -2
- package/dist/cjs/operation-node/column-definition-node.d.ts +1 -1
- package/dist/cjs/operation-node/constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-index-node.d.ts +2 -2
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-table-node.d.ts +2 -2
- package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-view-node.d.ts +1 -1
- package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
- package/dist/cjs/operation-node/drop-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-table-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-view-node.d.ts +1 -1
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/generated-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/join-node.d.ts +1 -2
- package/dist/cjs/operation-node/join-node.js +0 -8
- package/dist/cjs/operation-node/json-operator-chain-node.d.ts +16 -0
- package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
- package/dist/cjs/operation-node/json-path-leg-node.d.ts +14 -0
- package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
- package/dist/cjs/operation-node/json-path-node.d.ts +16 -0
- package/dist/cjs/operation-node/json-path-node.js +25 -0
- package/dist/cjs/operation-node/json-reference-node.d.ts +17 -0
- package/dist/cjs/operation-node/json-reference-node.js +25 -0
- package/dist/cjs/operation-node/on-conflict-node.d.ts +1 -1
- package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +8 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +33 -1
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +8 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +4 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +13 -9
- package/dist/cjs/operation-node/operator-node.js +12 -2
- package/dist/cjs/operation-node/query-node.d.ts +9 -10
- package/dist/cjs/operation-node/query-node.js +0 -8
- package/dist/cjs/operation-node/reference-node.d.ts +2 -2
- package/dist/cjs/operation-node/reference-node.js +1 -1
- package/dist/cjs/operation-node/references-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-modifier-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -8
- package/dist/cjs/operation-node/selection-node.d.ts +1 -1
- package/dist/cjs/operation-node/set-operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +1 -1
- package/dist/cjs/operation-node/update-query-node.d.ts +1 -1
- package/dist/cjs/operation-node/values-node.d.ts +1 -1
- package/dist/cjs/operation-node/with-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.d.ts +9 -12
- package/dist/cjs/parser/binary-operation-parser.js +40 -119
- package/dist/cjs/parser/coalesce-parser.d.ts +1 -1
- package/dist/cjs/parser/data-type-parser.d.ts +1 -1
- package/dist/cjs/parser/default-value-parser.d.ts +1 -1
- package/dist/cjs/parser/expression-parser.d.ts +5 -5
- package/dist/cjs/parser/group-by-parser.d.ts +2 -2
- package/dist/cjs/parser/insert-values-parser.d.ts +4 -4
- package/dist/cjs/parser/join-parser.d.ts +4 -4
- package/dist/cjs/parser/order-by-parser.d.ts +3 -3
- package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
- package/dist/cjs/parser/reference-parser.d.ts +13 -9
- package/dist/cjs/parser/reference-parser.js +28 -16
- package/dist/cjs/parser/returning-parser.d.ts +2 -2
- package/dist/cjs/parser/select-parser.d.ts +10 -10
- package/dist/cjs/parser/table-parser.d.ts +12 -12
- package/dist/cjs/parser/unary-operation-parser.d.ts +1 -1
- package/dist/cjs/parser/update-set-parser.d.ts +3 -3
- package/dist/cjs/parser/update-set-parser.js +1 -3
- package/dist/cjs/parser/value-parser.d.ts +4 -4
- package/dist/cjs/parser/with-parser.d.ts +12 -8
- package/dist/cjs/plugin/camel-case/camel-case.d.ts +1 -1
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +32 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +22 -6
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +5 -38
- package/dist/cjs/query-builder/aggregate-function-builder.js +4 -59
- package/dist/cjs/query-builder/case-builder.d.ts +11 -11
- package/dist/cjs/query-builder/case-builder.js +2 -2
- package/dist/cjs/query-builder/delete-query-builder.d.ts +84 -59
- package/dist/cjs/query-builder/delete-query-builder.js +1 -62
- package/dist/cjs/query-builder/delete-result.d.ts +1 -2
- package/dist/cjs/query-builder/delete-result.js +2 -8
- package/dist/cjs/query-builder/function-module.d.ts +44 -66
- package/dist/cjs/query-builder/having-interface.d.ts +2 -35
- package/dist/cjs/query-builder/insert-query-builder.d.ts +58 -47
- package/dist/cjs/query-builder/insert-query-builder.js +17 -34
- package/dist/cjs/query-builder/insert-result.d.ts +3 -4
- package/dist/cjs/query-builder/insert-result.js +5 -14
- package/dist/cjs/query-builder/join-builder.d.ts +2 -35
- package/dist/cjs/query-builder/join-builder.js +1 -56
- package/dist/cjs/query-builder/json-path-builder.d.ts +212 -0
- package/dist/cjs/query-builder/json-path-builder.js +191 -0
- package/dist/cjs/query-builder/no-result-error.d.ts +1 -1
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +144 -73
- package/dist/cjs/query-builder/on-conflict-builder.js +2 -111
- package/dist/cjs/query-builder/over-builder.d.ts +2 -2
- package/dist/cjs/query-builder/over-builder.js +1 -1
- package/dist/cjs/query-builder/returning-interface.d.ts +1 -1
- package/dist/cjs/query-builder/select-query-builder.d.ts +139 -134
- package/dist/cjs/query-builder/select-query-builder.js +24 -133
- package/dist/cjs/query-builder/update-query-builder.d.ts +89 -62
- package/dist/cjs/query-builder/update-query-builder.js +3 -63
- package/dist/cjs/query-builder/update-result.d.ts +3 -3
- package/dist/cjs/query-builder/update-result.js +5 -9
- package/dist/cjs/query-builder/where-interface.d.ts +73 -38
- package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
- package/dist/cjs/query-compiler/compiled-query.js +2 -2
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +8 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +37 -2
- package/dist/cjs/query-compiler/query-compiler.d.ts +1 -1
- package/dist/cjs/query-creator.d.ts +4 -2
- package/dist/cjs/schema/alter-column-builder.d.ts +11 -5
- package/dist/cjs/schema/alter-column-builder.js +19 -21
- package/dist/cjs/schema/alter-table-builder.d.ts +0 -4
- package/dist/cjs/schema/alter-table-builder.js +2 -9
- package/dist/cjs/schema/column-definition-builder.d.ts +1 -1
- package/dist/cjs/schema/column-definition-builder.js +1 -2
- package/dist/cjs/schema/create-index-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.d.ts +2 -6
- package/dist/cjs/schema/create-table-builder.js +0 -6
- package/dist/cjs/schema/schema.d.ts +1 -2
- package/dist/cjs/schema/schema.js +1 -2
- package/dist/cjs/util/column-type.d.ts +22 -18
- package/dist/cjs/util/explainable.d.ts +1 -1
- package/dist/cjs/util/infer-result.d.ts +2 -2
- package/dist/cjs/util/log.d.ts +4 -4
- package/dist/cjs/util/require-all-props.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +19 -19
- package/dist/esm/dialect/database-introspector.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -2
- package/dist/esm/dialect/mysql/mysql-driver.js +5 -1
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +1 -4
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -1
- package/dist/esm/driver/database-connection.d.ts +6 -0
- package/dist/esm/driver/driver.d.ts +1 -1
- package/dist/esm/expression/expression-builder.d.ts +207 -108
- package/dist/esm/expression/expression-builder.js +30 -9
- package/dist/esm/expression/expression-wrapper.d.ts +296 -5
- package/dist/esm/expression/expression-wrapper.js +67 -1
- package/dist/esm/helpers/postgres.d.ts +30 -18
- package/dist/esm/helpers/postgres.js +30 -18
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/kysely.d.ts +23 -13
- package/dist/esm/kysely.js +13 -9
- package/dist/esm/operation-node/alter-column-node.d.ts +2 -3
- package/dist/esm/operation-node/alter-column-node.js +2 -7
- package/dist/esm/operation-node/alter-table-node.d.ts +2 -2
- package/dist/esm/operation-node/column-definition-node.d.ts +1 -1
- package/dist/esm/operation-node/constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/create-index-node.d.ts +2 -2
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/create-table-node.d.ts +2 -2
- package/dist/esm/operation-node/create-type-node.d.ts +1 -1
- package/dist/esm/operation-node/create-view-node.d.ts +1 -1
- package/dist/esm/operation-node/data-type-node.d.ts +2 -2
- package/dist/esm/operation-node/drop-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-schema-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-table-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-view-node.d.ts +1 -1
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/generated-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -1
- package/dist/esm/operation-node/join-node.d.ts +1 -2
- package/dist/esm/operation-node/join-node.js +0 -8
- package/dist/esm/operation-node/json-operator-chain-node.d.ts +16 -0
- package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
- package/dist/esm/operation-node/json-path-leg-node.d.ts +14 -0
- package/dist/esm/operation-node/json-path-leg-node.js +17 -0
- package/dist/esm/operation-node/json-path-node.d.ts +16 -0
- package/dist/esm/operation-node/json-path-node.js +23 -0
- package/dist/esm/operation-node/json-reference-node.d.ts +17 -0
- package/dist/esm/operation-node/json-reference-node.js +23 -0
- package/dist/esm/operation-node/on-conflict-node.d.ts +1 -1
- package/dist/esm/operation-node/on-duplicate-key-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +8 -0
- package/dist/esm/operation-node/operation-node-transformer.js +33 -1
- package/dist/esm/operation-node/operation-node-visitor.d.ts +8 -0
- package/dist/esm/operation-node/operation-node-visitor.js +4 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +13 -9
- package/dist/esm/operation-node/operator-node.js +10 -1
- package/dist/esm/operation-node/query-node.d.ts +9 -10
- package/dist/esm/operation-node/query-node.js +0 -8
- package/dist/esm/operation-node/reference-node.d.ts +2 -2
- package/dist/esm/operation-node/reference-node.js +1 -1
- package/dist/esm/operation-node/references-node.d.ts +1 -1
- package/dist/esm/operation-node/select-modifier-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -8
- package/dist/esm/operation-node/selection-node.d.ts +1 -1
- package/dist/esm/operation-node/set-operation-node.d.ts +1 -1
- package/dist/esm/operation-node/simple-reference-expression-node.d.ts +1 -1
- package/dist/esm/operation-node/update-query-node.d.ts +1 -1
- package/dist/esm/operation-node/values-node.d.ts +1 -1
- package/dist/esm/operation-node/with-node.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.d.ts +9 -12
- package/dist/esm/parser/binary-operation-parser.js +38 -114
- package/dist/esm/parser/coalesce-parser.d.ts +1 -1
- package/dist/esm/parser/data-type-parser.d.ts +1 -1
- package/dist/esm/parser/default-value-parser.d.ts +1 -1
- package/dist/esm/parser/expression-parser.d.ts +5 -5
- package/dist/esm/parser/group-by-parser.d.ts +2 -2
- package/dist/esm/parser/insert-values-parser.d.ts +4 -4
- package/dist/esm/parser/join-parser.d.ts +4 -4
- package/dist/esm/parser/order-by-parser.d.ts +3 -3
- package/dist/esm/parser/partition-by-parser.d.ts +2 -2
- package/dist/esm/parser/reference-parser.d.ts +13 -9
- package/dist/esm/parser/reference-parser.js +26 -15
- package/dist/esm/parser/returning-parser.d.ts +2 -2
- package/dist/esm/parser/select-parser.d.ts +10 -10
- package/dist/esm/parser/table-parser.d.ts +12 -12
- package/dist/esm/parser/unary-operation-parser.d.ts +1 -1
- package/dist/esm/parser/update-set-parser.d.ts +3 -3
- package/dist/esm/parser/update-set-parser.js +2 -4
- package/dist/esm/parser/value-parser.d.ts +4 -4
- package/dist/esm/parser/with-parser.d.ts +12 -8
- package/dist/esm/plugin/camel-case/camel-case.d.ts +1 -1
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +29 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +22 -6
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +5 -38
- package/dist/esm/query-builder/aggregate-function-builder.js +5 -60
- package/dist/esm/query-builder/case-builder.d.ts +11 -11
- package/dist/esm/query-builder/case-builder.js +3 -3
- package/dist/esm/query-builder/delete-query-builder.d.ts +84 -59
- package/dist/esm/query-builder/delete-query-builder.js +2 -63
- package/dist/esm/query-builder/delete-result.d.ts +1 -2
- package/dist/esm/query-builder/delete-result.js +2 -8
- package/dist/esm/query-builder/function-module.d.ts +44 -66
- package/dist/esm/query-builder/having-interface.d.ts +2 -35
- package/dist/esm/query-builder/insert-query-builder.d.ts +58 -47
- package/dist/esm/query-builder/insert-query-builder.js +17 -34
- package/dist/esm/query-builder/insert-result.d.ts +3 -4
- package/dist/esm/query-builder/insert-result.js +5 -14
- package/dist/esm/query-builder/join-builder.d.ts +2 -35
- package/dist/esm/query-builder/join-builder.js +2 -57
- package/dist/esm/query-builder/json-path-builder.d.ts +212 -0
- package/dist/esm/query-builder/json-path-builder.js +186 -0
- package/dist/esm/query-builder/no-result-error.d.ts +1 -1
- package/dist/esm/query-builder/on-conflict-builder.d.ts +144 -73
- package/dist/esm/query-builder/on-conflict-builder.js +3 -112
- package/dist/esm/query-builder/over-builder.d.ts +2 -2
- package/dist/esm/query-builder/over-builder.js +1 -1
- package/dist/esm/query-builder/returning-interface.d.ts +1 -1
- package/dist/esm/query-builder/select-query-builder.d.ts +139 -134
- package/dist/esm/query-builder/select-query-builder.js +25 -134
- package/dist/esm/query-builder/update-query-builder.d.ts +89 -62
- package/dist/esm/query-builder/update-query-builder.js +4 -64
- package/dist/esm/query-builder/update-result.d.ts +3 -3
- package/dist/esm/query-builder/update-result.js +5 -9
- package/dist/esm/query-builder/where-interface.d.ts +73 -38
- package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
- package/dist/esm/query-compiler/compiled-query.js +2 -2
- package/dist/esm/query-compiler/default-query-compiler.d.ts +8 -0
- package/dist/esm/query-compiler/default-query-compiler.js +37 -2
- package/dist/esm/query-compiler/query-compiler.d.ts +1 -1
- package/dist/esm/query-creator.d.ts +4 -2
- package/dist/esm/schema/alter-column-builder.d.ts +11 -5
- package/dist/esm/schema/alter-column-builder.js +19 -21
- package/dist/esm/schema/alter-table-builder.d.ts +0 -4
- package/dist/esm/schema/alter-table-builder.js +2 -9
- package/dist/esm/schema/column-definition-builder.d.ts +1 -1
- package/dist/esm/schema/column-definition-builder.js +1 -2
- package/dist/esm/schema/create-index-builder.js +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +2 -6
- package/dist/esm/schema/create-table-builder.js +0 -6
- package/dist/esm/schema/schema.d.ts +1 -2
- package/dist/esm/schema/schema.js +1 -2
- package/dist/esm/util/column-type.d.ts +22 -18
- package/dist/esm/util/explainable.d.ts +1 -1
- package/dist/esm/util/infer-result.d.ts +2 -2
- package/dist/esm/util/log.d.ts +4 -4
- package/dist/esm/util/require-all-props.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +19 -19
- package/package.json +25 -23
- package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-having-expression-builder.js +0 -2
- package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-on-expression-builder.js +0 -2
- package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +0 -62
- package/dist/cjs/query-builder/deprecated-where-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-having-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-on-expression-builder.js +0 -2
- package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +0 -62
- package/dist/esm/query-builder/deprecated-where-expression-builder.js +0 -2
package/dist/cjs/kysely.d.ts
CHANGED
|
@@ -89,16 +89,14 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
89
89
|
* calls.
|
|
90
90
|
*
|
|
91
91
|
* ```ts
|
|
92
|
-
* const { count } = db.fn
|
|
93
|
-
*
|
|
94
92
|
* await db.selectFrom('person')
|
|
95
93
|
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
96
|
-
* .select([
|
|
94
|
+
* .select((eb) => [
|
|
97
95
|
* 'person.id',
|
|
98
|
-
* count('pet.id').as('pet_count')
|
|
96
|
+
* eb.fn.count('pet.id').as('pet_count')
|
|
99
97
|
* ])
|
|
100
98
|
* .groupBy('person.id')
|
|
101
|
-
* .having(count('pet.id'), '>', 10)
|
|
99
|
+
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
|
|
102
100
|
* .execute()
|
|
103
101
|
* ```
|
|
104
102
|
*
|
|
@@ -129,23 +127,29 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
129
127
|
*
|
|
130
128
|
* ### Examples
|
|
131
129
|
*
|
|
130
|
+
* <!-- siteExample("transactions", "Simple transaction", 10) -->
|
|
131
|
+
*
|
|
132
|
+
* This example inserts two rows in a transaction. If an error is thrown inside
|
|
133
|
+
* the callback passed to the `execute` method, the transaction is rolled back.
|
|
134
|
+
* Otherwise it's committed.
|
|
135
|
+
*
|
|
132
136
|
* ```ts
|
|
133
137
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
134
138
|
* const jennifer = await trx.insertInto('person')
|
|
135
139
|
* .values({
|
|
136
140
|
* first_name: 'Jennifer',
|
|
137
141
|
* last_name: 'Aniston',
|
|
142
|
+
* age: 40,
|
|
138
143
|
* })
|
|
139
144
|
* .returning('id')
|
|
140
145
|
* .executeTakeFirstOrThrow()
|
|
141
146
|
*
|
|
142
|
-
* await someFunction(trx, jennifer)
|
|
143
|
-
*
|
|
144
147
|
* return await trx.insertInto('pet')
|
|
145
148
|
* .values({
|
|
146
|
-
*
|
|
149
|
+
* owner_id: jennifer.id,
|
|
147
150
|
* name: 'Catto',
|
|
148
|
-
* species: 'cat'
|
|
151
|
+
* species: 'cat',
|
|
152
|
+
* is_favorite: false,
|
|
149
153
|
* })
|
|
150
154
|
* .returningAll()
|
|
151
155
|
* .executeTakeFirst()
|
|
@@ -274,23 +278,29 @@ export declare class Transaction<DB> extends Kysely<DB> {
|
|
|
274
278
|
*
|
|
275
279
|
* ### Examples
|
|
276
280
|
*
|
|
281
|
+
* <!-- siteExample("transactions", "Simple transaction", 10) -->
|
|
282
|
+
*
|
|
283
|
+
* This example inserts two rows in a transaction. If an error is thrown inside
|
|
284
|
+
* the callback passed to the `execute` method, the transaction is rolled back.
|
|
285
|
+
* Otherwise it's committed.
|
|
286
|
+
*
|
|
277
287
|
* ```ts
|
|
278
288
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
279
289
|
* const jennifer = await trx.insertInto('person')
|
|
280
290
|
* .values({
|
|
281
291
|
* first_name: 'Jennifer',
|
|
282
292
|
* last_name: 'Aniston',
|
|
293
|
+
* age: 40,
|
|
283
294
|
* })
|
|
284
295
|
* .returning('id')
|
|
285
296
|
* .executeTakeFirstOrThrow()
|
|
286
297
|
*
|
|
287
|
-
* await someFunction(trx, jennifer)
|
|
288
|
-
*
|
|
289
298
|
* return await trx.insertInto('pet')
|
|
290
299
|
* .values({
|
|
291
|
-
*
|
|
300
|
+
* owner_id: jennifer.id,
|
|
292
301
|
* name: 'Catto',
|
|
293
|
-
* species: 'cat'
|
|
302
|
+
* species: 'cat',
|
|
303
|
+
* is_favorite: false,
|
|
294
304
|
* })
|
|
295
305
|
* .returningAll()
|
|
296
306
|
* .executeTakeFirst()
|
package/dist/cjs/kysely.js
CHANGED
|
@@ -122,16 +122,14 @@ class Kysely extends query_creator_js_1.QueryCreator {
|
|
|
122
122
|
* calls.
|
|
123
123
|
*
|
|
124
124
|
* ```ts
|
|
125
|
-
* const { count } = db.fn
|
|
126
|
-
*
|
|
127
125
|
* await db.selectFrom('person')
|
|
128
126
|
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
129
|
-
* .select([
|
|
127
|
+
* .select((eb) => [
|
|
130
128
|
* 'person.id',
|
|
131
|
-
* count('pet.id').as('pet_count')
|
|
129
|
+
* eb.fn.count('pet.id').as('pet_count')
|
|
132
130
|
* ])
|
|
133
131
|
* .groupBy('person.id')
|
|
134
|
-
* .having(count('pet.id'), '>', 10)
|
|
132
|
+
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
|
|
135
133
|
* .execute()
|
|
136
134
|
* ```
|
|
137
135
|
*
|
|
@@ -164,23 +162,29 @@ class Kysely extends query_creator_js_1.QueryCreator {
|
|
|
164
162
|
*
|
|
165
163
|
* ### Examples
|
|
166
164
|
*
|
|
165
|
+
* <!-- siteExample("transactions", "Simple transaction", 10) -->
|
|
166
|
+
*
|
|
167
|
+
* This example inserts two rows in a transaction. If an error is thrown inside
|
|
168
|
+
* the callback passed to the `execute` method, the transaction is rolled back.
|
|
169
|
+
* Otherwise it's committed.
|
|
170
|
+
*
|
|
167
171
|
* ```ts
|
|
168
172
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
169
173
|
* const jennifer = await trx.insertInto('person')
|
|
170
174
|
* .values({
|
|
171
175
|
* first_name: 'Jennifer',
|
|
172
176
|
* last_name: 'Aniston',
|
|
177
|
+
* age: 40,
|
|
173
178
|
* })
|
|
174
179
|
* .returning('id')
|
|
175
180
|
* .executeTakeFirstOrThrow()
|
|
176
181
|
*
|
|
177
|
-
* await someFunction(trx, jennifer)
|
|
178
|
-
*
|
|
179
182
|
* return await trx.insertInto('pet')
|
|
180
183
|
* .values({
|
|
181
|
-
*
|
|
184
|
+
* owner_id: jennifer.id,
|
|
182
185
|
* name: 'Catto',
|
|
183
|
-
* species: 'cat'
|
|
186
|
+
* species: 'cat',
|
|
187
|
+
* is_favorite: false,
|
|
184
188
|
* })
|
|
185
189
|
* .returningAll()
|
|
186
190
|
* .executeTakeFirst()
|
|
@@ -31,8 +31,8 @@ class FileMigrationProvider {
|
|
|
31
31
|
(fileName.endsWith('.ts') && !fileName.endsWith('.d.ts')) ||
|
|
32
32
|
fileName.endsWith('.mjs') ||
|
|
33
33
|
(fileName.endsWith('.mts') && !fileName.endsWith('.d.mts'))) {
|
|
34
|
-
const migration = await Promise.resolve(
|
|
35
|
-
/* webpackIgnore: true */ this.#props.path.join(this.#props.migrationFolder, fileName)));
|
|
34
|
+
const migration = await Promise.resolve(`${
|
|
35
|
+
/* webpackIgnore: true */ this.#props.path.join(this.#props.migrationFolder, fileName)}`).then(s => require(s));
|
|
36
36
|
const migrationKey = fileName.substring(0, fileName.lastIndexOf('.'));
|
|
37
37
|
// Handle esModuleInterop export's `default` prop...
|
|
38
38
|
if (isMigration(migration?.default)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { ColumnNode } from './column-node.js';
|
|
3
3
|
import { RawNode } from './raw-node.js';
|
|
4
|
-
export
|
|
4
|
+
export type AlterColumnNodeProps = Omit<AlterColumnNode, 'kind' | 'column'>;
|
|
5
5
|
export interface AlterColumnNode extends OperationNode {
|
|
6
6
|
readonly kind: 'AlterColumnNode';
|
|
7
7
|
readonly column: ColumnNode;
|
|
@@ -17,6 +17,5 @@ export interface AlterColumnNode extends OperationNode {
|
|
|
17
17
|
*/
|
|
18
18
|
export declare const AlterColumnNode: Readonly<{
|
|
19
19
|
is(node: OperationNode): node is AlterColumnNode;
|
|
20
|
-
create(column: string): AlterColumnNode;
|
|
21
|
-
cloneWith(node: AlterColumnNode, props: AlterColumnNodeProps): AlterColumnNode;
|
|
20
|
+
create<T extends "dataType" | "dataTypeExpression" | "setDefault" | "dropDefault" | "setNotNull" | "dropNotNull">(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): AlterColumnNode;
|
|
22
21
|
}>;
|
|
@@ -10,16 +10,11 @@ exports.AlterColumnNode = (0, object_utils_js_1.freeze)({
|
|
|
10
10
|
is(node) {
|
|
11
11
|
return node.kind === 'AlterColumnNode';
|
|
12
12
|
},
|
|
13
|
-
create(column) {
|
|
13
|
+
create(column, prop, value) {
|
|
14
14
|
return (0, object_utils_js_1.freeze)({
|
|
15
15
|
kind: 'AlterColumnNode',
|
|
16
16
|
column: column_node_js_1.ColumnNode.create(column),
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
cloneWith(node, props) {
|
|
20
|
-
return (0, object_utils_js_1.freeze)({
|
|
21
|
-
...node,
|
|
22
|
-
...props,
|
|
17
|
+
[prop]: value,
|
|
23
18
|
});
|
|
24
19
|
},
|
|
25
20
|
});
|
|
@@ -8,8 +8,8 @@ import { AlterColumnNode } from './alter-column-node.js';
|
|
|
8
8
|
import { AddConstraintNode } from './add-constraint-node.js';
|
|
9
9
|
import { DropConstraintNode } from './drop-constraint-node.js';
|
|
10
10
|
import { ModifyColumnNode } from './modify-column-node.js';
|
|
11
|
-
export
|
|
12
|
-
export
|
|
11
|
+
export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint'>;
|
|
12
|
+
export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
|
|
13
13
|
export interface AlterTableNode extends OperationNode {
|
|
14
14
|
readonly kind: 'AlterTableNode';
|
|
15
15
|
readonly table: TableNode;
|
|
@@ -4,7 +4,7 @@ import { DefaultValueNode } from './default-value-node.js';
|
|
|
4
4
|
import { GeneratedNode } from './generated-node.js';
|
|
5
5
|
import { OperationNode } from './operation-node.js';
|
|
6
6
|
import { ReferencesNode } from './references-node.js';
|
|
7
|
-
export
|
|
7
|
+
export type ColumnDefinitionNodeProps = Omit<Partial<ColumnDefinitionNode>, 'kind' | 'dataType'>;
|
|
8
8
|
export interface ColumnDefinitionNode extends OperationNode {
|
|
9
9
|
readonly kind: 'ColumnDefinitionNode';
|
|
10
10
|
readonly column: ColumnNode;
|
|
@@ -2,4 +2,4 @@ import { CheckConstraintNode } from './check-constraint-node.js';
|
|
|
2
2
|
import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js';
|
|
3
3
|
import { PrimaryKeyConstraintNode } from './primary-constraint-node.js';
|
|
4
4
|
import { UniqueConstraintNode } from './unique-constraint-node.js';
|
|
5
|
-
export
|
|
5
|
+
export type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode;
|
|
@@ -3,8 +3,8 @@ import { OperationNode } from './operation-node.js';
|
|
|
3
3
|
import { RawNode } from './raw-node.js';
|
|
4
4
|
import { TableNode } from './table-node.js';
|
|
5
5
|
import { WhereNode } from './where-node.js';
|
|
6
|
-
export
|
|
7
|
-
export
|
|
6
|
+
export type CreateIndexNodeProps = Omit<CreateIndexNode, 'kind' | 'name'>;
|
|
7
|
+
export type IndexType = 'btree' | 'hash' | 'gist' | 'gin';
|
|
8
8
|
export interface CreateIndexNode extends OperationNode {
|
|
9
9
|
readonly kind: 'CreateIndexNode';
|
|
10
10
|
readonly name: IdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IdentifierNode } from './identifier-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type CreateSchemaNodeParams = Omit<Partial<CreateSchemaNode>, 'kind' | 'schema'>;
|
|
4
4
|
export interface CreateSchemaNode extends OperationNode {
|
|
5
5
|
readonly kind: 'CreateSchemaNode';
|
|
6
6
|
readonly schema: IdentifierNode;
|
|
@@ -4,8 +4,8 @@ import { ConstraintNode } from './constraint-node.js';
|
|
|
4
4
|
import { ColumnDefinitionNode } from './column-definition-node.js';
|
|
5
5
|
import { ArrayItemType } from '../util/type-utils.js';
|
|
6
6
|
export declare const ON_COMMIT_ACTIONS: string[];
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type OnCommitAction = ArrayItemType<typeof ON_COMMIT_ACTIONS>;
|
|
8
|
+
export type CreateTableNodeParams = Omit<CreateTableNode, 'kind' | 'table' | 'columns' | 'constraints' | 'frontModifiers' | 'endModifiers'>;
|
|
9
9
|
export interface CreateTableNode extends OperationNode {
|
|
10
10
|
readonly kind: 'CreateTableNode';
|
|
11
11
|
readonly table: TableNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
3
|
import { ValueListNode } from './value-list-node.js';
|
|
4
|
-
export
|
|
4
|
+
export type CreateTypeNodeParams = Omit<Partial<CreateTypeNode>, 'kind'>;
|
|
5
5
|
export interface CreateTypeNode extends OperationNode {
|
|
6
6
|
readonly kind: 'CreateTypeNode';
|
|
7
7
|
readonly name: SchemableIdentifierNode;
|
|
@@ -3,7 +3,7 @@ import { OperationNode } from './operation-node.js';
|
|
|
3
3
|
import { RawNode } from './raw-node.js';
|
|
4
4
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
5
5
|
import { SelectQueryNode } from './select-query-node.js';
|
|
6
|
-
export
|
|
6
|
+
export type CreateViewNodeParams = Omit<Partial<CreateViewNode>, 'kind' | 'name'>;
|
|
7
7
|
export interface CreateViewNode extends OperationNode {
|
|
8
8
|
readonly kind: 'CreateViewNode';
|
|
9
9
|
readonly name: SchemableIdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob';
|
|
3
|
+
export type DataTypeParams = Omit<DataTypeNode, 'kind' | 'dataType'>;
|
|
4
4
|
export interface DataTypeNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DataTypeNode';
|
|
6
6
|
readonly dataType: ColumnDataType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropConstraintNodeProps = Omit<DropConstraintNode, 'kind' | 'constraintName'>;
|
|
4
4
|
export interface DropConstraintNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropConstraintNode';
|
|
6
6
|
readonly constraintName: IdentifierNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
3
|
import { TableNode } from './table-node.js';
|
|
4
|
-
export
|
|
4
|
+
export type DropIndexNodeProps = Omit<DropIndexNode, 'kind' | 'name'>;
|
|
5
5
|
export interface DropIndexNode extends OperationNode {
|
|
6
6
|
readonly kind: 'DropIndexNode';
|
|
7
7
|
readonly name: SchemableIdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IdentifierNode } from './identifier-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropSchemaNodeParams = Omit<Partial<DropSchemaNode>, 'kind' | 'schema'>;
|
|
4
4
|
export interface DropSchemaNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropSchemaNode';
|
|
6
6
|
readonly schema: IdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { TableNode } from './table-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropTablexNodeParams = Omit<Partial<DropTableNode>, 'kind' | 'table'>;
|
|
4
4
|
export interface DropTableNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropTableNode';
|
|
6
6
|
readonly table: TableNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropTypeNodeParams = Omit<Partial<DropTypeNode>, 'kind' | 'name'>;
|
|
4
4
|
export interface DropTypeNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropTypeNode';
|
|
6
6
|
readonly name: SchemableIdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropViewNodeParams = Omit<Partial<DropViewNode>, 'kind' | 'name'>;
|
|
4
4
|
export interface DropViewNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropViewNode';
|
|
6
6
|
readonly name: SchemableIdentifierNode;
|
|
@@ -3,7 +3,7 @@ import { IdentifierNode } from './identifier-node.js';
|
|
|
3
3
|
import { OperationNode } from './operation-node.js';
|
|
4
4
|
import { OnModifyForeignAction, ReferencesNode } from './references-node.js';
|
|
5
5
|
import { TableNode } from './table-node.js';
|
|
6
|
-
export
|
|
6
|
+
export type ForeignKeyConstraintNodeProps = Omit<ForeignKeyConstraintNode, 'kind' | 'columns' | 'references'>;
|
|
7
7
|
export interface ForeignKeyConstraintNode extends OperationNode {
|
|
8
8
|
readonly kind: 'ForeignKeyConstraintNode';
|
|
9
9
|
readonly columns: ReadonlyArray<ColumnNode>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export
|
|
2
|
+
export type GeneratedNodeParams = Omit<GeneratedNode, 'kind' | 'expression'>;
|
|
3
3
|
export interface GeneratedNode extends OperationNode {
|
|
4
4
|
readonly kind: 'GeneratedNode';
|
|
5
5
|
readonly byDefault?: boolean;
|
|
@@ -6,7 +6,7 @@ import { OperationNode } from './operation-node.js';
|
|
|
6
6
|
import { ReturningNode } from './returning-node.js';
|
|
7
7
|
import { TableNode } from './table-node.js';
|
|
8
8
|
import { WithNode } from './with-node.js';
|
|
9
|
-
export
|
|
9
|
+
export type InsertQueryNodeProps = Omit<InsertQueryNode, 'kind' | 'into'>;
|
|
10
10
|
export interface InsertQueryNode extends OperationNode {
|
|
11
11
|
readonly kind: 'InsertQueryNode';
|
|
12
12
|
readonly into: TableNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnNode } from './on-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin';
|
|
4
4
|
export interface JoinNode extends OperationNode {
|
|
5
5
|
readonly kind: 'JoinNode';
|
|
6
6
|
readonly joinType: JoinType;
|
|
@@ -15,5 +15,4 @@ export declare const JoinNode: Readonly<{
|
|
|
15
15
|
create(joinType: JoinType, table: OperationNode): JoinNode;
|
|
16
16
|
createWithOn(joinType: JoinType, table: OperationNode, on: OperationNode): JoinNode;
|
|
17
17
|
cloneWithOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
18
|
-
cloneWithOrOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
19
18
|
}>;
|
|
@@ -34,12 +34,4 @@ exports.JoinNode = (0, object_utils_js_1.freeze)({
|
|
|
34
34
|
: on_node_js_1.OnNode.create(operation),
|
|
35
35
|
});
|
|
36
36
|
},
|
|
37
|
-
cloneWithOrOn(joinNode, operation) {
|
|
38
|
-
return (0, object_utils_js_1.freeze)({
|
|
39
|
-
...joinNode,
|
|
40
|
-
on: joinNode.on
|
|
41
|
-
? on_node_js_1.OnNode.cloneWithOperation(joinNode.on, 'Or', operation)
|
|
42
|
-
: on_node_js_1.OnNode.create(operation),
|
|
43
|
-
});
|
|
44
|
-
},
|
|
45
37
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { OperatorNode } from './operator-node.js';
|
|
3
|
+
import { ValueNode } from './value-node.js';
|
|
4
|
+
export interface JSONOperatorChainNode extends OperationNode {
|
|
5
|
+
readonly kind: 'JSONOperatorChainNode';
|
|
6
|
+
readonly operator: OperatorNode;
|
|
7
|
+
readonly values: readonly ValueNode[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const JSONOperatorChainNode: Readonly<{
|
|
13
|
+
is(node: OperationNode): node is JSONOperatorChainNode;
|
|
14
|
+
create(operator: OperatorNode): JSONOperatorChainNode;
|
|
15
|
+
cloneWithValue(node: JSONOperatorChainNode, value: ValueNode): JSONOperatorChainNode;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONOperatorChainNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONOperatorChainNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONOperatorChainNode';
|
|
11
|
+
},
|
|
12
|
+
create(operator) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONOperatorChainNode',
|
|
15
|
+
operator,
|
|
16
|
+
values: (0, object_utils_js_1.freeze)([]),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithValue(node, value) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...node,
|
|
22
|
+
values: (0, object_utils_js_1.freeze)([...node.values, value]),
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export type JSONPathLegType = 'Member' | 'ArrayLocation';
|
|
3
|
+
export interface JSONPathLegNode extends OperationNode {
|
|
4
|
+
readonly kind: 'JSONPathLegNode';
|
|
5
|
+
readonly type: JSONPathLegType;
|
|
6
|
+
readonly value: string | number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const JSONPathLegNode: Readonly<{
|
|
12
|
+
is(node: OperationNode): node is JSONPathLegNode;
|
|
13
|
+
create(type: JSONPathLegType, value: string | number): JSONPathLegNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONPathLegNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONPathLegNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONPathLegNode';
|
|
11
|
+
},
|
|
12
|
+
create(type, value) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONPathLegNode',
|
|
15
|
+
type,
|
|
16
|
+
value,
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JSONPathLegNode } from './json-path-leg-node.js';
|
|
2
|
+
import { OperationNode } from './operation-node.js';
|
|
3
|
+
import { OperatorNode } from './operator-node.js';
|
|
4
|
+
export interface JSONPathNode extends OperationNode {
|
|
5
|
+
readonly kind: 'JSONPathNode';
|
|
6
|
+
readonly inOperator?: OperatorNode;
|
|
7
|
+
readonly pathLegs: ReadonlyArray<JSONPathLegNode>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const JSONPathNode: Readonly<{
|
|
13
|
+
is(node: OperationNode): node is JSONPathNode;
|
|
14
|
+
create(inOperator?: OperatorNode): JSONPathNode;
|
|
15
|
+
cloneWithLeg(jsonPathNode: JSONPathNode, pathLeg: JSONPathLegNode): JSONPathNode;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONPathNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONPathNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONPathNode';
|
|
11
|
+
},
|
|
12
|
+
create(inOperator) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONPathNode',
|
|
15
|
+
inOperator,
|
|
16
|
+
pathLegs: (0, object_utils_js_1.freeze)([]),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithLeg(jsonPathNode, pathLeg) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...jsonPathNode,
|
|
22
|
+
pathLegs: (0, object_utils_js_1.freeze)([...jsonPathNode.pathLegs, pathLeg]),
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
|
|
2
|
+
import { JSONPathNode } from './json-path-node.js';
|
|
3
|
+
import { OperationNode } from './operation-node.js';
|
|
4
|
+
import { ReferenceNode } from './reference-node.js';
|
|
5
|
+
export interface JSONReferenceNode extends OperationNode {
|
|
6
|
+
readonly kind: 'JSONReferenceNode';
|
|
7
|
+
readonly reference: ReferenceNode;
|
|
8
|
+
readonly traversal: JSONPathNode | JSONOperatorChainNode;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const JSONReferenceNode: Readonly<{
|
|
14
|
+
is(node: OperationNode): node is JSONReferenceNode;
|
|
15
|
+
create(reference: ReferenceNode, traversal: JSONPathNode | JSONOperatorChainNode): JSONReferenceNode;
|
|
16
|
+
cloneWithTraversal(node: JSONReferenceNode, traversal: JSONPathNode | JSONOperatorChainNode): JSONReferenceNode;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONReferenceNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONReferenceNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONReferenceNode';
|
|
11
|
+
},
|
|
12
|
+
create(reference, traversal) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONReferenceNode',
|
|
15
|
+
reference,
|
|
16
|
+
traversal,
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithTraversal(node, traversal) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...node,
|
|
22
|
+
traversal,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -3,7 +3,7 @@ import { ColumnUpdateNode } from './column-update-node.js';
|
|
|
3
3
|
import { IdentifierNode } from './identifier-node.js';
|
|
4
4
|
import { OperationNode } from './operation-node.js';
|
|
5
5
|
import { WhereNode } from './where-node.js';
|
|
6
|
-
export
|
|
6
|
+
export type OnConflictNodeProps = Omit<OnConflictNode, 'kind' | 'indexWhere' | 'updateWhere'>;
|
|
7
7
|
export interface OnConflictNode extends OperationNode {
|
|
8
8
|
readonly kind: 'OnConflictNode';
|
|
9
9
|
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ColumnUpdateNode } from './column-update-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type OnDuplicateKeyNodeProps = Omit<OnDuplicateKeyNode, 'kind'>;
|
|
4
4
|
export interface OnDuplicateKeyNode extends OperationNode {
|
|
5
5
|
readonly kind: 'OnDuplicateKeyNode';
|
|
6
6
|
readonly updates: ReadonlyArray<ColumnUpdateNode>;
|
|
@@ -80,6 +80,10 @@ import { UsingNode } from './using-node.js';
|
|
|
80
80
|
import { FunctionNode } from './function-node.js';
|
|
81
81
|
import { CaseNode } from './case-node.js';
|
|
82
82
|
import { WhenNode } from './when-node.js';
|
|
83
|
+
import { JSONReferenceNode } from './json-reference-node.js';
|
|
84
|
+
import { JSONPathNode } from './json-path-node.js';
|
|
85
|
+
import { JSONPathLegNode } from './json-path-leg-node.js';
|
|
86
|
+
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
|
|
83
87
|
/**
|
|
84
88
|
* Transforms an operation node tree into another one.
|
|
85
89
|
*
|
|
@@ -189,6 +193,10 @@ export declare class OperationNodeTransformer {
|
|
|
189
193
|
protected transformFunction(node: FunctionNode): FunctionNode;
|
|
190
194
|
protected transformCase(node: CaseNode): CaseNode;
|
|
191
195
|
protected transformWhen(node: WhenNode): WhenNode;
|
|
196
|
+
protected transformJSONReference(node: JSONReferenceNode): JSONReferenceNode;
|
|
197
|
+
protected transformJSONPath(node: JSONPathNode): JSONPathNode;
|
|
198
|
+
protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode;
|
|
199
|
+
protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode;
|
|
192
200
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
193
201
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
194
202
|
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
|