kysely 0.24.2 → 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 +31 -567
- package/dist/cjs/dialect/database-introspector.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -1
- 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 -1
- 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/driver/runtime-driver.js +6 -6
- package/dist/cjs/dynamic/dynamic.d.ts +1 -1
- package/dist/cjs/dynamic/dynamic.js +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +263 -109
- package/dist/cjs/expression/expression-builder.js +38 -7
- package/dist/cjs/expression/expression-wrapper.d.ts +296 -5
- package/dist/cjs/expression/expression-wrapper.js +70 -2
- package/dist/cjs/helpers/mysql.d.ts +3 -3
- package/dist/cjs/helpers/mysql.js +2 -2
- package/dist/cjs/helpers/postgres.d.ts +31 -19
- package/dist/cjs/helpers/postgres.js +30 -18
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/kysely.d.ts +42 -15
- package/dist/cjs/kysely.js +41 -10
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -7
- package/dist/cjs/operation-node/aggregate-function-node.js +1 -1
- package/dist/cjs/operation-node/alter-column-node.d.ts +3 -5
- package/dist/cjs/operation-node/alter-column-node.js +2 -7
- package/dist/cjs/operation-node/alter-table-node.d.ts +3 -3
- package/dist/cjs/operation-node/alter-table-node.js +1 -2
- package/dist/cjs/operation-node/case-node.d.ts +19 -0
- package/dist/cjs/operation-node/case-node.js +42 -0
- 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 +4 -3
- package/dist/cjs/operation-node/create-index-node.js +6 -0
- 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 +12 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +53 -3
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +6 -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/when-node.d.ts +14 -0
- package/dist/cjs/operation-node/when-node.js +24 -0
- package/dist/cjs/operation-node/with-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.d.ts +9 -11
- package/dist/cjs/parser/binary-operation-parser.js +40 -103
- 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 +6 -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 +4 -3
- package/dist/cjs/parser/order-by-parser.js +5 -1
- package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
- package/dist/cjs/parser/reference-parser.d.ts +16 -8
- package/dist/cjs/parser/reference-parser.js +43 -16
- package/dist/cjs/parser/returning-parser.d.ts +2 -2
- package/dist/cjs/parser/select-parser.d.ts +9 -9
- package/dist/cjs/parser/table-parser.d.ts +14 -13
- 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 +14 -9
- 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 +111 -0
- package/dist/cjs/query-builder/case-builder.js +75 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +130 -63
- package/dist/cjs/query-builder/delete-query-builder.js +42 -59
- 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 +78 -69
- package/dist/cjs/query-builder/function-module.js +12 -16
- package/dist/cjs/query-builder/having-interface.d.ts +2 -35
- package/dist/cjs/query-builder/insert-query-builder.d.ts +99 -47
- package/dist/cjs/query-builder/insert-query-builder.js +57 -26
- 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 +184 -138
- package/dist/cjs/query-builder/select-query-builder.js +64 -130
- package/dist/cjs/query-builder/update-query-builder.d.ts +143 -71
- package/dist/cjs/query-builder/update-query-builder.js +47 -60
- 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 +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +67 -5
- 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 +13 -7
- package/dist/cjs/schema/alter-column-builder.js +20 -22
- 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.d.ts +49 -7
- package/dist/cjs/schema/create-index-builder.js +52 -14
- 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 +2 -3
- package/dist/cjs/util/column-type.d.ts +21 -16
- 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 +6 -6
- package/dist/cjs/util/log.js +4 -4
- package/dist/cjs/util/object-utils.d.ts +2 -1
- package/dist/cjs/util/require-all-props.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +54 -40
- package/dist/esm/dialect/database-introspector.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -1
- 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 -1
- 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/driver/runtime-driver.js +6 -6
- package/dist/esm/dynamic/dynamic.d.ts +1 -1
- package/dist/esm/dynamic/dynamic.js +1 -1
- package/dist/esm/expression/expression-builder.d.ts +263 -109
- package/dist/esm/expression/expression-builder.js +40 -9
- package/dist/esm/expression/expression-wrapper.d.ts +296 -5
- package/dist/esm/expression/expression-wrapper.js +67 -1
- package/dist/esm/helpers/mysql.d.ts +3 -3
- package/dist/esm/helpers/mysql.js +2 -2
- package/dist/esm/helpers/postgres.d.ts +31 -19
- package/dist/esm/helpers/postgres.js +30 -18
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/kysely.d.ts +42 -15
- package/dist/esm/kysely.js +42 -11
- package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -7
- package/dist/esm/operation-node/aggregate-function-node.js +1 -1
- package/dist/esm/operation-node/alter-column-node.d.ts +3 -5
- package/dist/esm/operation-node/alter-column-node.js +2 -7
- package/dist/esm/operation-node/alter-table-node.d.ts +3 -3
- package/dist/esm/operation-node/alter-table-node.js +1 -2
- package/dist/esm/operation-node/case-node.d.ts +19 -0
- package/dist/esm/operation-node/case-node.js +40 -0
- 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 +4 -3
- package/dist/esm/operation-node/create-index-node.js +6 -0
- 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 +12 -0
- package/dist/esm/operation-node/operation-node-transformer.js +53 -3
- package/dist/esm/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/esm/operation-node/operation-node-visitor.js +6 -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/when-node.d.ts +14 -0
- package/dist/esm/operation-node/when-node.js +22 -0
- package/dist/esm/operation-node/with-node.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.d.ts +9 -11
- package/dist/esm/parser/binary-operation-parser.js +38 -99
- 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 +6 -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 +4 -3
- package/dist/esm/parser/order-by-parser.js +3 -0
- package/dist/esm/parser/partition-by-parser.d.ts +2 -2
- package/dist/esm/parser/reference-parser.d.ts +16 -8
- package/dist/esm/parser/reference-parser.js +40 -15
- package/dist/esm/parser/returning-parser.d.ts +2 -2
- package/dist/esm/parser/select-parser.d.ts +9 -9
- package/dist/esm/parser/table-parser.d.ts +14 -13
- 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 +14 -9
- 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 +111 -0
- package/dist/esm/query-builder/case-builder.js +69 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +130 -63
- package/dist/esm/query-builder/delete-query-builder.js +43 -60
- 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 +78 -69
- package/dist/esm/query-builder/function-module.js +13 -17
- package/dist/esm/query-builder/having-interface.d.ts +2 -35
- package/dist/esm/query-builder/insert-query-builder.d.ts +99 -47
- package/dist/esm/query-builder/insert-query-builder.js +57 -26
- 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 +184 -138
- package/dist/esm/query-builder/select-query-builder.js +65 -131
- package/dist/esm/query-builder/update-query-builder.d.ts +143 -71
- package/dist/esm/query-builder/update-query-builder.js +48 -61
- 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 +12 -0
- package/dist/esm/query-compiler/default-query-compiler.js +67 -5
- 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 +13 -7
- package/dist/esm/schema/alter-column-builder.js +20 -22
- 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.d.ts +49 -7
- package/dist/esm/schema/create-index-builder.js +54 -16
- 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 +2 -3
- package/dist/esm/util/column-type.d.ts +21 -16
- 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 +6 -6
- package/dist/esm/util/log.js +4 -4
- package/dist/esm/util/object-utils.d.ts +2 -1
- package/dist/esm/util/require-all-props.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +54 -40
- 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/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './kysely.js';
|
|
|
2
2
|
export * from './query-creator.js';
|
|
3
3
|
export * from './expression/expression.js';
|
|
4
4
|
export { ExpressionBuilder, expressionBuilder, } from './expression/expression-builder.js';
|
|
5
|
+
export * from './expression/expression-wrapper.js';
|
|
5
6
|
export * from './query-builder/where-interface.js';
|
|
6
7
|
export * from './query-builder/returning-interface.js';
|
|
7
8
|
export * from './query-builder/having-interface.js';
|
|
@@ -17,6 +18,8 @@ export * from './query-builder/delete-result.js';
|
|
|
17
18
|
export * from './query-builder/update-result.js';
|
|
18
19
|
export * from './query-builder/on-conflict-builder.js';
|
|
19
20
|
export * from './query-builder/aggregate-function-builder.js';
|
|
21
|
+
export * from './query-builder/case-builder.js';
|
|
22
|
+
export * from './query-builder/json-path-builder.js';
|
|
20
23
|
export * from './raw-builder/raw-builder.js';
|
|
21
24
|
export * from './raw-builder/sql.js';
|
|
22
25
|
export * from './query-executor/query-executor.js';
|
|
@@ -77,12 +80,14 @@ export * from './plugin/kysely-plugin.js';
|
|
|
77
80
|
export * from './plugin/camel-case/camel-case-plugin.js';
|
|
78
81
|
export * from './plugin/deduplicate-joins/deduplicate-joins-plugin.js';
|
|
79
82
|
export * from './plugin/with-schema/with-schema-plugin.js';
|
|
83
|
+
export * from './plugin/parse-json-results/parse-json-results-plugin.js';
|
|
80
84
|
export * from './operation-node/add-column-node.js';
|
|
81
85
|
export * from './operation-node/add-constraint-node.js';
|
|
82
86
|
export * from './operation-node/alias-node.js';
|
|
83
87
|
export * from './operation-node/alter-column-node.js';
|
|
84
88
|
export * from './operation-node/alter-table-node.js';
|
|
85
89
|
export * from './operation-node/and-node.js';
|
|
90
|
+
export * from './operation-node/case-node.js';
|
|
86
91
|
export * from './operation-node/check-constraint-node.js';
|
|
87
92
|
export * from './operation-node/column-definition-node.js';
|
|
88
93
|
export * from './operation-node/column-node.js';
|
|
@@ -148,6 +153,7 @@ export * from './operation-node/update-query-node.js';
|
|
|
148
153
|
export * from './operation-node/value-list-node.js';
|
|
149
154
|
export * from './operation-node/value-node.js';
|
|
150
155
|
export * from './operation-node/values-node.js';
|
|
156
|
+
export * from './operation-node/when-node.js';
|
|
151
157
|
export * from './operation-node/where-node.js';
|
|
152
158
|
export * from './operation-node/with-node.js';
|
|
153
159
|
export * from './operation-node/explain-node.js';
|
|
@@ -160,6 +166,10 @@ export * from './operation-node/set-operation-node.js';
|
|
|
160
166
|
export * from './operation-node/binary-operation-node.js';
|
|
161
167
|
export * from './operation-node/unary-operation-node.js';
|
|
162
168
|
export * from './operation-node/using-node.js';
|
|
169
|
+
export * from './operation-node/json-reference-node.js';
|
|
170
|
+
export * from './operation-node/json-path-leg-node.js';
|
|
171
|
+
export * from './operation-node/json-path-node.js';
|
|
172
|
+
export * from './operation-node/json-operator-chain-node.js';
|
|
163
173
|
export * from './util/column-type.js';
|
|
164
174
|
export * from './util/compilable.js';
|
|
165
175
|
export * from './util/explainable.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from './kysely.js';
|
|
|
3
3
|
export * from './query-creator.js';
|
|
4
4
|
export * from './expression/expression.js';
|
|
5
5
|
export { expressionBuilder, } from './expression/expression-builder.js';
|
|
6
|
+
export * from './expression/expression-wrapper.js';
|
|
6
7
|
export * from './query-builder/where-interface.js';
|
|
7
8
|
export * from './query-builder/returning-interface.js';
|
|
8
9
|
export * from './query-builder/having-interface.js';
|
|
@@ -18,6 +19,8 @@ export * from './query-builder/delete-result.js';
|
|
|
18
19
|
export * from './query-builder/update-result.js';
|
|
19
20
|
export * from './query-builder/on-conflict-builder.js';
|
|
20
21
|
export * from './query-builder/aggregate-function-builder.js';
|
|
22
|
+
export * from './query-builder/case-builder.js';
|
|
23
|
+
export * from './query-builder/json-path-builder.js';
|
|
21
24
|
export * from './raw-builder/raw-builder.js';
|
|
22
25
|
export * from './raw-builder/sql.js';
|
|
23
26
|
export * from './query-executor/query-executor.js';
|
|
@@ -78,12 +81,14 @@ export * from './plugin/kysely-plugin.js';
|
|
|
78
81
|
export * from './plugin/camel-case/camel-case-plugin.js';
|
|
79
82
|
export * from './plugin/deduplicate-joins/deduplicate-joins-plugin.js';
|
|
80
83
|
export * from './plugin/with-schema/with-schema-plugin.js';
|
|
84
|
+
export * from './plugin/parse-json-results/parse-json-results-plugin.js';
|
|
81
85
|
export * from './operation-node/add-column-node.js';
|
|
82
86
|
export * from './operation-node/add-constraint-node.js';
|
|
83
87
|
export * from './operation-node/alias-node.js';
|
|
84
88
|
export * from './operation-node/alter-column-node.js';
|
|
85
89
|
export * from './operation-node/alter-table-node.js';
|
|
86
90
|
export * from './operation-node/and-node.js';
|
|
91
|
+
export * from './operation-node/case-node.js';
|
|
87
92
|
export * from './operation-node/check-constraint-node.js';
|
|
88
93
|
export * from './operation-node/column-definition-node.js';
|
|
89
94
|
export * from './operation-node/column-node.js';
|
|
@@ -149,6 +154,7 @@ export * from './operation-node/update-query-node.js';
|
|
|
149
154
|
export * from './operation-node/value-list-node.js';
|
|
150
155
|
export * from './operation-node/value-node.js';
|
|
151
156
|
export * from './operation-node/values-node.js';
|
|
157
|
+
export * from './operation-node/when-node.js';
|
|
152
158
|
export * from './operation-node/where-node.js';
|
|
153
159
|
export * from './operation-node/with-node.js';
|
|
154
160
|
export * from './operation-node/explain-node.js';
|
|
@@ -161,6 +167,10 @@ export * from './operation-node/set-operation-node.js';
|
|
|
161
167
|
export * from './operation-node/binary-operation-node.js';
|
|
162
168
|
export * from './operation-node/unary-operation-node.js';
|
|
163
169
|
export * from './operation-node/using-node.js';
|
|
170
|
+
export * from './operation-node/json-reference-node.js';
|
|
171
|
+
export * from './operation-node/json-path-leg-node.js';
|
|
172
|
+
export * from './operation-node/json-path-node.js';
|
|
173
|
+
export * from './operation-node/json-operator-chain-node.js';
|
|
164
174
|
export * from './util/column-type.js';
|
|
165
175
|
export * from './util/compilable.js';
|
|
166
176
|
export * from './util/explainable.js';
|
package/dist/esm/kysely.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ import { QueryResult } from './driver/database-connection.js';
|
|
|
13
13
|
import { CompiledQuery } from './query-compiler/compiled-query.js';
|
|
14
14
|
import { QueryId } from './util/query-id.js';
|
|
15
15
|
import { Compilable } from './util/compilable.js';
|
|
16
|
+
import { CaseBuilder } from './query-builder/case-builder.js';
|
|
17
|
+
import { Expression } from './expression/expression.js';
|
|
16
18
|
/**
|
|
17
19
|
* The main Kysely class.
|
|
18
20
|
*
|
|
@@ -75,21 +77,26 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
75
77
|
* Returns a {@link DatabaseIntrospector | database introspector}.
|
|
76
78
|
*/
|
|
77
79
|
get introspection(): DatabaseIntrospector;
|
|
80
|
+
/**
|
|
81
|
+
* Creates a `case` statement/operator.
|
|
82
|
+
*
|
|
83
|
+
* See {@link ExpressionBuilder.case} for more information.
|
|
84
|
+
*/
|
|
85
|
+
case(): CaseBuilder<DB, keyof DB>;
|
|
86
|
+
case<V>(value: Expression<V>): CaseBuilder<DB, keyof DB, V>;
|
|
78
87
|
/**
|
|
79
88
|
* Returns a {@link FunctionModule} that can be used to write type safe function
|
|
80
89
|
* calls.
|
|
81
90
|
*
|
|
82
91
|
* ```ts
|
|
83
|
-
* const { count } = db.fn
|
|
84
|
-
*
|
|
85
92
|
* await db.selectFrom('person')
|
|
86
93
|
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
87
|
-
* .select([
|
|
94
|
+
* .select((eb) => [
|
|
88
95
|
* 'person.id',
|
|
89
|
-
* count('pet.id').as('pet_count')
|
|
96
|
+
* eb.fn.count('pet.id').as('pet_count')
|
|
90
97
|
* ])
|
|
91
98
|
* .groupBy('person.id')
|
|
92
|
-
* .having(count('pet.id'), '>', 10)
|
|
99
|
+
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
|
|
93
100
|
* .execute()
|
|
94
101
|
* ```
|
|
95
102
|
*
|
|
@@ -120,25 +127,31 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
120
127
|
*
|
|
121
128
|
* ### Examples
|
|
122
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
|
+
*
|
|
123
136
|
* ```ts
|
|
124
137
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
125
138
|
* const jennifer = await trx.insertInto('person')
|
|
126
139
|
* .values({
|
|
127
140
|
* first_name: 'Jennifer',
|
|
128
141
|
* last_name: 'Aniston',
|
|
142
|
+
* age: 40,
|
|
129
143
|
* })
|
|
130
144
|
* .returning('id')
|
|
131
145
|
* .executeTakeFirstOrThrow()
|
|
132
146
|
*
|
|
133
|
-
* await someFunction(trx, jennifer)
|
|
134
|
-
*
|
|
135
147
|
* return await trx.insertInto('pet')
|
|
136
148
|
* .values({
|
|
137
|
-
*
|
|
149
|
+
* owner_id: jennifer.id,
|
|
138
150
|
* name: 'Catto',
|
|
139
|
-
* species: 'cat'
|
|
151
|
+
* species: 'cat',
|
|
152
|
+
* is_favorite: false,
|
|
140
153
|
* })
|
|
141
|
-
* .
|
|
154
|
+
* .returningAll()
|
|
142
155
|
* .executeTakeFirst()
|
|
143
156
|
* })
|
|
144
157
|
* ```
|
|
@@ -180,6 +193,10 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
180
193
|
* Returns a copy of this Kysely instance without any plugins.
|
|
181
194
|
*/
|
|
182
195
|
withoutPlugins(): Kysely<DB>;
|
|
196
|
+
/**
|
|
197
|
+
* @override
|
|
198
|
+
*/
|
|
199
|
+
withSchema(schema: string): Kysely<DB>;
|
|
183
200
|
/**
|
|
184
201
|
* Returns a copy of this Kysely instance with tables added to its
|
|
185
202
|
* database type.
|
|
@@ -261,25 +278,31 @@ export declare class Transaction<DB> extends Kysely<DB> {
|
|
|
261
278
|
*
|
|
262
279
|
* ### Examples
|
|
263
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
|
+
*
|
|
264
287
|
* ```ts
|
|
265
288
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
266
289
|
* const jennifer = await trx.insertInto('person')
|
|
267
290
|
* .values({
|
|
268
291
|
* first_name: 'Jennifer',
|
|
269
292
|
* last_name: 'Aniston',
|
|
293
|
+
* age: 40,
|
|
270
294
|
* })
|
|
271
295
|
* .returning('id')
|
|
272
296
|
* .executeTakeFirstOrThrow()
|
|
273
297
|
*
|
|
274
|
-
* await someFunction(trx, jennifer)
|
|
275
|
-
*
|
|
276
298
|
* return await trx.insertInto('pet')
|
|
277
299
|
* .values({
|
|
278
|
-
*
|
|
300
|
+
* owner_id: jennifer.id,
|
|
279
301
|
* name: 'Catto',
|
|
280
|
-
* species: 'cat'
|
|
302
|
+
* species: 'cat',
|
|
303
|
+
* is_favorite: false,
|
|
281
304
|
* })
|
|
282
|
-
* .
|
|
305
|
+
* .returningAll()
|
|
283
306
|
* .executeTakeFirst()
|
|
284
307
|
* })
|
|
285
308
|
* ```
|
|
@@ -327,6 +350,10 @@ export declare class Transaction<DB> extends Kysely<DB> {
|
|
|
327
350
|
* Returns a copy of this Kysely instance without any plugins.
|
|
328
351
|
*/
|
|
329
352
|
withoutPlugins(): Transaction<DB>;
|
|
353
|
+
/**
|
|
354
|
+
* @override
|
|
355
|
+
*/
|
|
356
|
+
withSchema(schema: string): Transaction<DB>;
|
|
330
357
|
/**
|
|
331
358
|
* Returns a copy of this Kysely instance with tables added to its
|
|
332
359
|
* database type.
|
package/dist/esm/kysely.js
CHANGED
|
@@ -4,7 +4,7 @@ import { DynamicModule } from './dynamic/dynamic.js';
|
|
|
4
4
|
import { DefaultConnectionProvider } from './driver/default-connection-provider.js';
|
|
5
5
|
import { QueryCreator } from './query-creator.js';
|
|
6
6
|
import { DefaultQueryExecutor } from './query-executor/default-query-executor.js';
|
|
7
|
-
import { freeze, isObject } from './util/object-utils.js';
|
|
7
|
+
import { freeze, isObject, isUndefined } from './util/object-utils.js';
|
|
8
8
|
import { RuntimeDriver } from './driver/runtime-driver.js';
|
|
9
9
|
import { SingleConnectionProvider } from './driver/single-connection-provider.js';
|
|
10
10
|
import { TRANSACTION_ISOLATION_LEVELS, } from './driver/driver.js';
|
|
@@ -13,6 +13,10 @@ import { createFunctionModule, } from './query-builder/function-module.js';
|
|
|
13
13
|
import { Log } from './util/log.js';
|
|
14
14
|
import { createQueryId } from './util/query-id.js';
|
|
15
15
|
import { isCompilable } from './util/compilable.js';
|
|
16
|
+
import { CaseBuilder } from './query-builder/case-builder.js';
|
|
17
|
+
import { CaseNode } from './operation-node/case-node.js';
|
|
18
|
+
import { parseExpression } from './parser/expression-parser.js';
|
|
19
|
+
import { WithSchemaPlugin } from './plugin/with-schema/with-schema-plugin.js';
|
|
16
20
|
/**
|
|
17
21
|
* The main Kysely class.
|
|
18
22
|
*
|
|
@@ -106,21 +110,24 @@ export class Kysely extends QueryCreator {
|
|
|
106
110
|
get introspection() {
|
|
107
111
|
return this.#props.dialect.createIntrospector(this.withoutPlugins());
|
|
108
112
|
}
|
|
113
|
+
case(value) {
|
|
114
|
+
return new CaseBuilder({
|
|
115
|
+
node: CaseNode.create(isUndefined(value) ? undefined : parseExpression(value)),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
109
118
|
/**
|
|
110
119
|
* Returns a {@link FunctionModule} that can be used to write type safe function
|
|
111
120
|
* calls.
|
|
112
121
|
*
|
|
113
122
|
* ```ts
|
|
114
|
-
* const { count } = db.fn
|
|
115
|
-
*
|
|
116
123
|
* await db.selectFrom('person')
|
|
117
124
|
* .innerJoin('pet', 'pet.owner_id', 'person.id')
|
|
118
|
-
* .select([
|
|
125
|
+
* .select((eb) => [
|
|
119
126
|
* 'person.id',
|
|
120
|
-
* count('pet.id').as('pet_count')
|
|
127
|
+
* eb.fn.count('pet.id').as('pet_count')
|
|
121
128
|
* ])
|
|
122
129
|
* .groupBy('person.id')
|
|
123
|
-
* .having(count('pet.id'), '>', 10)
|
|
130
|
+
* .having((eb) => eb.fn.count('pet.id'), '>', 10)
|
|
124
131
|
* .execute()
|
|
125
132
|
* ```
|
|
126
133
|
*
|
|
@@ -153,25 +160,31 @@ export class Kysely extends QueryCreator {
|
|
|
153
160
|
*
|
|
154
161
|
* ### Examples
|
|
155
162
|
*
|
|
163
|
+
* <!-- siteExample("transactions", "Simple transaction", 10) -->
|
|
164
|
+
*
|
|
165
|
+
* This example inserts two rows in a transaction. If an error is thrown inside
|
|
166
|
+
* the callback passed to the `execute` method, the transaction is rolled back.
|
|
167
|
+
* Otherwise it's committed.
|
|
168
|
+
*
|
|
156
169
|
* ```ts
|
|
157
170
|
* const catto = await db.transaction().execute(async (trx) => {
|
|
158
171
|
* const jennifer = await trx.insertInto('person')
|
|
159
172
|
* .values({
|
|
160
173
|
* first_name: 'Jennifer',
|
|
161
174
|
* last_name: 'Aniston',
|
|
175
|
+
* age: 40,
|
|
162
176
|
* })
|
|
163
177
|
* .returning('id')
|
|
164
178
|
* .executeTakeFirstOrThrow()
|
|
165
179
|
*
|
|
166
|
-
* await someFunction(trx, jennifer)
|
|
167
|
-
*
|
|
168
180
|
* return await trx.insertInto('pet')
|
|
169
181
|
* .values({
|
|
170
|
-
*
|
|
182
|
+
* owner_id: jennifer.id,
|
|
171
183
|
* name: 'Catto',
|
|
172
|
-
* species: 'cat'
|
|
184
|
+
* species: 'cat',
|
|
185
|
+
* is_favorite: false,
|
|
173
186
|
* })
|
|
174
|
-
* .
|
|
187
|
+
* .returningAll()
|
|
175
188
|
* .executeTakeFirst()
|
|
176
189
|
* })
|
|
177
190
|
* ```
|
|
@@ -227,6 +240,15 @@ export class Kysely extends QueryCreator {
|
|
|
227
240
|
executor: this.#props.executor.withoutPlugins(),
|
|
228
241
|
});
|
|
229
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* @override
|
|
245
|
+
*/
|
|
246
|
+
withSchema(schema) {
|
|
247
|
+
return new Kysely({
|
|
248
|
+
...this.#props,
|
|
249
|
+
executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
|
|
250
|
+
});
|
|
251
|
+
}
|
|
230
252
|
/**
|
|
231
253
|
* Returns a copy of this Kysely instance with tables added to its
|
|
232
254
|
* database type.
|
|
@@ -327,6 +349,15 @@ export class Transaction extends Kysely {
|
|
|
327
349
|
executor: this.#props.executor.withoutPlugins(),
|
|
328
350
|
});
|
|
329
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* @override
|
|
354
|
+
*/
|
|
355
|
+
withSchema(schema) {
|
|
356
|
+
return new Transaction({
|
|
357
|
+
...this.#props,
|
|
358
|
+
executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
|
|
359
|
+
});
|
|
360
|
+
}
|
|
330
361
|
withTables() {
|
|
331
362
|
return new Transaction({ ...this.#props });
|
|
332
363
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { OverNode } from './over-node.js';
|
|
3
|
-
import { SelectionNode } from './selection-node.js';
|
|
4
|
-
import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js';
|
|
5
3
|
import { WhereNode } from './where-node.js';
|
|
6
|
-
declare type AggregateFunction = 'avg' | 'count' | 'max' | 'min' | 'sum';
|
|
7
4
|
export interface AggregateFunctionNode extends OperationNode {
|
|
8
5
|
readonly kind: 'AggregateFunctionNode';
|
|
9
|
-
readonly func:
|
|
10
|
-
readonly aggregated:
|
|
6
|
+
readonly func: string;
|
|
7
|
+
readonly aggregated: readonly OperationNode[];
|
|
11
8
|
readonly distinct?: boolean;
|
|
12
9
|
readonly filter?: WhereNode;
|
|
13
10
|
readonly over?: OverNode;
|
|
@@ -17,10 +14,9 @@ export interface AggregateFunctionNode extends OperationNode {
|
|
|
17
14
|
*/
|
|
18
15
|
export declare const AggregateFunctionNode: Readonly<{
|
|
19
16
|
is(node: OperationNode): node is AggregateFunctionNode;
|
|
20
|
-
create(aggregateFunction:
|
|
17
|
+
create(aggregateFunction: string, aggregated?: readonly OperationNode[]): AggregateFunctionNode;
|
|
21
18
|
cloneWithDistinct(aggregateFunctionNode: AggregateFunctionNode): AggregateFunctionNode;
|
|
22
19
|
cloneWithFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
|
|
23
20
|
cloneWithOrFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
|
|
24
21
|
cloneWithOver(aggregateFunctionNode: AggregateFunctionNode, over?: OverNode): AggregateFunctionNode;
|
|
25
22
|
}>;
|
|
26
|
-
export {};
|
|
@@ -8,7 +8,7 @@ export const AggregateFunctionNode = freeze({
|
|
|
8
8
|
is(node) {
|
|
9
9
|
return node.kind === 'AggregateFunctionNode';
|
|
10
10
|
},
|
|
11
|
-
create(aggregateFunction, aggregated) {
|
|
11
|
+
create(aggregateFunction, aggregated = []) {
|
|
12
12
|
return freeze({
|
|
13
13
|
kind: 'AggregateFunctionNode',
|
|
14
14
|
func: aggregateFunction,
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { ColumnNode } from './column-node.js';
|
|
3
|
-
import { DataTypeNode } from './data-type-node.js';
|
|
4
3
|
import { RawNode } from './raw-node.js';
|
|
5
|
-
export
|
|
4
|
+
export type AlterColumnNodeProps = Omit<AlterColumnNode, 'kind' | 'column'>;
|
|
6
5
|
export interface AlterColumnNode extends OperationNode {
|
|
7
6
|
readonly kind: 'AlterColumnNode';
|
|
8
7
|
readonly column: ColumnNode;
|
|
9
|
-
readonly dataType?:
|
|
8
|
+
readonly dataType?: OperationNode;
|
|
10
9
|
readonly dataTypeExpression?: RawNode;
|
|
11
10
|
readonly setDefault?: OperationNode;
|
|
12
11
|
readonly dropDefault?: true;
|
|
@@ -18,6 +17,5 @@ export interface AlterColumnNode extends OperationNode {
|
|
|
18
17
|
*/
|
|
19
18
|
export declare const AlterColumnNode: Readonly<{
|
|
20
19
|
is(node: OperationNode): node is AlterColumnNode;
|
|
21
|
-
create(column: string): AlterColumnNode;
|
|
22
|
-
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;
|
|
23
21
|
}>;
|
|
@@ -8,16 +8,11 @@ export const AlterColumnNode = freeze({
|
|
|
8
8
|
is(node) {
|
|
9
9
|
return node.kind === 'AlterColumnNode';
|
|
10
10
|
},
|
|
11
|
-
create(column) {
|
|
11
|
+
create(column, prop, value) {
|
|
12
12
|
return freeze({
|
|
13
13
|
kind: 'AlterColumnNode',
|
|
14
14
|
column: ColumnNode.create(column),
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
cloneWith(node, props) {
|
|
18
|
-
return freeze({
|
|
19
|
-
...node,
|
|
20
|
-
...props,
|
|
15
|
+
[prop]: value,
|
|
21
16
|
});
|
|
22
17
|
},
|
|
23
18
|
});
|
|
@@ -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;
|
|
@@ -24,7 +24,7 @@ export interface AlterTableNode extends OperationNode {
|
|
|
24
24
|
*/
|
|
25
25
|
export declare const AlterTableNode: Readonly<{
|
|
26
26
|
is(node: OperationNode): node is AlterTableNode;
|
|
27
|
-
create(table:
|
|
27
|
+
create(table: TableNode): AlterTableNode;
|
|
28
28
|
cloneWithTableProps(node: AlterTableNode, props: AlterTableNodeTableProps): AlterTableNode;
|
|
29
29
|
cloneWithColumnAlteration(node: AlterTableNode, columnAlteration: AlterTableColumnAlterationNode): AlterTableNode;
|
|
30
30
|
}>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="./alter-table-node.d.ts" />
|
|
2
2
|
import { freeze } from '../util/object-utils.js';
|
|
3
|
-
import { TableNode } from './table-node.js';
|
|
4
3
|
/**
|
|
5
4
|
* @internal
|
|
6
5
|
*/
|
|
@@ -11,7 +10,7 @@ export const AlterTableNode = freeze({
|
|
|
11
10
|
create(table) {
|
|
12
11
|
return freeze({
|
|
13
12
|
kind: 'AlterTableNode',
|
|
14
|
-
table
|
|
13
|
+
table,
|
|
15
14
|
});
|
|
16
15
|
},
|
|
17
16
|
cloneWithTableProps(node, props) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { WhenNode } from './when-node.js';
|
|
3
|
+
export interface CaseNode extends OperationNode {
|
|
4
|
+
readonly kind: 'CaseNode';
|
|
5
|
+
readonly value?: OperationNode;
|
|
6
|
+
readonly when?: ReadonlyArray<WhenNode>;
|
|
7
|
+
readonly else?: OperationNode;
|
|
8
|
+
readonly isStatement?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const CaseNode: Readonly<{
|
|
14
|
+
is(node: OperationNode): node is CaseNode;
|
|
15
|
+
create(value?: OperationNode): CaseNode;
|
|
16
|
+
cloneWithWhen(caseNode: CaseNode, when: WhenNode): CaseNode;
|
|
17
|
+
cloneWithThen(caseNode: CaseNode, then: OperationNode): CaseNode;
|
|
18
|
+
cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, 'else' | 'isStatement'>>): CaseNode;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="./case-node.d.ts" />
|
|
2
|
+
import { freeze } from '../util/object-utils.js';
|
|
3
|
+
import { WhenNode } from './when-node.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export const CaseNode = freeze({
|
|
8
|
+
is(node) {
|
|
9
|
+
return node.kind === 'CaseNode';
|
|
10
|
+
},
|
|
11
|
+
create(value) {
|
|
12
|
+
return freeze({
|
|
13
|
+
kind: 'CaseNode',
|
|
14
|
+
value,
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
cloneWithWhen(caseNode, when) {
|
|
18
|
+
return freeze({
|
|
19
|
+
...caseNode,
|
|
20
|
+
when: freeze(caseNode.when ? [...caseNode.when, when] : [when]),
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
cloneWithThen(caseNode, then) {
|
|
24
|
+
return freeze({
|
|
25
|
+
...caseNode,
|
|
26
|
+
when: caseNode.when
|
|
27
|
+
? freeze([
|
|
28
|
+
...caseNode.when.slice(0, -1),
|
|
29
|
+
WhenNode.cloneWithResult(caseNode.when[caseNode.when.length - 1], then),
|
|
30
|
+
])
|
|
31
|
+
: undefined,
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
cloneWith(caseNode, props) {
|
|
35
|
+
return freeze({
|
|
36
|
+
...caseNode,
|
|
37
|
+
...props,
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
});
|
|
@@ -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,13 +3,13 @@ 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;
|
|
11
11
|
readonly table?: TableNode;
|
|
12
|
-
readonly
|
|
12
|
+
readonly columns?: OperationNode[];
|
|
13
13
|
readonly unique?: boolean;
|
|
14
14
|
readonly using?: RawNode;
|
|
15
15
|
readonly ifNotExists?: boolean;
|
|
@@ -22,4 +22,5 @@ export declare const CreateIndexNode: Readonly<{
|
|
|
22
22
|
is(node: OperationNode): node is CreateIndexNode;
|
|
23
23
|
create(name: string): CreateIndexNode;
|
|
24
24
|
cloneWith(node: CreateIndexNode, props: CreateIndexNodeProps): CreateIndexNode;
|
|
25
|
+
cloneWithColumns(node: CreateIndexNode, columns: OperationNode[]): CreateIndexNode;
|
|
25
26
|
}>;
|
|
@@ -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;
|