kysely 0.21.6 → 0.23.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/CONTRIBUTING.md +70 -0
- package/README.md +27 -4
- package/dist/cjs/dialect/database-introspector.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +6 -3
- package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/cjs/dialect/postgres/postgres-driver.js +7 -2
- package/dist/cjs/dialect/postgres/postgres-introspector.js +8 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +4 -3
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/cjs/driver/database-connection.d.ts +6 -2
- package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +2 -3
- package/dist/cjs/dynamic/dynamic-reference-builder.js +1 -1
- package/dist/cjs/expression/expression.d.ts +100 -0
- package/dist/cjs/expression/expression.js +16 -0
- package/dist/cjs/index.d.ts +17 -8
- package/dist/cjs/index.js +15 -4
- package/dist/cjs/kysely.d.ts +3 -3
- package/dist/cjs/kysely.js +3 -3
- package/dist/cjs/migration/file-migration-provider.js +11 -4
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +25 -0
- package/dist/cjs/operation-node/aggregate-function-node.js +48 -0
- package/dist/cjs/operation-node/alias-node.d.ts +3 -10
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -2
- package/dist/cjs/operation-node/alter-table-node.d.ts +5 -7
- package/dist/cjs/operation-node/alter-table-node.js +9 -1
- package/dist/cjs/operation-node/and-node.d.ts +3 -4
- package/dist/cjs/operation-node/binary-operation-node.d.ts +14 -0
- package/dist/cjs/operation-node/binary-operation-node.js +20 -0
- package/dist/cjs/operation-node/check-constraint-node.d.ts +2 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +6 -5
- package/dist/cjs/operation-node/column-definition-node.js +16 -0
- package/dist/cjs/operation-node/column-update-node.d.ts +2 -3
- package/dist/cjs/operation-node/common-table-expression-node.d.ts +2 -4
- package/dist/cjs/operation-node/create-index-node.d.ts +1 -3
- package/dist/cjs/operation-node/create-table-node.d.ts +4 -5
- package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/create-type-node.js +1 -2
- package/dist/cjs/operation-node/default-value-node.d.ts +2 -4
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -2
- package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/drop-type-node.js +1 -2
- package/dist/cjs/operation-node/explain-node.d.ts +2 -4
- package/dist/cjs/operation-node/explain-node.js +1 -1
- package/dist/cjs/operation-node/from-node.d.ts +3 -4
- package/dist/cjs/operation-node/generated-node.d.ts +2 -3
- package/dist/cjs/operation-node/group-by-item-node.d.ts +2 -3
- package/dist/cjs/operation-node/group-by-node.d.ts +1 -1
- package/dist/cjs/operation-node/group-by-node.js +3 -3
- package/dist/cjs/operation-node/having-node.d.ts +3 -4
- package/dist/cjs/operation-node/having-node.js +4 -4
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -4
- package/dist/cjs/operation-node/join-node.d.ts +5 -9
- package/dist/cjs/operation-node/join-node.js +6 -6
- package/dist/cjs/operation-node/on-conflict-node.d.ts +5 -7
- package/dist/cjs/operation-node/on-conflict-node.js +12 -12
- package/dist/cjs/operation-node/on-node.d.ts +3 -4
- package/dist/cjs/operation-node/on-node.js +4 -4
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +14 -4
- package/dist/cjs/operation-node/operation-node-transformer.js +60 -20
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +14 -4
- package/dist/cjs/operation-node/operation-node-visitor.js +7 -2
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +5 -3
- package/dist/cjs/operation-node/operator-node.js +3 -5
- package/dist/cjs/operation-node/or-node.d.ts +3 -4
- package/dist/cjs/operation-node/order-by-item-node.d.ts +3 -5
- package/dist/cjs/operation-node/over-node.d.ts +19 -0
- package/dist/cjs/operation-node/over-node.js +35 -0
- package/dist/cjs/operation-node/parens-node.d.ts +2 -3
- package/dist/cjs/operation-node/partition-by-item-node.d.ts +13 -0
- package/dist/cjs/operation-node/{filter-node.js → partition-by-item-node.js} +6 -8
- package/dist/cjs/operation-node/partition-by-node.d.ts +14 -0
- package/dist/cjs/operation-node/partition-by-node.js +24 -0
- package/dist/cjs/operation-node/query-node.d.ts +2 -3
- package/dist/cjs/operation-node/query-node.js +6 -6
- package/dist/cjs/operation-node/select-modifier-node.d.ts +2 -3
- package/dist/cjs/operation-node/select-modifier-node.js +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +8 -9
- package/dist/cjs/operation-node/select-query-node.js +14 -14
- package/dist/cjs/operation-node/selection-node.d.ts +2 -3
- package/dist/cjs/operation-node/set-operation-node.d.ts +15 -0
- package/dist/cjs/operation-node/{union-node.js → set-operation-node.js} +7 -6
- package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
- package/dist/cjs/operation-node/{operation-node-utils.js → simple-reference-expression-node.js} +0 -0
- package/dist/cjs/operation-node/unary-operation-node.d.ts +13 -0
- package/dist/cjs/operation-node/unary-operation-node.js +19 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +3 -4
- package/dist/cjs/operation-node/value-list-node.d.ts +2 -8
- package/dist/cjs/operation-node/where-node.d.ts +3 -4
- package/dist/cjs/operation-node/where-node.js +4 -4
- package/dist/cjs/parser/binary-operation-parser.d.ts +20 -0
- package/dist/cjs/parser/binary-operation-parser.js +99 -0
- package/dist/cjs/parser/coalesce-parser.d.ts +4 -0
- package/dist/cjs/parser/coalesce-parser.js +11 -0
- package/dist/cjs/parser/data-type-parser.d.ts +5 -5
- package/dist/cjs/parser/default-value-parser.d.ts +4 -5
- package/dist/cjs/parser/default-value-parser.js +2 -2
- package/dist/cjs/parser/expression-parser.d.ts +10 -0
- package/dist/cjs/parser/{complex-expression-parser.js → expression-parser.js} +9 -8
- package/dist/cjs/parser/group-by-parser.d.ts +1 -1
- package/dist/cjs/parser/group-by-parser.js +2 -2
- package/dist/cjs/parser/identifier-parser.d.ts +2 -0
- package/dist/cjs/parser/identifier-parser.js +23 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +1 -1
- package/dist/cjs/parser/insert-values-parser.js +2 -2
- package/dist/cjs/parser/join-parser.js +2 -2
- package/dist/cjs/parser/order-by-parser.d.ts +2 -2
- package/dist/cjs/parser/parse-utils.d.ts +2 -0
- package/dist/cjs/parser/parse-utils.js +9 -1
- package/dist/cjs/parser/partition-by-parser.d.ts +6 -0
- package/dist/cjs/parser/partition-by-parser.js +9 -0
- package/dist/cjs/parser/reference-parser.d.ts +14 -13
- package/dist/cjs/parser/reference-parser.js +12 -9
- package/dist/cjs/parser/select-parser.d.ts +6 -6
- package/dist/cjs/parser/select-parser.js +2 -2
- package/dist/cjs/parser/set-operation-parser.d.ts +3 -0
- package/dist/cjs/parser/set-operation-parser.js +8 -0
- package/dist/cjs/parser/table-parser.d.ts +11 -12
- package/dist/cjs/parser/table-parser.js +2 -2
- package/dist/cjs/parser/unary-operation-parser.d.ts +5 -0
- package/dist/cjs/parser/unary-operation-parser.js +17 -0
- package/dist/cjs/parser/update-set-parser.d.ts +1 -1
- package/dist/cjs/parser/value-parser.d.ts +5 -8
- package/dist/cjs/parser/value-parser.js +4 -4
- package/dist/cjs/parser/with-parser.d.ts +3 -4
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +1 -1
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +348 -0
- package/dist/cjs/query-builder/aggregate-function-builder.js +298 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +20 -20
- package/dist/cjs/query-builder/delete-query-builder.js +19 -16
- package/dist/cjs/query-builder/expression-builder.d.ts +3 -3
- package/dist/cjs/query-builder/expression-builder.js +3 -3
- package/dist/cjs/query-builder/function-module.d.ts +241 -0
- package/dist/cjs/query-builder/function-module.js +214 -0
- package/dist/cjs/query-builder/having-interface.d.ts +9 -8
- package/dist/cjs/query-builder/insert-query-builder.d.ts +7 -6
- package/dist/cjs/query-builder/insert-query-builder.js +11 -9
- package/dist/cjs/query-builder/insert-result.d.ts +8 -1
- package/dist/cjs/query-builder/insert-result.js +12 -1
- package/dist/cjs/query-builder/join-builder.d.ts +9 -8
- package/dist/cjs/query-builder/join-builder.js +10 -9
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +25 -24
- package/dist/cjs/query-builder/on-conflict-builder.js +18 -17
- package/dist/cjs/query-builder/over-builder.d.ts +59 -0
- package/dist/cjs/query-builder/over-builder.js +50 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +138 -47
- package/dist/cjs/query-builder/select-query-builder.js +122 -40
- package/dist/cjs/query-builder/update-query-builder.d.ts +20 -20
- package/dist/cjs/query-builder/update-query-builder.js +19 -16
- package/dist/cjs/query-builder/where-interface.d.ts +12 -11
- package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +15 -5
- package/dist/cjs/query-compiler/default-query-compiler.js +78 -47
- package/dist/cjs/query-executor/query-executor-base.js +16 -1
- package/dist/cjs/raw-builder/raw-builder.d.ts +49 -13
- package/dist/cjs/raw-builder/raw-builder.js +24 -14
- package/dist/cjs/raw-builder/sql.d.ts +15 -7
- package/dist/cjs/raw-builder/sql.js +6 -0
- package/dist/cjs/schema/alter-column-builder.d.ts +28 -0
- package/dist/cjs/schema/alter-column-builder.js +55 -0
- package/dist/cjs/schema/alter-table-builder.d.ts +39 -341
- package/dist/cjs/schema/alter-table-builder.js +65 -280
- package/dist/cjs/schema/column-definition-builder.d.ts +43 -155
- package/dist/cjs/schema/column-definition-builder.js +189 -0
- package/dist/cjs/schema/create-index-builder.d.ts +2 -2
- package/dist/cjs/schema/create-table-builder.d.ts +38 -5
- package/dist/cjs/schema/create-table-builder.js +36 -1
- package/dist/cjs/schema/create-view-builder.d.ts +3 -2
- package/dist/cjs/schema/schema.d.ts +2 -2
- package/dist/cjs/schema/schema.js +6 -5
- package/dist/cjs/util/compilable.d.ts +2 -2
- package/dist/cjs/util/explainable.d.ts +2 -2
- package/dist/cjs/util/infer-result.d.ts +46 -0
- package/dist/cjs/util/infer-result.js +2 -0
- package/dist/cjs/util/log-once.d.ts +5 -0
- package/dist/cjs/util/log-once.js +16 -0
- package/dist/cjs/util/object-utils.d.ts +1 -0
- package/dist/cjs/util/object-utils.js +5 -1
- package/dist/cjs/util/type-utils.d.ts +3 -13
- package/dist/esm/dialect/database-introspector.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +6 -3
- package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
- package/dist/esm/dialect/postgres/postgres-driver.js +7 -2
- package/dist/esm/dialect/postgres/postgres-introspector.js +8 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +4 -3
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/esm/driver/database-connection.d.ts +6 -2
- package/dist/esm/dynamic/dynamic-reference-builder.d.ts +2 -3
- package/dist/esm/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/esm/expression/expression.d.ts +100 -0
- package/dist/esm/expression/expression.js +12 -0
- package/dist/esm/index.d.ts +17 -8
- package/dist/esm/index.js +13 -4
- package/dist/esm/kysely.d.ts +3 -3
- package/dist/esm/kysely.js +3 -3
- package/dist/esm/migration/file-migration-provider.js +11 -4
- package/dist/esm/operation-node/aggregate-function-node.d.ts +25 -0
- package/dist/esm/operation-node/aggregate-function-node.js +46 -0
- package/dist/esm/operation-node/alias-node.d.ts +3 -10
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -2
- package/dist/esm/operation-node/alter-table-node.d.ts +5 -7
- package/dist/esm/operation-node/alter-table-node.js +9 -1
- package/dist/esm/operation-node/and-node.d.ts +3 -4
- package/dist/esm/operation-node/binary-operation-node.d.ts +14 -0
- package/dist/esm/operation-node/binary-operation-node.js +18 -0
- package/dist/esm/operation-node/check-constraint-node.d.ts +2 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +6 -5
- package/dist/esm/operation-node/column-definition-node.js +16 -0
- package/dist/esm/operation-node/column-update-node.d.ts +2 -3
- package/dist/esm/operation-node/common-table-expression-node.d.ts +2 -4
- package/dist/esm/operation-node/create-index-node.d.ts +1 -3
- package/dist/esm/operation-node/create-table-node.d.ts +4 -5
- package/dist/esm/operation-node/create-type-node.d.ts +1 -1
- package/dist/esm/operation-node/create-type-node.js +1 -2
- package/dist/esm/operation-node/default-value-node.d.ts +2 -4
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -2
- package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
- package/dist/esm/operation-node/drop-type-node.js +1 -2
- package/dist/esm/operation-node/explain-node.d.ts +2 -4
- package/dist/esm/operation-node/explain-node.js +1 -1
- package/dist/esm/operation-node/from-node.d.ts +3 -4
- package/dist/esm/operation-node/generated-node.d.ts +2 -3
- package/dist/esm/operation-node/group-by-item-node.d.ts +2 -3
- package/dist/esm/operation-node/group-by-node.d.ts +1 -1
- package/dist/esm/operation-node/group-by-node.js +3 -3
- package/dist/esm/operation-node/having-node.d.ts +3 -4
- package/dist/esm/operation-node/having-node.js +4 -4
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -4
- package/dist/esm/operation-node/join-node.d.ts +5 -9
- package/dist/esm/operation-node/join-node.js +6 -6
- package/dist/esm/operation-node/on-conflict-node.d.ts +5 -7
- package/dist/esm/operation-node/on-conflict-node.js +12 -12
- package/dist/esm/operation-node/on-node.d.ts +3 -4
- package/dist/esm/operation-node/on-node.js +4 -4
- package/dist/esm/operation-node/operation-node-transformer.d.ts +14 -4
- package/dist/esm/operation-node/operation-node-transformer.js +60 -20
- package/dist/esm/operation-node/operation-node-visitor.d.ts +14 -4
- package/dist/esm/operation-node/operation-node-visitor.js +7 -2
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +5 -3
- package/dist/esm/operation-node/operator-node.js +2 -4
- package/dist/esm/operation-node/or-node.d.ts +3 -4
- package/dist/esm/operation-node/order-by-item-node.d.ts +3 -5
- package/dist/esm/operation-node/over-node.d.ts +19 -0
- package/dist/esm/operation-node/over-node.js +33 -0
- package/dist/esm/operation-node/parens-node.d.ts +2 -3
- package/dist/esm/operation-node/partition-by-item-node.d.ts +13 -0
- package/dist/esm/operation-node/partition-by-item-node.js +16 -0
- package/dist/esm/operation-node/partition-by-node.d.ts +14 -0
- package/dist/esm/operation-node/partition-by-node.js +22 -0
- package/dist/esm/operation-node/query-node.d.ts +2 -3
- package/dist/esm/operation-node/query-node.js +6 -6
- package/dist/esm/operation-node/select-modifier-node.d.ts +2 -3
- package/dist/esm/operation-node/select-modifier-node.js +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +8 -9
- package/dist/esm/operation-node/select-query-node.js +14 -14
- package/dist/esm/operation-node/selection-node.d.ts +2 -3
- package/dist/esm/operation-node/set-operation-node.d.ts +15 -0
- package/dist/esm/operation-node/set-operation-node.js +18 -0
- package/dist/esm/operation-node/simple-reference-expression-node.d.ts +3 -0
- package/dist/esm/operation-node/simple-reference-expression-node.js +2 -0
- package/dist/esm/operation-node/unary-operation-node.d.ts +13 -0
- package/dist/esm/operation-node/unary-operation-node.js +17 -0
- package/dist/esm/operation-node/update-query-node.d.ts +3 -4
- package/dist/esm/operation-node/value-list-node.d.ts +2 -8
- package/dist/esm/operation-node/where-node.d.ts +3 -4
- package/dist/esm/operation-node/where-node.js +4 -4
- package/dist/esm/parser/binary-operation-parser.d.ts +20 -0
- package/dist/esm/parser/binary-operation-parser.js +92 -0
- package/dist/esm/parser/coalesce-parser.d.ts +4 -0
- package/dist/esm/parser/coalesce-parser.js +8 -0
- package/dist/esm/parser/data-type-parser.d.ts +5 -5
- package/dist/esm/parser/default-value-parser.d.ts +4 -5
- package/dist/esm/parser/default-value-parser.js +2 -2
- package/dist/esm/parser/expression-parser.d.ts +10 -0
- package/dist/esm/parser/{complex-expression-parser.js → expression-parser.js} +6 -5
- package/dist/esm/parser/group-by-parser.d.ts +1 -1
- package/dist/esm/parser/group-by-parser.js +2 -2
- package/dist/esm/parser/identifier-parser.d.ts +2 -0
- package/dist/esm/parser/identifier-parser.js +20 -0
- package/dist/esm/parser/insert-values-parser.d.ts +1 -1
- package/dist/esm/parser/insert-values-parser.js +2 -2
- package/dist/esm/parser/join-parser.js +2 -2
- package/dist/esm/parser/order-by-parser.d.ts +2 -2
- package/dist/esm/parser/parse-utils.d.ts +2 -0
- package/dist/esm/parser/parse-utils.js +7 -0
- package/dist/esm/parser/partition-by-parser.d.ts +6 -0
- package/dist/esm/parser/partition-by-parser.js +6 -0
- package/dist/esm/parser/reference-parser.d.ts +14 -13
- package/dist/esm/parser/reference-parser.js +10 -8
- package/dist/esm/parser/select-parser.d.ts +6 -6
- package/dist/esm/parser/select-parser.js +2 -2
- package/dist/esm/parser/set-operation-parser.d.ts +3 -0
- package/dist/esm/parser/set-operation-parser.js +5 -0
- package/dist/esm/parser/table-parser.d.ts +11 -12
- package/dist/esm/parser/table-parser.js +2 -2
- package/dist/esm/parser/unary-operation-parser.d.ts +5 -0
- package/dist/esm/parser/unary-operation-parser.js +13 -0
- package/dist/esm/parser/update-set-parser.d.ts +1 -1
- package/dist/esm/parser/value-parser.d.ts +5 -8
- package/dist/esm/parser/value-parser.js +4 -4
- package/dist/esm/parser/with-parser.d.ts +3 -4
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +348 -0
- package/dist/esm/query-builder/aggregate-function-builder.js +294 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +20 -20
- package/dist/esm/query-builder/delete-query-builder.js +19 -16
- package/dist/esm/query-builder/expression-builder.d.ts +3 -3
- package/dist/esm/query-builder/expression-builder.js +3 -3
- package/dist/esm/query-builder/function-module.d.ts +241 -0
- package/dist/esm/query-builder/function-module.js +211 -0
- package/dist/esm/query-builder/having-interface.d.ts +9 -8
- package/dist/esm/query-builder/insert-query-builder.d.ts +7 -6
- package/dist/esm/query-builder/insert-query-builder.js +11 -9
- package/dist/esm/query-builder/insert-result.d.ts +8 -1
- package/dist/esm/query-builder/insert-result.js +12 -1
- package/dist/esm/query-builder/join-builder.d.ts +9 -8
- package/dist/esm/query-builder/join-builder.js +10 -9
- package/dist/esm/query-builder/on-conflict-builder.d.ts +25 -24
- package/dist/esm/query-builder/on-conflict-builder.js +18 -17
- package/dist/esm/query-builder/over-builder.d.ts +59 -0
- package/dist/esm/query-builder/over-builder.js +47 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +138 -47
- package/dist/esm/query-builder/select-query-builder.js +120 -38
- package/dist/esm/query-builder/update-query-builder.d.ts +20 -20
- package/dist/esm/query-builder/update-query-builder.js +19 -16
- package/dist/esm/query-builder/where-interface.d.ts +12 -11
- package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +15 -5
- package/dist/esm/query-compiler/default-query-compiler.js +79 -48
- package/dist/esm/query-executor/query-executor-base.js +16 -1
- package/dist/esm/raw-builder/raw-builder.d.ts +49 -13
- package/dist/esm/raw-builder/raw-builder.js +23 -14
- package/dist/esm/raw-builder/sql.d.ts +15 -7
- package/dist/esm/raw-builder/sql.js +6 -0
- package/dist/esm/schema/alter-column-builder.d.ts +28 -0
- package/dist/esm/schema/alter-column-builder.js +51 -0
- package/dist/esm/schema/alter-table-builder.d.ts +39 -341
- package/dist/esm/schema/alter-table-builder.js +61 -274
- package/dist/esm/schema/column-definition-builder.d.ts +43 -155
- package/dist/esm/schema/column-definition-builder.js +189 -0
- package/dist/esm/schema/create-index-builder.d.ts +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +38 -5
- package/dist/esm/schema/create-table-builder.js +36 -1
- package/dist/esm/schema/create-view-builder.d.ts +3 -2
- package/dist/esm/schema/schema.d.ts +2 -2
- package/dist/esm/schema/schema.js +6 -5
- package/dist/esm/util/compilable.d.ts +2 -2
- package/dist/esm/util/explainable.d.ts +2 -2
- package/dist/esm/util/infer-result.d.ts +46 -0
- package/dist/esm/util/infer-result.js +2 -0
- package/dist/esm/util/log-once.d.ts +5 -0
- package/dist/esm/util/log-once.js +13 -0
- package/dist/esm/util/object-utils.d.ts +1 -0
- package/dist/esm/util/object-utils.js +3 -0
- package/dist/esm/util/type-utils.d.ts +3 -13
- package/package.json +4 -1
- package/dist/cjs/operation-node/filter-node.d.ts +0 -18
- package/dist/cjs/operation-node/operation-node-utils.d.ts +0 -17
- package/dist/cjs/operation-node/union-node.d.ts +0 -16
- package/dist/cjs/parser/complex-expression-parser.d.ts +0 -10
- package/dist/cjs/parser/filter-parser.d.ts +0 -24
- package/dist/cjs/parser/filter-parser.js +0 -109
- package/dist/cjs/parser/union-parser.d.ts +0 -5
- package/dist/cjs/parser/union-parser.js +0 -8
- package/dist/cjs/query-builder/function-builder.d.ts +0 -133
- package/dist/cjs/query-builder/function-builder.js +0 -160
- package/dist/esm/operation-node/filter-node.d.ts +0 -18
- package/dist/esm/operation-node/filter-node.js +0 -18
- package/dist/esm/operation-node/operation-node-utils.d.ts +0 -17
- package/dist/esm/operation-node/operation-node-utils.js +0 -2
- package/dist/esm/operation-node/union-node.d.ts +0 -16
- package/dist/esm/operation-node/union-node.js +0 -17
- package/dist/esm/parser/complex-expression-parser.d.ts +0 -10
- package/dist/esm/parser/filter-parser.d.ts +0 -24
- package/dist/esm/parser/filter-parser.js +0 -100
- package/dist/esm/parser/union-parser.d.ts +0 -5
- package/dist/esm/parser/union-parser.js +0 -5
- package/dist/esm/query-builder/function-builder.d.ts +0 -133
- package/dist/esm/query-builder/function-builder.js +0 -157
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './kysely.js';
|
|
2
2
|
export * from './query-creator.js';
|
|
3
|
+
export * from './expression/expression.js';
|
|
3
4
|
export * from './query-builder/where-interface.js';
|
|
4
5
|
export * from './query-builder/returning-interface.js';
|
|
5
6
|
export * from './query-builder/having-interface.js';
|
|
@@ -10,11 +11,12 @@ export * from './query-builder/delete-query-builder.js';
|
|
|
10
11
|
export * from './query-builder/no-result-error.js';
|
|
11
12
|
export * from './query-builder/join-builder.js';
|
|
12
13
|
export * from './query-builder/expression-builder.js';
|
|
13
|
-
export * from './query-builder/function-
|
|
14
|
+
export * from './query-builder/function-module.js';
|
|
14
15
|
export * from './query-builder/insert-result.js';
|
|
15
16
|
export * from './query-builder/delete-result.js';
|
|
16
17
|
export * from './query-builder/update-result.js';
|
|
17
18
|
export * from './query-builder/on-conflict-builder.js';
|
|
19
|
+
export * from './query-builder/aggregate-function-builder.js';
|
|
18
20
|
export * from './raw-builder/raw-builder.js';
|
|
19
21
|
export * from './raw-builder/sql.js';
|
|
20
22
|
export * from './query-executor/query-executor.js';
|
|
@@ -37,6 +39,7 @@ export * from './schema/foreign-key-constraint-builder.js';
|
|
|
37
39
|
export * from './schema/alter-table-builder.js';
|
|
38
40
|
export * from './schema/create-view-builder.js';
|
|
39
41
|
export * from './schema/drop-view-builder.js';
|
|
42
|
+
export * from './schema/alter-column-builder.js';
|
|
40
43
|
export * from './dynamic/dynamic.js';
|
|
41
44
|
export * from './driver/driver.js';
|
|
42
45
|
export * from './driver/database-connection.js';
|
|
@@ -102,7 +105,6 @@ export * from './operation-node/drop-schema-node.js';
|
|
|
102
105
|
export * from './operation-node/drop-table-node.js';
|
|
103
106
|
export * from './operation-node/drop-type-node.js';
|
|
104
107
|
export * from './operation-node/drop-view-node.js';
|
|
105
|
-
export * from './operation-node/filter-node.js';
|
|
106
108
|
export * from './operation-node/foreign-key-constraint-node.js';
|
|
107
109
|
export * from './operation-node/from-node.js';
|
|
108
110
|
export * from './operation-node/generated-node.js';
|
|
@@ -121,7 +123,6 @@ export * from './operation-node/on-duplicate-key-node.js';
|
|
|
121
123
|
export * from './operation-node/on-node.js';
|
|
122
124
|
export * from './operation-node/operation-node-source.js';
|
|
123
125
|
export * from './operation-node/operation-node-transformer.js';
|
|
124
|
-
export * from './operation-node/operation-node-utils.js';
|
|
125
126
|
export * from './operation-node/operation-node-visitor.js';
|
|
126
127
|
export * from './operation-node/operation-node.js';
|
|
127
128
|
export * from './operation-node/operator-node.js';
|
|
@@ -142,7 +143,6 @@ export * from './operation-node/select-query-node.js';
|
|
|
142
143
|
export * from './operation-node/select-query-node.js';
|
|
143
144
|
export * from './operation-node/selection-node.js';
|
|
144
145
|
export * from './operation-node/table-node.js';
|
|
145
|
-
export * from './operation-node/union-node.js';
|
|
146
146
|
export * from './operation-node/unique-constraint-node.js';
|
|
147
147
|
export * from './operation-node/update-query-node.js';
|
|
148
148
|
export * from './operation-node/value-list-node.js';
|
|
@@ -152,18 +152,27 @@ export * from './operation-node/where-node.js';
|
|
|
152
152
|
export * from './operation-node/with-node.js';
|
|
153
153
|
export * from './operation-node/explain-node.js';
|
|
154
154
|
export * from './operation-node/default-insert-value-node.js';
|
|
155
|
+
export * from './operation-node/aggregate-function-node.js';
|
|
156
|
+
export * from './operation-node/over-node.js';
|
|
157
|
+
export * from './operation-node/partition-by-node.js';
|
|
158
|
+
export * from './operation-node/partition-by-item-node.js';
|
|
159
|
+
export * from './operation-node/set-operation-node.js';
|
|
160
|
+
export * from './operation-node/binary-operation-node.js';
|
|
161
|
+
export * from './operation-node/unary-operation-node.js';
|
|
155
162
|
export * from './util/column-type.js';
|
|
156
163
|
export * from './util/compilable.js';
|
|
157
164
|
export * from './util/explainable.js';
|
|
158
165
|
export * from './util/log.js';
|
|
159
|
-
export { AnyColumn,
|
|
166
|
+
export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, AnySelectQueryBuilder, Equals, UnknownRow, } from './util/type-utils.js';
|
|
167
|
+
export * from './util/infer-result.js';
|
|
168
|
+
export { logOnce } from './util/log-once.js';
|
|
160
169
|
export { SelectExpression, SelectExpressionOrList, Selection, } from './parser/select-parser.js';
|
|
161
|
-
export { ReferenceExpression, ReferenceExpressionOrList, } from './parser/reference-parser.js';
|
|
170
|
+
export { ReferenceExpression, ReferenceExpressionOrList, SimpleReferenceExpression, StringReference, ExtractTypeFromStringReference, ExtractTypeFromReferenceExpression, } from './parser/reference-parser.js';
|
|
162
171
|
export { ValueExpression, ValueExpressionOrList, } from './parser/value-parser.js';
|
|
163
|
-
export { FilterValueExpression, FilterValueExpressionOrList, ExistsExpression, FilterOperator, } from './parser/filter-parser.js';
|
|
164
172
|
export { TableExpression, TableExpressionOrList, } from './parser/table-parser.js';
|
|
165
173
|
export { JoinReferenceExpression, JoinCallbackExpression, } from './parser/join-parser.js';
|
|
166
174
|
export { InsertObject } from './parser/insert-values-parser.js';
|
|
167
175
|
export { MutationObject } from './parser/update-set-parser.js';
|
|
168
176
|
export { OrderByExpression, OrderByDirectionExpression, } from './parser/order-by-parser.js';
|
|
169
|
-
export {
|
|
177
|
+
export { ComparisonOperatorExpression, OperandValueExpression, OperandValueExpressionOrList, } from './parser/binary-operation-parser.js';
|
|
178
|
+
export { ExistsExpression } from './parser/unary-operation-parser.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="./index.d.ts" />
|
|
2
2
|
export * from './kysely.js';
|
|
3
3
|
export * from './query-creator.js';
|
|
4
|
+
export * from './expression/expression.js';
|
|
4
5
|
export * from './query-builder/where-interface.js';
|
|
5
6
|
export * from './query-builder/returning-interface.js';
|
|
6
7
|
export * from './query-builder/having-interface.js';
|
|
@@ -11,11 +12,12 @@ export * from './query-builder/delete-query-builder.js';
|
|
|
11
12
|
export * from './query-builder/no-result-error.js';
|
|
12
13
|
export * from './query-builder/join-builder.js';
|
|
13
14
|
export * from './query-builder/expression-builder.js';
|
|
14
|
-
export * from './query-builder/function-
|
|
15
|
+
export * from './query-builder/function-module.js';
|
|
15
16
|
export * from './query-builder/insert-result.js';
|
|
16
17
|
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';
|
|
20
|
+
export * from './query-builder/aggregate-function-builder.js';
|
|
19
21
|
export * from './raw-builder/raw-builder.js';
|
|
20
22
|
export * from './raw-builder/sql.js';
|
|
21
23
|
export * from './query-executor/query-executor.js';
|
|
@@ -38,6 +40,7 @@ export * from './schema/foreign-key-constraint-builder.js';
|
|
|
38
40
|
export * from './schema/alter-table-builder.js';
|
|
39
41
|
export * from './schema/create-view-builder.js';
|
|
40
42
|
export * from './schema/drop-view-builder.js';
|
|
43
|
+
export * from './schema/alter-column-builder.js';
|
|
41
44
|
export * from './dynamic/dynamic.js';
|
|
42
45
|
export * from './driver/driver.js';
|
|
43
46
|
export * from './driver/database-connection.js';
|
|
@@ -103,7 +106,6 @@ export * from './operation-node/drop-schema-node.js';
|
|
|
103
106
|
export * from './operation-node/drop-table-node.js';
|
|
104
107
|
export * from './operation-node/drop-type-node.js';
|
|
105
108
|
export * from './operation-node/drop-view-node.js';
|
|
106
|
-
export * from './operation-node/filter-node.js';
|
|
107
109
|
export * from './operation-node/foreign-key-constraint-node.js';
|
|
108
110
|
export * from './operation-node/from-node.js';
|
|
109
111
|
export * from './operation-node/generated-node.js';
|
|
@@ -122,7 +124,6 @@ export * from './operation-node/on-duplicate-key-node.js';
|
|
|
122
124
|
export * from './operation-node/on-node.js';
|
|
123
125
|
export * from './operation-node/operation-node-source.js';
|
|
124
126
|
export * from './operation-node/operation-node-transformer.js';
|
|
125
|
-
export * from './operation-node/operation-node-utils.js';
|
|
126
127
|
export * from './operation-node/operation-node-visitor.js';
|
|
127
128
|
export * from './operation-node/operation-node.js';
|
|
128
129
|
export * from './operation-node/operator-node.js';
|
|
@@ -143,7 +144,6 @@ export * from './operation-node/select-query-node.js';
|
|
|
143
144
|
export * from './operation-node/select-query-node.js';
|
|
144
145
|
export * from './operation-node/selection-node.js';
|
|
145
146
|
export * from './operation-node/table-node.js';
|
|
146
|
-
export * from './operation-node/union-node.js';
|
|
147
147
|
export * from './operation-node/unique-constraint-node.js';
|
|
148
148
|
export * from './operation-node/update-query-node.js';
|
|
149
149
|
export * from './operation-node/value-list-node.js';
|
|
@@ -153,7 +153,16 @@ export * from './operation-node/where-node.js';
|
|
|
153
153
|
export * from './operation-node/with-node.js';
|
|
154
154
|
export * from './operation-node/explain-node.js';
|
|
155
155
|
export * from './operation-node/default-insert-value-node.js';
|
|
156
|
+
export * from './operation-node/aggregate-function-node.js';
|
|
157
|
+
export * from './operation-node/over-node.js';
|
|
158
|
+
export * from './operation-node/partition-by-node.js';
|
|
159
|
+
export * from './operation-node/partition-by-item-node.js';
|
|
160
|
+
export * from './operation-node/set-operation-node.js';
|
|
161
|
+
export * from './operation-node/binary-operation-node.js';
|
|
162
|
+
export * from './operation-node/unary-operation-node.js';
|
|
156
163
|
export * from './util/column-type.js';
|
|
157
164
|
export * from './util/compilable.js';
|
|
158
165
|
export * from './util/explainable.js';
|
|
159
166
|
export * from './util/log.js';
|
|
167
|
+
export * from './util/infer-result.js';
|
|
168
|
+
export { logOnce } from './util/log-once.js';
|
package/dist/esm/kysely.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { QueryCreator } from './query-creator.js';
|
|
|
6
6
|
import { KyselyPlugin } from './plugin/kysely-plugin.js';
|
|
7
7
|
import { DatabaseIntrospector } from './dialect/database-introspector.js';
|
|
8
8
|
import { Driver, IsolationLevel } from './driver/driver.js';
|
|
9
|
-
import {
|
|
9
|
+
import { FunctionModule } from './query-builder/function-module.js';
|
|
10
10
|
import { LogConfig } from './util/log.js';
|
|
11
11
|
import { QueryExecutorProvider } from './query-executor/query-executor-provider.js';
|
|
12
12
|
/**
|
|
@@ -72,7 +72,7 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
72
72
|
*/
|
|
73
73
|
get introspection(): DatabaseIntrospector;
|
|
74
74
|
/**
|
|
75
|
-
* Returns a {@link
|
|
75
|
+
* Returns a {@link FunctionModule} that can be used to write type safe function
|
|
76
76
|
* calls.
|
|
77
77
|
*
|
|
78
78
|
* ```ts
|
|
@@ -99,7 +99,7 @@ export declare class Kysely<DB> extends QueryCreator<DB> implements QueryExecuto
|
|
|
99
99
|
* having count("pet"."id") > $1
|
|
100
100
|
* ```
|
|
101
101
|
*/
|
|
102
|
-
get fn():
|
|
102
|
+
get fn(): FunctionModule<DB, keyof DB>;
|
|
103
103
|
/**
|
|
104
104
|
* Creates a {@link TransactionBuilder} that can be used to run queries inside a transaction.
|
|
105
105
|
*
|
package/dist/esm/kysely.js
CHANGED
|
@@ -9,7 +9,7 @@ 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';
|
|
11
11
|
import { preventAwait } from './util/prevent-await.js';
|
|
12
|
-
import {
|
|
12
|
+
import { FunctionModule } from './query-builder/function-module.js';
|
|
13
13
|
import { Log } from './util/log.js';
|
|
14
14
|
/**
|
|
15
15
|
* The main Kysely class.
|
|
@@ -105,7 +105,7 @@ export class Kysely extends QueryCreator {
|
|
|
105
105
|
return this.#props.dialect.createIntrospector(this.withoutPlugins());
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Returns a {@link
|
|
108
|
+
* Returns a {@link FunctionModule} that can be used to write type safe function
|
|
109
109
|
* calls.
|
|
110
110
|
*
|
|
111
111
|
* ```ts
|
|
@@ -133,7 +133,7 @@ export class Kysely extends QueryCreator {
|
|
|
133
133
|
* ```
|
|
134
134
|
*/
|
|
135
135
|
get fn() {
|
|
136
|
-
return new
|
|
136
|
+
return new FunctionModule();
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
139
|
* Creates a {@link TransactionBuilder} that can be used to run queries inside a transaction.
|
|
@@ -25,12 +25,19 @@ export class FileMigrationProvider {
|
|
|
25
25
|
const migrations = {};
|
|
26
26
|
const files = await this.#props.fs.readdir(this.#props.migrationFolder);
|
|
27
27
|
for (const fileName of files) {
|
|
28
|
-
if (
|
|
29
|
-
!fileName.endsWith('.d.ts'))
|
|
28
|
+
if (fileName.endsWith('.js') ||
|
|
29
|
+
(fileName.endsWith('.ts') && !fileName.endsWith('.d.ts')) ||
|
|
30
|
+
fileName.endsWith('.mjs') ||
|
|
31
|
+
(fileName.endsWith('.mts') && !fileName.endsWith('.d.mts'))) {
|
|
30
32
|
const migration = await import(
|
|
31
33
|
/* webpackIgnore: true */ this.#props.path.join(this.#props.migrationFolder, fileName));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
const migrationKey = fileName.substring(0, fileName.lastIndexOf('.'));
|
|
35
|
+
// Handle esModuleInterop export's `default` prop...
|
|
36
|
+
if (isMigration(migration?.default)) {
|
|
37
|
+
migrations[migrationKey] = migration.default;
|
|
38
|
+
}
|
|
39
|
+
else if (isMigration(migration)) {
|
|
40
|
+
migrations[migrationKey] = migration;
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { OverNode } from './over-node.js';
|
|
3
|
+
import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js';
|
|
4
|
+
import { WhereNode } from './where-node.js';
|
|
5
|
+
declare type AggregateFunction = 'avg' | 'count' | 'max' | 'min' | 'sum';
|
|
6
|
+
export interface AggregateFunctionNode extends OperationNode {
|
|
7
|
+
readonly kind: 'AggregateFunctionNode';
|
|
8
|
+
readonly func: AggregateFunction;
|
|
9
|
+
readonly column: SimpleReferenceExpressionNode;
|
|
10
|
+
readonly distinct?: boolean;
|
|
11
|
+
readonly filter?: WhereNode;
|
|
12
|
+
readonly over?: OverNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare const AggregateFunctionNode: Readonly<{
|
|
18
|
+
is(node: OperationNode): node is AggregateFunctionNode;
|
|
19
|
+
create(aggregateFunction: AggregateFunction, column: SimpleReferenceExpressionNode): AggregateFunctionNode;
|
|
20
|
+
cloneWithDistinct(aggregateFunctionNode: AggregateFunctionNode): AggregateFunctionNode;
|
|
21
|
+
cloneWithFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
|
|
22
|
+
cloneWithOrFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): AggregateFunctionNode;
|
|
23
|
+
cloneWithOver(aggregateFunctionNode: AggregateFunctionNode, over?: OverNode): AggregateFunctionNode;
|
|
24
|
+
}>;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/// <reference types="./aggregate-function-node.d.ts" />
|
|
2
|
+
import { freeze } from '../util/object-utils.js';
|
|
3
|
+
import { WhereNode } from './where-node.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export const AggregateFunctionNode = freeze({
|
|
8
|
+
is(node) {
|
|
9
|
+
return node.kind === 'AggregateFunctionNode';
|
|
10
|
+
},
|
|
11
|
+
create(aggregateFunction, column) {
|
|
12
|
+
return freeze({
|
|
13
|
+
kind: 'AggregateFunctionNode',
|
|
14
|
+
func: aggregateFunction,
|
|
15
|
+
column,
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
cloneWithDistinct(aggregateFunctionNode) {
|
|
19
|
+
return freeze({
|
|
20
|
+
...aggregateFunctionNode,
|
|
21
|
+
distinct: true,
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
cloneWithFilter(aggregateFunctionNode, filter) {
|
|
25
|
+
return freeze({
|
|
26
|
+
...aggregateFunctionNode,
|
|
27
|
+
filter: aggregateFunctionNode.filter
|
|
28
|
+
? WhereNode.cloneWithOperation(aggregateFunctionNode.filter, 'And', filter)
|
|
29
|
+
: WhereNode.create(filter),
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
cloneWithOrFilter(aggregateFunctionNode, filter) {
|
|
33
|
+
return freeze({
|
|
34
|
+
...aggregateFunctionNode,
|
|
35
|
+
filter: aggregateFunctionNode.filter
|
|
36
|
+
? WhereNode.cloneWithOperation(aggregateFunctionNode.filter, 'Or', filter)
|
|
37
|
+
: WhereNode.create(filter),
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
cloneWithOver(aggregateFunctionNode, over) {
|
|
41
|
+
return freeze({
|
|
42
|
+
...aggregateFunctionNode,
|
|
43
|
+
over,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
});
|
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
import { ColumnNode } from './column-node.js';
|
|
2
|
-
import { IdentifierNode } from './identifier-node.js';
|
|
3
1
|
import { OperationNode } from './operation-node.js';
|
|
4
|
-
import { RawNode } from './raw-node.js';
|
|
5
|
-
import { ReferenceNode } from './reference-node.js';
|
|
6
|
-
import { SelectQueryNode } from './select-query-node.js';
|
|
7
|
-
import { TableNode } from './table-node.js';
|
|
8
|
-
export declare type AliasNodeChild = ColumnNode | ReferenceNode | TableNode | SelectQueryNode | RawNode;
|
|
9
2
|
export interface AliasNode extends OperationNode {
|
|
10
3
|
readonly kind: 'AliasNode';
|
|
11
|
-
readonly node:
|
|
12
|
-
readonly alias:
|
|
4
|
+
readonly node: OperationNode;
|
|
5
|
+
readonly alias: OperationNode;
|
|
13
6
|
}
|
|
14
7
|
/**
|
|
15
8
|
* @internal
|
|
16
9
|
*/
|
|
17
10
|
export declare const AliasNode: Readonly<{
|
|
18
11
|
is(node: OperationNode): node is AliasNode;
|
|
19
|
-
create(node:
|
|
12
|
+
create(node: OperationNode, alias: OperationNode): AliasNode;
|
|
20
13
|
}>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { ColumnNode } from './column-node.js';
|
|
3
3
|
import { DataTypeNode } from './data-type-node.js';
|
|
4
|
-
import { ValueNode } from './value-node.js';
|
|
5
4
|
import { RawNode } from './raw-node.js';
|
|
6
5
|
export declare type AlterColumnNodeProps = Omit<AlterColumnNode, 'kind' | 'column'>;
|
|
7
6
|
export interface AlterColumnNode extends OperationNode {
|
|
@@ -9,7 +8,7 @@ export interface AlterColumnNode extends OperationNode {
|
|
|
9
8
|
readonly column: ColumnNode;
|
|
10
9
|
readonly dataType?: DataTypeNode;
|
|
11
10
|
readonly dataTypeExpression?: RawNode;
|
|
12
|
-
readonly setDefault?:
|
|
11
|
+
readonly setDefault?: OperationNode;
|
|
13
12
|
readonly dropDefault?: true;
|
|
14
13
|
readonly setNotNull?: true;
|
|
15
14
|
readonly dropNotNull?: true;
|
|
@@ -8,17 +8,14 @@ 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 declare type
|
|
11
|
+
export declare type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint'>;
|
|
12
|
+
export declare type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
|
|
12
13
|
export interface AlterTableNode extends OperationNode {
|
|
13
14
|
readonly kind: 'AlterTableNode';
|
|
14
15
|
readonly table: TableNode;
|
|
15
16
|
readonly renameTo?: TableNode;
|
|
16
17
|
readonly setSchema?: IdentifierNode;
|
|
17
|
-
readonly
|
|
18
|
-
readonly addColumn?: AddColumnNode;
|
|
19
|
-
readonly dropColumn?: DropColumnNode;
|
|
20
|
-
readonly alterColumn?: AlterColumnNode;
|
|
21
|
-
readonly modifyColumn?: ModifyColumnNode;
|
|
18
|
+
readonly columnAlterations?: ReadonlyArray<AlterTableColumnAlterationNode>;
|
|
22
19
|
readonly addConstraint?: AddConstraintNode;
|
|
23
20
|
readonly dropConstraint?: DropConstraintNode;
|
|
24
21
|
}
|
|
@@ -28,5 +25,6 @@ export interface AlterTableNode extends OperationNode {
|
|
|
28
25
|
export declare const AlterTableNode: Readonly<{
|
|
29
26
|
is(node: OperationNode): node is AlterTableNode;
|
|
30
27
|
create(table: string): AlterTableNode;
|
|
31
|
-
|
|
28
|
+
cloneWithTableProps(node: AlterTableNode, props: AlterTableNodeTableProps): AlterTableNode;
|
|
29
|
+
cloneWithColumnAlteration(node: AlterTableNode, columnAlteration: AlterTableColumnAlterationNode): AlterTableNode;
|
|
32
30
|
}>;
|
|
@@ -14,10 +14,18 @@ export const AlterTableNode = freeze({
|
|
|
14
14
|
table: TableNode.create(table),
|
|
15
15
|
});
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
cloneWithTableProps(node, props) {
|
|
18
18
|
return freeze({
|
|
19
19
|
...node,
|
|
20
20
|
...props,
|
|
21
21
|
});
|
|
22
22
|
},
|
|
23
|
+
cloneWithColumnAlteration(node, columnAlteration) {
|
|
24
|
+
return freeze({
|
|
25
|
+
...node,
|
|
26
|
+
columnAlterations: node.columnAlterations
|
|
27
|
+
? [...node.columnAlterations, columnAlteration]
|
|
28
|
+
: [columnAlteration],
|
|
29
|
+
});
|
|
30
|
+
},
|
|
23
31
|
});
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
3
2
|
export interface AndNode extends OperationNode {
|
|
4
3
|
readonly kind: 'AndNode';
|
|
5
|
-
readonly left:
|
|
6
|
-
readonly right:
|
|
4
|
+
readonly left: OperationNode;
|
|
5
|
+
readonly right: OperationNode;
|
|
7
6
|
}
|
|
8
7
|
/**
|
|
9
8
|
* @internal
|
|
10
9
|
*/
|
|
11
10
|
export declare const AndNode: Readonly<{
|
|
12
11
|
is(node: OperationNode): node is AndNode;
|
|
13
|
-
create(left:
|
|
12
|
+
create(left: OperationNode, right: OperationNode): AndNode;
|
|
14
13
|
}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export interface BinaryOperationNode extends OperationNode {
|
|
3
|
+
readonly kind: 'BinaryOperationNode';
|
|
4
|
+
readonly leftOperand: OperationNode;
|
|
5
|
+
readonly operator: OperationNode;
|
|
6
|
+
readonly rightOperand: OperationNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const BinaryOperationNode: Readonly<{
|
|
12
|
+
is(node: OperationNode): node is BinaryOperationNode;
|
|
13
|
+
create(leftOperand: OperationNode, operator: OperationNode, rightOperand: OperationNode): BinaryOperationNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="./binary-operation-node.d.ts" />
|
|
2
|
+
import { freeze } from '../util/object-utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const BinaryOperationNode = freeze({
|
|
7
|
+
is(node) {
|
|
8
|
+
return node.kind === 'BinaryOperationNode';
|
|
9
|
+
},
|
|
10
|
+
create(leftOperand, operator, rightOperand) {
|
|
11
|
+
return freeze({
|
|
12
|
+
kind: 'BinaryOperationNode',
|
|
13
|
+
leftOperand,
|
|
14
|
+
operator,
|
|
15
|
+
rightOperand,
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { RawNode } from './raw-node.js';
|
|
3
2
|
import { IdentifierNode } from './identifier-node.js';
|
|
4
3
|
export interface CheckConstraintNode extends OperationNode {
|
|
5
4
|
readonly kind: 'CheckConstraintNode';
|
|
6
|
-
readonly expression:
|
|
5
|
+
readonly expression: OperationNode;
|
|
7
6
|
readonly name?: IdentifierNode;
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
@@ -11,5 +10,5 @@ export interface CheckConstraintNode extends OperationNode {
|
|
|
11
10
|
*/
|
|
12
11
|
export declare const CheckConstraintNode: Readonly<{
|
|
13
12
|
is(node: OperationNode): node is CheckConstraintNode;
|
|
14
|
-
create(expression:
|
|
13
|
+
create(expression: OperationNode, constraintName?: string): CheckConstraintNode;
|
|
15
14
|
}>;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { CheckConstraintNode } from './check-constraint-node.js';
|
|
2
2
|
import { ColumnNode } from './column-node.js';
|
|
3
|
-
import { DataTypeNode } from './data-type-node.js';
|
|
4
3
|
import { DefaultValueNode } from './default-value-node.js';
|
|
5
4
|
import { GeneratedNode } from './generated-node.js';
|
|
6
5
|
import { OperationNode } from './operation-node.js';
|
|
7
|
-
import { RawNode } from './raw-node.js';
|
|
8
6
|
import { ReferencesNode } from './references-node.js';
|
|
9
7
|
export declare type ColumnDefinitionNodeProps = Omit<Partial<ColumnDefinitionNode>, 'kind' | 'dataType'>;
|
|
10
|
-
export declare type ColumnDataTypeNode = DataTypeNode | RawNode;
|
|
11
8
|
export interface ColumnDefinitionNode extends OperationNode {
|
|
12
9
|
readonly kind: 'ColumnDefinitionNode';
|
|
13
10
|
readonly column: ColumnNode;
|
|
14
|
-
readonly dataType:
|
|
11
|
+
readonly dataType: OperationNode;
|
|
15
12
|
readonly references?: ReferencesNode;
|
|
16
13
|
readonly primaryKey?: boolean;
|
|
17
14
|
readonly autoIncrement?: boolean;
|
|
@@ -21,12 +18,16 @@ export interface ColumnDefinitionNode extends OperationNode {
|
|
|
21
18
|
readonly check?: CheckConstraintNode;
|
|
22
19
|
readonly generated?: GeneratedNode;
|
|
23
20
|
readonly unsigned?: boolean;
|
|
21
|
+
readonly frontModifiers?: ReadonlyArray<OperationNode>;
|
|
22
|
+
readonly endModifiers?: ReadonlyArray<OperationNode>;
|
|
24
23
|
}
|
|
25
24
|
/**
|
|
26
25
|
* @internal
|
|
27
26
|
*/
|
|
28
27
|
export declare const ColumnDefinitionNode: Readonly<{
|
|
29
28
|
is(node: OperationNode): node is ColumnDefinitionNode;
|
|
30
|
-
create(column: string, dataType:
|
|
29
|
+
create(column: string, dataType: OperationNode): ColumnDefinitionNode;
|
|
30
|
+
cloneWithFrontModifier(node: ColumnDefinitionNode, modifier: OperationNode): ColumnDefinitionNode;
|
|
31
|
+
cloneWithEndModifier(node: ColumnDefinitionNode, modifier: OperationNode): ColumnDefinitionNode;
|
|
31
32
|
cloneWith(node: ColumnDefinitionNode, props: ColumnDefinitionNodeProps): ColumnDefinitionNode;
|
|
32
33
|
}>;
|
|
@@ -15,6 +15,22 @@ export const ColumnDefinitionNode = freeze({
|
|
|
15
15
|
dataType,
|
|
16
16
|
});
|
|
17
17
|
},
|
|
18
|
+
cloneWithFrontModifier(node, modifier) {
|
|
19
|
+
return freeze({
|
|
20
|
+
...node,
|
|
21
|
+
frontModifiers: node.frontModifiers
|
|
22
|
+
? freeze([...node.frontModifiers, modifier])
|
|
23
|
+
: [modifier],
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
cloneWithEndModifier(node, modifier) {
|
|
27
|
+
return freeze({
|
|
28
|
+
...node,
|
|
29
|
+
endModifiers: node.endModifiers
|
|
30
|
+
? freeze([...node.endModifiers, modifier])
|
|
31
|
+
: [modifier],
|
|
32
|
+
});
|
|
33
|
+
},
|
|
18
34
|
cloneWith(node, props) {
|
|
19
35
|
return freeze({
|
|
20
36
|
...node,
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ColumnNode } from './column-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
import { ValueExpressionNode } from './operation-node-utils.js';
|
|
4
3
|
export interface ColumnUpdateNode extends OperationNode {
|
|
5
4
|
readonly kind: 'ColumnUpdateNode';
|
|
6
5
|
readonly column: ColumnNode;
|
|
7
|
-
readonly value:
|
|
6
|
+
readonly value: OperationNode;
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
9
|
* @internal
|
|
11
10
|
*/
|
|
12
11
|
export declare const ColumnUpdateNode: Readonly<{
|
|
13
12
|
is(node: OperationNode): node is ColumnUpdateNode;
|
|
14
|
-
create(column: ColumnNode, value:
|
|
13
|
+
create(column: ColumnNode, value: OperationNode): ColumnUpdateNode;
|
|
15
14
|
}>;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { CommonTableExpressionNameNode } from './common-table-expression-name-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
import { QueryNode } from './query-node.js';
|
|
4
|
-
import { RawNode } from './raw-node.js';
|
|
5
3
|
export interface CommonTableExpressionNode extends OperationNode {
|
|
6
4
|
readonly kind: 'CommonTableExpressionNode';
|
|
7
5
|
readonly name: CommonTableExpressionNameNode;
|
|
8
|
-
readonly expression:
|
|
6
|
+
readonly expression: OperationNode;
|
|
9
7
|
}
|
|
10
8
|
/**
|
|
11
9
|
* @internal
|
|
12
10
|
*/
|
|
13
11
|
export declare const CommonTableExpressionNode: Readonly<{
|
|
14
12
|
is(node: OperationNode): node is CommonTableExpressionNode;
|
|
15
|
-
create(name: CommonTableExpressionNameNode, expression:
|
|
13
|
+
create(name: CommonTableExpressionNameNode, expression: OperationNode): CommonTableExpressionNode;
|
|
16
14
|
}>;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { ColumnNode } from './column-node.js';
|
|
2
1
|
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
-
import { ListNode } from './list-node.js';
|
|
4
2
|
import { OperationNode } from './operation-node.js';
|
|
5
3
|
import { RawNode } from './raw-node.js';
|
|
6
4
|
import { TableNode } from './table-node.js';
|
|
@@ -10,7 +8,7 @@ export interface CreateIndexNode extends OperationNode {
|
|
|
10
8
|
readonly kind: 'CreateIndexNode';
|
|
11
9
|
readonly name: IdentifierNode;
|
|
12
10
|
readonly table?: TableNode;
|
|
13
|
-
readonly expression?:
|
|
11
|
+
readonly expression?: OperationNode;
|
|
14
12
|
readonly unique?: boolean;
|
|
15
13
|
readonly using?: RawNode;
|
|
16
14
|
}
|
|
@@ -3,7 +3,6 @@ import { TableNode } from './table-node.js';
|
|
|
3
3
|
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
|
-
import { RawNode } from './raw-node.js';
|
|
7
6
|
export declare const ON_COMMIT_ACTIONS: string[];
|
|
8
7
|
export declare type OnCommitAction = ArrayItemType<typeof ON_COMMIT_ACTIONS>;
|
|
9
8
|
export declare type CreateTableNodeParams = Omit<CreateTableNode, 'kind' | 'table' | 'columns' | 'constraints' | 'frontModifiers' | 'endModifiers'>;
|
|
@@ -15,8 +14,8 @@ export interface CreateTableNode extends OperationNode {
|
|
|
15
14
|
readonly temporary?: boolean;
|
|
16
15
|
readonly ifNotExists?: boolean;
|
|
17
16
|
readonly onCommit?: OnCommitAction;
|
|
18
|
-
readonly frontModifiers?: ReadonlyArray<
|
|
19
|
-
readonly endModifiers?: ReadonlyArray<
|
|
17
|
+
readonly frontModifiers?: ReadonlyArray<OperationNode>;
|
|
18
|
+
readonly endModifiers?: ReadonlyArray<OperationNode>;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
21
|
* @internal
|
|
@@ -26,7 +25,7 @@ export declare const CreateTableNode: Readonly<{
|
|
|
26
25
|
create(table: TableNode): CreateTableNode;
|
|
27
26
|
cloneWithColumn(createTable: CreateTableNode, column: ColumnDefinitionNode): CreateTableNode;
|
|
28
27
|
cloneWithConstraint(createTable: CreateTableNode, constraint: ConstraintNode): CreateTableNode;
|
|
29
|
-
cloneWithFrontModifier(createTable: CreateTableNode, modifier:
|
|
30
|
-
cloneWithEndModifier(createTable: CreateTableNode, modifier:
|
|
28
|
+
cloneWithFrontModifier(createTable: CreateTableNode, modifier: OperationNode): CreateTableNode;
|
|
29
|
+
cloneWithEndModifier(createTable: CreateTableNode, modifier: OperationNode): CreateTableNode;
|
|
31
30
|
cloneWith(createTable: CreateTableNode, params: CreateTableNodeParams): CreateTableNode;
|
|
32
31
|
}>;
|
|
@@ -12,6 +12,6 @@ export interface CreateTypeNode extends OperationNode {
|
|
|
12
12
|
*/
|
|
13
13
|
export declare const CreateTypeNode: Readonly<{
|
|
14
14
|
is(node: OperationNode): node is CreateTypeNode;
|
|
15
|
-
create(name:
|
|
15
|
+
create(name: SchemableIdentifierNode): CreateTypeNode;
|
|
16
16
|
cloneWithEnum(createType: CreateTypeNode, values: string[]): CreateTypeNode;
|
|
17
17
|
}>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="./create-type-node.d.ts" />
|
|
2
2
|
import { freeze } from '../util/object-utils.js';
|
|
3
|
-
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
4
3
|
import { ValueListNode } from './value-list-node.js';
|
|
5
4
|
import { ValueNode } from './value-node.js';
|
|
6
5
|
/**
|
|
@@ -13,7 +12,7 @@ export const CreateTypeNode = freeze({
|
|
|
13
12
|
create(name) {
|
|
14
13
|
return freeze({
|
|
15
14
|
kind: 'CreateTypeNode',
|
|
16
|
-
name
|
|
15
|
+
name,
|
|
17
16
|
});
|
|
18
17
|
},
|
|
19
18
|
cloneWithEnum(createType, values) {
|