kysely 0.22.0 → 0.23.1
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 +25 -2
- 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 +10 -6
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/migration/file-migration-provider.js +5 -3
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +7 -4
- package/dist/cjs/operation-node/aggregate-function-node.js +17 -0
- package/dist/cjs/operation-node/alias-node.d.ts +3 -11
- 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/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 -5
- 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 +4 -2
- package/dist/cjs/operation-node/operation-node-transformer.js +22 -15
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +4 -2
- package/dist/cjs/operation-node/operation-node-visitor.js +2 -1
- 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/parens-node.d.ts +2 -3
- package/dist/cjs/operation-node/partition-by-item-node.d.ts +3 -4
- 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 +5 -6
- package/dist/cjs/operation-node/select-query-node.js +10 -10
- package/dist/cjs/operation-node/selection-node.d.ts +2 -3
- package/dist/cjs/operation-node/set-operation-node.d.ts +2 -5
- 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 -9
- 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/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/reference-parser.d.ts +14 -14
- package/dist/cjs/parser/reference-parser.js +12 -9
- package/dist/cjs/parser/select-parser.d.ts +6 -7
- package/dist/cjs/parser/select-parser.js +2 -2
- package/dist/cjs/parser/set-operation-parser.d.ts +2 -4
- 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 -9
- 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 +245 -14
- package/dist/cjs/query-builder/aggregate-function-builder.js +164 -12
- 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/function-module.d.ts +123 -22
- package/dist/cjs/query-builder/function-module.js +91 -48
- 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/select-query-builder.d.ts +82 -51
- package/dist/cjs/query-builder/select-query-builder.js +39 -37
- 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 +5 -3
- package/dist/cjs/query-compiler/default-query-compiler.js +37 -33
- 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 +4 -4
- 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 +63 -278
- 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 +3 -3
- package/dist/cjs/schema/create-index-builder.js +7 -7
- package/dist/cjs/schema/create-schema-builder.d.ts +1 -1
- package/dist/cjs/schema/create-schema-builder.js +2 -2
- package/dist/cjs/schema/create-table-builder.d.ts +39 -6
- package/dist/cjs/schema/create-table-builder.js +47 -12
- package/dist/cjs/schema/create-type-builder.d.ts +1 -1
- package/dist/cjs/schema/create-type-builder.js +2 -2
- package/dist/cjs/schema/create-view-builder.d.ts +4 -3
- package/dist/cjs/schema/create-view-builder.js +7 -7
- package/dist/cjs/schema/drop-index-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-index-builder.js +4 -4
- package/dist/cjs/schema/drop-schema-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-schema-builder.js +3 -3
- package/dist/cjs/schema/drop-table-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-table-builder.js +3 -3
- package/dist/cjs/schema/drop-type-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-type-builder.js +2 -2
- package/dist/cjs/schema/drop-view-builder.d.ts +1 -1
- package/dist/cjs/schema/drop-view-builder.js +4 -4
- package/dist/cjs/schema/schema.d.ts +2 -2
- package/dist/cjs/schema/schema.js +14 -13
- 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 -17
- 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 +10 -6
- package/dist/esm/index.js +6 -2
- package/dist/esm/migration/file-migration-provider.js +5 -3
- package/dist/esm/operation-node/aggregate-function-node.d.ts +7 -4
- package/dist/esm/operation-node/aggregate-function-node.js +17 -0
- package/dist/esm/operation-node/alias-node.d.ts +3 -11
- 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/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 -5
- 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 +4 -2
- package/dist/esm/operation-node/operation-node-transformer.js +22 -15
- package/dist/esm/operation-node/operation-node-visitor.d.ts +4 -2
- package/dist/esm/operation-node/operation-node-visitor.js +2 -1
- 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/parens-node.d.ts +2 -3
- package/dist/esm/operation-node/partition-by-item-node.d.ts +3 -4
- 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 +5 -6
- package/dist/esm/operation-node/select-query-node.js +10 -10
- package/dist/esm/operation-node/selection-node.d.ts +2 -3
- package/dist/esm/operation-node/set-operation-node.d.ts +2 -5
- 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 -9
- 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/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/reference-parser.d.ts +14 -14
- package/dist/esm/parser/reference-parser.js +10 -8
- package/dist/esm/parser/select-parser.d.ts +6 -7
- package/dist/esm/parser/select-parser.js +2 -2
- package/dist/esm/parser/set-operation-parser.d.ts +2 -4
- 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 -9
- 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 +245 -14
- package/dist/esm/query-builder/aggregate-function-builder.js +164 -12
- 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/function-module.d.ts +123 -22
- package/dist/esm/query-builder/function-module.js +92 -49
- 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/select-query-builder.d.ts +82 -51
- package/dist/esm/query-builder/select-query-builder.js +38 -36
- 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 +5 -3
- package/dist/esm/query-compiler/default-query-compiler.js +38 -34
- 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 +4 -4
- 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 +59 -272
- 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 +3 -3
- package/dist/esm/schema/create-index-builder.js +7 -7
- package/dist/esm/schema/create-schema-builder.d.ts +1 -1
- package/dist/esm/schema/create-schema-builder.js +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +39 -6
- package/dist/esm/schema/create-table-builder.js +47 -12
- package/dist/esm/schema/create-type-builder.d.ts +1 -1
- package/dist/esm/schema/create-type-builder.js +2 -2
- package/dist/esm/schema/create-view-builder.d.ts +4 -3
- package/dist/esm/schema/create-view-builder.js +7 -7
- package/dist/esm/schema/drop-index-builder.d.ts +1 -1
- package/dist/esm/schema/drop-index-builder.js +4 -4
- package/dist/esm/schema/drop-schema-builder.d.ts +1 -1
- package/dist/esm/schema/drop-schema-builder.js +3 -3
- package/dist/esm/schema/drop-table-builder.d.ts +1 -1
- package/dist/esm/schema/drop-table-builder.js +3 -3
- package/dist/esm/schema/drop-type-builder.d.ts +1 -1
- package/dist/esm/schema/drop-type-builder.js +2 -2
- package/dist/esm/schema/drop-view-builder.d.ts +1 -1
- package/dist/esm/schema/drop-view-builder.js +4 -4
- package/dist/esm/schema/schema.d.ts +2 -2
- package/dist/esm/schema/schema.js +14 -13
- 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 -17
- package/package.json +1 -1
- package/dist/cjs/operation-node/filter-node.d.ts +0 -18
- package/dist/cjs/operation-node/filter-node.js +0 -20
- package/dist/cjs/operation-node/operation-node-utils.d.ts +0 -18
- package/dist/cjs/parser/complex-expression-parser.d.ts +0 -12
- package/dist/cjs/parser/filter-parser.d.ts +0 -24
- package/dist/cjs/parser/filter-parser.js +0 -109
- 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 -18
- package/dist/esm/operation-node/operation-node-utils.js +0 -2
- package/dist/esm/parser/complex-expression-parser.d.ts +0 -12
- package/dist/esm/parser/filter-parser.d.ts +0 -24
- package/dist/esm/parser/filter-parser.js +0 -100
|
@@ -1,20 +1,37 @@
|
|
|
1
1
|
import { QueryResult } from '../driver/database-connection.js';
|
|
2
2
|
import { AliasNode } from '../operation-node/alias-node.js';
|
|
3
|
-
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
4
3
|
import { RawNode } from '../operation-node/raw-node.js';
|
|
5
4
|
import { KyselyPlugin } from '../plugin/kysely-plugin.js';
|
|
6
5
|
import { QueryExecutorProvider } from '../query-executor/query-executor-provider.js';
|
|
7
6
|
import { QueryId } from '../util/query-id.js';
|
|
8
|
-
import {
|
|
7
|
+
import { AliasedExpression, Expression } from '../expression/expression.js';
|
|
9
8
|
/**
|
|
10
9
|
* An instance of this class can be used to create raw SQL snippets or queries.
|
|
11
10
|
*
|
|
12
11
|
* You shouldn't need to create `RawBuilder` instances directly. Instead you should
|
|
13
12
|
* use the {@link sql} template tag.
|
|
14
13
|
*/
|
|
15
|
-
export declare class RawBuilder<O
|
|
14
|
+
export declare class RawBuilder<O> implements Expression<O> {
|
|
16
15
|
#private;
|
|
17
16
|
constructor(props: RawBuilderProps);
|
|
17
|
+
/** @private */
|
|
18
|
+
/**
|
|
19
|
+
* All expressions need to have this getter for complicated type-related reasons.
|
|
20
|
+
* Simply add this getter for your expression and always return `undefined` from it:
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* class SomeExpression<T> implements Expression<T> {
|
|
24
|
+
* get expressionType(): T | undefined {
|
|
25
|
+
* return undefined
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* The getter is needed to make the expression assignable to another expression only
|
|
31
|
+
* if the types `T` are assignable. Without this property (or some other property
|
|
32
|
+
* that references `T`), you could assing `Expression<string>` to `Expression<number>`.
|
|
33
|
+
*/
|
|
34
|
+
get expressionType(): O | undefined;
|
|
18
35
|
/**
|
|
19
36
|
* Returns an aliased version of the SQL expression.
|
|
20
37
|
*
|
|
@@ -69,7 +86,7 @@ export declare class RawBuilder<O = unknown> implements OperationNodeSource {
|
|
|
69
86
|
* ```
|
|
70
87
|
*/
|
|
71
88
|
as<A extends string>(alias: A): AliasedRawBuilder<O, A>;
|
|
72
|
-
as<A extends string = never>(alias:
|
|
89
|
+
as<A extends string = never>(alias: Expression<any>): AliasedRawBuilder<O, A>;
|
|
73
90
|
/**
|
|
74
91
|
* Change the output type of the raw expression.
|
|
75
92
|
*
|
|
@@ -81,25 +98,44 @@ export declare class RawBuilder<O = unknown> implements OperationNodeSource {
|
|
|
81
98
|
* Adds a plugin for this SQL snippet.
|
|
82
99
|
*/
|
|
83
100
|
withPlugin(plugin: KyselyPlugin): RawBuilder<O>;
|
|
101
|
+
/**
|
|
102
|
+
* Creates the OperationNode that describes how to compile this expression into SQL.
|
|
103
|
+
*
|
|
104
|
+
* If you are creating a custom expression, it's often easiest to use the {@link sql}
|
|
105
|
+
* template tag to build the node:
|
|
106
|
+
*
|
|
107
|
+
* ```ts
|
|
108
|
+
* class SomeExpression<T> implements Expression<T> {
|
|
109
|
+
* toOperationNode(): OperationNode {
|
|
110
|
+
* return sql`some sql here`.toOperationNode()
|
|
111
|
+
* }
|
|
112
|
+
* }
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
84
115
|
toOperationNode(): RawNode;
|
|
85
116
|
execute(executorProvider: QueryExecutorProvider): Promise<QueryResult<O>>;
|
|
86
117
|
}
|
|
118
|
+
export declare function isRawBuilder(obj: unknown): obj is RawBuilder<unknown>;
|
|
87
119
|
/**
|
|
88
120
|
* {@link RawBuilder} with an alias. The result of calling {@link RawBuilder.as}.
|
|
89
121
|
*/
|
|
90
|
-
export declare class AliasedRawBuilder<O = unknown, A extends string = never> implements
|
|
122
|
+
export declare class AliasedRawBuilder<O = unknown, A extends string = never> implements AliasedExpression<O, A> {
|
|
91
123
|
#private;
|
|
124
|
+
constructor(rawBuilder: RawBuilder<O>, alias: A | Expression<any>);
|
|
125
|
+
/** @private */
|
|
92
126
|
/**
|
|
93
|
-
*
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*
|
|
127
|
+
* Returns the aliased expression.
|
|
128
|
+
*/
|
|
129
|
+
get expression(): Expression<O>;
|
|
130
|
+
/** @private */
|
|
131
|
+
/**
|
|
132
|
+
* Returns the alias.
|
|
133
|
+
*/
|
|
134
|
+
get alias(): A;
|
|
135
|
+
/**
|
|
136
|
+
* Creates the OperationNode that describes how to compile this expression into SQL.
|
|
99
137
|
*/
|
|
100
|
-
protected get alias(): A | AnyRawBuilder;
|
|
101
138
|
toOperationNode(): AliasNode;
|
|
102
|
-
constructor(rawBuilder: RawBuilder<O>, alias: A | AnyRawBuilder);
|
|
103
139
|
}
|
|
104
140
|
export interface RawBuilderProps {
|
|
105
141
|
readonly queryId: QueryId;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="./raw-builder.d.ts" />
|
|
2
2
|
import { AliasNode } from '../operation-node/alias-node.js';
|
|
3
|
-
import { isOperationNodeSource, } from '../operation-node/operation-node-source.js';
|
|
4
3
|
import { preventAwait } from '../util/prevent-await.js';
|
|
5
|
-
import { freeze } from '../util/object-utils.js';
|
|
4
|
+
import { freeze, isFunction, isObject } from '../util/object-utils.js';
|
|
6
5
|
import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js';
|
|
7
6
|
import { IdentifierNode } from '../operation-node/identifier-node.js';
|
|
7
|
+
import { isOperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
8
8
|
/**
|
|
9
9
|
* An instance of this class can be used to create raw SQL snippets or queries.
|
|
10
10
|
*
|
|
@@ -16,6 +16,10 @@ export class RawBuilder {
|
|
|
16
16
|
constructor(props) {
|
|
17
17
|
this.#props = freeze(props);
|
|
18
18
|
}
|
|
19
|
+
/** @private */
|
|
20
|
+
get expressionType() {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
19
23
|
as(alias) {
|
|
20
24
|
return new AliasedRawBuilder(this, alias);
|
|
21
25
|
}
|
|
@@ -58,6 +62,14 @@ export class RawBuilder {
|
|
|
58
62
|
return executor.compileQuery(this.#toOperationNode(executor), this.#props.queryId);
|
|
59
63
|
}
|
|
60
64
|
}
|
|
65
|
+
export function isRawBuilder(obj) {
|
|
66
|
+
return (isObject(obj) &&
|
|
67
|
+
isFunction(obj.as) &&
|
|
68
|
+
isFunction(obj.castTo) &&
|
|
69
|
+
isFunction(obj.withPlugin) &&
|
|
70
|
+
isFunction(obj.toOperationNode) &&
|
|
71
|
+
isFunction(obj.execute));
|
|
72
|
+
}
|
|
61
73
|
preventAwait(RawBuilder, "don't await RawBuilder instances directly. To execute the query you need to call `execute`");
|
|
62
74
|
/**
|
|
63
75
|
* {@link RawBuilder} with an alias. The result of calling {@link RawBuilder.as}.
|
|
@@ -65,14 +77,15 @@ preventAwait(RawBuilder, "don't await RawBuilder instances directly. To execute
|
|
|
65
77
|
export class AliasedRawBuilder {
|
|
66
78
|
#rawBuilder;
|
|
67
79
|
#alias;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
constructor(rawBuilder, alias) {
|
|
81
|
+
this.#rawBuilder = rawBuilder;
|
|
82
|
+
this.#alias = alias;
|
|
83
|
+
}
|
|
84
|
+
/** @private */
|
|
85
|
+
get expression() {
|
|
86
|
+
return this.#rawBuilder;
|
|
87
|
+
}
|
|
88
|
+
/** @private */
|
|
76
89
|
get alias() {
|
|
77
90
|
return this.#alias;
|
|
78
91
|
}
|
|
@@ -81,8 +94,4 @@ export class AliasedRawBuilder {
|
|
|
81
94
|
? this.#alias.toOperationNode()
|
|
82
95
|
: IdentifierNode.create(this.#alias));
|
|
83
96
|
}
|
|
84
|
-
constructor(rawBuilder, alias) {
|
|
85
|
-
this.#rawBuilder = rawBuilder;
|
|
86
|
-
this.#alias = alias;
|
|
87
|
-
}
|
|
88
97
|
}
|
|
@@ -101,10 +101,10 @@ export interface Sql {
|
|
|
101
101
|
* `sql.value(value)` is a shortcut for:
|
|
102
102
|
*
|
|
103
103
|
* ```ts
|
|
104
|
-
* sql
|
|
104
|
+
* sql<ValueType>`${value}`
|
|
105
105
|
* ```
|
|
106
106
|
*/
|
|
107
|
-
value(value:
|
|
107
|
+
value<T>(value: T): RawBuilder<T>;
|
|
108
108
|
/**
|
|
109
109
|
* This can be used to add runtime column references to SQL snippets.
|
|
110
110
|
*
|
|
@@ -234,7 +234,7 @@ export interface Sql {
|
|
|
234
234
|
* select "public"."person"."first_name" from "public"."person"
|
|
235
235
|
* ```
|
|
236
236
|
*/
|
|
237
|
-
id(...ids: string[]): RawBuilder<unknown>;
|
|
237
|
+
id(...ids: readonly string[]): RawBuilder<unknown>;
|
|
238
238
|
/**
|
|
239
239
|
* This can be used to add literal values to SQL snippets.
|
|
240
240
|
*
|
|
@@ -334,6 +334,6 @@ export interface Sql {
|
|
|
334
334
|
* BEFORE $1::varchar, (1 == 1)::varchar, (select * from "person")::varchar, false::varchar, "first_name" AFTER
|
|
335
335
|
* ```
|
|
336
336
|
*/
|
|
337
|
-
join(array: unknown[], separator?: RawBuilder<any>): RawBuilder<unknown>;
|
|
337
|
+
join(array: readonly unknown[], separator?: RawBuilder<any>): RawBuilder<unknown>;
|
|
338
338
|
}
|
|
339
339
|
export declare const sql: Sql;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AlterColumnNode } from '../operation-node/alter-column-node.js';
|
|
2
|
+
import { ColumnDataType } from '../operation-node/data-type-node.js';
|
|
3
|
+
import { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
4
|
+
import { DefaultValueExpression } from '../parser/default-value-parser.js';
|
|
5
|
+
export declare class AlterColumnBuilder {
|
|
6
|
+
protected readonly alterColumnNode: AlterColumnNode;
|
|
7
|
+
constructor(alterColumnNode: AlterColumnNode);
|
|
8
|
+
setDataType(dataType: ColumnDataType): AlteredColumnBuilder;
|
|
9
|
+
setDefault(value: DefaultValueExpression): AlteredColumnBuilder;
|
|
10
|
+
dropDefault(): AlteredColumnBuilder;
|
|
11
|
+
setNotNull(): AlteredColumnBuilder;
|
|
12
|
+
dropNotNull(): AlteredColumnBuilder;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Allows us to force consumers to do something, anything, when altering a column.
|
|
16
|
+
*
|
|
17
|
+
* Basically, deny the following:
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* db.schema.alterTable('person').alterColumn('age', (ac) => ac)
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Which would now throw a compilation error, instead of a runtime error.
|
|
24
|
+
*/
|
|
25
|
+
export declare class AlteredColumnBuilder extends AlterColumnBuilder implements OperationNodeSource {
|
|
26
|
+
toOperationNode(): AlterColumnNode;
|
|
27
|
+
}
|
|
28
|
+
export declare type AlterColumnBuilderCallback = (builder: AlterColumnBuilder) => AlteredColumnBuilder;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="./alter-column-builder.d.ts" />
|
|
2
|
+
import { AlterColumnNode } from '../operation-node/alter-column-node.js';
|
|
3
|
+
import { DataTypeNode, } from '../operation-node/data-type-node.js';
|
|
4
|
+
import { parseDefaultValueExpression, } from '../parser/default-value-parser.js';
|
|
5
|
+
export class AlterColumnBuilder {
|
|
6
|
+
alterColumnNode;
|
|
7
|
+
constructor(alterColumnNode) {
|
|
8
|
+
this.alterColumnNode = alterColumnNode;
|
|
9
|
+
}
|
|
10
|
+
setDataType(dataType) {
|
|
11
|
+
return new AlteredColumnBuilder(AlterColumnNode.cloneWith(this.alterColumnNode, {
|
|
12
|
+
dataType: DataTypeNode.create(dataType),
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
setDefault(value) {
|
|
16
|
+
return new AlteredColumnBuilder(AlterColumnNode.cloneWith(this.alterColumnNode, {
|
|
17
|
+
setDefault: parseDefaultValueExpression(value),
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
dropDefault() {
|
|
21
|
+
return new AlteredColumnBuilder(AlterColumnNode.cloneWith(this.alterColumnNode, {
|
|
22
|
+
dropDefault: true,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
setNotNull() {
|
|
26
|
+
return new AlteredColumnBuilder(AlterColumnNode.cloneWith(this.alterColumnNode, {
|
|
27
|
+
setNotNull: true,
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
dropNotNull() {
|
|
31
|
+
return new AlteredColumnBuilder(AlterColumnNode.cloneWith(this.alterColumnNode, {
|
|
32
|
+
dropNotNull: true,
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Allows us to force consumers to do something, anything, when altering a column.
|
|
38
|
+
*
|
|
39
|
+
* Basically, deny the following:
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* db.schema.alterTable('person').alterColumn('age', (ac) => ac)
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* Which would now throw a compilation error, instead of a runtime error.
|
|
46
|
+
*/
|
|
47
|
+
export class AlteredColumnBuilder extends AlterColumnBuilder {
|
|
48
|
+
toOperationNode() {
|
|
49
|
+
return this.alterColumnNode;
|
|
50
|
+
}
|
|
51
|
+
}
|