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
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { RawNode } from './raw-node.js';
|
|
3
|
-
import { ValueNode } from './value-node.js';
|
|
4
2
|
export interface DefaultValueNode extends OperationNode {
|
|
5
3
|
readonly kind: 'DefaultValueNode';
|
|
6
|
-
readonly defaultValue:
|
|
4
|
+
readonly defaultValue: OperationNode;
|
|
7
5
|
}
|
|
8
6
|
/**
|
|
9
7
|
* @internal
|
|
10
8
|
*/
|
|
11
9
|
export declare const DefaultValueNode: Readonly<{
|
|
12
10
|
is(node: OperationNode): node is DefaultValueNode;
|
|
13
|
-
create(defaultValue:
|
|
11
|
+
create(defaultValue: OperationNode): DefaultValueNode;
|
|
14
12
|
}>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { FromNode } from './from-node.js';
|
|
2
2
|
import { JoinNode } from './join-node.js';
|
|
3
3
|
import { OperationNode } from './operation-node.js';
|
|
4
|
-
import { TableExpressionNode } from './operation-node-utils.js';
|
|
5
4
|
import { ReturningNode } from './returning-node.js';
|
|
6
5
|
import { WhereNode } from './where-node.js';
|
|
7
6
|
import { WithNode } from './with-node.js';
|
|
@@ -25,7 +24,7 @@ export interface DeleteQueryNode extends OperationNode {
|
|
|
25
24
|
*/
|
|
26
25
|
export declare const DeleteQueryNode: Readonly<{
|
|
27
26
|
is(node: OperationNode): node is DeleteQueryNode;
|
|
28
|
-
create(fromItem:
|
|
27
|
+
create(fromItem: OperationNode, withNode?: WithNode): DeleteQueryNode;
|
|
29
28
|
cloneWithOrderByItem(deleteNode: DeleteQueryNode, item: OrderByItemNode): DeleteQueryNode;
|
|
30
29
|
cloneWithLimit(deleteNode: DeleteQueryNode, limit: LimitNode): DeleteQueryNode;
|
|
31
30
|
cloneWithExplain(deleteNode: DeleteQueryNode, explain: ExplainNode): DeleteQueryNode;
|
|
@@ -11,6 +11,6 @@ export interface DropTypeNode extends OperationNode {
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const DropTypeNode: Readonly<{
|
|
13
13
|
is(node: OperationNode): node is DropTypeNode;
|
|
14
|
-
create(name:
|
|
14
|
+
create(name: SchemableIdentifierNode): DropTypeNode;
|
|
15
15
|
cloneWith(dropType: DropTypeNode, params: DropTypeNodeParams): DropTypeNode;
|
|
16
16
|
}>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="./drop-type-node.d.ts" />
|
|
2
2
|
import { freeze } from '../util/object-utils.js';
|
|
3
|
-
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
4
3
|
/**
|
|
5
4
|
* @internal
|
|
6
5
|
*/
|
|
@@ -11,7 +10,7 @@ export const DropTypeNode = freeze({
|
|
|
11
10
|
create(name) {
|
|
12
11
|
return freeze({
|
|
13
12
|
kind: 'DropTypeNode',
|
|
14
|
-
name
|
|
13
|
+
name,
|
|
15
14
|
});
|
|
16
15
|
},
|
|
17
16
|
cloneWith(dropType, params) {
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { ExplainFormat } from '../util/explainable.js';
|
|
2
|
-
import { AnyRawBuilder } from '../util/type-utils.js';
|
|
3
2
|
import { OperationNode } from './operation-node.js';
|
|
4
|
-
import { RawNode } from './raw-node.js';
|
|
5
3
|
export interface ExplainNode extends OperationNode {
|
|
6
4
|
readonly kind: 'ExplainNode';
|
|
7
5
|
readonly format?: ExplainFormat;
|
|
8
|
-
readonly options?:
|
|
6
|
+
readonly options?: OperationNode;
|
|
9
7
|
}
|
|
10
8
|
/**
|
|
11
9
|
* @internal
|
|
12
10
|
*/
|
|
13
11
|
export declare const ExplainNode: Readonly<{
|
|
14
12
|
is(node: OperationNode): node is ExplainNode;
|
|
15
|
-
create(format?: ExplainFormat, options?:
|
|
13
|
+
create(format?: ExplainFormat, options?: OperationNode): ExplainNode;
|
|
16
14
|
}>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { TableExpressionNode } from './operation-node-utils.js';
|
|
3
2
|
export interface FromNode extends OperationNode {
|
|
4
3
|
readonly kind: 'FromNode';
|
|
5
|
-
readonly froms: ReadonlyArray<
|
|
4
|
+
readonly froms: ReadonlyArray<OperationNode>;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
10
9
|
export declare const FromNode: Readonly<{
|
|
11
10
|
is(node: OperationNode): node is FromNode;
|
|
12
|
-
create(froms: ReadonlyArray<
|
|
13
|
-
cloneWithFroms(from: FromNode, froms: ReadonlyArray<
|
|
11
|
+
create(froms: ReadonlyArray<OperationNode>): FromNode;
|
|
12
|
+
cloneWithFroms(from: FromNode, froms: ReadonlyArray<OperationNode>): FromNode;
|
|
14
13
|
}>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { RawNode } from './raw-node.js';
|
|
3
2
|
export declare type GeneratedNodeParams = Omit<GeneratedNode, 'kind' | 'expression'>;
|
|
4
3
|
export interface GeneratedNode extends OperationNode {
|
|
5
4
|
readonly kind: 'GeneratedNode';
|
|
@@ -7,7 +6,7 @@ export interface GeneratedNode extends OperationNode {
|
|
|
7
6
|
readonly always?: boolean;
|
|
8
7
|
readonly identity?: boolean;
|
|
9
8
|
readonly stored?: boolean;
|
|
10
|
-
readonly expression?:
|
|
9
|
+
readonly expression?: OperationNode;
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
13
12
|
* @internal
|
|
@@ -15,6 +14,6 @@ export interface GeneratedNode extends OperationNode {
|
|
|
15
14
|
export declare const GeneratedNode: Readonly<{
|
|
16
15
|
is(node: OperationNode): node is GeneratedNode;
|
|
17
16
|
create(params: GeneratedNodeParams): GeneratedNode;
|
|
18
|
-
createWithExpression(expression:
|
|
17
|
+
createWithExpression(expression: OperationNode): GeneratedNode;
|
|
19
18
|
cloneWith(node: GeneratedNode, params: GeneratedNodeParams): GeneratedNode;
|
|
20
19
|
}>;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
import { ReferenceExpressionNode } from './operation-node-utils.js';
|
|
3
2
|
export interface GroupByItemNode extends OperationNode {
|
|
4
3
|
readonly kind: 'GroupByItemNode';
|
|
5
|
-
readonly groupBy:
|
|
4
|
+
readonly groupBy: OperationNode;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
10
9
|
export declare const GroupByItemNode: Readonly<{
|
|
11
10
|
is(node: OperationNode): node is GroupByItemNode;
|
|
12
|
-
create(groupBy:
|
|
11
|
+
create(groupBy: OperationNode): GroupByItemNode;
|
|
13
12
|
}>;
|
|
@@ -10,5 +10,5 @@ export interface GroupByNode extends OperationNode {
|
|
|
10
10
|
export declare const GroupByNode: Readonly<{
|
|
11
11
|
is(node: OperationNode): node is GroupByNode;
|
|
12
12
|
create(items: ReadonlyArray<GroupByItemNode>): GroupByNode;
|
|
13
|
-
cloneWithItems(
|
|
13
|
+
cloneWithItems(groupBy: GroupByNode, items: ReadonlyArray<GroupByItemNode>): GroupByNode;
|
|
14
14
|
}>;
|
|
@@ -13,10 +13,10 @@ export const GroupByNode = freeze({
|
|
|
13
13
|
items: freeze(items),
|
|
14
14
|
});
|
|
15
15
|
},
|
|
16
|
-
cloneWithItems(
|
|
16
|
+
cloneWithItems(groupBy, items) {
|
|
17
17
|
return freeze({
|
|
18
|
-
...
|
|
19
|
-
items: freeze([...
|
|
18
|
+
...groupBy,
|
|
19
|
+
items: freeze([...groupBy.items, ...items]),
|
|
20
20
|
});
|
|
21
21
|
},
|
|
22
22
|
});
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
2
1
|
import { OperationNode } from './operation-node.js';
|
|
3
2
|
export interface HavingNode extends OperationNode {
|
|
4
3
|
readonly kind: 'HavingNode';
|
|
5
|
-
readonly having:
|
|
4
|
+
readonly having: OperationNode;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
10
9
|
export declare const HavingNode: Readonly<{
|
|
11
10
|
is(node: OperationNode): node is HavingNode;
|
|
12
|
-
create(filter:
|
|
13
|
-
|
|
11
|
+
create(filter: OperationNode): HavingNode;
|
|
12
|
+
cloneWithOperation(havingNode: HavingNode, operator: 'And' | 'Or', operation: OperationNode): HavingNode;
|
|
14
13
|
}>;
|
|
@@ -15,12 +15,12 @@ export const HavingNode = freeze({
|
|
|
15
15
|
having: filter,
|
|
16
16
|
});
|
|
17
17
|
},
|
|
18
|
-
|
|
18
|
+
cloneWithOperation(havingNode, operator, operation) {
|
|
19
19
|
return freeze({
|
|
20
20
|
...havingNode,
|
|
21
|
-
having:
|
|
22
|
-
? AndNode.create(havingNode.having,
|
|
23
|
-
: OrNode.create(havingNode.having,
|
|
21
|
+
having: operator === 'And'
|
|
22
|
+
? AndNode.create(havingNode.having, operation)
|
|
23
|
+
: OrNode.create(havingNode.having, operation),
|
|
24
24
|
});
|
|
25
25
|
},
|
|
26
26
|
});
|
|
@@ -3,18 +3,15 @@ import { ExplainNode } from './explain-node.js';
|
|
|
3
3
|
import { OnConflictNode } from './on-conflict-node.js';
|
|
4
4
|
import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
5
5
|
import { OperationNode } from './operation-node.js';
|
|
6
|
-
import { RawNode } from './raw-node.js';
|
|
7
6
|
import { ReturningNode } from './returning-node.js';
|
|
8
|
-
import { SelectQueryNode } from './select-query-node.js';
|
|
9
7
|
import { TableNode } from './table-node.js';
|
|
10
|
-
import { ValuesNode } from './values-node.js';
|
|
11
8
|
import { WithNode } from './with-node.js';
|
|
12
9
|
export declare type InsertQueryNodeProps = Omit<InsertQueryNode, 'kind' | 'into'>;
|
|
13
10
|
export interface InsertQueryNode extends OperationNode {
|
|
14
11
|
readonly kind: 'InsertQueryNode';
|
|
15
12
|
readonly into: TableNode;
|
|
16
13
|
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
17
|
-
readonly values?:
|
|
14
|
+
readonly values?: OperationNode;
|
|
18
15
|
readonly returning?: ReturningNode;
|
|
19
16
|
readonly onConflict?: OnConflictNode;
|
|
20
17
|
readonly onDuplicateKey?: OnDuplicateKeyNode;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { AliasNode } from './alias-node.js';
|
|
2
1
|
import { OnNode } from './on-node.js';
|
|
3
|
-
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
4
2
|
import { OperationNode } from './operation-node.js';
|
|
5
|
-
import { TableNode } from './table-node.js';
|
|
6
|
-
export declare type JoinTableNode = TableNode | AliasNode;
|
|
7
3
|
export declare type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin';
|
|
8
4
|
export interface JoinNode extends OperationNode {
|
|
9
5
|
readonly kind: 'JoinNode';
|
|
10
6
|
readonly joinType: JoinType;
|
|
11
|
-
readonly table:
|
|
7
|
+
readonly table: OperationNode;
|
|
12
8
|
readonly on?: OnNode;
|
|
13
9
|
}
|
|
14
10
|
/**
|
|
@@ -16,8 +12,8 @@ export interface JoinNode extends OperationNode {
|
|
|
16
12
|
*/
|
|
17
13
|
export declare const JoinNode: Readonly<{
|
|
18
14
|
is(node: OperationNode): node is JoinNode;
|
|
19
|
-
create(joinType: JoinType, table:
|
|
20
|
-
createWithOn(joinType: JoinType, table:
|
|
21
|
-
cloneWithOn(joinNode: JoinNode,
|
|
22
|
-
cloneWithOrOn(joinNode: JoinNode,
|
|
15
|
+
create(joinType: JoinType, table: OperationNode): JoinNode;
|
|
16
|
+
createWithOn(joinType: JoinType, table: OperationNode, on: OperationNode): JoinNode;
|
|
17
|
+
cloneWithOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
18
|
+
cloneWithOrOn(joinNode: JoinNode, operation: OperationNode): JoinNode;
|
|
23
19
|
}>;
|
|
@@ -24,20 +24,20 @@ export const JoinNode = freeze({
|
|
|
24
24
|
on: OnNode.create(on),
|
|
25
25
|
});
|
|
26
26
|
},
|
|
27
|
-
cloneWithOn(joinNode,
|
|
27
|
+
cloneWithOn(joinNode, operation) {
|
|
28
28
|
return freeze({
|
|
29
29
|
...joinNode,
|
|
30
30
|
on: joinNode.on
|
|
31
|
-
? OnNode.
|
|
32
|
-
: OnNode.create(
|
|
31
|
+
? OnNode.cloneWithOperation(joinNode.on, 'And', operation)
|
|
32
|
+
: OnNode.create(operation),
|
|
33
33
|
});
|
|
34
34
|
},
|
|
35
|
-
cloneWithOrOn(joinNode,
|
|
35
|
+
cloneWithOrOn(joinNode, operation) {
|
|
36
36
|
return freeze({
|
|
37
37
|
...joinNode,
|
|
38
38
|
on: joinNode.on
|
|
39
|
-
? OnNode.
|
|
40
|
-
: OnNode.create(
|
|
39
|
+
? OnNode.cloneWithOperation(joinNode.on, 'Or', operation)
|
|
40
|
+
: OnNode.create(operation),
|
|
41
41
|
});
|
|
42
42
|
},
|
|
43
43
|
});
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { ColumnNode } from './column-node.js';
|
|
2
2
|
import { ColumnUpdateNode } from './column-update-node.js';
|
|
3
3
|
import { IdentifierNode } from './identifier-node.js';
|
|
4
|
-
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
5
4
|
import { OperationNode } from './operation-node.js';
|
|
6
|
-
import { RawNode } from './raw-node.js';
|
|
7
5
|
import { WhereNode } from './where-node.js';
|
|
8
6
|
export declare type OnConflictNodeProps = Omit<OnConflictNode, 'kind' | 'indexWhere' | 'updateWhere'>;
|
|
9
7
|
export interface OnConflictNode extends OperationNode {
|
|
10
8
|
readonly kind: 'OnConflictNode';
|
|
11
9
|
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
12
10
|
readonly constraint?: IdentifierNode;
|
|
13
|
-
readonly indexExpression?:
|
|
11
|
+
readonly indexExpression?: OperationNode;
|
|
14
12
|
readonly indexWhere?: WhereNode;
|
|
15
13
|
readonly updates?: ReadonlyArray<ColumnUpdateNode>;
|
|
16
14
|
readonly updateWhere?: WhereNode;
|
|
@@ -23,8 +21,8 @@ export declare const OnConflictNode: Readonly<{
|
|
|
23
21
|
is(node: OperationNode): node is OnConflictNode;
|
|
24
22
|
create(): OnConflictNode;
|
|
25
23
|
cloneWith(node: OnConflictNode, props: OnConflictNodeProps): OnConflictNode;
|
|
26
|
-
cloneWithIndexWhere(node: OnConflictNode,
|
|
27
|
-
cloneWithIndexOrWhere(node: OnConflictNode,
|
|
28
|
-
cloneWithUpdateWhere(node: OnConflictNode,
|
|
29
|
-
cloneWithUpdateOrWhere(node: OnConflictNode,
|
|
24
|
+
cloneWithIndexWhere(node: OnConflictNode, operation: OperationNode): OnConflictNode;
|
|
25
|
+
cloneWithIndexOrWhere(node: OnConflictNode, operation: OperationNode): OnConflictNode;
|
|
26
|
+
cloneWithUpdateWhere(node: OnConflictNode, operation: OperationNode): OnConflictNode;
|
|
27
|
+
cloneWithUpdateOrWhere(node: OnConflictNode, operation: OperationNode): OnConflictNode;
|
|
30
28
|
}>;
|
|
@@ -19,36 +19,36 @@ export const OnConflictNode = freeze({
|
|
|
19
19
|
...props,
|
|
20
20
|
});
|
|
21
21
|
},
|
|
22
|
-
cloneWithIndexWhere(node,
|
|
22
|
+
cloneWithIndexWhere(node, operation) {
|
|
23
23
|
return freeze({
|
|
24
24
|
...node,
|
|
25
25
|
indexWhere: node.indexWhere
|
|
26
|
-
? WhereNode.
|
|
27
|
-
: WhereNode.create(
|
|
26
|
+
? WhereNode.cloneWithOperation(node.indexWhere, 'And', operation)
|
|
27
|
+
: WhereNode.create(operation),
|
|
28
28
|
});
|
|
29
29
|
},
|
|
30
|
-
cloneWithIndexOrWhere(node,
|
|
30
|
+
cloneWithIndexOrWhere(node, operation) {
|
|
31
31
|
return freeze({
|
|
32
32
|
...node,
|
|
33
33
|
indexWhere: node.indexWhere
|
|
34
|
-
? WhereNode.
|
|
35
|
-
: WhereNode.create(
|
|
34
|
+
? WhereNode.cloneWithOperation(node.indexWhere, 'Or', operation)
|
|
35
|
+
: WhereNode.create(operation),
|
|
36
36
|
});
|
|
37
37
|
},
|
|
38
|
-
cloneWithUpdateWhere(node,
|
|
38
|
+
cloneWithUpdateWhere(node, operation) {
|
|
39
39
|
return freeze({
|
|
40
40
|
...node,
|
|
41
41
|
updateWhere: node.updateWhere
|
|
42
|
-
? WhereNode.
|
|
43
|
-
: WhereNode.create(
|
|
42
|
+
? WhereNode.cloneWithOperation(node.updateWhere, 'And', operation)
|
|
43
|
+
: WhereNode.create(operation),
|
|
44
44
|
});
|
|
45
45
|
},
|
|
46
|
-
cloneWithUpdateOrWhere(node,
|
|
46
|
+
cloneWithUpdateOrWhere(node, operation) {
|
|
47
47
|
return freeze({
|
|
48
48
|
...node,
|
|
49
49
|
updateWhere: node.updateWhere
|
|
50
|
-
? WhereNode.
|
|
51
|
-
: WhereNode.create(
|
|
50
|
+
? WhereNode.cloneWithOperation(node.updateWhere, 'Or', operation)
|
|
51
|
+
: WhereNode.create(operation),
|
|
52
52
|
});
|
|
53
53
|
},
|
|
54
54
|
});
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
2
1
|
import { OperationNode } from './operation-node.js';
|
|
3
2
|
export interface OnNode extends OperationNode {
|
|
4
3
|
readonly kind: 'OnNode';
|
|
5
|
-
readonly on:
|
|
4
|
+
readonly on: OperationNode;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
10
9
|
export declare const OnNode: Readonly<{
|
|
11
10
|
is(node: OperationNode): node is OnNode;
|
|
12
|
-
create(filter:
|
|
13
|
-
|
|
11
|
+
create(filter: OperationNode): OnNode;
|
|
12
|
+
cloneWithOperation(onNode: OnNode, operator: 'And' | 'Or', operation: OperationNode): OnNode;
|
|
14
13
|
}>;
|
|
@@ -15,12 +15,12 @@ export const OnNode = freeze({
|
|
|
15
15
|
on: filter,
|
|
16
16
|
});
|
|
17
17
|
},
|
|
18
|
-
|
|
18
|
+
cloneWithOperation(onNode, operator, operation) {
|
|
19
19
|
return freeze({
|
|
20
20
|
...onNode,
|
|
21
|
-
on:
|
|
22
|
-
? AndNode.create(onNode.on,
|
|
23
|
-
: OrNode.create(onNode.on,
|
|
21
|
+
on: operator === 'And'
|
|
22
|
+
? AndNode.create(onNode.on, operation)
|
|
23
|
+
: OrNode.create(onNode.on, operation),
|
|
24
24
|
});
|
|
25
25
|
},
|
|
26
26
|
});
|
|
@@ -15,7 +15,6 @@ import { RawNode } from './raw-node.js';
|
|
|
15
15
|
import { SelectQueryNode } from './select-query-node.js';
|
|
16
16
|
import { ValueListNode } from './value-list-node.js';
|
|
17
17
|
import { ValueNode } from './value-node.js';
|
|
18
|
-
import { FilterNode } from './filter-node.js';
|
|
19
18
|
import { OperatorNode } from './operator-node.js';
|
|
20
19
|
import { FromNode } from './from-node.js';
|
|
21
20
|
import { WhereNode } from './where-node.js';
|
|
@@ -58,7 +57,6 @@ import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js';
|
|
|
58
57
|
import { ColumnDefinitionNode } from './column-definition-node.js';
|
|
59
58
|
import { ModifyColumnNode } from './modify-column-node.js';
|
|
60
59
|
import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
61
|
-
import { UnionNode } from './union-node.js';
|
|
62
60
|
import { CreateViewNode } from './create-view-node.js';
|
|
63
61
|
import { DropViewNode } from './drop-view-node.js';
|
|
64
62
|
import { GeneratedNode } from './generated-node.js';
|
|
@@ -71,6 +69,13 @@ import { DropTypeNode } from './drop-type-node.js';
|
|
|
71
69
|
import { ExplainNode } from './explain-node.js';
|
|
72
70
|
import { SchemableIdentifierNode } from './schemable-identifier-node.js';
|
|
73
71
|
import { DefaultInsertValueNode } from './default-insert-value-node.js';
|
|
72
|
+
import { AggregateFunctionNode } from './aggregate-function-node.js';
|
|
73
|
+
import { OverNode } from './over-node.js';
|
|
74
|
+
import { PartitionByNode } from './partition-by-node.js';
|
|
75
|
+
import { PartitionByItemNode } from './partition-by-item-node.js';
|
|
76
|
+
import { SetOperationNode } from './set-operation-node.js';
|
|
77
|
+
import { BinaryOperationNode } from './binary-operation-node.js';
|
|
78
|
+
import { UnaryOperationNode } from './unary-operation-node.js';
|
|
74
79
|
/**
|
|
75
80
|
* Transforms an operation node tree into another one.
|
|
76
81
|
*
|
|
@@ -113,7 +118,6 @@ export declare class OperationNodeTransformer {
|
|
|
113
118
|
protected transformTable(node: TableNode): TableNode;
|
|
114
119
|
protected transformFrom(node: FromNode): FromNode;
|
|
115
120
|
protected transformReference(node: ReferenceNode): ReferenceNode;
|
|
116
|
-
protected transformFilter(node: FilterNode): FilterNode;
|
|
117
121
|
protected transformAnd(node: AndNode): AndNode;
|
|
118
122
|
protected transformOr(node: OrNode): OrNode;
|
|
119
123
|
protected transformValueList(node: ValueListNode): ValueListNode;
|
|
@@ -145,7 +149,7 @@ export declare class OperationNodeTransformer {
|
|
|
145
149
|
protected transformPrimaryKeyConstraint(node: PrimaryKeyConstraintNode): PrimaryKeyConstraintNode;
|
|
146
150
|
protected transformUniqueConstraint(node: UniqueConstraintNode): UniqueConstraintNode;
|
|
147
151
|
protected transformForeignKeyConstraint(node: ForeignKeyConstraintNode): ForeignKeyConstraintNode;
|
|
148
|
-
protected
|
|
152
|
+
protected transformSetOperation(node: SetOperationNode): SetOperationNode;
|
|
149
153
|
protected transformReferences(node: ReferencesNode): ReferencesNode;
|
|
150
154
|
protected transformCheckConstraint(node: CheckConstraintNode): CheckConstraintNode;
|
|
151
155
|
protected transformWith(node: WithNode): WithNode;
|
|
@@ -171,6 +175,12 @@ export declare class OperationNodeTransformer {
|
|
|
171
175
|
protected transformDropType(node: DropTypeNode): DropTypeNode;
|
|
172
176
|
protected transformExplain(node: ExplainNode): ExplainNode;
|
|
173
177
|
protected transformSchemableIdentifier(node: SchemableIdentifierNode): SchemableIdentifierNode;
|
|
178
|
+
protected transformAggregateFunction(node: AggregateFunctionNode): AggregateFunctionNode;
|
|
179
|
+
protected transformOver(node: OverNode): OverNode;
|
|
180
|
+
protected transformPartitionBy(node: PartitionByNode): PartitionByNode;
|
|
181
|
+
protected transformPartitionByItem(node: PartitionByItemNode): PartitionByItemNode;
|
|
182
|
+
protected transformBinaryOperation(node: BinaryOperationNode): BinaryOperationNode;
|
|
183
|
+
protected transformUnaryOperation(node: UnaryOperationNode): UnaryOperationNode;
|
|
174
184
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
175
185
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
176
186
|
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
|
|
@@ -44,7 +44,6 @@ export class OperationNodeTransformer {
|
|
|
44
44
|
TableNode: this.transformTable.bind(this),
|
|
45
45
|
FromNode: this.transformFrom.bind(this),
|
|
46
46
|
SelectAllNode: this.transformSelectAll.bind(this),
|
|
47
|
-
FilterNode: this.transformFilter.bind(this),
|
|
48
47
|
AndNode: this.transformAnd.bind(this),
|
|
49
48
|
OrNode: this.transformOr.bind(this),
|
|
50
49
|
ValueNode: this.transformValue.bind(this),
|
|
@@ -93,7 +92,6 @@ export class OperationNodeTransformer {
|
|
|
93
92
|
AddConstraintNode: this.transformAddConstraint.bind(this),
|
|
94
93
|
DropConstraintNode: this.transformDropConstraint.bind(this),
|
|
95
94
|
ForeignKeyConstraintNode: this.transformForeignKeyConstraint.bind(this),
|
|
96
|
-
UnionNode: this.transformUnion.bind(this),
|
|
97
95
|
CreateViewNode: this.transformCreateView.bind(this),
|
|
98
96
|
DropViewNode: this.transformDropView.bind(this),
|
|
99
97
|
GeneratedNode: this.transformGenerated.bind(this),
|
|
@@ -105,6 +103,13 @@ export class OperationNodeTransformer {
|
|
|
105
103
|
DropTypeNode: this.transformDropType.bind(this),
|
|
106
104
|
ExplainNode: this.transformExplain.bind(this),
|
|
107
105
|
DefaultInsertValueNode: this.transformDefaultInsertValue.bind(this),
|
|
106
|
+
AggregateFunctionNode: this.transformAggregateFunction.bind(this),
|
|
107
|
+
OverNode: this.transformOver.bind(this),
|
|
108
|
+
PartitionByNode: this.transformPartitionBy.bind(this),
|
|
109
|
+
PartitionByItemNode: this.transformPartitionByItem.bind(this),
|
|
110
|
+
SetOperationNode: this.transformSetOperation.bind(this),
|
|
111
|
+
BinaryOperationNode: this.transformBinaryOperation.bind(this),
|
|
112
|
+
UnaryOperationNode: this.transformUnaryOperation.bind(this),
|
|
108
113
|
});
|
|
109
114
|
transformNode(node) {
|
|
110
115
|
if (!node) {
|
|
@@ -129,7 +134,7 @@ export class OperationNodeTransformer {
|
|
|
129
134
|
kind: 'SelectQueryNode',
|
|
130
135
|
from: this.transformNode(node.from),
|
|
131
136
|
selections: this.transformNodeList(node.selections),
|
|
132
|
-
|
|
137
|
+
distinctOn: this.transformNodeList(node.distinctOn),
|
|
133
138
|
joins: this.transformNodeList(node.joins),
|
|
134
139
|
groupBy: this.transformNode(node.groupBy),
|
|
135
140
|
orderBy: this.transformNode(node.orderBy),
|
|
@@ -140,8 +145,8 @@ export class OperationNodeTransformer {
|
|
|
140
145
|
offset: this.transformNode(node.offset),
|
|
141
146
|
with: this.transformNode(node.with),
|
|
142
147
|
having: this.transformNode(node.having),
|
|
143
|
-
union: this.transformNodeList(node.union),
|
|
144
148
|
explain: this.transformNode(node.explain),
|
|
149
|
+
setOperations: this.transformNodeList(node.setOperations),
|
|
145
150
|
});
|
|
146
151
|
}
|
|
147
152
|
transformSelection(node) {
|
|
@@ -182,14 +187,6 @@ export class OperationNodeTransformer {
|
|
|
182
187
|
column: this.transformNode(node.column),
|
|
183
188
|
});
|
|
184
189
|
}
|
|
185
|
-
transformFilter(node) {
|
|
186
|
-
return requireAllProps({
|
|
187
|
-
kind: 'FilterNode',
|
|
188
|
-
left: this.transformNode(node.left),
|
|
189
|
-
op: this.transformNode(node.op),
|
|
190
|
-
right: this.transformNode(node.right),
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
190
|
transformAnd(node) {
|
|
194
191
|
return requireAllProps({
|
|
195
192
|
kind: 'AndNode',
|
|
@@ -304,6 +301,8 @@ export class OperationNodeTransformer {
|
|
|
304
301
|
defaultTo: this.transformNode(node.defaultTo),
|
|
305
302
|
check: this.transformNode(node.check),
|
|
306
303
|
generated: this.transformNode(node.generated),
|
|
304
|
+
frontModifiers: this.transformNodeList(node.frontModifiers),
|
|
305
|
+
endModifiers: this.transformNodeList(node.endModifiers),
|
|
307
306
|
});
|
|
308
307
|
}
|
|
309
308
|
transformAddColumn(node) {
|
|
@@ -444,10 +443,11 @@ export class OperationNodeTransformer {
|
|
|
444
443
|
onUpdate: node.onUpdate,
|
|
445
444
|
});
|
|
446
445
|
}
|
|
447
|
-
|
|
446
|
+
transformSetOperation(node) {
|
|
448
447
|
return requireAllProps({
|
|
449
|
-
kind: '
|
|
450
|
-
|
|
448
|
+
kind: 'SetOperationNode',
|
|
449
|
+
operator: node.operator,
|
|
450
|
+
expression: this.transformNode(node.expression),
|
|
451
451
|
all: node.all,
|
|
452
452
|
});
|
|
453
453
|
}
|
|
@@ -515,11 +515,7 @@ export class OperationNodeTransformer {
|
|
|
515
515
|
table: this.transformNode(node.table),
|
|
516
516
|
renameTo: this.transformNode(node.renameTo),
|
|
517
517
|
setSchema: this.transformNode(node.setSchema),
|
|
518
|
-
|
|
519
|
-
addColumn: this.transformNode(node.addColumn),
|
|
520
|
-
dropColumn: this.transformNode(node.dropColumn),
|
|
521
|
-
alterColumn: this.transformNode(node.alterColumn),
|
|
522
|
-
modifyColumn: this.transformNode(node.modifyColumn),
|
|
518
|
+
columnAlterations: this.transformNodeList(node.columnAlterations),
|
|
523
519
|
addConstraint: this.transformNode(node.addConstraint),
|
|
524
520
|
dropConstraint: this.transformNode(node.dropConstraint),
|
|
525
521
|
});
|
|
@@ -647,6 +643,50 @@ export class OperationNodeTransformer {
|
|
|
647
643
|
identifier: this.transformNode(node.identifier),
|
|
648
644
|
});
|
|
649
645
|
}
|
|
646
|
+
transformAggregateFunction(node) {
|
|
647
|
+
return requireAllProps({
|
|
648
|
+
kind: 'AggregateFunctionNode',
|
|
649
|
+
column: this.transformNode(node.column),
|
|
650
|
+
distinct: node.distinct,
|
|
651
|
+
filter: this.transformNode(node.filter),
|
|
652
|
+
func: node.func,
|
|
653
|
+
over: this.transformNode(node.over),
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
transformOver(node) {
|
|
657
|
+
return requireAllProps({
|
|
658
|
+
kind: 'OverNode',
|
|
659
|
+
orderBy: this.transformNode(node.orderBy),
|
|
660
|
+
partitionBy: this.transformNode(node.partitionBy),
|
|
661
|
+
});
|
|
662
|
+
}
|
|
663
|
+
transformPartitionBy(node) {
|
|
664
|
+
return requireAllProps({
|
|
665
|
+
kind: 'PartitionByNode',
|
|
666
|
+
items: this.transformNodeList(node.items),
|
|
667
|
+
});
|
|
668
|
+
}
|
|
669
|
+
transformPartitionByItem(node) {
|
|
670
|
+
return requireAllProps({
|
|
671
|
+
kind: 'PartitionByItemNode',
|
|
672
|
+
partitionBy: this.transformNode(node.partitionBy),
|
|
673
|
+
});
|
|
674
|
+
}
|
|
675
|
+
transformBinaryOperation(node) {
|
|
676
|
+
return requireAllProps({
|
|
677
|
+
kind: 'BinaryOperationNode',
|
|
678
|
+
leftOperand: this.transformNode(node.leftOperand),
|
|
679
|
+
operator: this.transformNode(node.operator),
|
|
680
|
+
rightOperand: this.transformNode(node.rightOperand),
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
transformUnaryOperation(node) {
|
|
684
|
+
return requireAllProps({
|
|
685
|
+
kind: 'UnaryOperationNode',
|
|
686
|
+
operator: this.transformNode(node.operator),
|
|
687
|
+
operand: this.transformNode(node.operand),
|
|
688
|
+
});
|
|
689
|
+
}
|
|
650
690
|
transformDataType(node) {
|
|
651
691
|
// An Object.freezed leaf node. No need to clone.
|
|
652
692
|
return node;
|