@depup/kysely 0.28.11-depup.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/LICENSE +21 -0
- package/README.md +25 -0
- package/dist/cjs/dialect/database-introspector.d.ts +62 -0
- package/dist/cjs/dialect/database-introspector.js +2 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +94 -0
- package/dist/cjs/dialect/dialect-adapter-base.js +24 -0
- package/dist/cjs/dialect/dialect-adapter.d.ts +115 -0
- package/dist/cjs/dialect/dialect-adapter.js +2 -0
- package/dist/cjs/dialect/dialect.d.ts +34 -0
- package/dist/cjs/dialect/dialect.js +2 -0
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +83 -0
- package/dist/cjs/dialect/mssql/mssql-adapter.js +28 -0
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +181 -0
- package/dist/cjs/dialect/mssql/mssql-dialect-config.js +2 -0
- package/dist/cjs/dialect/mssql/mssql-dialect.d.ts +70 -0
- package/dist/cjs/dialect/mssql/mssql-dialect.js +65 -0
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +59 -0
- package/dist/cjs/dialect/mssql/mssql-driver.js +359 -0
- package/dist/cjs/dialect/mssql/mssql-introspector.d.ts +20 -0
- package/dist/cjs/dialect/mssql/mssql-introspector.js +110 -0
- package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +17 -0
- package/dist/cjs/dialect/mssql/mssql-query-compiler.js +83 -0
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +80 -0
- package/dist/cjs/dialect/mysql/mysql-adapter.js +28 -0
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +56 -0
- package/dist/cjs/dialect/mysql/mysql-dialect-config.js +2 -0
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +61 -0
- package/dist/cjs/dialect/mysql/mysql-dialect.js +56 -0
- package/dist/cjs/dialect/mysql/mysql-driver.d.ts +52 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +180 -0
- package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +20 -0
- package/dist/cjs/dialect/mysql/mysql-introspector.js +79 -0
- package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +13 -0
- package/dist/cjs/dialect/mysql/mysql-query-compiler.js +60 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +80 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.js +25 -0
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +68 -0
- package/dist/cjs/dialect/postgres/postgres-dialect-config.js +2 -0
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +61 -0
- package/dist/cjs/dialect/postgres/postgres-dialect.js +56 -0
- package/dist/cjs/dialect/postgres/postgres-driver.d.ts +55 -0
- package/dist/cjs/dialect/postgres/postgres-driver.js +134 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +20 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.js +100 -0
- package/dist/cjs/dialect/postgres/postgres-query-compiler.d.ts +4 -0
- package/dist/cjs/dialect/postgres/postgres-query-compiler.js +11 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +80 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.js +23 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect-config.js +2 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +55 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +51 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +42 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +113 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +20 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +94 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +37 -0
- package/dist/cjs/driver/connection-provider.d.ts +8 -0
- package/dist/cjs/driver/connection-provider.js +2 -0
- package/dist/cjs/driver/database-connection.d.ts +35 -0
- package/dist/cjs/driver/database-connection.js +2 -0
- package/dist/cjs/driver/default-connection-provider.d.ts +12 -0
- package/dist/cjs/driver/default-connection-provider.js +19 -0
- package/dist/cjs/driver/driver.d.ts +61 -0
- package/dist/cjs/driver/driver.js +22 -0
- package/dist/cjs/driver/dummy-driver.d.ts +75 -0
- package/dist/cjs/driver/dummy-driver.js +83 -0
- package/dist/cjs/driver/runtime-driver.d.ts +47 -0
- package/dist/cjs/driver/runtime-driver.js +165 -0
- package/dist/cjs/driver/single-connection-provider.d.ts +11 -0
- package/dist/cjs/driver/single-connection-provider.js +29 -0
- package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +18 -0
- package/dist/cjs/dynamic/dynamic-reference-builder.js +36 -0
- package/dist/cjs/dynamic/dynamic-table-builder.d.ts +16 -0
- package/dist/cjs/dynamic/dynamic-table-builder.js +46 -0
- package/dist/cjs/dynamic/dynamic.d.ts +124 -0
- package/dist/cjs/dynamic/dynamic.js +132 -0
- package/dist/cjs/expression/expression-builder.d.ts +920 -0
- package/dist/cjs/expression/expression-builder.js +128 -0
- package/dist/cjs/expression/expression-wrapper.d.ts +631 -0
- package/dist/cjs/expression/expression-wrapper.js +134 -0
- package/dist/cjs/expression/expression.d.ts +198 -0
- package/dist/cjs/expression/expression.js +15 -0
- package/dist/cjs/helpers/mssql.d.ts +212 -0
- package/dist/cjs/helpers/mssql.js +219 -0
- package/dist/cjs/helpers/mysql.d.ts +147 -0
- package/dist/cjs/helpers/mysql.js +162 -0
- package/dist/cjs/helpers/postgres.d.ts +199 -0
- package/dist/cjs/helpers/postgres.js +208 -0
- package/dist/cjs/helpers/sqlite.d.ts +189 -0
- package/dist/cjs/helpers/sqlite.js +204 -0
- package/dist/cjs/index.d.ts +226 -0
- package/dist/cjs/index.js +231 -0
- package/dist/cjs/kysely.d.ts +848 -0
- package/dist/cjs/kysely.js +927 -0
- package/dist/cjs/migration/file-migration-provider.d.ts +48 -0
- package/dist/cjs/migration/file-migration-provider.js +52 -0
- package/dist/cjs/migration/migrator.d.ts +395 -0
- package/dist/cjs/migration/migrator.js +611 -0
- package/dist/cjs/operation-node/add-column-node.d.ts +15 -0
- package/dist/cjs/operation-node/add-column-node.js +18 -0
- package/dist/cjs/operation-node/add-constraint-node.d.ts +15 -0
- package/dist/cjs/operation-node/add-constraint-node.js +18 -0
- package/dist/cjs/operation-node/add-index-node.d.ts +23 -0
- package/dist/cjs/operation-node/add-index-node.js +31 -0
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +29 -0
- package/dist/cjs/operation-node/aggregate-function-node.js +58 -0
- package/dist/cjs/operation-node/alias-node.d.ts +15 -0
- package/dist/cjs/operation-node/alias-node.js +19 -0
- package/dist/cjs/operation-node/alter-column-node.d.ts +23 -0
- package/dist/cjs/operation-node/alter-column-node.js +20 -0
- package/dist/cjs/operation-node/alter-table-node.d.ts +38 -0
- package/dist/cjs/operation-node/alter-table-node.js +32 -0
- package/dist/cjs/operation-node/and-node.d.ts +15 -0
- package/dist/cjs/operation-node/and-node.js +19 -0
- package/dist/cjs/operation-node/binary-operation-node.d.ts +16 -0
- package/dist/cjs/operation-node/binary-operation-node.js +20 -0
- package/dist/cjs/operation-node/case-node.d.ts +21 -0
- package/dist/cjs/operation-node/case-node.js +42 -0
- package/dist/cjs/operation-node/cast-node.d.ts +15 -0
- package/dist/cjs/operation-node/cast-node.js +19 -0
- package/dist/cjs/operation-node/check-constraint-node.d.ts +16 -0
- package/dist/cjs/operation-node/check-constraint-node.js +22 -0
- package/dist/cjs/operation-node/collate-node.d.ts +15 -0
- package/dist/cjs/operation-node/collate-node.js +19 -0
- package/dist/cjs/operation-node/column-definition-node.d.ts +38 -0
- package/dist/cjs/operation-node/column-definition-node.js +42 -0
- package/dist/cjs/operation-node/column-node.d.ts +15 -0
- package/dist/cjs/operation-node/column-node.js +19 -0
- package/dist/cjs/operation-node/column-update-node.d.ts +15 -0
- package/dist/cjs/operation-node/column-update-node.js +19 -0
- package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +17 -0
- package/dist/cjs/operation-node/common-table-expression-name-node.js +23 -0
- package/dist/cjs/operation-node/common-table-expression-node.d.ts +19 -0
- package/dist/cjs/operation-node/common-table-expression-node.js +25 -0
- package/dist/cjs/operation-node/constraint-node.d.ts +5 -0
- package/dist/cjs/operation-node/constraint-node.js +2 -0
- package/dist/cjs/operation-node/create-index-node.d.ts +29 -0
- package/dist/cjs/operation-node/create-index-node.js +31 -0
- package/dist/cjs/operation-node/create-schema-node.d.ts +18 -0
- package/dist/cjs/operation-node/create-schema-node.js +26 -0
- package/dist/cjs/operation-node/create-table-node.d.ts +34 -0
- package/dist/cjs/operation-node/create-table-node.js +56 -0
- package/dist/cjs/operation-node/create-type-node.d.ts +19 -0
- package/dist/cjs/operation-node/create-type-node.js +26 -0
- package/dist/cjs/operation-node/create-view-node.d.ts +26 -0
- package/dist/cjs/operation-node/create-view-node.js +25 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +19 -0
- package/dist/cjs/operation-node/data-type-node.js +86 -0
- package/dist/cjs/operation-node/default-insert-value-node.d.ts +13 -0
- package/dist/cjs/operation-node/default-insert-value-node.js +17 -0
- package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
- package/dist/cjs/operation-node/default-value-node.js +18 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +42 -0
- package/dist/cjs/operation-node/delete-query-node.js +52 -0
- package/dist/cjs/operation-node/drop-column-node.d.ts +15 -0
- package/dist/cjs/operation-node/drop-column-node.js +19 -0
- package/dist/cjs/operation-node/drop-constraint-node.d.ts +19 -0
- package/dist/cjs/operation-node/drop-constraint-node.js +25 -0
- package/dist/cjs/operation-node/drop-index-node.d.ts +21 -0
- package/dist/cjs/operation-node/drop-index-node.js +26 -0
- package/dist/cjs/operation-node/drop-schema-node.d.ts +19 -0
- package/dist/cjs/operation-node/drop-schema-node.js +26 -0
- package/dist/cjs/operation-node/drop-table-node.d.ts +19 -0
- package/dist/cjs/operation-node/drop-table-node.js +25 -0
- package/dist/cjs/operation-node/drop-type-node.d.ts +18 -0
- package/dist/cjs/operation-node/drop-type-node.js +24 -0
- package/dist/cjs/operation-node/drop-view-node.d.ts +20 -0
- package/dist/cjs/operation-node/drop-view-node.js +25 -0
- package/dist/cjs/operation-node/explain-node.d.ts +16 -0
- package/dist/cjs/operation-node/explain-node.js +19 -0
- package/dist/cjs/operation-node/fetch-node.d.ts +17 -0
- package/dist/cjs/operation-node/fetch-node.js +20 -0
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +26 -0
- package/dist/cjs/operation-node/foreign-key-constraint-node.js +30 -0
- package/dist/cjs/operation-node/from-node.d.ts +15 -0
- package/dist/cjs/operation-node/from-node.js +24 -0
- package/dist/cjs/operation-node/function-node.d.ts +15 -0
- package/dist/cjs/operation-node/function-node.js +19 -0
- package/dist/cjs/operation-node/generated-node.d.ts +21 -0
- package/dist/cjs/operation-node/generated-node.js +31 -0
- package/dist/cjs/operation-node/group-by-item-node.d.ts +14 -0
- package/dist/cjs/operation-node/group-by-item-node.js +18 -0
- package/dist/cjs/operation-node/group-by-node.d.ts +16 -0
- package/dist/cjs/operation-node/group-by-node.js +24 -0
- package/dist/cjs/operation-node/having-node.d.ts +15 -0
- package/dist/cjs/operation-node/having-node.js +28 -0
- package/dist/cjs/operation-node/identifier-node.d.ts +14 -0
- package/dist/cjs/operation-node/identifier-node.js +18 -0
- package/dist/cjs/operation-node/insert-query-node.d.ts +42 -0
- package/dist/cjs/operation-node/insert-query-node.js +31 -0
- package/dist/cjs/operation-node/join-node.d.ts +20 -0
- package/dist/cjs/operation-node/join-node.js +37 -0
- package/dist/cjs/operation-node/json-operator-chain-node.d.ts +18 -0
- package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
- package/dist/cjs/operation-node/json-path-leg-node.d.ts +16 -0
- package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
- package/dist/cjs/operation-node/json-path-node.d.ts +18 -0
- package/dist/cjs/operation-node/json-path-node.js +25 -0
- package/dist/cjs/operation-node/json-reference-node.d.ts +19 -0
- package/dist/cjs/operation-node/json-reference-node.js +25 -0
- package/dist/cjs/operation-node/limit-node.d.ts +14 -0
- package/dist/cjs/operation-node/limit-node.js +18 -0
- package/dist/cjs/operation-node/list-node.d.ts +14 -0
- package/dist/cjs/operation-node/list-node.js +18 -0
- package/dist/cjs/operation-node/matched-node.d.ts +15 -0
- package/dist/cjs/operation-node/matched-node.js +19 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +32 -0
- package/dist/cjs/operation-node/merge-query-node.js +45 -0
- package/dist/cjs/operation-node/modify-column-node.d.ts +15 -0
- package/dist/cjs/operation-node/modify-column-node.js +18 -0
- package/dist/cjs/operation-node/offset-node.d.ts +14 -0
- package/dist/cjs/operation-node/offset-node.js +18 -0
- package/dist/cjs/operation-node/on-conflict-node.d.ts +32 -0
- package/dist/cjs/operation-node/on-conflict-node.js +68 -0
- package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +16 -0
- package/dist/cjs/operation-node/on-duplicate-key-node.js +18 -0
- package/dist/cjs/operation-node/on-node.d.ts +15 -0
- package/dist/cjs/operation-node/on-node.js +28 -0
- package/dist/cjs/operation-node/operation-node-source.d.ts +5 -0
- package/dist/cjs/operation-node/operation-node-source.js +7 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +238 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +929 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +201 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +115 -0
- package/dist/cjs/operation-node/operation-node.d.ts +4 -0
- package/dist/cjs/operation-node/operation-node.js +2 -0
- package/dist/cjs/operation-node/operator-node.d.ts +34 -0
- package/dist/cjs/operation-node/operator-node.js +107 -0
- package/dist/cjs/operation-node/or-action-node.d.ts +14 -0
- package/dist/cjs/operation-node/or-action-node.js +18 -0
- package/dist/cjs/operation-node/or-node.d.ts +15 -0
- package/dist/cjs/operation-node/or-node.js +19 -0
- package/dist/cjs/operation-node/order-by-item-node.d.ts +20 -0
- package/dist/cjs/operation-node/order-by-item-node.js +25 -0
- package/dist/cjs/operation-node/order-by-node.d.ts +16 -0
- package/dist/cjs/operation-node/order-by-node.js +24 -0
- package/dist/cjs/operation-node/output-node.d.ts +15 -0
- package/dist/cjs/operation-node/output-node.js +26 -0
- package/dist/cjs/operation-node/over-node.d.ts +21 -0
- package/dist/cjs/operation-node/over-node.js +35 -0
- package/dist/cjs/operation-node/parens-node.d.ts +14 -0
- package/dist/cjs/operation-node/parens-node.js +18 -0
- package/dist/cjs/operation-node/partition-by-item-node.d.ts +15 -0
- package/dist/cjs/operation-node/partition-by-item-node.js +18 -0
- package/dist/cjs/operation-node/partition-by-node.d.ts +16 -0
- package/dist/cjs/operation-node/partition-by-node.js +24 -0
- package/dist/cjs/operation-node/primary-key-constraint-node.d.ts +31 -0
- package/dist/cjs/operation-node/primary-key-constraint-node.js +32 -0
- package/dist/cjs/operation-node/primitive-value-list-node.d.ts +19 -0
- package/dist/cjs/operation-node/primitive-value-list-node.js +18 -0
- package/dist/cjs/operation-node/query-node.d.ts +61 -0
- package/dist/cjs/operation-node/query-node.js +102 -0
- package/dist/cjs/operation-node/raw-node.d.ts +18 -0
- package/dist/cjs/operation-node/raw-node.js +28 -0
- package/dist/cjs/operation-node/reference-node.d.ts +19 -0
- package/dist/cjs/operation-node/reference-node.js +27 -0
- package/dist/cjs/operation-node/references-node.d.ts +24 -0
- package/dist/cjs/operation-node/references-node.js +38 -0
- package/dist/cjs/operation-node/refresh-materialized-view-node.d.ts +19 -0
- package/dist/cjs/operation-node/refresh-materialized-view-node.js +25 -0
- package/dist/cjs/operation-node/rename-column-node.d.ts +16 -0
- package/dist/cjs/operation-node/rename-column-node.js +20 -0
- package/dist/cjs/operation-node/rename-constraint-node.d.ts +16 -0
- package/dist/cjs/operation-node/rename-constraint-node.js +20 -0
- package/dist/cjs/operation-node/returning-node.d.ts +16 -0
- package/dist/cjs/operation-node/returning-node.js +26 -0
- package/dist/cjs/operation-node/schemable-identifier-node.d.ts +17 -0
- package/dist/cjs/operation-node/schemable-identifier-node.js +26 -0
- package/dist/cjs/operation-node/select-all-node.d.ts +13 -0
- package/dist/cjs/operation-node/select-all-node.js +17 -0
- package/dist/cjs/operation-node/select-modifier-node.d.ts +18 -0
- package/dist/cjs/operation-node/select-modifier-node.js +25 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +63 -0
- package/dist/cjs/operation-node/select-query-node.js +129 -0
- package/dist/cjs/operation-node/selection-node.d.ts +21 -0
- package/dist/cjs/operation-node/selection-node.js +32 -0
- package/dist/cjs/operation-node/set-operation-node.d.ts +17 -0
- package/dist/cjs/operation-node/set-operation-node.js +20 -0
- package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
- package/dist/cjs/operation-node/simple-reference-expression-node.js +2 -0
- package/dist/cjs/operation-node/table-node.d.ts +16 -0
- package/dist/cjs/operation-node/table-node.js +25 -0
- package/dist/cjs/operation-node/top-node.d.ts +16 -0
- package/dist/cjs/operation-node/top-node.js +19 -0
- package/dist/cjs/operation-node/tuple-node.d.ts +14 -0
- package/dist/cjs/operation-node/tuple-node.js +18 -0
- package/dist/cjs/operation-node/unary-operation-node.d.ts +15 -0
- package/dist/cjs/operation-node/unary-operation-node.js +19 -0
- package/dist/cjs/operation-node/unique-constraint-node.d.ts +22 -0
- package/dist/cjs/operation-node/unique-constraint-node.js +30 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +41 -0
- package/dist/cjs/operation-node/update-query-node.js +50 -0
- package/dist/cjs/operation-node/using-node.d.ts +15 -0
- package/dist/cjs/operation-node/using-node.js +24 -0
- package/dist/cjs/operation-node/value-list-node.d.ts +14 -0
- package/dist/cjs/operation-node/value-list-node.js +18 -0
- package/dist/cjs/operation-node/value-node.d.ts +16 -0
- package/dist/cjs/operation-node/value-node.js +25 -0
- package/dist/cjs/operation-node/values-node.d.ts +17 -0
- package/dist/cjs/operation-node/values-node.js +18 -0
- package/dist/cjs/operation-node/when-node.d.ts +16 -0
- package/dist/cjs/operation-node/when-node.js +24 -0
- package/dist/cjs/operation-node/where-node.d.ts +15 -0
- package/dist/cjs/operation-node/where-node.js +28 -0
- package/dist/cjs/operation-node/with-node.d.ts +18 -0
- package/dist/cjs/operation-node/with-node.js +25 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parser/binary-operation-parser.d.ts +21 -0
- package/dist/cjs/parser/binary-operation-parser.js +74 -0
- package/dist/cjs/parser/coalesce-parser.d.ts +12 -0
- package/dist/cjs/parser/coalesce-parser.js +2 -0
- package/dist/cjs/parser/collate-parser.d.ts +1 -0
- package/dist/cjs/parser/collate-parser.js +2 -0
- package/dist/cjs/parser/data-type-parser.d.ts +5 -0
- package/dist/cjs/parser/data-type-parser.js +14 -0
- package/dist/cjs/parser/default-value-parser.d.ts +4 -0
- package/dist/cjs/parser/default-value-parser.js +10 -0
- package/dist/cjs/parser/delete-from-parser.d.ts +9 -0
- package/dist/cjs/parser/delete-from-parser.js +2 -0
- package/dist/cjs/parser/expression-parser.d.ts +20 -0
- package/dist/cjs/parser/expression-parser.js +30 -0
- package/dist/cjs/parser/fetch-parser.d.ts +2 -0
- package/dist/cjs/parser/fetch-parser.js +17 -0
- package/dist/cjs/parser/group-by-parser.d.ts +6 -0
- package/dist/cjs/parser/group-by-parser.js +11 -0
- package/dist/cjs/parser/identifier-parser.d.ts +2 -0
- package/dist/cjs/parser/identifier-parser.js +22 -0
- package/dist/cjs/parser/insert-values-parser.d.ts +14 -0
- package/dist/cjs/parser/insert-values-parser.js +64 -0
- package/dist/cjs/parser/join-parser.d.ts +10 -0
- package/dist/cjs/parser/join-parser.js +30 -0
- package/dist/cjs/parser/merge-into-parser.d.ts +7 -0
- package/dist/cjs/parser/merge-into-parser.js +2 -0
- package/dist/cjs/parser/merge-parser.d.ts +9 -0
- package/dist/cjs/parser/merge-parser.js +31 -0
- package/dist/cjs/parser/on-commit-action-parse.d.ts +2 -0
- package/dist/cjs/parser/on-commit-action-parse.js +10 -0
- package/dist/cjs/parser/on-modify-action-parser.d.ts +2 -0
- package/dist/cjs/parser/on-modify-action-parser.js +10 -0
- package/dist/cjs/parser/order-by-parser.d.ts +25 -0
- package/dist/cjs/parser/order-by-parser.js +71 -0
- package/dist/cjs/parser/parse-utils.d.ts +10 -0
- package/dist/cjs/parser/parse-utils.js +38 -0
- package/dist/cjs/parser/partition-by-parser.d.ts +6 -0
- package/dist/cjs/parser/partition-by-parser.js +8 -0
- package/dist/cjs/parser/reference-parser.d.ts +31 -0
- package/dist/cjs/parser/reference-parser.js +104 -0
- package/dist/cjs/parser/returning-parser.d.ts +8 -0
- package/dist/cjs/parser/returning-parser.js +2 -0
- package/dist/cjs/parser/savepoint-parser.d.ts +4 -0
- package/dist/cjs/parser/savepoint-parser.js +11 -0
- package/dist/cjs/parser/select-from-parser.d.ts +6 -0
- package/dist/cjs/parser/select-from-parser.js +2 -0
- package/dist/cjs/parser/select-parser.d.ts +36 -0
- package/dist/cjs/parser/select-parser.js +50 -0
- package/dist/cjs/parser/set-operation-parser.d.ts +5 -0
- package/dist/cjs/parser/set-operation-parser.js +16 -0
- package/dist/cjs/parser/table-parser.d.ts +24 -0
- package/dist/cjs/parser/table-parser.js +54 -0
- package/dist/cjs/parser/top-parser.d.ts +2 -0
- package/dist/cjs/parser/top-parser.js +19 -0
- package/dist/cjs/parser/tuple-parser.d.ts +47 -0
- package/dist/cjs/parser/tuple-parser.js +2 -0
- package/dist/cjs/parser/unary-operation-parser.d.ts +8 -0
- package/dist/cjs/parser/unary-operation-parser.js +17 -0
- package/dist/cjs/parser/update-parser.d.ts +9 -0
- package/dist/cjs/parser/update-parser.js +2 -0
- package/dist/cjs/parser/update-set-parser.d.ts +16 -0
- package/dist/cjs/parser/update-set-parser.js +26 -0
- package/dist/cjs/parser/value-parser.d.ts +13 -0
- package/dist/cjs/parser/value-parser.js +38 -0
- package/dist/cjs/parser/with-parser.d.ts +45 -0
- package/dist/cjs/parser/with-parser.js +33 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +170 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +122 -0
- package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +9 -0
- package/dist/cjs/plugin/camel-case/camel-case-transformer.js +19 -0
- package/dist/cjs/plugin/camel-case/camel-case.d.ts +15 -0
- package/dist/cjs/plugin/camel-case/camel-case.js +111 -0
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +19 -0
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +42 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +162 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +29 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
- package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.js +66 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.js +22 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
- package/dist/cjs/plugin/immediate-value/immediate-value-transformer.js +23 -0
- package/dist/cjs/plugin/kysely-plugin.d.ts +72 -0
- package/dist/cjs/plugin/kysely-plugin.js +2 -0
- package/dist/cjs/plugin/noop-plugin.d.ts +64 -0
- package/dist/cjs/plugin/noop-plugin.js +12 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +107 -0
- package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +66 -0
- package/dist/cjs/plugin/with-schema/with-schema-plugin.js +17 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +18 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +200 -0
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +379 -0
- package/dist/cjs/query-builder/aggregate-function-builder.js +242 -0
- package/dist/cjs/query-builder/case-builder.d.ts +112 -0
- package/dist/cjs/query-builder/case-builder.js +79 -0
- package/dist/cjs/query-builder/cte-builder.d.ts +20 -0
- package/dist/cjs/query-builder/cte-builder.js +37 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +1348 -0
- package/dist/cjs/query-builder/delete-query-builder.js +504 -0
- package/dist/cjs/query-builder/delete-result.d.ts +4 -0
- package/dist/cjs/query-builder/delete-result.js +10 -0
- package/dist/cjs/query-builder/function-module.d.ts +592 -0
- package/dist/cjs/query-builder/function-module.js +62 -0
- package/dist/cjs/query-builder/having-interface.d.ts +15 -0
- package/dist/cjs/query-builder/having-interface.js +2 -0
- package/dist/cjs/query-builder/insert-query-builder.d.ts +1235 -0
- package/dist/cjs/query-builder/insert-query-builder.js +1160 -0
- package/dist/cjs/query-builder/insert-result.d.ts +46 -0
- package/dist/cjs/query-builder/insert-result.js +53 -0
- package/dist/cjs/query-builder/join-builder.d.ts +38 -0
- package/dist/cjs/query-builder/join-builder.js +51 -0
- package/dist/cjs/query-builder/json-path-builder.d.ts +294 -0
- package/dist/cjs/query-builder/json-path-builder.js +200 -0
- package/dist/cjs/query-builder/merge-query-builder.d.ts +1001 -0
- package/dist/cjs/query-builder/merge-query-builder.js +630 -0
- package/dist/cjs/query-builder/merge-result.d.ts +4 -0
- package/dist/cjs/query-builder/merge-result.js +10 -0
- package/dist/cjs/query-builder/no-result-error.d.ts +10 -0
- package/dist/cjs/query-builder/no-result-error.js +18 -0
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +872 -0
- package/dist/cjs/query-builder/on-conflict-builder.js +259 -0
- package/dist/cjs/query-builder/order-by-interface.d.ts +158 -0
- package/dist/cjs/query-builder/order-by-interface.js +2 -0
- package/dist/cjs/query-builder/order-by-item-builder.d.ts +43 -0
- package/dist/cjs/query-builder/order-by-item-builder.js +75 -0
- package/dist/cjs/query-builder/output-interface.d.ts +138 -0
- package/dist/cjs/query-builder/output-interface.js +2 -0
- package/dist/cjs/query-builder/over-builder.d.ts +101 -0
- package/dist/cjs/query-builder/over-builder.js +40 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +91 -0
- package/dist/cjs/query-builder/returning-interface.js +2 -0
- package/dist/cjs/query-builder/select-query-builder-expression.d.ts +28 -0
- package/dist/cjs/query-builder/select-query-builder-expression.js +2 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +2391 -0
- package/dist/cjs/query-builder/select-query-builder.js +376 -0
- package/dist/cjs/query-builder/update-query-builder.d.ts +1392 -0
- package/dist/cjs/query-builder/update-query-builder.js +513 -0
- package/dist/cjs/query-builder/update-result.d.ts +14 -0
- package/dist/cjs/query-builder/update-result.js +21 -0
- package/dist/cjs/query-builder/where-interface.d.ts +382 -0
- package/dist/cjs/query-builder/where-interface.js +2 -0
- package/dist/cjs/query-compiler/compiled-query.d.ts +13 -0
- package/dist/cjs/query-compiler/compiled-query.js +16 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +235 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +1396 -0
- package/dist/cjs/query-compiler/query-compiler.d.ts +24 -0
- package/dist/cjs/query-compiler/query-compiler.js +2 -0
- package/dist/cjs/query-creator.d.ts +592 -0
- package/dist/cjs/query-creator.js +622 -0
- package/dist/cjs/query-executor/default-query-executor.d.ts +50 -0
- package/dist/cjs/query-executor/default-query-executor.js +40 -0
- package/dist/cjs/query-executor/noop-query-executor.d.ts +50 -0
- package/dist/cjs/query-executor/noop-query-executor.js +37 -0
- package/dist/cjs/query-executor/query-executor-base.d.ts +68 -0
- package/dist/cjs/query-executor/query-executor-base.js +62 -0
- package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
- package/dist/cjs/query-executor/query-executor-provider.js +2 -0
- package/dist/cjs/query-executor/query-executor.d.ts +74 -0
- package/dist/cjs/query-executor/query-executor.js +2 -0
- package/dist/cjs/raw-builder/raw-builder.d.ts +218 -0
- package/dist/cjs/raw-builder/raw-builder.js +86 -0
- package/dist/cjs/raw-builder/sql.d.ts +366 -0
- package/dist/cjs/raw-builder/sql.js +84 -0
- package/dist/cjs/schema/alter-column-builder.d.ts +53 -0
- package/dist/cjs/schema/alter-column-builder.js +74 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
- package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +67 -0
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +138 -0
- package/dist/cjs/schema/alter-table-add-index-builder.js +165 -0
- package/dist/cjs/schema/alter-table-builder.d.ts +148 -0
- package/dist/cjs/schema/alter-table-builder.js +267 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +26 -0
- package/dist/cjs/schema/alter-table-drop-constraint-builder.js +59 -0
- package/dist/cjs/schema/alter-table-executor.d.ts +18 -0
- package/dist/cjs/schema/alter-table-executor.js +20 -0
- package/dist/cjs/schema/check-constraint-builder.d.ts +13 -0
- package/dist/cjs/schema/check-constraint-builder.js +20 -0
- package/dist/cjs/schema/column-definition-builder.d.ts +514 -0
- package/dist/cjs/schema/column-definition-builder.js +600 -0
- package/dist/cjs/schema/create-index-builder.d.ts +173 -0
- package/dist/cjs/schema/create-index-builder.js +202 -0
- package/dist/cjs/schema/create-schema-builder.d.ts +24 -0
- package/dist/cjs/schema/create-schema-builder.js +34 -0
- package/dist/cjs/schema/create-table-builder.d.ts +331 -0
- package/dist/cjs/schema/create-table-builder.js +411 -0
- package/dist/cjs/schema/create-type-builder.d.ts +33 -0
- package/dist/cjs/schema/create-type-builder.js +43 -0
- package/dist/cjs/schema/create-view-builder.d.ts +48 -0
- package/dist/cjs/schema/create-view-builder.js +98 -0
- package/dist/cjs/schema/drop-index-builder.d.ts +30 -0
- package/dist/cjs/schema/drop-index-builder.js +57 -0
- package/dist/cjs/schema/drop-schema-builder.d.ts +25 -0
- package/dist/cjs/schema/drop-schema-builder.js +44 -0
- package/dist/cjs/schema/drop-table-builder.d.ts +25 -0
- package/dist/cjs/schema/drop-table-builder.js +44 -0
- package/dist/cjs/schema/drop-type-builder.d.ts +24 -0
- package/dist/cjs/schema/drop-type-builder.js +36 -0
- package/dist/cjs/schema/drop-view-builder.d.ts +26 -0
- package/dist/cjs/schema/drop-view-builder.js +52 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +28 -0
- package/dist/cjs/schema/foreign-key-constraint-builder.js +48 -0
- package/dist/cjs/schema/primary-key-constraint-builder.d.ts +17 -0
- package/dist/cjs/schema/primary-key-constraint-builder.js +37 -0
- package/dist/cjs/schema/refresh-materialized-view-builder.d.ts +47 -0
- package/dist/cjs/schema/refresh-materialized-view-builder.js +75 -0
- package/dist/cjs/schema/schema.d.ts +230 -0
- package/dist/cjs/schema/schema.js +328 -0
- package/dist/cjs/schema/unique-constraint-builder.d.ts +23 -0
- package/dist/cjs/schema/unique-constraint-builder.js +45 -0
- package/dist/cjs/util/assert.d.ts +2 -0
- package/dist/cjs/util/assert.js +14 -0
- package/dist/cjs/util/column-type.d.ts +175 -0
- package/dist/cjs/util/column-type.js +2 -0
- package/dist/cjs/util/compilable.d.ts +5 -0
- package/dist/cjs/util/compilable.js +7 -0
- package/dist/cjs/util/deferred.d.ts +7 -0
- package/dist/cjs/util/deferred.js +28 -0
- package/dist/cjs/util/explainable.d.ts +40 -0
- package/dist/cjs/util/explainable.js +2 -0
- package/dist/cjs/util/infer-result.d.ts +48 -0
- package/dist/cjs/util/infer-result.js +2 -0
- package/dist/cjs/util/json-object-args.d.ts +3 -0
- package/dist/cjs/util/json-object-args.js +34 -0
- package/dist/cjs/util/log-once.d.ts +5 -0
- package/dist/cjs/util/log-once.js +15 -0
- package/dist/cjs/util/log.d.ts +28 -0
- package/dist/cjs/util/log.js +59 -0
- package/dist/cjs/util/object-utils.d.ts +23 -0
- package/dist/cjs/util/object-utils.js +162 -0
- package/dist/cjs/util/performance-now.d.ts +1 -0
- package/dist/cjs/util/performance-now.js +12 -0
- package/dist/cjs/util/provide-controlled-connection.d.ts +7 -0
- package/dist/cjs/util/provide-controlled-connection.js +24 -0
- package/dist/cjs/util/query-id.d.ts +4 -0
- package/dist/cjs/util/query-id.js +16 -0
- package/dist/cjs/util/random-string.d.ts +1 -0
- package/dist/cjs/util/random-string.js +77 -0
- package/dist/cjs/util/require-all-props.d.ts +45 -0
- package/dist/cjs/util/require-all-props.js +41 -0
- package/dist/cjs/util/stack-trace-utils.d.ts +1 -0
- package/dist/cjs/util/stack-trace-utils.js +16 -0
- package/dist/cjs/util/streamable.d.ts +29 -0
- package/dist/cjs/util/streamable.js +2 -0
- package/dist/cjs/util/type-error.d.ts +3 -0
- package/dist/cjs/util/type-error.js +2 -0
- package/dist/cjs/util/type-utils.d.ts +189 -0
- package/dist/cjs/util/type-utils.js +2 -0
- package/dist/esm/dialect/database-introspector.d.ts +62 -0
- package/dist/esm/dialect/database-introspector.js +2 -0
- package/dist/esm/dialect/dialect-adapter-base.d.ts +94 -0
- package/dist/esm/dialect/dialect-adapter-base.js +21 -0
- package/dist/esm/dialect/dialect-adapter.d.ts +115 -0
- package/dist/esm/dialect/dialect-adapter.js +2 -0
- package/dist/esm/dialect/dialect.d.ts +34 -0
- package/dist/esm/dialect/dialect.js +2 -0
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +83 -0
- package/dist/esm/dialect/mssql/mssql-adapter.js +25 -0
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +181 -0
- package/dist/esm/dialect/mssql/mssql-dialect-config.js +2 -0
- package/dist/esm/dialect/mssql/mssql-dialect.d.ts +70 -0
- package/dist/esm/dialect/mssql/mssql-dialect.js +62 -0
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +59 -0
- package/dist/esm/dialect/mssql/mssql-driver.js +356 -0
- package/dist/esm/dialect/mssql/mssql-introspector.d.ts +20 -0
- package/dist/esm/dialect/mssql/mssql-introspector.js +107 -0
- package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +17 -0
- package/dist/esm/dialect/mssql/mssql-query-compiler.js +80 -0
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +80 -0
- package/dist/esm/dialect/mysql/mysql-adapter.js +25 -0
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +56 -0
- package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +61 -0
- package/dist/esm/dialect/mysql/mysql-dialect.js +53 -0
- package/dist/esm/dialect/mysql/mysql-driver.d.ts +52 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +177 -0
- package/dist/esm/dialect/mysql/mysql-introspector.d.ts +20 -0
- package/dist/esm/dialect/mysql/mysql-introspector.js +76 -0
- package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +13 -0
- package/dist/esm/dialect/mysql/mysql-query-compiler.js +57 -0
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +80 -0
- package/dist/esm/dialect/postgres/postgres-adapter.js +22 -0
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +68 -0
- package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +61 -0
- package/dist/esm/dialect/postgres/postgres-dialect.js +53 -0
- package/dist/esm/dialect/postgres/postgres-driver.d.ts +55 -0
- package/dist/esm/dialect/postgres/postgres-driver.js +131 -0
- package/dist/esm/dialect/postgres/postgres-introspector.d.ts +20 -0
- package/dist/esm/dialect/postgres/postgres-introspector.js +97 -0
- package/dist/esm/dialect/postgres/postgres-query-compiler.d.ts +4 -0
- package/dist/esm/dialect/postgres/postgres-query-compiler.js +8 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +80 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.js +20 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +55 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +48 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +42 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +110 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +20 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +91 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +34 -0
- package/dist/esm/driver/connection-provider.d.ts +8 -0
- package/dist/esm/driver/connection-provider.js +2 -0
- package/dist/esm/driver/database-connection.d.ts +35 -0
- package/dist/esm/driver/database-connection.js +2 -0
- package/dist/esm/driver/default-connection-provider.d.ts +12 -0
- package/dist/esm/driver/default-connection-provider.js +16 -0
- package/dist/esm/driver/driver.d.ts +61 -0
- package/dist/esm/driver/driver.js +19 -0
- package/dist/esm/driver/dummy-driver.d.ts +75 -0
- package/dist/esm/driver/dummy-driver.js +80 -0
- package/dist/esm/driver/runtime-driver.d.ts +47 -0
- package/dist/esm/driver/runtime-driver.js +162 -0
- package/dist/esm/driver/single-connection-provider.d.ts +11 -0
- package/dist/esm/driver/single-connection-provider.js +26 -0
- package/dist/esm/dynamic/dynamic-reference-builder.d.ts +18 -0
- package/dist/esm/dynamic/dynamic-reference-builder.js +32 -0
- package/dist/esm/dynamic/dynamic-table-builder.d.ts +16 -0
- package/dist/esm/dynamic/dynamic-table-builder.js +41 -0
- package/dist/esm/dynamic/dynamic.d.ts +124 -0
- package/dist/esm/dynamic/dynamic.js +129 -0
- package/dist/esm/expression/expression-builder.d.ts +920 -0
- package/dist/esm/expression/expression-builder.js +125 -0
- package/dist/esm/expression/expression-wrapper.d.ts +631 -0
- package/dist/esm/expression/expression-wrapper.js +128 -0
- package/dist/esm/expression/expression.d.ts +198 -0
- package/dist/esm/expression/expression.js +12 -0
- package/dist/esm/helpers/mssql.d.ts +212 -0
- package/dist/esm/helpers/mssql.js +215 -0
- package/dist/esm/helpers/mysql.d.ts +147 -0
- package/dist/esm/helpers/mysql.js +158 -0
- package/dist/esm/helpers/postgres.d.ts +199 -0
- package/dist/esm/helpers/postgres.js +203 -0
- package/dist/esm/helpers/sqlite.d.ts +189 -0
- package/dist/esm/helpers/sqlite.js +200 -0
- package/dist/esm/index.d.ts +226 -0
- package/dist/esm/index.js +212 -0
- package/dist/esm/kysely.d.ts +848 -0
- package/dist/esm/kysely.js +917 -0
- package/dist/esm/migration/file-migration-provider.d.ts +48 -0
- package/dist/esm/migration/file-migration-provider.js +49 -0
- package/dist/esm/migration/migrator.d.ts +395 -0
- package/dist/esm/migration/migrator.js +608 -0
- package/dist/esm/operation-node/add-column-node.d.ts +15 -0
- package/dist/esm/operation-node/add-column-node.js +16 -0
- package/dist/esm/operation-node/add-constraint-node.d.ts +15 -0
- package/dist/esm/operation-node/add-constraint-node.js +16 -0
- package/dist/esm/operation-node/add-index-node.d.ts +23 -0
- package/dist/esm/operation-node/add-index-node.js +29 -0
- package/dist/esm/operation-node/aggregate-function-node.d.ts +29 -0
- package/dist/esm/operation-node/aggregate-function-node.js +56 -0
- package/dist/esm/operation-node/alias-node.d.ts +15 -0
- package/dist/esm/operation-node/alias-node.js +17 -0
- package/dist/esm/operation-node/alter-column-node.d.ts +23 -0
- package/dist/esm/operation-node/alter-column-node.js +18 -0
- package/dist/esm/operation-node/alter-table-node.d.ts +38 -0
- package/dist/esm/operation-node/alter-table-node.js +30 -0
- package/dist/esm/operation-node/and-node.d.ts +15 -0
- package/dist/esm/operation-node/and-node.js +17 -0
- package/dist/esm/operation-node/binary-operation-node.d.ts +16 -0
- package/dist/esm/operation-node/binary-operation-node.js +18 -0
- package/dist/esm/operation-node/case-node.d.ts +21 -0
- package/dist/esm/operation-node/case-node.js +40 -0
- package/dist/esm/operation-node/cast-node.d.ts +15 -0
- package/dist/esm/operation-node/cast-node.js +17 -0
- package/dist/esm/operation-node/check-constraint-node.d.ts +16 -0
- package/dist/esm/operation-node/check-constraint-node.js +20 -0
- package/dist/esm/operation-node/collate-node.d.ts +15 -0
- package/dist/esm/operation-node/collate-node.js +17 -0
- package/dist/esm/operation-node/column-definition-node.d.ts +38 -0
- package/dist/esm/operation-node/column-definition-node.js +40 -0
- package/dist/esm/operation-node/column-node.d.ts +15 -0
- package/dist/esm/operation-node/column-node.js +17 -0
- package/dist/esm/operation-node/column-update-node.d.ts +15 -0
- package/dist/esm/operation-node/column-update-node.js +17 -0
- package/dist/esm/operation-node/common-table-expression-name-node.d.ts +17 -0
- package/dist/esm/operation-node/common-table-expression-name-node.js +21 -0
- package/dist/esm/operation-node/common-table-expression-node.d.ts +19 -0
- package/dist/esm/operation-node/common-table-expression-node.js +23 -0
- package/dist/esm/operation-node/constraint-node.d.ts +5 -0
- package/dist/esm/operation-node/constraint-node.js +2 -0
- package/dist/esm/operation-node/create-index-node.d.ts +29 -0
- package/dist/esm/operation-node/create-index-node.js +29 -0
- package/dist/esm/operation-node/create-schema-node.d.ts +18 -0
- package/dist/esm/operation-node/create-schema-node.js +24 -0
- package/dist/esm/operation-node/create-table-node.d.ts +34 -0
- package/dist/esm/operation-node/create-table-node.js +54 -0
- package/dist/esm/operation-node/create-type-node.d.ts +19 -0
- package/dist/esm/operation-node/create-type-node.js +24 -0
- package/dist/esm/operation-node/create-view-node.d.ts +26 -0
- package/dist/esm/operation-node/create-view-node.js +23 -0
- package/dist/esm/operation-node/data-type-node.d.ts +19 -0
- package/dist/esm/operation-node/data-type-node.js +83 -0
- package/dist/esm/operation-node/default-insert-value-node.d.ts +13 -0
- package/dist/esm/operation-node/default-insert-value-node.js +15 -0
- package/dist/esm/operation-node/default-value-node.d.ts +14 -0
- package/dist/esm/operation-node/default-value-node.js +16 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +42 -0
- package/dist/esm/operation-node/delete-query-node.js +50 -0
- package/dist/esm/operation-node/drop-column-node.d.ts +15 -0
- package/dist/esm/operation-node/drop-column-node.js +17 -0
- package/dist/esm/operation-node/drop-constraint-node.d.ts +19 -0
- package/dist/esm/operation-node/drop-constraint-node.js +23 -0
- package/dist/esm/operation-node/drop-index-node.d.ts +21 -0
- package/dist/esm/operation-node/drop-index-node.js +24 -0
- package/dist/esm/operation-node/drop-schema-node.d.ts +19 -0
- package/dist/esm/operation-node/drop-schema-node.js +24 -0
- package/dist/esm/operation-node/drop-table-node.d.ts +19 -0
- package/dist/esm/operation-node/drop-table-node.js +23 -0
- package/dist/esm/operation-node/drop-type-node.d.ts +18 -0
- package/dist/esm/operation-node/drop-type-node.js +22 -0
- package/dist/esm/operation-node/drop-view-node.d.ts +20 -0
- package/dist/esm/operation-node/drop-view-node.js +23 -0
- package/dist/esm/operation-node/explain-node.d.ts +16 -0
- package/dist/esm/operation-node/explain-node.js +17 -0
- package/dist/esm/operation-node/fetch-node.d.ts +17 -0
- package/dist/esm/operation-node/fetch-node.js +18 -0
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +26 -0
- package/dist/esm/operation-node/foreign-key-constraint-node.js +28 -0
- package/dist/esm/operation-node/from-node.d.ts +15 -0
- package/dist/esm/operation-node/from-node.js +22 -0
- package/dist/esm/operation-node/function-node.d.ts +15 -0
- package/dist/esm/operation-node/function-node.js +17 -0
- package/dist/esm/operation-node/generated-node.d.ts +21 -0
- package/dist/esm/operation-node/generated-node.js +29 -0
- package/dist/esm/operation-node/group-by-item-node.d.ts +14 -0
- package/dist/esm/operation-node/group-by-item-node.js +16 -0
- package/dist/esm/operation-node/group-by-node.d.ts +16 -0
- package/dist/esm/operation-node/group-by-node.js +22 -0
- package/dist/esm/operation-node/having-node.d.ts +15 -0
- package/dist/esm/operation-node/having-node.js +26 -0
- package/dist/esm/operation-node/identifier-node.d.ts +14 -0
- package/dist/esm/operation-node/identifier-node.js +16 -0
- package/dist/esm/operation-node/insert-query-node.d.ts +42 -0
- package/dist/esm/operation-node/insert-query-node.js +29 -0
- package/dist/esm/operation-node/join-node.d.ts +20 -0
- package/dist/esm/operation-node/join-node.js +35 -0
- package/dist/esm/operation-node/json-operator-chain-node.d.ts +18 -0
- package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
- package/dist/esm/operation-node/json-path-leg-node.d.ts +16 -0
- package/dist/esm/operation-node/json-path-leg-node.js +17 -0
- package/dist/esm/operation-node/json-path-node.d.ts +18 -0
- package/dist/esm/operation-node/json-path-node.js +23 -0
- package/dist/esm/operation-node/json-reference-node.d.ts +19 -0
- package/dist/esm/operation-node/json-reference-node.js +23 -0
- package/dist/esm/operation-node/limit-node.d.ts +14 -0
- package/dist/esm/operation-node/limit-node.js +16 -0
- package/dist/esm/operation-node/list-node.d.ts +14 -0
- package/dist/esm/operation-node/list-node.js +16 -0
- package/dist/esm/operation-node/matched-node.d.ts +15 -0
- package/dist/esm/operation-node/matched-node.js +17 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +32 -0
- package/dist/esm/operation-node/merge-query-node.js +43 -0
- package/dist/esm/operation-node/modify-column-node.d.ts +15 -0
- package/dist/esm/operation-node/modify-column-node.js +16 -0
- package/dist/esm/operation-node/offset-node.d.ts +14 -0
- package/dist/esm/operation-node/offset-node.js +16 -0
- package/dist/esm/operation-node/on-conflict-node.d.ts +32 -0
- package/dist/esm/operation-node/on-conflict-node.js +66 -0
- package/dist/esm/operation-node/on-duplicate-key-node.d.ts +16 -0
- package/dist/esm/operation-node/on-duplicate-key-node.js +16 -0
- package/dist/esm/operation-node/on-node.d.ts +15 -0
- package/dist/esm/operation-node/on-node.js +26 -0
- package/dist/esm/operation-node/operation-node-source.d.ts +5 -0
- package/dist/esm/operation-node/operation-node-source.js +5 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +238 -0
- package/dist/esm/operation-node/operation-node-transformer.js +926 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +201 -0
- package/dist/esm/operation-node/operation-node-visitor.js +112 -0
- package/dist/esm/operation-node/operation-node.d.ts +4 -0
- package/dist/esm/operation-node/operation-node.js +2 -0
- package/dist/esm/operation-node/operator-node.d.ts +34 -0
- package/dist/esm/operation-node/operator-node.js +100 -0
- package/dist/esm/operation-node/or-action-node.d.ts +14 -0
- package/dist/esm/operation-node/or-action-node.js +16 -0
- package/dist/esm/operation-node/or-node.d.ts +15 -0
- package/dist/esm/operation-node/or-node.js +17 -0
- package/dist/esm/operation-node/order-by-item-node.d.ts +20 -0
- package/dist/esm/operation-node/order-by-item-node.js +23 -0
- package/dist/esm/operation-node/order-by-node.d.ts +16 -0
- package/dist/esm/operation-node/order-by-node.js +22 -0
- package/dist/esm/operation-node/output-node.d.ts +15 -0
- package/dist/esm/operation-node/output-node.js +24 -0
- package/dist/esm/operation-node/over-node.d.ts +21 -0
- package/dist/esm/operation-node/over-node.js +33 -0
- package/dist/esm/operation-node/parens-node.d.ts +14 -0
- package/dist/esm/operation-node/parens-node.js +16 -0
- package/dist/esm/operation-node/partition-by-item-node.d.ts +15 -0
- package/dist/esm/operation-node/partition-by-item-node.js +16 -0
- package/dist/esm/operation-node/partition-by-node.d.ts +16 -0
- package/dist/esm/operation-node/partition-by-node.js +22 -0
- package/dist/esm/operation-node/primary-key-constraint-node.d.ts +31 -0
- package/dist/esm/operation-node/primary-key-constraint-node.js +30 -0
- package/dist/esm/operation-node/primitive-value-list-node.d.ts +19 -0
- package/dist/esm/operation-node/primitive-value-list-node.js +16 -0
- package/dist/esm/operation-node/query-node.d.ts +61 -0
- package/dist/esm/operation-node/query-node.js +100 -0
- package/dist/esm/operation-node/raw-node.d.ts +18 -0
- package/dist/esm/operation-node/raw-node.js +26 -0
- package/dist/esm/operation-node/reference-node.d.ts +19 -0
- package/dist/esm/operation-node/reference-node.js +25 -0
- package/dist/esm/operation-node/references-node.d.ts +24 -0
- package/dist/esm/operation-node/references-node.js +36 -0
- package/dist/esm/operation-node/refresh-materialized-view-node.d.ts +19 -0
- package/dist/esm/operation-node/refresh-materialized-view-node.js +23 -0
- package/dist/esm/operation-node/rename-column-node.d.ts +16 -0
- package/dist/esm/operation-node/rename-column-node.js +18 -0
- package/dist/esm/operation-node/rename-constraint-node.d.ts +16 -0
- package/dist/esm/operation-node/rename-constraint-node.js +18 -0
- package/dist/esm/operation-node/returning-node.d.ts +16 -0
- package/dist/esm/operation-node/returning-node.js +24 -0
- package/dist/esm/operation-node/schemable-identifier-node.d.ts +17 -0
- package/dist/esm/operation-node/schemable-identifier-node.js +24 -0
- package/dist/esm/operation-node/select-all-node.d.ts +13 -0
- package/dist/esm/operation-node/select-all-node.js +15 -0
- package/dist/esm/operation-node/select-modifier-node.d.ts +18 -0
- package/dist/esm/operation-node/select-modifier-node.js +23 -0
- package/dist/esm/operation-node/select-query-node.d.ts +63 -0
- package/dist/esm/operation-node/select-query-node.js +127 -0
- package/dist/esm/operation-node/selection-node.d.ts +21 -0
- package/dist/esm/operation-node/selection-node.js +30 -0
- package/dist/esm/operation-node/set-operation-node.d.ts +17 -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/table-node.d.ts +16 -0
- package/dist/esm/operation-node/table-node.js +23 -0
- package/dist/esm/operation-node/top-node.d.ts +16 -0
- package/dist/esm/operation-node/top-node.js +17 -0
- package/dist/esm/operation-node/tuple-node.d.ts +14 -0
- package/dist/esm/operation-node/tuple-node.js +16 -0
- package/dist/esm/operation-node/unary-operation-node.d.ts +15 -0
- package/dist/esm/operation-node/unary-operation-node.js +17 -0
- package/dist/esm/operation-node/unique-constraint-node.d.ts +22 -0
- package/dist/esm/operation-node/unique-constraint-node.js +28 -0
- package/dist/esm/operation-node/update-query-node.d.ts +41 -0
- package/dist/esm/operation-node/update-query-node.js +48 -0
- package/dist/esm/operation-node/using-node.d.ts +15 -0
- package/dist/esm/operation-node/using-node.js +22 -0
- package/dist/esm/operation-node/value-list-node.d.ts +14 -0
- package/dist/esm/operation-node/value-list-node.js +16 -0
- package/dist/esm/operation-node/value-node.d.ts +16 -0
- package/dist/esm/operation-node/value-node.js +23 -0
- package/dist/esm/operation-node/values-node.d.ts +17 -0
- package/dist/esm/operation-node/values-node.js +16 -0
- package/dist/esm/operation-node/when-node.d.ts +16 -0
- package/dist/esm/operation-node/when-node.js +22 -0
- package/dist/esm/operation-node/where-node.d.ts +15 -0
- package/dist/esm/operation-node/where-node.js +26 -0
- package/dist/esm/operation-node/with-node.d.ts +18 -0
- package/dist/esm/operation-node/with-node.js +23 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/parser/binary-operation-parser.d.ts +21 -0
- package/dist/esm/parser/binary-operation-parser.js +68 -0
- package/dist/esm/parser/coalesce-parser.d.ts +12 -0
- package/dist/esm/parser/coalesce-parser.js +2 -0
- package/dist/esm/parser/collate-parser.d.ts +1 -0
- package/dist/esm/parser/collate-parser.js +2 -0
- package/dist/esm/parser/data-type-parser.d.ts +5 -0
- package/dist/esm/parser/data-type-parser.js +12 -0
- package/dist/esm/parser/default-value-parser.d.ts +4 -0
- package/dist/esm/parser/default-value-parser.js +8 -0
- package/dist/esm/parser/delete-from-parser.d.ts +9 -0
- package/dist/esm/parser/delete-from-parser.js +2 -0
- package/dist/esm/parser/expression-parser.d.ts +20 -0
- package/dist/esm/parser/expression-parser.js +26 -0
- package/dist/esm/parser/fetch-parser.d.ts +2 -0
- package/dist/esm/parser/fetch-parser.js +15 -0
- package/dist/esm/parser/group-by-parser.d.ts +6 -0
- package/dist/esm/parser/group-by-parser.js +9 -0
- 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 +14 -0
- package/dist/esm/parser/insert-values-parser.js +62 -0
- package/dist/esm/parser/join-parser.d.ts +10 -0
- package/dist/esm/parser/join-parser.js +28 -0
- package/dist/esm/parser/merge-into-parser.d.ts +7 -0
- package/dist/esm/parser/merge-into-parser.js +2 -0
- package/dist/esm/parser/merge-parser.d.ts +9 -0
- package/dist/esm/parser/merge-parser.js +28 -0
- package/dist/esm/parser/on-commit-action-parse.d.ts +2 -0
- package/dist/esm/parser/on-commit-action-parse.js +8 -0
- package/dist/esm/parser/on-modify-action-parser.d.ts +2 -0
- package/dist/esm/parser/on-modify-action-parser.js +8 -0
- package/dist/esm/parser/order-by-parser.d.ts +25 -0
- package/dist/esm/parser/order-by-parser.js +67 -0
- package/dist/esm/parser/parse-utils.d.ts +10 -0
- package/dist/esm/parser/parse-utils.js +33 -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 +31 -0
- package/dist/esm/parser/reference-parser.js +95 -0
- package/dist/esm/parser/returning-parser.d.ts +8 -0
- package/dist/esm/parser/returning-parser.js +2 -0
- package/dist/esm/parser/savepoint-parser.d.ts +4 -0
- package/dist/esm/parser/savepoint-parser.js +9 -0
- package/dist/esm/parser/select-from-parser.d.ts +6 -0
- package/dist/esm/parser/select-from-parser.js +2 -0
- package/dist/esm/parser/select-parser.d.ts +36 -0
- package/dist/esm/parser/select-parser.js +47 -0
- package/dist/esm/parser/set-operation-parser.d.ts +5 -0
- package/dist/esm/parser/set-operation-parser.js +14 -0
- package/dist/esm/parser/table-parser.d.ts +24 -0
- package/dist/esm/parser/table-parser.js +49 -0
- package/dist/esm/parser/top-parser.d.ts +2 -0
- package/dist/esm/parser/top-parser.js +17 -0
- package/dist/esm/parser/tuple-parser.d.ts +47 -0
- package/dist/esm/parser/tuple-parser.js +2 -0
- package/dist/esm/parser/unary-operation-parser.d.ts +8 -0
- package/dist/esm/parser/unary-operation-parser.js +13 -0
- package/dist/esm/parser/update-parser.d.ts +9 -0
- package/dist/esm/parser/update-parser.js +2 -0
- package/dist/esm/parser/update-set-parser.d.ts +16 -0
- package/dist/esm/parser/update-set-parser.js +23 -0
- package/dist/esm/parser/value-parser.d.ts +13 -0
- package/dist/esm/parser/value-parser.js +33 -0
- package/dist/esm/parser/with-parser.d.ts +45 -0
- package/dist/esm/parser/with-parser.js +31 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +170 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +119 -0
- package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +9 -0
- package/dist/esm/plugin/camel-case/camel-case-transformer.js +16 -0
- package/dist/esm/plugin/camel-case/camel-case.d.ts +15 -0
- package/dist/esm/plugin/camel-case/camel-case.js +108 -0
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +16 -0
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +39 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +159 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +26 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
- package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.js +63 -0
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.js +19 -0
- package/dist/esm/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
- package/dist/esm/plugin/immediate-value/immediate-value-transformer.js +20 -0
- package/dist/esm/plugin/kysely-plugin.d.ts +72 -0
- package/dist/esm/plugin/kysely-plugin.js +2 -0
- package/dist/esm/plugin/noop-plugin.d.ts +64 -0
- package/dist/esm/plugin/noop-plugin.js +9 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +104 -0
- package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +66 -0
- package/dist/esm/plugin/with-schema/with-schema-plugin.js +14 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +18 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +197 -0
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +379 -0
- package/dist/esm/query-builder/aggregate-function-builder.js +238 -0
- package/dist/esm/query-builder/case-builder.d.ts +112 -0
- package/dist/esm/query-builder/case-builder.js +73 -0
- package/dist/esm/query-builder/cte-builder.d.ts +20 -0
- package/dist/esm/query-builder/cte-builder.js +34 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +1348 -0
- package/dist/esm/query-builder/delete-query-builder.js +501 -0
- package/dist/esm/query-builder/delete-result.d.ts +4 -0
- package/dist/esm/query-builder/delete-result.js +7 -0
- package/dist/esm/query-builder/function-module.d.ts +592 -0
- package/dist/esm/query-builder/function-module.js +60 -0
- package/dist/esm/query-builder/having-interface.d.ts +15 -0
- package/dist/esm/query-builder/having-interface.js +2 -0
- package/dist/esm/query-builder/insert-query-builder.d.ts +1235 -0
- package/dist/esm/query-builder/insert-query-builder.js +1157 -0
- package/dist/esm/query-builder/insert-result.d.ts +46 -0
- package/dist/esm/query-builder/insert-result.js +50 -0
- package/dist/esm/query-builder/join-builder.d.ts +38 -0
- package/dist/esm/query-builder/join-builder.js +48 -0
- package/dist/esm/query-builder/json-path-builder.d.ts +294 -0
- package/dist/esm/query-builder/json-path-builder.js +195 -0
- package/dist/esm/query-builder/merge-query-builder.d.ts +1001 -0
- package/dist/esm/query-builder/merge-query-builder.js +624 -0
- package/dist/esm/query-builder/merge-result.d.ts +4 -0
- package/dist/esm/query-builder/merge-result.js +7 -0
- package/dist/esm/query-builder/no-result-error.d.ts +10 -0
- package/dist/esm/query-builder/no-result-error.js +14 -0
- package/dist/esm/query-builder/on-conflict-builder.d.ts +872 -0
- package/dist/esm/query-builder/on-conflict-builder.js +254 -0
- package/dist/esm/query-builder/order-by-interface.d.ts +158 -0
- package/dist/esm/query-builder/order-by-interface.js +2 -0
- package/dist/esm/query-builder/order-by-item-builder.d.ts +43 -0
- package/dist/esm/query-builder/order-by-item-builder.js +72 -0
- package/dist/esm/query-builder/output-interface.d.ts +138 -0
- package/dist/esm/query-builder/output-interface.js +2 -0
- package/dist/esm/query-builder/over-builder.d.ts +101 -0
- package/dist/esm/query-builder/over-builder.js +37 -0
- package/dist/esm/query-builder/returning-interface.d.ts +91 -0
- package/dist/esm/query-builder/returning-interface.js +2 -0
- package/dist/esm/query-builder/select-query-builder-expression.d.ts +28 -0
- package/dist/esm/query-builder/select-query-builder-expression.js +2 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +2391 -0
- package/dist/esm/query-builder/select-query-builder.js +374 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +1392 -0
- package/dist/esm/query-builder/update-query-builder.js +510 -0
- package/dist/esm/query-builder/update-result.d.ts +14 -0
- package/dist/esm/query-builder/update-result.js +18 -0
- package/dist/esm/query-builder/where-interface.d.ts +382 -0
- package/dist/esm/query-builder/where-interface.js +2 -0
- package/dist/esm/query-compiler/compiled-query.d.ts +13 -0
- package/dist/esm/query-compiler/compiled-query.js +14 -0
- package/dist/esm/query-compiler/default-query-compiler.d.ts +235 -0
- package/dist/esm/query-compiler/default-query-compiler.js +1393 -0
- package/dist/esm/query-compiler/query-compiler.d.ts +24 -0
- package/dist/esm/query-compiler/query-compiler.js +2 -0
- package/dist/esm/query-creator.d.ts +592 -0
- package/dist/esm/query-creator.js +619 -0
- package/dist/esm/query-executor/default-query-executor.d.ts +50 -0
- package/dist/esm/query-executor/default-query-executor.js +37 -0
- package/dist/esm/query-executor/noop-query-executor.d.ts +50 -0
- package/dist/esm/query-executor/noop-query-executor.js +34 -0
- package/dist/esm/query-executor/query-executor-base.d.ts +68 -0
- package/dist/esm/query-executor/query-executor-base.js +59 -0
- package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
- package/dist/esm/query-executor/query-executor-provider.js +2 -0
- package/dist/esm/query-executor/query-executor.d.ts +74 -0
- package/dist/esm/query-executor/query-executor.js +2 -0
- package/dist/esm/raw-builder/raw-builder.d.ts +218 -0
- package/dist/esm/raw-builder/raw-builder.js +84 -0
- package/dist/esm/raw-builder/sql.d.ts +366 -0
- package/dist/esm/raw-builder/sql.js +82 -0
- package/dist/esm/schema/alter-column-builder.d.ts +53 -0
- package/dist/esm/schema/alter-column-builder.js +70 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
- package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +64 -0
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +138 -0
- package/dist/esm/schema/alter-table-add-index-builder.js +162 -0
- package/dist/esm/schema/alter-table-builder.d.ts +148 -0
- package/dist/esm/schema/alter-table-builder.js +263 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +26 -0
- package/dist/esm/schema/alter-table-drop-constraint-builder.js +56 -0
- package/dist/esm/schema/alter-table-executor.d.ts +18 -0
- package/dist/esm/schema/alter-table-executor.js +17 -0
- package/dist/esm/schema/check-constraint-builder.d.ts +13 -0
- package/dist/esm/schema/check-constraint-builder.js +17 -0
- package/dist/esm/schema/column-definition-builder.d.ts +514 -0
- package/dist/esm/schema/column-definition-builder.js +597 -0
- package/dist/esm/schema/create-index-builder.d.ts +173 -0
- package/dist/esm/schema/create-index-builder.js +199 -0
- package/dist/esm/schema/create-schema-builder.d.ts +24 -0
- package/dist/esm/schema/create-schema-builder.js +31 -0
- package/dist/esm/schema/create-table-builder.d.ts +331 -0
- package/dist/esm/schema/create-table-builder.js +408 -0
- package/dist/esm/schema/create-type-builder.d.ts +33 -0
- package/dist/esm/schema/create-type-builder.js +40 -0
- package/dist/esm/schema/create-view-builder.d.ts +48 -0
- package/dist/esm/schema/create-view-builder.js +95 -0
- package/dist/esm/schema/drop-index-builder.d.ts +30 -0
- package/dist/esm/schema/drop-index-builder.js +54 -0
- package/dist/esm/schema/drop-schema-builder.d.ts +25 -0
- package/dist/esm/schema/drop-schema-builder.js +41 -0
- package/dist/esm/schema/drop-table-builder.d.ts +25 -0
- package/dist/esm/schema/drop-table-builder.js +41 -0
- package/dist/esm/schema/drop-type-builder.d.ts +24 -0
- package/dist/esm/schema/drop-type-builder.js +33 -0
- package/dist/esm/schema/drop-view-builder.d.ts +26 -0
- package/dist/esm/schema/drop-view-builder.js +49 -0
- package/dist/esm/schema/foreign-key-constraint-builder.d.ts +28 -0
- package/dist/esm/schema/foreign-key-constraint-builder.js +45 -0
- package/dist/esm/schema/primary-key-constraint-builder.d.ts +17 -0
- package/dist/esm/schema/primary-key-constraint-builder.js +34 -0
- package/dist/esm/schema/refresh-materialized-view-builder.d.ts +47 -0
- package/dist/esm/schema/refresh-materialized-view-builder.js +72 -0
- package/dist/esm/schema/schema.d.ts +230 -0
- package/dist/esm/schema/schema.js +325 -0
- package/dist/esm/schema/unique-constraint-builder.d.ts +23 -0
- package/dist/esm/schema/unique-constraint-builder.js +42 -0
- package/dist/esm/util/assert.d.ts +2 -0
- package/dist/esm/util/assert.js +11 -0
- package/dist/esm/util/column-type.d.ts +175 -0
- package/dist/esm/util/column-type.js +2 -0
- package/dist/esm/util/compilable.d.ts +5 -0
- package/dist/esm/util/compilable.js +5 -0
- package/dist/esm/util/deferred.d.ts +7 -0
- package/dist/esm/util/deferred.js +25 -0
- package/dist/esm/util/explainable.d.ts +40 -0
- package/dist/esm/util/explainable.js +2 -0
- package/dist/esm/util/infer-result.d.ts +48 -0
- package/dist/esm/util/infer-result.js +2 -0
- package/dist/esm/util/json-object-args.d.ts +3 -0
- package/dist/esm/util/json-object-args.js +32 -0
- package/dist/esm/util/log-once.d.ts +5 -0
- package/dist/esm/util/log-once.js +13 -0
- package/dist/esm/util/log.d.ts +28 -0
- package/dist/esm/util/log.js +56 -0
- package/dist/esm/util/object-utils.d.ts +23 -0
- package/dist/esm/util/object-utils.js +141 -0
- package/dist/esm/util/performance-now.d.ts +1 -0
- package/dist/esm/util/performance-now.js +10 -0
- package/dist/esm/util/provide-controlled-connection.d.ts +7 -0
- package/dist/esm/util/provide-controlled-connection.js +22 -0
- package/dist/esm/util/query-id.d.ts +4 -0
- package/dist/esm/util/query-id.js +14 -0
- package/dist/esm/util/random-string.d.ts +1 -0
- package/dist/esm/util/random-string.js +75 -0
- package/dist/esm/util/require-all-props.d.ts +45 -0
- package/dist/esm/util/require-all-props.js +39 -0
- package/dist/esm/util/stack-trace-utils.d.ts +1 -0
- package/dist/esm/util/stack-trace-utils.js +14 -0
- package/dist/esm/util/streamable.d.ts +29 -0
- package/dist/esm/util/streamable.js +2 -0
- package/dist/esm/util/type-error.d.ts +3 -0
- package/dist/esm/util/type-error.js +2 -0
- package/dist/esm/util/type-utils.d.ts +189 -0
- package/dist/esm/util/type-utils.js +2 -0
- package/helpers/mssql.d.ts +1 -0
- package/helpers/mssql.js +1 -0
- package/helpers/mysql.d.ts +1 -0
- package/helpers/mysql.js +1 -0
- package/helpers/postgres.d.ts +1 -0
- package/helpers/postgres.js +1 -0
- package/helpers/sqlite.d.ts +1 -0
- package/helpers/sqlite.js +1 -0
- package/outdated-typescript.d.ts +5 -0
- package/package.json +155 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import type { QueryResult } from '../../driver/database-connection.js';
|
|
2
|
+
import type { RootOperationNode } from '../../query-compiler/query-compiler.js';
|
|
3
|
+
import type { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
|
|
4
|
+
import type { UnknownRow } from '../../util/type-utils.js';
|
|
5
|
+
import type { HandleEmptyInListsOptions } from './handle-empty-in-lists.js';
|
|
6
|
+
/**
|
|
7
|
+
* A plugin that allows handling `in ()` and `not in ()` expressions.
|
|
8
|
+
*
|
|
9
|
+
* These expressions are invalid SQL syntax for many databases, and result in runtime
|
|
10
|
+
* database errors.
|
|
11
|
+
*
|
|
12
|
+
* The workarounds used by other libraries always involve modifying the query under
|
|
13
|
+
* the hood, which is not aligned with Kysely's philosophy of WYSIWYG. We recommend manually checking
|
|
14
|
+
* for empty arrays before passing them as arguments to `in` and `not in` expressions
|
|
15
|
+
* instead, but understand that this can be cumbersome. Hence we're going with an
|
|
16
|
+
* opt-in approach where you can choose if and how to handle these cases. We do
|
|
17
|
+
* not want to make this the default behavior, as it can lead to unexpected behavior.
|
|
18
|
+
* Use it at your own risk. Test it. Make sure it works as expected for you.
|
|
19
|
+
*
|
|
20
|
+
* Using this plugin also allows you to throw an error (thus avoiding unnecessary
|
|
21
|
+
* requests to the database) or print a warning in these cases.
|
|
22
|
+
*
|
|
23
|
+
* ### Examples
|
|
24
|
+
*
|
|
25
|
+
* The following strategy replaces the `in`/`not in` expression with a noncontingent
|
|
26
|
+
* expression. A contradiction (falsy) `1 = 0` for `in`, and a tautology (truthy) `1 = 1` for `not in`),
|
|
27
|
+
* similarily to how {@link https://github.com/knex/knex/blob/176151d8048b2a7feeb89a3d649a5580786d4f4e/docs/src/guide/query-builder.md#L1763 | Knex.js},
|
|
28
|
+
* {@link https://github.com/prisma/prisma-engines/blob/99168c54187178484dae45d9478aa40cfd1866d2/quaint/src/visitor.rs#L804-L823 | PrismaORM},
|
|
29
|
+
* {@link https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Query/Grammars/Grammar.php#L284-L291 | Laravel},
|
|
30
|
+
* {@link https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine.params.empty_in_strategy | SQLAlchemy}
|
|
31
|
+
* handle this.
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* import Sqlite from 'better-sqlite3'
|
|
35
|
+
* import {
|
|
36
|
+
* HandleEmptyInListsPlugin,
|
|
37
|
+
* Kysely,
|
|
38
|
+
* replaceWithNoncontingentExpression,
|
|
39
|
+
* SqliteDialect,
|
|
40
|
+
* } from 'kysely'
|
|
41
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
42
|
+
*
|
|
43
|
+
* const db = new Kysely<Database>({
|
|
44
|
+
* dialect: new SqliteDialect({
|
|
45
|
+
* database: new Sqlite(':memory:'),
|
|
46
|
+
* }),
|
|
47
|
+
* plugins: [
|
|
48
|
+
* new HandleEmptyInListsPlugin({
|
|
49
|
+
* strategy: replaceWithNoncontingentExpression
|
|
50
|
+
* })
|
|
51
|
+
* ],
|
|
52
|
+
* })
|
|
53
|
+
*
|
|
54
|
+
* const results = await db
|
|
55
|
+
* .selectFrom('person')
|
|
56
|
+
* .where('id', 'in', [])
|
|
57
|
+
* .where('first_name', 'not in', [])
|
|
58
|
+
* .selectAll()
|
|
59
|
+
* .execute()
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* The generated SQL (SQLite):
|
|
63
|
+
*
|
|
64
|
+
* ```sql
|
|
65
|
+
* select * from "person" where 1 = 0 and 1 = 1
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* The following strategy does the following:
|
|
69
|
+
*
|
|
70
|
+
* When `in`, pushes a `null` value into the empty list resulting in `in (null)`,
|
|
71
|
+
* similiarly to how {@link https://github.com/typeorm/typeorm/blob/0280cdc451c35ef73c830eb1191c95d34f6ce06e/src/query-builder/QueryBuilder.ts#L919-L922 | TypeORM}
|
|
72
|
+
* and {@link https://github.com/sequelize/sequelize/blob/0f2891c6897e12bf9bf56df344aae5b698f58c7d/packages/core/src/abstract-dialect/where-sql-builder.ts#L368-L379 | Sequelize}
|
|
73
|
+
* handle `in ()`. `in (null)` is logically the equivalent of `= null`, which returns
|
|
74
|
+
* `null`, which is a falsy expression in most SQL databases. We recommend NOT
|
|
75
|
+
* using this strategy if you plan to use `in` in `select`, `returning`, or `output`
|
|
76
|
+
* clauses, as the return type differs from the `SqlBool` default type for comparisons.
|
|
77
|
+
*
|
|
78
|
+
* When `not in`, casts the left operand as `char` and pushes a unique value into
|
|
79
|
+
* the empty list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
|
|
80
|
+
* is required to avoid database errors with non-string values.
|
|
81
|
+
*
|
|
82
|
+
* ```ts
|
|
83
|
+
* import Sqlite from 'better-sqlite3'
|
|
84
|
+
* import {
|
|
85
|
+
* HandleEmptyInListsPlugin,
|
|
86
|
+
* Kysely,
|
|
87
|
+
* pushValueIntoList,
|
|
88
|
+
* SqliteDialect
|
|
89
|
+
* } from 'kysely'
|
|
90
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
91
|
+
*
|
|
92
|
+
* const db = new Kysely<Database>({
|
|
93
|
+
* dialect: new SqliteDialect({
|
|
94
|
+
* database: new Sqlite(':memory:'),
|
|
95
|
+
* }),
|
|
96
|
+
* plugins: [
|
|
97
|
+
* new HandleEmptyInListsPlugin({
|
|
98
|
+
* strategy: pushValueIntoList('__kysely_no_values_were_provided__') // choose a unique value for not in. has to be something with zero chance being in the data.
|
|
99
|
+
* })
|
|
100
|
+
* ],
|
|
101
|
+
* })
|
|
102
|
+
*
|
|
103
|
+
* const results = await db
|
|
104
|
+
* .selectFrom('person')
|
|
105
|
+
* .where('id', 'in', [])
|
|
106
|
+
* .where('first_name', 'not in', [])
|
|
107
|
+
* .selectAll()
|
|
108
|
+
* .execute()
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* The generated SQL (SQLite):
|
|
112
|
+
*
|
|
113
|
+
* ```sql
|
|
114
|
+
* select * from "person" where "id" in (null) and cast("first_name" as char) not in ('__kysely_no_values_were_provided__')
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* The following custom strategy throws an error when an empty list is encountered
|
|
118
|
+
* to avoid unnecessary requests to the database:
|
|
119
|
+
*
|
|
120
|
+
* ```ts
|
|
121
|
+
* import Sqlite from 'better-sqlite3'
|
|
122
|
+
* import {
|
|
123
|
+
* HandleEmptyInListsPlugin,
|
|
124
|
+
* Kysely,
|
|
125
|
+
* SqliteDialect
|
|
126
|
+
* } from 'kysely'
|
|
127
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
128
|
+
*
|
|
129
|
+
* const db = new Kysely<Database>({
|
|
130
|
+
* dialect: new SqliteDialect({
|
|
131
|
+
* database: new Sqlite(':memory:'),
|
|
132
|
+
* }),
|
|
133
|
+
* plugins: [
|
|
134
|
+
* new HandleEmptyInListsPlugin({
|
|
135
|
+
* strategy: () => {
|
|
136
|
+
* throw new Error('Empty in/not-in is not allowed')
|
|
137
|
+
* }
|
|
138
|
+
* })
|
|
139
|
+
* ],
|
|
140
|
+
* })
|
|
141
|
+
*
|
|
142
|
+
* const results = await db
|
|
143
|
+
* .selectFrom('person')
|
|
144
|
+
* .where('id', 'in', [])
|
|
145
|
+
* .selectAll()
|
|
146
|
+
* .execute() // throws an error with 'Empty in/not-in is not allowed' message!
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export declare class HandleEmptyInListsPlugin implements KyselyPlugin {
|
|
150
|
+
#private;
|
|
151
|
+
readonly opt: HandleEmptyInListsOptions;
|
|
152
|
+
constructor(opt: HandleEmptyInListsOptions);
|
|
153
|
+
/**
|
|
154
|
+
* This is called for each query before it is executed. You can modify the query by
|
|
155
|
+
* transforming its {@link OperationNode} tree provided in {@link PluginTransformQueryArgs.node | args.node}
|
|
156
|
+
* and returning the transformed tree. You'd usually want to use an {@link OperationNodeTransformer}
|
|
157
|
+
* for this.
|
|
158
|
+
*
|
|
159
|
+
* If you need to pass some query-related data between this method and `transformResult` you
|
|
160
|
+
* can use a `WeakMap` with {@link PluginTransformQueryArgs.queryId | args.queryId} as the key:
|
|
161
|
+
*
|
|
162
|
+
* ```ts
|
|
163
|
+
* import type {
|
|
164
|
+
* KyselyPlugin,
|
|
165
|
+
* QueryResult,
|
|
166
|
+
* RootOperationNode,
|
|
167
|
+
* UnknownRow
|
|
168
|
+
* } from 'kysely'
|
|
169
|
+
*
|
|
170
|
+
* interface MyData {
|
|
171
|
+
* // ...
|
|
172
|
+
* }
|
|
173
|
+
* const data = new WeakMap<any, MyData>()
|
|
174
|
+
*
|
|
175
|
+
* const plugin = {
|
|
176
|
+
* transformQuery(args: PluginTransformQueryArgs): RootOperationNode {
|
|
177
|
+
* const something: MyData = {}
|
|
178
|
+
*
|
|
179
|
+
* // ...
|
|
180
|
+
*
|
|
181
|
+
* data.set(args.queryId, something)
|
|
182
|
+
*
|
|
183
|
+
* // ...
|
|
184
|
+
*
|
|
185
|
+
* return args.node
|
|
186
|
+
* },
|
|
187
|
+
*
|
|
188
|
+
* async transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>> {
|
|
189
|
+
* // ...
|
|
190
|
+
*
|
|
191
|
+
* const something = data.get(args.queryId)
|
|
192
|
+
*
|
|
193
|
+
* // ...
|
|
194
|
+
*
|
|
195
|
+
* return args.result
|
|
196
|
+
* }
|
|
197
|
+
* } satisfies KyselyPlugin
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* You should use a `WeakMap` instead of a `Map` or some other strong references because `transformQuery`
|
|
201
|
+
* is not always matched by a call to `transformResult` which would leave orphaned items in the map
|
|
202
|
+
* and cause a memory leak.
|
|
203
|
+
*/
|
|
204
|
+
transformQuery(args: PluginTransformQueryArgs): RootOperationNode;
|
|
205
|
+
/**
|
|
206
|
+
* This method is called for each query after it has been executed. The result
|
|
207
|
+
* of the query can be accessed through {@link PluginTransformResultArgs.result | args.result}.
|
|
208
|
+
* You can modify the result and return the modifier result.
|
|
209
|
+
*/
|
|
210
|
+
transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
|
|
211
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandleEmptyInListsPlugin = void 0;
|
|
4
|
+
const handle_empty_in_lists_transformer_js_1 = require("./handle-empty-in-lists-transformer.js");
|
|
5
|
+
/**
|
|
6
|
+
* A plugin that allows handling `in ()` and `not in ()` expressions.
|
|
7
|
+
*
|
|
8
|
+
* These expressions are invalid SQL syntax for many databases, and result in runtime
|
|
9
|
+
* database errors.
|
|
10
|
+
*
|
|
11
|
+
* The workarounds used by other libraries always involve modifying the query under
|
|
12
|
+
* the hood, which is not aligned with Kysely's philosophy of WYSIWYG. We recommend manually checking
|
|
13
|
+
* for empty arrays before passing them as arguments to `in` and `not in` expressions
|
|
14
|
+
* instead, but understand that this can be cumbersome. Hence we're going with an
|
|
15
|
+
* opt-in approach where you can choose if and how to handle these cases. We do
|
|
16
|
+
* not want to make this the default behavior, as it can lead to unexpected behavior.
|
|
17
|
+
* Use it at your own risk. Test it. Make sure it works as expected for you.
|
|
18
|
+
*
|
|
19
|
+
* Using this plugin also allows you to throw an error (thus avoiding unnecessary
|
|
20
|
+
* requests to the database) or print a warning in these cases.
|
|
21
|
+
*
|
|
22
|
+
* ### Examples
|
|
23
|
+
*
|
|
24
|
+
* The following strategy replaces the `in`/`not in` expression with a noncontingent
|
|
25
|
+
* expression. A contradiction (falsy) `1 = 0` for `in`, and a tautology (truthy) `1 = 1` for `not in`),
|
|
26
|
+
* similarily to how {@link https://github.com/knex/knex/blob/176151d8048b2a7feeb89a3d649a5580786d4f4e/docs/src/guide/query-builder.md#L1763 | Knex.js},
|
|
27
|
+
* {@link https://github.com/prisma/prisma-engines/blob/99168c54187178484dae45d9478aa40cfd1866d2/quaint/src/visitor.rs#L804-L823 | PrismaORM},
|
|
28
|
+
* {@link https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Query/Grammars/Grammar.php#L284-L291 | Laravel},
|
|
29
|
+
* {@link https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine.params.empty_in_strategy | SQLAlchemy}
|
|
30
|
+
* handle this.
|
|
31
|
+
*
|
|
32
|
+
* ```ts
|
|
33
|
+
* import Sqlite from 'better-sqlite3'
|
|
34
|
+
* import {
|
|
35
|
+
* HandleEmptyInListsPlugin,
|
|
36
|
+
* Kysely,
|
|
37
|
+
* replaceWithNoncontingentExpression,
|
|
38
|
+
* SqliteDialect,
|
|
39
|
+
* } from 'kysely'
|
|
40
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
41
|
+
*
|
|
42
|
+
* const db = new Kysely<Database>({
|
|
43
|
+
* dialect: new SqliteDialect({
|
|
44
|
+
* database: new Sqlite(':memory:'),
|
|
45
|
+
* }),
|
|
46
|
+
* plugins: [
|
|
47
|
+
* new HandleEmptyInListsPlugin({
|
|
48
|
+
* strategy: replaceWithNoncontingentExpression
|
|
49
|
+
* })
|
|
50
|
+
* ],
|
|
51
|
+
* })
|
|
52
|
+
*
|
|
53
|
+
* const results = await db
|
|
54
|
+
* .selectFrom('person')
|
|
55
|
+
* .where('id', 'in', [])
|
|
56
|
+
* .where('first_name', 'not in', [])
|
|
57
|
+
* .selectAll()
|
|
58
|
+
* .execute()
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* The generated SQL (SQLite):
|
|
62
|
+
*
|
|
63
|
+
* ```sql
|
|
64
|
+
* select * from "person" where 1 = 0 and 1 = 1
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* The following strategy does the following:
|
|
68
|
+
*
|
|
69
|
+
* When `in`, pushes a `null` value into the empty list resulting in `in (null)`,
|
|
70
|
+
* similiarly to how {@link https://github.com/typeorm/typeorm/blob/0280cdc451c35ef73c830eb1191c95d34f6ce06e/src/query-builder/QueryBuilder.ts#L919-L922 | TypeORM}
|
|
71
|
+
* and {@link https://github.com/sequelize/sequelize/blob/0f2891c6897e12bf9bf56df344aae5b698f58c7d/packages/core/src/abstract-dialect/where-sql-builder.ts#L368-L379 | Sequelize}
|
|
72
|
+
* handle `in ()`. `in (null)` is logically the equivalent of `= null`, which returns
|
|
73
|
+
* `null`, which is a falsy expression in most SQL databases. We recommend NOT
|
|
74
|
+
* using this strategy if you plan to use `in` in `select`, `returning`, or `output`
|
|
75
|
+
* clauses, as the return type differs from the `SqlBool` default type for comparisons.
|
|
76
|
+
*
|
|
77
|
+
* When `not in`, casts the left operand as `char` and pushes a unique value into
|
|
78
|
+
* the empty list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
|
|
79
|
+
* is required to avoid database errors with non-string values.
|
|
80
|
+
*
|
|
81
|
+
* ```ts
|
|
82
|
+
* import Sqlite from 'better-sqlite3'
|
|
83
|
+
* import {
|
|
84
|
+
* HandleEmptyInListsPlugin,
|
|
85
|
+
* Kysely,
|
|
86
|
+
* pushValueIntoList,
|
|
87
|
+
* SqliteDialect
|
|
88
|
+
* } from 'kysely'
|
|
89
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
90
|
+
*
|
|
91
|
+
* const db = new Kysely<Database>({
|
|
92
|
+
* dialect: new SqliteDialect({
|
|
93
|
+
* database: new Sqlite(':memory:'),
|
|
94
|
+
* }),
|
|
95
|
+
* plugins: [
|
|
96
|
+
* new HandleEmptyInListsPlugin({
|
|
97
|
+
* strategy: pushValueIntoList('__kysely_no_values_were_provided__') // choose a unique value for not in. has to be something with zero chance being in the data.
|
|
98
|
+
* })
|
|
99
|
+
* ],
|
|
100
|
+
* })
|
|
101
|
+
*
|
|
102
|
+
* const results = await db
|
|
103
|
+
* .selectFrom('person')
|
|
104
|
+
* .where('id', 'in', [])
|
|
105
|
+
* .where('first_name', 'not in', [])
|
|
106
|
+
* .selectAll()
|
|
107
|
+
* .execute()
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* The generated SQL (SQLite):
|
|
111
|
+
*
|
|
112
|
+
* ```sql
|
|
113
|
+
* select * from "person" where "id" in (null) and cast("first_name" as char) not in ('__kysely_no_values_were_provided__')
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* The following custom strategy throws an error when an empty list is encountered
|
|
117
|
+
* to avoid unnecessary requests to the database:
|
|
118
|
+
*
|
|
119
|
+
* ```ts
|
|
120
|
+
* import Sqlite from 'better-sqlite3'
|
|
121
|
+
* import {
|
|
122
|
+
* HandleEmptyInListsPlugin,
|
|
123
|
+
* Kysely,
|
|
124
|
+
* SqliteDialect
|
|
125
|
+
* } from 'kysely'
|
|
126
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
127
|
+
*
|
|
128
|
+
* const db = new Kysely<Database>({
|
|
129
|
+
* dialect: new SqliteDialect({
|
|
130
|
+
* database: new Sqlite(':memory:'),
|
|
131
|
+
* }),
|
|
132
|
+
* plugins: [
|
|
133
|
+
* new HandleEmptyInListsPlugin({
|
|
134
|
+
* strategy: () => {
|
|
135
|
+
* throw new Error('Empty in/not-in is not allowed')
|
|
136
|
+
* }
|
|
137
|
+
* })
|
|
138
|
+
* ],
|
|
139
|
+
* })
|
|
140
|
+
*
|
|
141
|
+
* const results = await db
|
|
142
|
+
* .selectFrom('person')
|
|
143
|
+
* .where('id', 'in', [])
|
|
144
|
+
* .selectAll()
|
|
145
|
+
* .execute() // throws an error with 'Empty in/not-in is not allowed' message!
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
class HandleEmptyInListsPlugin {
|
|
149
|
+
opt;
|
|
150
|
+
#transformer;
|
|
151
|
+
constructor(opt) {
|
|
152
|
+
this.opt = opt;
|
|
153
|
+
this.#transformer = new handle_empty_in_lists_transformer_js_1.HandleEmptyInListsTransformer(opt.strategy);
|
|
154
|
+
}
|
|
155
|
+
transformQuery(args) {
|
|
156
|
+
return this.#transformer.transformNode(args.node, args.queryId);
|
|
157
|
+
}
|
|
158
|
+
async transformResult(args) {
|
|
159
|
+
return args.result;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.HandleEmptyInListsPlugin = HandleEmptyInListsPlugin;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BinaryOperationNode } from '../../operation-node/binary-operation-node.js';
|
|
2
|
+
import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
|
|
3
|
+
import type { EmptyInListsStrategy } from './handle-empty-in-lists.js';
|
|
4
|
+
export declare class HandleEmptyInListsTransformer extends OperationNodeTransformer {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(strategy: EmptyInListsStrategy);
|
|
7
|
+
protected transformBinaryOperation(node: BinaryOperationNode): BinaryOperationNode;
|
|
8
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandleEmptyInListsTransformer = void 0;
|
|
4
|
+
const operation_node_transformer_js_1 = require("../../operation-node/operation-node-transformer.js");
|
|
5
|
+
const primitive_value_list_node_js_1 = require("../../operation-node/primitive-value-list-node.js");
|
|
6
|
+
const operator_node_js_1 = require("../../operation-node/operator-node.js");
|
|
7
|
+
const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
|
|
8
|
+
class HandleEmptyInListsTransformer extends operation_node_transformer_js_1.OperationNodeTransformer {
|
|
9
|
+
#strategy;
|
|
10
|
+
constructor(strategy) {
|
|
11
|
+
super();
|
|
12
|
+
this.#strategy = strategy;
|
|
13
|
+
}
|
|
14
|
+
transformBinaryOperation(node) {
|
|
15
|
+
if (this.#isEmptyInListNode(node)) {
|
|
16
|
+
return this.#strategy(node);
|
|
17
|
+
}
|
|
18
|
+
return node;
|
|
19
|
+
}
|
|
20
|
+
#isEmptyInListNode(node) {
|
|
21
|
+
const { operator, rightOperand } = node;
|
|
22
|
+
return ((primitive_value_list_node_js_1.PrimitiveValueListNode.is(rightOperand) ||
|
|
23
|
+
value_list_node_js_1.ValueListNode.is(rightOperand)) &&
|
|
24
|
+
rightOperand.values.length === 0 &&
|
|
25
|
+
operator_node_js_1.OperatorNode.is(operator) &&
|
|
26
|
+
(operator.operator === 'in' || operator.operator === 'not in'));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.HandleEmptyInListsTransformer = HandleEmptyInListsTransformer;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BinaryOperationNode } from '../../operation-node/binary-operation-node.js';
|
|
2
|
+
import { OperatorNode } from '../../operation-node/operator-node.js';
|
|
3
|
+
import type { PrimitiveValueListNode } from '../../operation-node/primitive-value-list-node.js';
|
|
4
|
+
import { ValueListNode } from '../../operation-node/value-list-node.js';
|
|
5
|
+
export interface HandleEmptyInListsOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The strategy to use when handling `in ()` and `not in ()`.
|
|
8
|
+
*
|
|
9
|
+
* See {@link HandleEmptyInListsPlugin} for examples.
|
|
10
|
+
*/
|
|
11
|
+
strategy: EmptyInListsStrategy;
|
|
12
|
+
}
|
|
13
|
+
export type EmptyInListNode = BinaryOperationNode & {
|
|
14
|
+
operator: OperatorNode & {
|
|
15
|
+
operator: 'in' | 'not in';
|
|
16
|
+
};
|
|
17
|
+
rightOperand: (ValueListNode | PrimitiveValueListNode) & {
|
|
18
|
+
values: Readonly<[]>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type EmptyInListsStrategy = (node: EmptyInListNode) => BinaryOperationNode;
|
|
22
|
+
/**
|
|
23
|
+
* Replaces the `in`/`not in` expression with a noncontingent expression (always true or always
|
|
24
|
+
* false) depending on the original operator.
|
|
25
|
+
*
|
|
26
|
+
* This is how Knex.js, PrismaORM, Laravel, and SQLAlchemy handle `in ()` and `not in ()`.
|
|
27
|
+
*
|
|
28
|
+
* See {@link pushValueIntoList} for an alternative strategy.
|
|
29
|
+
*/
|
|
30
|
+
export declare function replaceWithNoncontingentExpression(node: EmptyInListNode): BinaryOperationNode;
|
|
31
|
+
/**
|
|
32
|
+
* When `in`, pushes a `null` value into the list resulting in `in (null)`. This
|
|
33
|
+
* is how TypeORM and Sequelize handle `in ()`. `in (null)` is logically the equivalent
|
|
34
|
+
* of `= null`, which returns `null`, which is a falsy expression in most SQL databases.
|
|
35
|
+
* We recommend NOT using this strategy if you plan to use `in` in `select`, `returning`,
|
|
36
|
+
* or `output` clauses, as the return type differs from the `SqlBool` default type.
|
|
37
|
+
*
|
|
38
|
+
* When `not in`, casts the left operand as `char` and pushes a literal value into
|
|
39
|
+
* the list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
|
|
40
|
+
* is required to avoid database errors with non-string columns.
|
|
41
|
+
*
|
|
42
|
+
* See {@link replaceWithNoncontingentExpression} for an alternative strategy.
|
|
43
|
+
*/
|
|
44
|
+
export declare function pushValueIntoList(uniqueNotInLiteral: '__kysely_no_values_were_provided__' | (string & {})): EmptyInListsStrategy;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceWithNoncontingentExpression = replaceWithNoncontingentExpression;
|
|
4
|
+
exports.pushValueIntoList = pushValueIntoList;
|
|
5
|
+
const binary_operation_node_js_1 = require("../../operation-node/binary-operation-node.js");
|
|
6
|
+
const cast_node_js_1 = require("../../operation-node/cast-node.js");
|
|
7
|
+
const data_type_node_js_1 = require("../../operation-node/data-type-node.js");
|
|
8
|
+
const operator_node_js_1 = require("../../operation-node/operator-node.js");
|
|
9
|
+
const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
|
|
10
|
+
const value_node_js_1 = require("../../operation-node/value-node.js");
|
|
11
|
+
const object_utils_js_1 = require("../../util/object-utils.js");
|
|
12
|
+
let contradiction;
|
|
13
|
+
let eq;
|
|
14
|
+
let one;
|
|
15
|
+
let tautology;
|
|
16
|
+
/**
|
|
17
|
+
* Replaces the `in`/`not in` expression with a noncontingent expression (always true or always
|
|
18
|
+
* false) depending on the original operator.
|
|
19
|
+
*
|
|
20
|
+
* This is how Knex.js, PrismaORM, Laravel, and SQLAlchemy handle `in ()` and `not in ()`.
|
|
21
|
+
*
|
|
22
|
+
* See {@link pushValueIntoList} for an alternative strategy.
|
|
23
|
+
*/
|
|
24
|
+
function replaceWithNoncontingentExpression(node) {
|
|
25
|
+
const _one = (one ||= value_node_js_1.ValueNode.createImmediate(1));
|
|
26
|
+
const _eq = (eq ||= operator_node_js_1.OperatorNode.create('='));
|
|
27
|
+
if (node.operator.operator === 'in') {
|
|
28
|
+
return (contradiction ||= binary_operation_node_js_1.BinaryOperationNode.create(_one, _eq, value_node_js_1.ValueNode.createImmediate(0)));
|
|
29
|
+
}
|
|
30
|
+
return (tautology ||= binary_operation_node_js_1.BinaryOperationNode.create(_one, _eq, _one));
|
|
31
|
+
}
|
|
32
|
+
let char;
|
|
33
|
+
let listNull;
|
|
34
|
+
let listVal;
|
|
35
|
+
/**
|
|
36
|
+
* When `in`, pushes a `null` value into the list resulting in `in (null)`. This
|
|
37
|
+
* is how TypeORM and Sequelize handle `in ()`. `in (null)` is logically the equivalent
|
|
38
|
+
* of `= null`, which returns `null`, which is a falsy expression in most SQL databases.
|
|
39
|
+
* We recommend NOT using this strategy if you plan to use `in` in `select`, `returning`,
|
|
40
|
+
* or `output` clauses, as the return type differs from the `SqlBool` default type.
|
|
41
|
+
*
|
|
42
|
+
* When `not in`, casts the left operand as `char` and pushes a literal value into
|
|
43
|
+
* the list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
|
|
44
|
+
* is required to avoid database errors with non-string columns.
|
|
45
|
+
*
|
|
46
|
+
* See {@link replaceWithNoncontingentExpression} for an alternative strategy.
|
|
47
|
+
*/
|
|
48
|
+
function pushValueIntoList(uniqueNotInLiteral) {
|
|
49
|
+
return function pushValueIntoList(node) {
|
|
50
|
+
if (node.operator.operator === 'in') {
|
|
51
|
+
return (0, object_utils_js_1.freeze)({
|
|
52
|
+
...node,
|
|
53
|
+
rightOperand: (listNull ||= value_list_node_js_1.ValueListNode.create([
|
|
54
|
+
value_node_js_1.ValueNode.createImmediate(null),
|
|
55
|
+
])),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return (0, object_utils_js_1.freeze)({
|
|
59
|
+
...node,
|
|
60
|
+
leftOperand: cast_node_js_1.CastNode.create(node.leftOperand, (char ||= data_type_node_js_1.DataTypeNode.create('char'))),
|
|
61
|
+
rightOperand: (listVal ||= value_list_node_js_1.ValueListNode.create([
|
|
62
|
+
value_node_js_1.ValueNode.createImmediate(uniqueNotInLiteral),
|
|
63
|
+
])),
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { QueryResult } from '../../driver/database-connection.js';
|
|
2
|
+
import type { RootOperationNode } from '../../query-compiler/query-compiler.js';
|
|
3
|
+
import type { UnknownRow } from '../../util/type-utils.js';
|
|
4
|
+
import type { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
|
|
5
|
+
/**
|
|
6
|
+
* Transforms all ValueNodes to immediate.
|
|
7
|
+
*
|
|
8
|
+
* WARNING! This should never be part of the public API. Users should never use this.
|
|
9
|
+
* This is an internal helper.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare class ImmediateValuePlugin implements KyselyPlugin {
|
|
14
|
+
#private;
|
|
15
|
+
/**
|
|
16
|
+
* This is called for each query before it is executed. You can modify the query by
|
|
17
|
+
* transforming its {@link OperationNode} tree provided in {@link PluginTransformQueryArgs.node | args.node}
|
|
18
|
+
* and returning the transformed tree. You'd usually want to use an {@link OperationNodeTransformer}
|
|
19
|
+
* for this.
|
|
20
|
+
*
|
|
21
|
+
* If you need to pass some query-related data between this method and `transformResult` you
|
|
22
|
+
* can use a `WeakMap` with {@link PluginTransformQueryArgs.queryId | args.queryId} as the key:
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* import type {
|
|
26
|
+
* KyselyPlugin,
|
|
27
|
+
* QueryResult,
|
|
28
|
+
* RootOperationNode,
|
|
29
|
+
* UnknownRow
|
|
30
|
+
* } from 'kysely'
|
|
31
|
+
*
|
|
32
|
+
* interface MyData {
|
|
33
|
+
* // ...
|
|
34
|
+
* }
|
|
35
|
+
* const data = new WeakMap<any, MyData>()
|
|
36
|
+
*
|
|
37
|
+
* const plugin = {
|
|
38
|
+
* transformQuery(args: PluginTransformQueryArgs): RootOperationNode {
|
|
39
|
+
* const something: MyData = {}
|
|
40
|
+
*
|
|
41
|
+
* // ...
|
|
42
|
+
*
|
|
43
|
+
* data.set(args.queryId, something)
|
|
44
|
+
*
|
|
45
|
+
* // ...
|
|
46
|
+
*
|
|
47
|
+
* return args.node
|
|
48
|
+
* },
|
|
49
|
+
*
|
|
50
|
+
* async transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>> {
|
|
51
|
+
* // ...
|
|
52
|
+
*
|
|
53
|
+
* const something = data.get(args.queryId)
|
|
54
|
+
*
|
|
55
|
+
* // ...
|
|
56
|
+
*
|
|
57
|
+
* return args.result
|
|
58
|
+
* }
|
|
59
|
+
* } satisfies KyselyPlugin
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* You should use a `WeakMap` instead of a `Map` or some other strong references because `transformQuery`
|
|
63
|
+
* is not always matched by a call to `transformResult` which would leave orphaned items in the map
|
|
64
|
+
* and cause a memory leak.
|
|
65
|
+
*/
|
|
66
|
+
transformQuery(args: PluginTransformQueryArgs): RootOperationNode;
|
|
67
|
+
/**
|
|
68
|
+
* This method is called for each query after it has been executed. The result
|
|
69
|
+
* of the query can be accessed through {@link PluginTransformResultArgs.result | args.result}.
|
|
70
|
+
* You can modify the result and return the modifier result.
|
|
71
|
+
*/
|
|
72
|
+
transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
|
|
73
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImmediateValuePlugin = void 0;
|
|
4
|
+
const immediate_value_transformer_js_1 = require("./immediate-value-transformer.js");
|
|
5
|
+
/**
|
|
6
|
+
* Transforms all ValueNodes to immediate.
|
|
7
|
+
*
|
|
8
|
+
* WARNING! This should never be part of the public API. Users should never use this.
|
|
9
|
+
* This is an internal helper.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
class ImmediateValuePlugin {
|
|
14
|
+
#transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer();
|
|
15
|
+
transformQuery(args) {
|
|
16
|
+
return this.#transformer.transformNode(args.node, args.queryId);
|
|
17
|
+
}
|
|
18
|
+
transformResult(args) {
|
|
19
|
+
return Promise.resolve(args.result);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ImmediateValuePlugin = ImmediateValuePlugin;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
|
|
2
|
+
import type { PrimitiveValueListNode } from '../../operation-node/primitive-value-list-node.js';
|
|
3
|
+
import { ValueNode } from '../../operation-node/value-node.js';
|
|
4
|
+
/**
|
|
5
|
+
* Transforms all ValueNodes to immediate.
|
|
6
|
+
*
|
|
7
|
+
* WARNING! This should never be part of the public API. Users should never use this.
|
|
8
|
+
* This is an internal helper.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare class ImmediateValueTransformer extends OperationNodeTransformer {
|
|
13
|
+
transformPrimitiveValueList(node: PrimitiveValueListNode): PrimitiveValueListNode;
|
|
14
|
+
transformValue(node: ValueNode): ValueNode;
|
|
15
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImmediateValueTransformer = void 0;
|
|
4
|
+
const operation_node_transformer_js_1 = require("../../operation-node/operation-node-transformer.js");
|
|
5
|
+
const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
|
|
6
|
+
const value_node_js_1 = require("../../operation-node/value-node.js");
|
|
7
|
+
/**
|
|
8
|
+
* Transforms all ValueNodes to immediate.
|
|
9
|
+
*
|
|
10
|
+
* WARNING! This should never be part of the public API. Users should never use this.
|
|
11
|
+
* This is an internal helper.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
class ImmediateValueTransformer extends operation_node_transformer_js_1.OperationNodeTransformer {
|
|
16
|
+
transformPrimitiveValueList(node) {
|
|
17
|
+
return value_list_node_js_1.ValueListNode.create(node.values.map(value_node_js_1.ValueNode.createImmediate));
|
|
18
|
+
}
|
|
19
|
+
transformValue(node) {
|
|
20
|
+
return value_node_js_1.ValueNode.createImmediate(node.value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ImmediateValueTransformer = ImmediateValueTransformer;
|