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
|
@@ -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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
3
|
import { TableNode } from './table-node.js';
|
|
4
|
-
export
|
|
4
|
+
export type DropIndexNodeProps = Omit<DropIndexNode, 'kind' | 'name'>;
|
|
5
5
|
export interface DropIndexNode extends OperationNode {
|
|
6
6
|
readonly kind: 'DropIndexNode';
|
|
7
7
|
readonly name: SchemableIdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IdentifierNode } from './identifier-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropSchemaNodeParams = Omit<Partial<DropSchemaNode>, 'kind' | 'schema'>;
|
|
4
4
|
export interface DropSchemaNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropSchemaNode';
|
|
6
6
|
readonly schema: IdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { TableNode } from './table-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropTablexNodeParams = Omit<Partial<DropTableNode>, 'kind' | 'table'>;
|
|
4
4
|
export interface DropTableNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropTableNode';
|
|
6
6
|
readonly table: TableNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropTypeNodeParams = Omit<Partial<DropTypeNode>, 'kind' | 'name'>;
|
|
4
4
|
export interface DropTypeNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropTypeNode';
|
|
6
6
|
readonly name: SchemableIdentifierNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type DropViewNodeParams = Omit<Partial<DropViewNode>, 'kind' | 'name'>;
|
|
4
4
|
export interface DropViewNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DropViewNode';
|
|
6
6
|
readonly name: SchemableIdentifierNode;
|
|
@@ -3,7 +3,7 @@ import { IdentifierNode } from './identifier-node.js';
|
|
|
3
3
|
import { OperationNode } from './operation-node.js';
|
|
4
4
|
import { OnModifyForeignAction, ReferencesNode } from './references-node.js';
|
|
5
5
|
import { TableNode } from './table-node.js';
|
|
6
|
-
export
|
|
6
|
+
export type ForeignKeyConstraintNodeProps = Omit<ForeignKeyConstraintNode, 'kind' | 'columns' | 'references'>;
|
|
7
7
|
export interface ForeignKeyConstraintNode extends OperationNode {
|
|
8
8
|
readonly kind: 'ForeignKeyConstraintNode';
|
|
9
9
|
readonly columns: ReadonlyArray<ColumnNode>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export
|
|
2
|
+
export type GeneratedNodeParams = Omit<GeneratedNode, 'kind' | 'expression'>;
|
|
3
3
|
export interface GeneratedNode extends OperationNode {
|
|
4
4
|
readonly kind: 'GeneratedNode';
|
|
5
5
|
readonly byDefault?: boolean;
|
|
@@ -6,7 +6,7 @@ import { OperationNode } from './operation-node.js';
|
|
|
6
6
|
import { ReturningNode } from './returning-node.js';
|
|
7
7
|
import { TableNode } from './table-node.js';
|
|
8
8
|
import { WithNode } from './with-node.js';
|
|
9
|
-
export
|
|
9
|
+
export type InsertQueryNodeProps = Omit<InsertQueryNode, 'kind' | 'into'>;
|
|
10
10
|
export interface InsertQueryNode extends OperationNode {
|
|
11
11
|
readonly kind: 'InsertQueryNode';
|
|
12
12
|
readonly into: TableNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnNode } from './on-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin';
|
|
4
4
|
export interface JoinNode extends OperationNode {
|
|
5
5
|
readonly kind: 'JoinNode';
|
|
6
6
|
readonly joinType: JoinType;
|
|
@@ -15,5 +15,4 @@ export declare const JoinNode: Readonly<{
|
|
|
15
15
|
create(joinType: JoinType, table: OperationNode): JoinNode;
|
|
16
16
|
createWithOn(joinType: JoinType, table: OperationNode, on: OperationNode): JoinNode;
|
|
17
17
|
cloneWithOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
18
|
-
cloneWithOrOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
19
18
|
}>;
|
|
@@ -34,12 +34,4 @@ exports.JoinNode = (0, object_utils_js_1.freeze)({
|
|
|
34
34
|
: on_node_js_1.OnNode.create(operation),
|
|
35
35
|
});
|
|
36
36
|
},
|
|
37
|
-
cloneWithOrOn(joinNode, operation) {
|
|
38
|
-
return (0, object_utils_js_1.freeze)({
|
|
39
|
-
...joinNode,
|
|
40
|
-
on: joinNode.on
|
|
41
|
-
? on_node_js_1.OnNode.cloneWithOperation(joinNode.on, 'Or', operation)
|
|
42
|
-
: on_node_js_1.OnNode.create(operation),
|
|
43
|
-
});
|
|
44
|
-
},
|
|
45
37
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { OperatorNode } from './operator-node.js';
|
|
3
|
+
import { ValueNode } from './value-node.js';
|
|
4
|
+
export interface JSONOperatorChainNode extends OperationNode {
|
|
5
|
+
readonly kind: 'JSONOperatorChainNode';
|
|
6
|
+
readonly operator: OperatorNode;
|
|
7
|
+
readonly values: readonly ValueNode[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const JSONOperatorChainNode: Readonly<{
|
|
13
|
+
is(node: OperationNode): node is JSONOperatorChainNode;
|
|
14
|
+
create(operator: OperatorNode): JSONOperatorChainNode;
|
|
15
|
+
cloneWithValue(node: JSONOperatorChainNode, value: ValueNode): JSONOperatorChainNode;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONOperatorChainNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONOperatorChainNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONOperatorChainNode';
|
|
11
|
+
},
|
|
12
|
+
create(operator) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONOperatorChainNode',
|
|
15
|
+
operator,
|
|
16
|
+
values: (0, object_utils_js_1.freeze)([]),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithValue(node, value) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...node,
|
|
22
|
+
values: (0, object_utils_js_1.freeze)([...node.values, value]),
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export type JSONPathLegType = 'Member' | 'ArrayLocation';
|
|
3
|
+
export interface JSONPathLegNode extends OperationNode {
|
|
4
|
+
readonly kind: 'JSONPathLegNode';
|
|
5
|
+
readonly type: JSONPathLegType;
|
|
6
|
+
readonly value: string | number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const JSONPathLegNode: Readonly<{
|
|
12
|
+
is(node: OperationNode): node is JSONPathLegNode;
|
|
13
|
+
create(type: JSONPathLegType, value: string | number): JSONPathLegNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONPathLegNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONPathLegNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONPathLegNode';
|
|
11
|
+
},
|
|
12
|
+
create(type, value) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONPathLegNode',
|
|
15
|
+
type,
|
|
16
|
+
value,
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JSONPathLegNode } from './json-path-leg-node.js';
|
|
2
|
+
import { OperationNode } from './operation-node.js';
|
|
3
|
+
import { OperatorNode } from './operator-node.js';
|
|
4
|
+
export interface JSONPathNode extends OperationNode {
|
|
5
|
+
readonly kind: 'JSONPathNode';
|
|
6
|
+
readonly inOperator?: OperatorNode;
|
|
7
|
+
readonly pathLegs: ReadonlyArray<JSONPathLegNode>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const JSONPathNode: Readonly<{
|
|
13
|
+
is(node: OperationNode): node is JSONPathNode;
|
|
14
|
+
create(inOperator?: OperatorNode): JSONPathNode;
|
|
15
|
+
cloneWithLeg(jsonPathNode: JSONPathNode, pathLeg: JSONPathLegNode): JSONPathNode;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONPathNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONPathNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONPathNode';
|
|
11
|
+
},
|
|
12
|
+
create(inOperator) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONPathNode',
|
|
15
|
+
inOperator,
|
|
16
|
+
pathLegs: (0, object_utils_js_1.freeze)([]),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithLeg(jsonPathNode, pathLeg) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...jsonPathNode,
|
|
22
|
+
pathLegs: (0, object_utils_js_1.freeze)([...jsonPathNode.pathLegs, pathLeg]),
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
|
|
2
|
+
import { JSONPathNode } from './json-path-node.js';
|
|
3
|
+
import { OperationNode } from './operation-node.js';
|
|
4
|
+
import { ReferenceNode } from './reference-node.js';
|
|
5
|
+
export interface JSONReferenceNode extends OperationNode {
|
|
6
|
+
readonly kind: 'JSONReferenceNode';
|
|
7
|
+
readonly reference: ReferenceNode;
|
|
8
|
+
readonly traversal: JSONPathNode | JSONOperatorChainNode;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const JSONReferenceNode: Readonly<{
|
|
14
|
+
is(node: OperationNode): node is JSONReferenceNode;
|
|
15
|
+
create(reference: ReferenceNode, traversal: JSONPathNode | JSONOperatorChainNode): JSONReferenceNode;
|
|
16
|
+
cloneWithTraversal(node: JSONReferenceNode, traversal: JSONPathNode | JSONOperatorChainNode): JSONReferenceNode;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONReferenceNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.JSONReferenceNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'JSONReferenceNode';
|
|
11
|
+
},
|
|
12
|
+
create(reference, traversal) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'JSONReferenceNode',
|
|
15
|
+
reference,
|
|
16
|
+
traversal,
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
cloneWithTraversal(node, traversal) {
|
|
20
|
+
return (0, object_utils_js_1.freeze)({
|
|
21
|
+
...node,
|
|
22
|
+
traversal,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -3,7 +3,7 @@ import { ColumnUpdateNode } from './column-update-node.js';
|
|
|
3
3
|
import { IdentifierNode } from './identifier-node.js';
|
|
4
4
|
import { OperationNode } from './operation-node.js';
|
|
5
5
|
import { WhereNode } from './where-node.js';
|
|
6
|
-
export
|
|
6
|
+
export type OnConflictNodeProps = Omit<OnConflictNode, 'kind' | 'indexWhere' | 'updateWhere'>;
|
|
7
7
|
export interface OnConflictNode extends OperationNode {
|
|
8
8
|
readonly kind: 'OnConflictNode';
|
|
9
9
|
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ColumnUpdateNode } from './column-update-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export
|
|
3
|
+
export type OnDuplicateKeyNodeProps = Omit<OnDuplicateKeyNode, 'kind'>;
|
|
4
4
|
export interface OnDuplicateKeyNode extends OperationNode {
|
|
5
5
|
readonly kind: 'OnDuplicateKeyNode';
|
|
6
6
|
readonly updates: ReadonlyArray<ColumnUpdateNode>;
|
|
@@ -78,6 +78,12 @@ import { BinaryOperationNode } from './binary-operation-node.js';
|
|
|
78
78
|
import { UnaryOperationNode } from './unary-operation-node.js';
|
|
79
79
|
import { UsingNode } from './using-node.js';
|
|
80
80
|
import { FunctionNode } from './function-node.js';
|
|
81
|
+
import { CaseNode } from './case-node.js';
|
|
82
|
+
import { WhenNode } from './when-node.js';
|
|
83
|
+
import { JSONReferenceNode } from './json-reference-node.js';
|
|
84
|
+
import { JSONPathNode } from './json-path-node.js';
|
|
85
|
+
import { JSONPathLegNode } from './json-path-leg-node.js';
|
|
86
|
+
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
|
|
81
87
|
/**
|
|
82
88
|
* Transforms an operation node tree into another one.
|
|
83
89
|
*
|
|
@@ -185,6 +191,12 @@ export declare class OperationNodeTransformer {
|
|
|
185
191
|
protected transformUnaryOperation(node: UnaryOperationNode): UnaryOperationNode;
|
|
186
192
|
protected transformUsing(node: UsingNode): UsingNode;
|
|
187
193
|
protected transformFunction(node: FunctionNode): FunctionNode;
|
|
194
|
+
protected transformCase(node: CaseNode): CaseNode;
|
|
195
|
+
protected transformWhen(node: WhenNode): WhenNode;
|
|
196
|
+
protected transformJSONReference(node: JSONReferenceNode): JSONReferenceNode;
|
|
197
|
+
protected transformJSONPath(node: JSONPathNode): JSONPathNode;
|
|
198
|
+
protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode;
|
|
199
|
+
protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode;
|
|
188
200
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
189
201
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
190
202
|
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
|
|
@@ -114,6 +114,12 @@ class OperationNodeTransformer {
|
|
|
114
114
|
UnaryOperationNode: this.transformUnaryOperation.bind(this),
|
|
115
115
|
UsingNode: this.transformUsing.bind(this),
|
|
116
116
|
FunctionNode: this.transformFunction.bind(this),
|
|
117
|
+
CaseNode: this.transformCase.bind(this),
|
|
118
|
+
WhenNode: this.transformWhen.bind(this),
|
|
119
|
+
JSONReferenceNode: this.transformJSONReference.bind(this),
|
|
120
|
+
JSONPathNode: this.transformJSONPath.bind(this),
|
|
121
|
+
JSONPathLegNode: this.transformJSONPathLeg.bind(this),
|
|
122
|
+
JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this),
|
|
117
123
|
});
|
|
118
124
|
transformNode(node) {
|
|
119
125
|
if (!node) {
|
|
@@ -187,8 +193,8 @@ class OperationNodeTransformer {
|
|
|
187
193
|
transformReference(node) {
|
|
188
194
|
return (0, require_all_props_js_1.requireAllProps)({
|
|
189
195
|
kind: 'ReferenceNode',
|
|
190
|
-
table: this.transformNode(node.table),
|
|
191
196
|
column: this.transformNode(node.column),
|
|
197
|
+
table: this.transformNode(node.table),
|
|
192
198
|
});
|
|
193
199
|
}
|
|
194
200
|
transformAnd(node) {
|
|
@@ -404,7 +410,7 @@ class OperationNodeTransformer {
|
|
|
404
410
|
kind: 'CreateIndexNode',
|
|
405
411
|
name: this.transformNode(node.name),
|
|
406
412
|
table: this.transformNode(node.table),
|
|
407
|
-
|
|
413
|
+
columns: this.transformNodeList(node.columns),
|
|
408
414
|
unique: node.unique,
|
|
409
415
|
using: this.transformNode(node.using),
|
|
410
416
|
ifNotExists: node.ifNotExists,
|
|
@@ -653,7 +659,7 @@ class OperationNodeTransformer {
|
|
|
653
659
|
transformAggregateFunction(node) {
|
|
654
660
|
return (0, require_all_props_js_1.requireAllProps)({
|
|
655
661
|
kind: 'AggregateFunctionNode',
|
|
656
|
-
aggregated: this.
|
|
662
|
+
aggregated: this.transformNodeList(node.aggregated),
|
|
657
663
|
distinct: node.distinct,
|
|
658
664
|
filter: this.transformNode(node.filter),
|
|
659
665
|
func: node.func,
|
|
@@ -707,6 +713,50 @@ class OperationNodeTransformer {
|
|
|
707
713
|
arguments: this.transformNodeList(node.arguments),
|
|
708
714
|
});
|
|
709
715
|
}
|
|
716
|
+
transformCase(node) {
|
|
717
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
718
|
+
kind: 'CaseNode',
|
|
719
|
+
value: this.transformNode(node.value),
|
|
720
|
+
when: this.transformNodeList(node.when),
|
|
721
|
+
else: this.transformNode(node.else),
|
|
722
|
+
isStatement: node.isStatement,
|
|
723
|
+
});
|
|
724
|
+
}
|
|
725
|
+
transformWhen(node) {
|
|
726
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
727
|
+
kind: 'WhenNode',
|
|
728
|
+
condition: this.transformNode(node.condition),
|
|
729
|
+
result: this.transformNode(node.result),
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
transformJSONReference(node) {
|
|
733
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
734
|
+
kind: 'JSONReferenceNode',
|
|
735
|
+
reference: this.transformNode(node.reference),
|
|
736
|
+
traversal: this.transformNode(node.traversal),
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
transformJSONPath(node) {
|
|
740
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
741
|
+
kind: 'JSONPathNode',
|
|
742
|
+
inOperator: this.transformNode(node.inOperator),
|
|
743
|
+
pathLegs: this.transformNodeList(node.pathLegs),
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
transformJSONPathLeg(node) {
|
|
747
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
748
|
+
kind: 'JSONPathLegNode',
|
|
749
|
+
type: node.type,
|
|
750
|
+
value: node.value,
|
|
751
|
+
});
|
|
752
|
+
}
|
|
753
|
+
transformJSONOperatorChain(node) {
|
|
754
|
+
return (0, require_all_props_js_1.requireAllProps)({
|
|
755
|
+
kind: 'JSONOperatorChainNode',
|
|
756
|
+
operator: this.transformNode(node.operator),
|
|
757
|
+
values: this.transformNodeList(node.values),
|
|
758
|
+
});
|
|
759
|
+
}
|
|
710
760
|
transformDataType(node) {
|
|
711
761
|
// An Object.freezed leaf node. No need to clone.
|
|
712
762
|
return node;
|
|
@@ -78,6 +78,12 @@ import { BinaryOperationNode } from './binary-operation-node.js';
|
|
|
78
78
|
import { UnaryOperationNode } from './unary-operation-node.js';
|
|
79
79
|
import { UsingNode } from './using-node.js';
|
|
80
80
|
import { FunctionNode } from './function-node.js';
|
|
81
|
+
import { WhenNode } from './when-node.js';
|
|
82
|
+
import { CaseNode } from './case-node.js';
|
|
83
|
+
import { JSONReferenceNode } from './json-reference-node.js';
|
|
84
|
+
import { JSONPathNode } from './json-path-node.js';
|
|
85
|
+
import { JSONPathLegNode } from './json-path-leg-node.js';
|
|
86
|
+
import { JSONOperatorChainNode } from './json-operator-chain-node.js';
|
|
81
87
|
export declare abstract class OperationNodeVisitor {
|
|
82
88
|
#private;
|
|
83
89
|
protected readonly nodeStack: OperationNode[];
|
|
@@ -162,4 +168,10 @@ export declare abstract class OperationNodeVisitor {
|
|
|
162
168
|
protected abstract visitUnaryOperation(node: UnaryOperationNode): void;
|
|
163
169
|
protected abstract visitUsing(node: UsingNode): void;
|
|
164
170
|
protected abstract visitFunction(node: FunctionNode): void;
|
|
171
|
+
protected abstract visitCase(node: CaseNode): void;
|
|
172
|
+
protected abstract visitWhen(node: WhenNode): void;
|
|
173
|
+
protected abstract visitJSONReference(node: JSONReferenceNode): void;
|
|
174
|
+
protected abstract visitJSONPath(node: JSONPathNode): void;
|
|
175
|
+
protected abstract visitJSONPathLeg(node: JSONPathLegNode): void;
|
|
176
|
+
protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void;
|
|
165
177
|
}
|
|
@@ -87,6 +87,12 @@ class OperationNodeVisitor {
|
|
|
87
87
|
UnaryOperationNode: this.visitUnaryOperation.bind(this),
|
|
88
88
|
UsingNode: this.visitUsing.bind(this),
|
|
89
89
|
FunctionNode: this.visitFunction.bind(this),
|
|
90
|
+
CaseNode: this.visitCase.bind(this),
|
|
91
|
+
WhenNode: this.visitWhen.bind(this),
|
|
92
|
+
JSONReferenceNode: this.visitJSONReference.bind(this),
|
|
93
|
+
JSONPathNode: this.visitJSONPath.bind(this),
|
|
94
|
+
JSONPathLegNode: this.visitJSONPathLeg.bind(this),
|
|
95
|
+
JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this),
|
|
90
96
|
});
|
|
91
97
|
visitNode = (node) => {
|
|
92
98
|
this.nodeStack.push(node);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode';
|
|
2
2
|
export interface OperationNode {
|
|
3
3
|
readonly kind: OperationNodeKind;
|
|
4
4
|
}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->"];
|
|
2
|
+
export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"];
|
|
3
3
|
export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"];
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const JSON_OPERATORS: readonly ["->", "->>"];
|
|
5
|
+
export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"];
|
|
5
6
|
export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"];
|
|
6
7
|
export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"];
|
|
7
|
-
export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "not", "-", "exists", "not exists"];
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
8
|
+
export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists"];
|
|
9
|
+
export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number];
|
|
10
|
+
export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number];
|
|
11
|
+
export type JSONOperator = (typeof JSON_OPERATORS)[number];
|
|
12
|
+
export type JSONOperatorWith$ = JSONOperator | `${JSONOperator}$`;
|
|
13
|
+
export type BinaryOperator = (typeof BINARY_OPERATORS)[number];
|
|
14
|
+
export type UnaryOperator = (typeof UNARY_OPERATORS)[number];
|
|
15
|
+
export type UnaryFilterOperator = (typeof UNARY_FILTER_OPERATORS)[number];
|
|
16
|
+
export type Operator = (typeof OPERATORS)[number];
|
|
14
17
|
export interface OperatorNode extends OperationNode {
|
|
15
18
|
readonly kind: 'OperatorNode';
|
|
16
19
|
readonly operator: Operator;
|
|
@@ -26,3 +29,4 @@ export declare function isOperator(op: unknown): op is Operator;
|
|
|
26
29
|
export declare function isBinaryOperator(op: unknown): op is BinaryOperator;
|
|
27
30
|
export declare function isComparisonOperator(op: unknown): op is ComparisonOperator;
|
|
28
31
|
export declare function isArithmeticOperator(op: unknown): op is ArithmeticOperator;
|
|
32
|
+
export declare function isJSONOperator(op: unknown): op is JSONOperator;
|