kysely 0.27.2 → 0.27.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -1
- package/README.md +7 -7
- package/dist/cjs/dialect/database-introspector.d.ts +1 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
- package/dist/cjs/dialect/dialect-adapter.d.ts +5 -0
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/cjs/dialect/mssql/mssql-driver.js +95 -36
- package/dist/cjs/dialect/mssql/mssql-introspector.js +13 -2
- package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +4 -0
- package/dist/cjs/dialect/mssql/mssql-query-compiler.js +8 -0
- package/dist/cjs/dialect/mysql/mysql-introspector.js +2 -0
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-driver.js +2 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.js +3 -1
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/cjs/driver/database-connection.d.ts +4 -2
- package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
- package/dist/cjs/dynamic/dynamic.d.ts +1 -1
- package/dist/cjs/dynamic/dynamic.js +1 -1
- package/dist/cjs/expression/expression-builder.d.ts +31 -5
- package/dist/cjs/expression/expression-builder.js +7 -3
- package/dist/cjs/expression/expression.js +2 -3
- package/dist/cjs/helpers/mssql.js +3 -4
- package/dist/cjs/helpers/mysql.d.ts +3 -3
- package/dist/cjs/helpers/mysql.js +6 -7
- package/dist/cjs/helpers/postgres.d.ts +4 -4
- package/dist/cjs/helpers/postgres.js +7 -8
- package/dist/cjs/helpers/sqlite.js +3 -4
- package/dist/cjs/index.d.ts +31 -18
- package/dist/cjs/index.js +30 -17
- package/dist/cjs/kysely.d.ts +1 -1
- package/dist/cjs/kysely.js +3 -3
- package/dist/cjs/operation-node/add-index-node.js +1 -1
- package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
- package/dist/cjs/operation-node/case-node.d.ts +1 -1
- package/dist/cjs/operation-node/cast-node.d.ts +13 -0
- package/dist/cjs/operation-node/cast-node.js +19 -0
- package/dist/cjs/operation-node/column-definition-node.d.ts +2 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +5 -1
- package/dist/cjs/operation-node/data-type-node.js +56 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +6 -0
- package/dist/cjs/operation-node/delete-query-node.js +12 -0
- package/dist/cjs/operation-node/fetch-node.d.ts +15 -0
- package/dist/cjs/operation-node/fetch-node.js +19 -0
- package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/cjs/operation-node/having-node.d.ts +1 -1
- package/dist/cjs/operation-node/insert-query-node.d.ts +6 -1
- package/dist/cjs/operation-node/insert-query-node.js +5 -0
- package/dist/cjs/operation-node/join-node.d.ts +1 -1
- package/dist/cjs/operation-node/matched-node.d.ts +13 -0
- package/dist/cjs/operation-node/matched-node.js +19 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +27 -0
- package/dist/cjs/operation-node/merge-query-node.js +45 -0
- package/dist/cjs/operation-node/on-node.d.ts +1 -1
- package/dist/cjs/operation-node/operation-node-source.js +1 -2
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +12 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +62 -0
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +6 -0
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/operator-node.d.ts +3 -3
- package/dist/cjs/operation-node/operator-node.js +8 -6
- package/dist/cjs/operation-node/output-node.d.ts +13 -0
- package/dist/cjs/operation-node/output-node.js +26 -0
- package/dist/cjs/operation-node/query-node.d.ts +17 -5
- package/dist/cjs/operation-node/query-node.js +24 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +6 -0
- package/dist/cjs/operation-node/select-query-node.js +12 -0
- package/dist/cjs/operation-node/top-node.d.ts +14 -0
- package/dist/cjs/operation-node/top-node.js +19 -0
- package/dist/cjs/operation-node/update-query-node.d.ts +9 -1
- package/dist/cjs/operation-node/update-query-node.js +11 -0
- package/dist/cjs/operation-node/where-node.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.d.ts +1 -1
- package/dist/cjs/parser/binary-operation-parser.js +7 -8
- package/dist/cjs/parser/data-type-parser.js +8 -5
- package/dist/cjs/parser/default-value-parser.js +1 -2
- package/dist/cjs/parser/expression-parser.js +3 -4
- 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.js +1 -2
- package/dist/cjs/parser/identifier-parser.js +1 -2
- package/dist/cjs/parser/insert-values-parser.d.ts +3 -3
- package/dist/cjs/parser/insert-values-parser.js +1 -2
- package/dist/cjs/parser/join-parser.js +1 -2
- 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.js +1 -2
- package/dist/cjs/parser/on-modify-action-parser.js +1 -2
- package/dist/cjs/parser/order-by-parser.js +3 -4
- package/dist/cjs/parser/parse-utils.js +4 -5
- package/dist/cjs/parser/partition-by-parser.js +1 -2
- package/dist/cjs/parser/reference-parser.js +8 -9
- package/dist/cjs/parser/returning-parser.d.ts +4 -3
- package/dist/cjs/parser/select-parser.js +2 -3
- package/dist/cjs/parser/set-operation-parser.js +1 -2
- package/dist/cjs/parser/table-parser.d.ts +4 -3
- package/dist/cjs/parser/table-parser.js +4 -5
- package/dist/cjs/parser/top-parser.d.ts +2 -0
- package/dist/cjs/parser/top-parser.js +19 -0
- package/dist/cjs/parser/unary-operation-parser.js +3 -4
- package/dist/cjs/parser/update-set-parser.js +2 -3
- package/dist/cjs/parser/value-parser.js +4 -5
- package/dist/cjs/parser/with-parser.js +1 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +2 -2
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +4 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +188 -5
- package/dist/cjs/query-builder/delete-query-builder.js +139 -5
- package/dist/cjs/query-builder/function-module.d.ts +5 -5
- package/dist/cjs/query-builder/function-module.js +1 -2
- package/dist/cjs/query-builder/insert-query-builder.d.ts +166 -10
- package/dist/cjs/query-builder/insert-query-builder.js +107 -10
- package/dist/cjs/query-builder/merge-query-builder.d.ts +721 -0
- package/dist/cjs/query-builder/merge-query-builder.js +547 -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.js +2 -2
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +2 -2
- package/dist/cjs/query-builder/output-interface.d.ts +95 -0
- package/dist/cjs/query-builder/output-interface.js +2 -0
- package/dist/cjs/query-builder/returning-interface.d.ts +2 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +177 -17
- package/dist/cjs/query-builder/select-query-builder.js +21 -2
- package/dist/cjs/query-builder/update-query-builder.d.ts +175 -10
- package/dist/cjs/query-builder/update-query-builder.js +119 -7
- package/dist/cjs/query-builder/update-result.d.ts +9 -0
- package/dist/cjs/query-builder/update-result.js +9 -0
- package/dist/cjs/query-builder/where-interface.d.ts +1 -1
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +118 -10
- package/dist/cjs/query-compiler/query-compiler.d.ts +2 -1
- package/dist/cjs/query-creator.d.ts +96 -5
- package/dist/cjs/query-creator.js +63 -1
- package/dist/cjs/raw-builder/raw-builder.js +1 -2
- package/dist/cjs/raw-builder/sql.d.ts +5 -5
- package/dist/cjs/schema/alter-column-builder.js +3 -0
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-add-index-builder.js +7 -3
- package/dist/cjs/schema/alter-table-builder.js +1 -2
- package/dist/cjs/schema/column-definition-builder.d.ts +18 -1
- package/dist/cjs/schema/column-definition-builder.js +22 -1
- package/dist/cjs/util/assert.js +2 -3
- package/dist/cjs/util/compilable.js +1 -2
- package/dist/cjs/util/infer-result.d.ts +2 -1
- package/dist/cjs/util/json-object-args.js +1 -2
- package/dist/cjs/util/log-once.js +1 -2
- package/dist/cjs/util/object-utils.js +38 -26
- package/dist/cjs/util/performance-now.js +1 -2
- package/dist/cjs/util/prevent-await.js +1 -2
- package/dist/cjs/util/query-id.js +1 -2
- package/dist/cjs/util/random-string.js +1 -2
- package/dist/cjs/util/require-all-props.js +1 -2
- package/dist/cjs/util/stack-trace-utils.js +1 -2
- package/dist/cjs/util/type-utils.d.ts +3 -2
- package/dist/esm/dialect/database-introspector.d.ts +1 -0
- package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -1
- package/dist/esm/dialect/dialect-adapter-base.js +4 -1
- package/dist/esm/dialect/dialect-adapter.d.ts +5 -0
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -5
- package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +46 -26
- package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
- package/dist/esm/dialect/mssql/mssql-driver.js +95 -36
- package/dist/esm/dialect/mssql/mssql-introspector.js +13 -2
- package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +4 -0
- package/dist/esm/dialect/mssql/mssql-query-compiler.js +8 -0
- package/dist/esm/dialect/mysql/mysql-introspector.js +2 -0
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-driver.js +2 -1
- package/dist/esm/dialect/postgres/postgres-introspector.js +3 -1
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -0
- package/dist/esm/driver/database-connection.d.ts +4 -2
- package/dist/esm/dynamic/dynamic.d.ts +1 -1
- package/dist/esm/dynamic/dynamic.js +1 -1
- package/dist/esm/expression/expression-builder.d.ts +31 -5
- package/dist/esm/expression/expression-builder.js +5 -0
- package/dist/esm/helpers/mysql.d.ts +3 -3
- package/dist/esm/helpers/mysql.js +3 -3
- package/dist/esm/helpers/postgres.d.ts +4 -4
- package/dist/esm/helpers/postgres.js +4 -4
- package/dist/esm/index.d.ts +31 -18
- package/dist/esm/index.js +30 -17
- package/dist/esm/kysely.d.ts +1 -1
- package/dist/esm/kysely.js +1 -1
- package/dist/esm/operation-node/add-index-node.js +1 -1
- package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
- package/dist/esm/operation-node/case-node.d.ts +1 -1
- package/dist/esm/operation-node/cast-node.d.ts +13 -0
- package/dist/esm/operation-node/cast-node.js +17 -0
- package/dist/esm/operation-node/column-definition-node.d.ts +2 -0
- package/dist/esm/operation-node/data-type-node.d.ts +5 -1
- package/dist/esm/operation-node/data-type-node.js +55 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +6 -0
- package/dist/esm/operation-node/delete-query-node.js +12 -0
- package/dist/esm/operation-node/fetch-node.d.ts +15 -0
- package/dist/esm/operation-node/fetch-node.js +17 -0
- package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
- package/dist/esm/operation-node/having-node.d.ts +1 -1
- package/dist/esm/operation-node/insert-query-node.d.ts +6 -1
- package/dist/esm/operation-node/insert-query-node.js +5 -0
- package/dist/esm/operation-node/join-node.d.ts +1 -1
- package/dist/esm/operation-node/matched-node.d.ts +13 -0
- package/dist/esm/operation-node/matched-node.js +17 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +27 -0
- package/dist/esm/operation-node/merge-query-node.js +43 -0
- package/dist/esm/operation-node/on-node.d.ts +1 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +12 -0
- package/dist/esm/operation-node/operation-node-transformer.js +62 -0
- package/dist/esm/operation-node/operation-node-visitor.d.ts +12 -0
- package/dist/esm/operation-node/operation-node-visitor.js +6 -0
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/operator-node.d.ts +3 -3
- package/dist/esm/operation-node/operator-node.js +2 -0
- package/dist/esm/operation-node/output-node.d.ts +13 -0
- package/dist/esm/operation-node/output-node.js +24 -0
- package/dist/esm/operation-node/query-node.d.ts +17 -5
- package/dist/esm/operation-node/query-node.js +24 -1
- package/dist/esm/operation-node/select-query-node.d.ts +6 -0
- package/dist/esm/operation-node/select-query-node.js +12 -0
- package/dist/esm/operation-node/top-node.d.ts +14 -0
- package/dist/esm/operation-node/top-node.js +17 -0
- package/dist/esm/operation-node/update-query-node.d.ts +9 -1
- package/dist/esm/operation-node/update-query-node.js +11 -0
- package/dist/esm/operation-node/where-node.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.d.ts +1 -1
- package/dist/esm/parser/binary-operation-parser.js +2 -2
- package/dist/esm/parser/data-type-parser.js +8 -4
- package/dist/esm/parser/fetch-parser.d.ts +2 -0
- package/dist/esm/parser/fetch-parser.js +15 -0
- package/dist/esm/parser/insert-values-parser.d.ts +3 -3
- package/dist/esm/parser/merge-parser.d.ts +9 -0
- package/dist/esm/parser/merge-parser.js +28 -0
- package/dist/esm/parser/returning-parser.d.ts +4 -3
- package/dist/esm/parser/table-parser.d.ts +4 -3
- package/dist/esm/parser/top-parser.d.ts +2 -0
- package/dist/esm/parser/top-parser.js +17 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +2 -2
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +4 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +188 -5
- package/dist/esm/query-builder/delete-query-builder.js +139 -5
- package/dist/esm/query-builder/function-module.d.ts +5 -5
- package/dist/esm/query-builder/insert-query-builder.d.ts +166 -10
- package/dist/esm/query-builder/insert-query-builder.js +107 -10
- package/dist/esm/query-builder/merge-query-builder.d.ts +721 -0
- package/dist/esm/query-builder/merge-query-builder.js +541 -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/on-conflict-builder.d.ts +2 -2
- package/dist/esm/query-builder/output-interface.d.ts +95 -0
- package/dist/esm/query-builder/output-interface.js +2 -0
- package/dist/esm/query-builder/returning-interface.d.ts +2 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +177 -17
- package/dist/esm/query-builder/select-query-builder.js +20 -0
- package/dist/esm/query-builder/update-query-builder.d.ts +175 -10
- package/dist/esm/query-builder/update-query-builder.js +119 -7
- package/dist/esm/query-builder/update-result.d.ts +9 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-builder/where-interface.d.ts +1 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +12 -0
- package/dist/esm/query-compiler/default-query-compiler.js +118 -10
- package/dist/esm/query-compiler/query-compiler.d.ts +2 -1
- package/dist/esm/query-creator.d.ts +96 -5
- package/dist/esm/query-creator.js +64 -2
- package/dist/esm/raw-builder/sql.d.ts +5 -5
- package/dist/esm/schema/alter-column-builder.js +3 -0
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-add-index-builder.js +8 -4
- package/dist/esm/schema/alter-table-builder.js +1 -2
- package/dist/esm/schema/column-definition-builder.d.ts +18 -1
- package/dist/esm/schema/column-definition-builder.js +22 -1
- package/dist/esm/util/infer-result.d.ts +2 -1
- package/dist/esm/util/object-utils.js +18 -5
- package/dist/esm/util/type-utils.d.ts +3 -2
- package/package.json +26 -24
|
@@ -15,6 +15,7 @@ import { OperandExpression } from '../parser/expression-parser.js';
|
|
|
15
15
|
import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js';
|
|
16
16
|
import { Selectable } from '../util/column-type.js';
|
|
17
17
|
import { KyselyTypeError } from '../util/type-error.js';
|
|
18
|
+
import { DataTypeExpression } from '../parser/data-type-parser.js';
|
|
18
19
|
export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
19
20
|
/**
|
|
20
21
|
* Creates a binary expression.
|
|
@@ -194,7 +195,7 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
194
195
|
selectFrom<TE extends keyof DB & string>(from: TE[]): SelectQueryBuilder<DB, TB | ExtractTableAlias<DB, TE>, {}>;
|
|
195
196
|
selectFrom<TE extends TableExpression<DB, TB>>(from: TE[]): SelectQueryBuilder<From<DB, TE>, FromTables<DB, TB, TE>, {}>;
|
|
196
197
|
selectFrom<TE extends keyof DB & string>(from: TE): SelectQueryBuilder<DB, TB | ExtractTableAlias<DB, TE>, {}>;
|
|
197
|
-
selectFrom<TE extends AnyAliasedTable<DB>>(from: TE): SelectQueryBuilder<DB & PickTableWithAlias<DB, TE>, TB | ExtractTableAlias<DB, TE>, {}>;
|
|
198
|
+
selectFrom<TE extends AnyAliasedTable<DB>>(from: TE): SelectQueryBuilder<DB & PickTableWithAlias<DB, TE>, TB | ExtractTableAlias<DB & PickTableWithAlias<DB, TE>, TE>, {}>;
|
|
198
199
|
selectFrom<TE extends TableExpression<DB, TB>>(from: TE): SelectQueryBuilder<From<DB, TE>, FromTables<DB, TB, TE>, {}>;
|
|
199
200
|
/**
|
|
200
201
|
* Creates a `case` statement/operator.
|
|
@@ -218,7 +219,7 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
218
219
|
* .when('gender', '=', 'female')
|
|
219
220
|
* .then(
|
|
220
221
|
* eb
|
|
221
|
-
* .case('
|
|
222
|
+
* .case('maritalStatus')
|
|
222
223
|
* .when('single')
|
|
223
224
|
* .then('Ms.')
|
|
224
225
|
* .else('Mrs.')
|
|
@@ -238,7 +239,7 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
238
239
|
* case
|
|
239
240
|
* when "gender" = $1 then $2
|
|
240
241
|
* when "gender" = $3 then
|
|
241
|
-
* case "
|
|
242
|
+
* case "maritalStatus"
|
|
242
243
|
* when $4 then $5
|
|
243
244
|
* else $6
|
|
244
245
|
* end
|
|
@@ -292,7 +293,7 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
292
293
|
*
|
|
293
294
|
* ```ts
|
|
294
295
|
* db.update('pet').set((eb) => ({
|
|
295
|
-
* name: sql
|
|
296
|
+
* name: sql<string>`concat(${eb.ref('pet.name')}, ${suffix})`
|
|
296
297
|
* }))
|
|
297
298
|
* ```
|
|
298
299
|
*
|
|
@@ -775,7 +776,7 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
775
776
|
* ```ts
|
|
776
777
|
* db.selectFrom('person')
|
|
777
778
|
* .selectAll('person')
|
|
778
|
-
* .where((eb) => parens(
|
|
779
|
+
* .where((eb) => eb.parens(
|
|
779
780
|
* eb('age', '=', 1).or('age', '=', 2))
|
|
780
781
|
* ).and(
|
|
781
782
|
* eb('first_name', '=', 'Jennifer').or('first_name', '=', 'Arnold')
|
|
@@ -792,6 +793,31 @@ export interface ExpressionBuilder<DB, TB extends keyof DB> {
|
|
|
792
793
|
*/
|
|
793
794
|
parens<RE extends ReferenceExpression<DB, TB>, OP extends BinaryOperatorExpression, VE extends OperandValueExpressionOrList<DB, TB, RE>>(lhs: RE, op: OP, rhs: VE): ExpressionWrapper<DB, TB, OP extends ComparisonOperator ? SqlBool : ExtractTypeFromReferenceExpression<DB, TB, RE>>;
|
|
794
795
|
parens<T>(expr: Expression<T>): ExpressionWrapper<DB, TB, T>;
|
|
796
|
+
/**
|
|
797
|
+
* Creates a `cast(expr as dataType)` expression.
|
|
798
|
+
*
|
|
799
|
+
* Since Kysely can't know the mapping between JavaScript and database types,
|
|
800
|
+
* you need to provide both explicitly.
|
|
801
|
+
*
|
|
802
|
+
* ### Examples
|
|
803
|
+
*
|
|
804
|
+
* ```ts
|
|
805
|
+
* db.selectFrom('person')
|
|
806
|
+
* .select((eb) => [
|
|
807
|
+
* 'id',
|
|
808
|
+
* 'first_name',
|
|
809
|
+
* eb.cast<number>('age', 'integer').as('age')
|
|
810
|
+
* ])
|
|
811
|
+
* ```
|
|
812
|
+
*
|
|
813
|
+
* The generated SQL (PostgreSQL):
|
|
814
|
+
*
|
|
815
|
+
* ```sql
|
|
816
|
+
* select cast("age" as integer) as "age"
|
|
817
|
+
* from "person"
|
|
818
|
+
* ```
|
|
819
|
+
*/
|
|
820
|
+
cast<T, RE extends ReferenceExpression<DB, TB> = ReferenceExpression<DB, TB>>(expr: RE, dataType: DataTypeExpression): ExpressionWrapper<DB, TB, T>;
|
|
795
821
|
/**
|
|
796
822
|
* See {@link QueryCreator.withSchema}
|
|
797
823
|
*
|
|
@@ -21,6 +21,8 @@ import { BinaryOperationNode } from '../operation-node/binary-operation-node.js'
|
|
|
21
21
|
import { AndNode } from '../operation-node/and-node.js';
|
|
22
22
|
import { TupleNode } from '../operation-node/tuple-node.js';
|
|
23
23
|
import { JSONPathNode } from '../operation-node/json-path-node.js';
|
|
24
|
+
import { parseDataTypeExpression, } from '../parser/data-type-parser.js';
|
|
25
|
+
import { CastNode } from '../operation-node/cast-node.js';
|
|
24
26
|
export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) {
|
|
25
27
|
function binary(lhs, op, rhs) {
|
|
26
28
|
return new ExpressionWrapper(parseValueBinaryOperation(lhs, op, rhs));
|
|
@@ -107,6 +109,9 @@ export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) {
|
|
|
107
109
|
return new ExpressionWrapper(ParensNode.create(node));
|
|
108
110
|
}
|
|
109
111
|
},
|
|
112
|
+
cast(expr, dataType) {
|
|
113
|
+
return new ExpressionWrapper(CastNode.create(parseReferenceExpression(expr), parseDataTypeExpression(dataType)));
|
|
114
|
+
},
|
|
110
115
|
withSchema(schema) {
|
|
111
116
|
return createExpressionBuilder(executor.withPluginAtFront(new WithSchemaPlugin(schema)));
|
|
112
117
|
},
|
|
@@ -6,7 +6,7 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
6
6
|
* A MySQL helper for aggregating a subquery into a JSON array.
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
9
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
9
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
10
10
|
* may not parse the nested JSON into arrays. In these cases you can use the built in
|
|
11
11
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
12
12
|
*
|
|
@@ -55,7 +55,7 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
55
55
|
* The subquery must only return one row.
|
|
56
56
|
*
|
|
57
57
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
58
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
58
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
59
59
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
60
60
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
61
61
|
*
|
|
@@ -102,7 +102,7 @@ export declare function jsonObjectFrom<O>(expr: SelectQueryBuilderExpression<O>)
|
|
|
102
102
|
* The MySQL `json_object` function.
|
|
103
103
|
*
|
|
104
104
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
105
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
105
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
106
106
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
107
107
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
108
108
|
*
|
|
@@ -5,7 +5,7 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
5
5
|
* A MySQL helper for aggregating a subquery into a JSON array.
|
|
6
6
|
*
|
|
7
7
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
8
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
8
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
9
9
|
* may not parse the nested JSON into arrays. In these cases you can use the built in
|
|
10
10
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
11
11
|
*
|
|
@@ -56,7 +56,7 @@ export function jsonArrayFrom(expr) {
|
|
|
56
56
|
* The subquery must only return one row.
|
|
57
57
|
*
|
|
58
58
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
59
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
59
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
60
60
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
61
61
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
62
62
|
*
|
|
@@ -105,7 +105,7 @@ export function jsonObjectFrom(expr) {
|
|
|
105
105
|
* The MySQL `json_object` function.
|
|
106
106
|
*
|
|
107
107
|
* NOTE: This helper is only guaranteed to fully work with the built-in `MysqlDialect`.
|
|
108
|
-
* While the produced SQL is compatible with all MySQL databases, some
|
|
108
|
+
* While the produced SQL is compatible with all MySQL databases, some third-party dialects
|
|
109
109
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
110
110
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
111
111
|
*
|
|
@@ -15,7 +15,7 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
15
15
|
* Please keep in mind that the helpers under the `kysely/helpers` folder, including
|
|
16
16
|
* `jsonArrayFrom`, are not guaranteed to work with third party dialects. In order for
|
|
17
17
|
* them to work, the dialect must automatically parse the `json` data type into
|
|
18
|
-
*
|
|
18
|
+
* JavaScript JSON values like objects and arrays. Some dialects might simply return
|
|
19
19
|
* the data as a JSON string. In these cases you can use the built in `ParseJSONResultsPlugin`
|
|
20
20
|
* to parse the results.
|
|
21
21
|
*
|
|
@@ -65,9 +65,9 @@ export declare function jsonArrayFrom<O>(expr: Expression<O>): RawBuilder<Simpli
|
|
|
65
65
|
* use the `jsonObjectFrom` helper to fetch person's favorite pet along with the person's id.
|
|
66
66
|
*
|
|
67
67
|
* Please keep in mind that the helpers under the `kysely/helpers` folder, including
|
|
68
|
-
* `jsonObjectFrom`, are not guaranteed to work with
|
|
68
|
+
* `jsonObjectFrom`, are not guaranteed to work with third-party dialects. In order for
|
|
69
69
|
* them to work, the dialect must automatically parse the `json` data type into
|
|
70
|
-
*
|
|
70
|
+
* JavaScript JSON values like objects and arrays. Some dialects might simply return
|
|
71
71
|
* the data as a JSON string. In these cases you can use the built in `ParseJSONResultsPlugin`
|
|
72
72
|
* to parse the results.
|
|
73
73
|
*
|
|
@@ -107,7 +107,7 @@ export declare function jsonObjectFrom<O>(expr: Expression<O>): RawBuilder<Simpl
|
|
|
107
107
|
* The PostgreSQL `json_build_object` function.
|
|
108
108
|
*
|
|
109
109
|
* NOTE: This helper is only guaranteed to fully work with the built-in `PostgresDialect`.
|
|
110
|
-
* While the produced SQL is compatible with all PostgreSQL databases, some
|
|
110
|
+
* While the produced SQL is compatible with all PostgreSQL databases, some third-party dialects
|
|
111
111
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
112
112
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
113
113
|
*
|
|
@@ -14,7 +14,7 @@ import { sql } from '../raw-builder/sql.js';
|
|
|
14
14
|
* Please keep in mind that the helpers under the `kysely/helpers` folder, including
|
|
15
15
|
* `jsonArrayFrom`, are not guaranteed to work with third party dialects. In order for
|
|
16
16
|
* them to work, the dialect must automatically parse the `json` data type into
|
|
17
|
-
*
|
|
17
|
+
* JavaScript JSON values like objects and arrays. Some dialects might simply return
|
|
18
18
|
* the data as a JSON string. In these cases you can use the built in `ParseJSONResultsPlugin`
|
|
19
19
|
* to parse the results.
|
|
20
20
|
*
|
|
@@ -66,9 +66,9 @@ export function jsonArrayFrom(expr) {
|
|
|
66
66
|
* use the `jsonObjectFrom` helper to fetch person's favorite pet along with the person's id.
|
|
67
67
|
*
|
|
68
68
|
* Please keep in mind that the helpers under the `kysely/helpers` folder, including
|
|
69
|
-
* `jsonObjectFrom`, are not guaranteed to work with
|
|
69
|
+
* `jsonObjectFrom`, are not guaranteed to work with third-party dialects. In order for
|
|
70
70
|
* them to work, the dialect must automatically parse the `json` data type into
|
|
71
|
-
*
|
|
71
|
+
* JavaScript JSON values like objects and arrays. Some dialects might simply return
|
|
72
72
|
* the data as a JSON string. In these cases you can use the built in `ParseJSONResultsPlugin`
|
|
73
73
|
* to parse the results.
|
|
74
74
|
*
|
|
@@ -110,7 +110,7 @@ export function jsonObjectFrom(expr) {
|
|
|
110
110
|
* The PostgreSQL `json_build_object` function.
|
|
111
111
|
*
|
|
112
112
|
* NOTE: This helper is only guaranteed to fully work with the built-in `PostgresDialect`.
|
|
113
|
-
* While the produced SQL is compatible with all PostgreSQL databases, some
|
|
113
|
+
* While the produced SQL is compatible with all PostgreSQL databases, some third-party dialects
|
|
114
114
|
* may not parse the nested JSON into objects. In these cases you can use the built in
|
|
115
115
|
* `ParseJSONResultsPlugin` to parse the results.
|
|
116
116
|
*
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { ExpressionBuilder, expressionBuilder, } from './expression/expression-b
|
|
|
5
5
|
export * from './expression/expression-wrapper.js';
|
|
6
6
|
export * from './query-builder/where-interface.js';
|
|
7
7
|
export * from './query-builder/returning-interface.js';
|
|
8
|
+
export * from './query-builder/output-interface.js';
|
|
8
9
|
export * from './query-builder/having-interface.js';
|
|
9
10
|
export * from './query-builder/select-query-builder.js';
|
|
10
11
|
export * from './query-builder/insert-query-builder.js';
|
|
@@ -20,6 +21,8 @@ export * from './query-builder/on-conflict-builder.js';
|
|
|
20
21
|
export * from './query-builder/aggregate-function-builder.js';
|
|
21
22
|
export * from './query-builder/case-builder.js';
|
|
22
23
|
export * from './query-builder/json-path-builder.js';
|
|
24
|
+
export * from './query-builder/merge-query-builder.js';
|
|
25
|
+
export * from './query-builder/merge-result.js';
|
|
23
26
|
export * from './raw-builder/raw-builder.js';
|
|
24
27
|
export * from './raw-builder/sql.js';
|
|
25
28
|
export * from './query-executor/query-executor.js';
|
|
@@ -89,17 +92,21 @@ export * from './plugin/with-schema/with-schema-plugin.js';
|
|
|
89
92
|
export * from './plugin/parse-json-results/parse-json-results-plugin.js';
|
|
90
93
|
export * from './operation-node/add-column-node.js';
|
|
91
94
|
export * from './operation-node/add-constraint-node.js';
|
|
95
|
+
export * from './operation-node/add-index-node.js';
|
|
96
|
+
export * from './operation-node/aggregate-function-node.js';
|
|
92
97
|
export * from './operation-node/alias-node.js';
|
|
93
98
|
export * from './operation-node/alter-column-node.js';
|
|
94
99
|
export * from './operation-node/alter-table-node.js';
|
|
95
100
|
export * from './operation-node/and-node.js';
|
|
101
|
+
export * from './operation-node/binary-operation-node.js';
|
|
96
102
|
export * from './operation-node/case-node.js';
|
|
103
|
+
export * from './operation-node/cast-node.js';
|
|
97
104
|
export * from './operation-node/check-constraint-node.js';
|
|
98
105
|
export * from './operation-node/column-definition-node.js';
|
|
99
106
|
export * from './operation-node/column-node.js';
|
|
100
107
|
export * from './operation-node/column-update-node.js';
|
|
101
|
-
export * from './operation-node/common-table-expression-node.js';
|
|
102
108
|
export * from './operation-node/common-table-expression-name-node.js';
|
|
109
|
+
export * from './operation-node/common-table-expression-node.js';
|
|
103
110
|
export * from './operation-node/constraint-node.js';
|
|
104
111
|
export * from './operation-node/create-index-node.js';
|
|
105
112
|
export * from './operation-node/create-schema-node.js';
|
|
@@ -107,6 +114,7 @@ export * from './operation-node/create-table-node.js';
|
|
|
107
114
|
export * from './operation-node/create-type-node.js';
|
|
108
115
|
export * from './operation-node/create-view-node.js';
|
|
109
116
|
export * from './operation-node/data-type-node.js';
|
|
117
|
+
export * from './operation-node/default-insert-value-node.js';
|
|
110
118
|
export * from './operation-node/default-value-node.js';
|
|
111
119
|
export * from './operation-node/delete-query-node.js';
|
|
112
120
|
export * from './operation-node/drop-column-node.js';
|
|
@@ -116,8 +124,11 @@ export * from './operation-node/drop-schema-node.js';
|
|
|
116
124
|
export * from './operation-node/drop-table-node.js';
|
|
117
125
|
export * from './operation-node/drop-type-node.js';
|
|
118
126
|
export * from './operation-node/drop-view-node.js';
|
|
127
|
+
export * from './operation-node/explain-node.js';
|
|
128
|
+
export * from './operation-node/fetch-node.js';
|
|
119
129
|
export * from './operation-node/foreign-key-constraint-node.js';
|
|
120
130
|
export * from './operation-node/from-node.js';
|
|
131
|
+
export * from './operation-node/function-node.js';
|
|
121
132
|
export * from './operation-node/generated-node.js';
|
|
122
133
|
export * from './operation-node/group-by-item-node.js';
|
|
123
134
|
export * from './operation-node/group-by-node.js';
|
|
@@ -125,8 +136,14 @@ export * from './operation-node/having-node.js';
|
|
|
125
136
|
export * from './operation-node/identifier-node.js';
|
|
126
137
|
export * from './operation-node/insert-query-node.js';
|
|
127
138
|
export * from './operation-node/join-node.js';
|
|
139
|
+
export * from './operation-node/json-operator-chain-node.js';
|
|
140
|
+
export * from './operation-node/json-path-leg-node.js';
|
|
141
|
+
export * from './operation-node/json-path-node.js';
|
|
142
|
+
export * from './operation-node/json-reference-node.js';
|
|
128
143
|
export * from './operation-node/limit-node.js';
|
|
129
144
|
export * from './operation-node/list-node.js';
|
|
145
|
+
export * from './operation-node/matched-node.js';
|
|
146
|
+
export * from './operation-node/merge-query-node.js';
|
|
130
147
|
export * from './operation-node/modify-column-node.js';
|
|
131
148
|
export * from './operation-node/offset-node.js';
|
|
132
149
|
export * from './operation-node/on-conflict-node.js';
|
|
@@ -140,7 +157,11 @@ export * from './operation-node/operator-node.js';
|
|
|
140
157
|
export * from './operation-node/or-node.js';
|
|
141
158
|
export * from './operation-node/order-by-item-node.js';
|
|
142
159
|
export * from './operation-node/order-by-node.js';
|
|
160
|
+
export * from './operation-node/output-node.js';
|
|
161
|
+
export * from './operation-node/over-node.js';
|
|
143
162
|
export * from './operation-node/parens-node.js';
|
|
163
|
+
export * from './operation-node/partition-by-item-node.js';
|
|
164
|
+
export * from './operation-node/partition-by-node.js';
|
|
144
165
|
export * from './operation-node/primary-constraint-node.js';
|
|
145
166
|
export * from './operation-node/primitive-value-list-node.js';
|
|
146
167
|
export * from './operation-node/query-node.js';
|
|
@@ -149,34 +170,26 @@ export * from './operation-node/reference-node.js';
|
|
|
149
170
|
export * from './operation-node/references-node.js';
|
|
150
171
|
export * from './operation-node/rename-column-node.js';
|
|
151
172
|
export * from './operation-node/returning-node.js';
|
|
173
|
+
export * from './operation-node/schemable-identifier-node.js';
|
|
152
174
|
export * from './operation-node/select-all-node.js';
|
|
153
|
-
export * from './operation-node/select-
|
|
175
|
+
export * from './operation-node/select-modifier-node.js';
|
|
154
176
|
export * from './operation-node/select-query-node.js';
|
|
155
177
|
export * from './operation-node/selection-node.js';
|
|
178
|
+
export * from './operation-node/set-operation-node.js';
|
|
179
|
+
export * from './operation-node/simple-reference-expression-node.js';
|
|
156
180
|
export * from './operation-node/table-node.js';
|
|
181
|
+
export * from './operation-node/top-node.js';
|
|
182
|
+
export * from './operation-node/tuple-node.js';
|
|
183
|
+
export * from './operation-node/unary-operation-node.js';
|
|
157
184
|
export * from './operation-node/unique-constraint-node.js';
|
|
158
185
|
export * from './operation-node/update-query-node.js';
|
|
186
|
+
export * from './operation-node/using-node.js';
|
|
159
187
|
export * from './operation-node/value-list-node.js';
|
|
160
188
|
export * from './operation-node/value-node.js';
|
|
161
189
|
export * from './operation-node/values-node.js';
|
|
162
190
|
export * from './operation-node/when-node.js';
|
|
163
191
|
export * from './operation-node/where-node.js';
|
|
164
192
|
export * from './operation-node/with-node.js';
|
|
165
|
-
export * from './operation-node/explain-node.js';
|
|
166
|
-
export * from './operation-node/default-insert-value-node.js';
|
|
167
|
-
export * from './operation-node/aggregate-function-node.js';
|
|
168
|
-
export * from './operation-node/over-node.js';
|
|
169
|
-
export * from './operation-node/partition-by-node.js';
|
|
170
|
-
export * from './operation-node/partition-by-item-node.js';
|
|
171
|
-
export * from './operation-node/set-operation-node.js';
|
|
172
|
-
export * from './operation-node/binary-operation-node.js';
|
|
173
|
-
export * from './operation-node/unary-operation-node.js';
|
|
174
|
-
export * from './operation-node/using-node.js';
|
|
175
|
-
export * from './operation-node/json-reference-node.js';
|
|
176
|
-
export * from './operation-node/json-path-leg-node.js';
|
|
177
|
-
export * from './operation-node/json-path-node.js';
|
|
178
|
-
export * from './operation-node/json-operator-chain-node.js';
|
|
179
|
-
export * from './operation-node/tuple-node.js';
|
|
180
193
|
export * from './util/column-type.js';
|
|
181
194
|
export * from './util/compilable.js';
|
|
182
195
|
export * from './util/explainable.js';
|
|
@@ -188,7 +201,7 @@ export { logOnce } from './util/log-once.js';
|
|
|
188
201
|
export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js';
|
|
189
202
|
export { ReferenceExpression, ReferenceExpressionOrList, SimpleReferenceExpression, StringReference, ExtractTypeFromStringReference, ExtractTypeFromReferenceExpression, } from './parser/reference-parser.js';
|
|
190
203
|
export { ValueExpression, ValueExpressionOrList, } from './parser/value-parser.js';
|
|
191
|
-
export { TableExpression, TableExpressionOrList, } from './parser/table-parser.js';
|
|
204
|
+
export { SimpleTableReference, TableExpression, TableExpressionOrList, } from './parser/table-parser.js';
|
|
192
205
|
export { JoinReferenceExpression, JoinCallbackExpression, } from './parser/join-parser.js';
|
|
193
206
|
export { InsertObject } from './parser/insert-values-parser.js';
|
|
194
207
|
export { UpdateObject } from './parser/update-set-parser.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { expressionBuilder, } from './expression/expression-builder.js';
|
|
|
6
6
|
export * from './expression/expression-wrapper.js';
|
|
7
7
|
export * from './query-builder/where-interface.js';
|
|
8
8
|
export * from './query-builder/returning-interface.js';
|
|
9
|
+
export * from './query-builder/output-interface.js';
|
|
9
10
|
export * from './query-builder/having-interface.js';
|
|
10
11
|
export * from './query-builder/select-query-builder.js';
|
|
11
12
|
export * from './query-builder/insert-query-builder.js';
|
|
@@ -21,6 +22,8 @@ export * from './query-builder/on-conflict-builder.js';
|
|
|
21
22
|
export * from './query-builder/aggregate-function-builder.js';
|
|
22
23
|
export * from './query-builder/case-builder.js';
|
|
23
24
|
export * from './query-builder/json-path-builder.js';
|
|
25
|
+
export * from './query-builder/merge-query-builder.js';
|
|
26
|
+
export * from './query-builder/merge-result.js';
|
|
24
27
|
export * from './raw-builder/raw-builder.js';
|
|
25
28
|
export * from './raw-builder/sql.js';
|
|
26
29
|
export * from './query-executor/query-executor.js';
|
|
@@ -90,17 +93,21 @@ export * from './plugin/with-schema/with-schema-plugin.js';
|
|
|
90
93
|
export * from './plugin/parse-json-results/parse-json-results-plugin.js';
|
|
91
94
|
export * from './operation-node/add-column-node.js';
|
|
92
95
|
export * from './operation-node/add-constraint-node.js';
|
|
96
|
+
export * from './operation-node/add-index-node.js';
|
|
97
|
+
export * from './operation-node/aggregate-function-node.js';
|
|
93
98
|
export * from './operation-node/alias-node.js';
|
|
94
99
|
export * from './operation-node/alter-column-node.js';
|
|
95
100
|
export * from './operation-node/alter-table-node.js';
|
|
96
101
|
export * from './operation-node/and-node.js';
|
|
102
|
+
export * from './operation-node/binary-operation-node.js';
|
|
97
103
|
export * from './operation-node/case-node.js';
|
|
104
|
+
export * from './operation-node/cast-node.js';
|
|
98
105
|
export * from './operation-node/check-constraint-node.js';
|
|
99
106
|
export * from './operation-node/column-definition-node.js';
|
|
100
107
|
export * from './operation-node/column-node.js';
|
|
101
108
|
export * from './operation-node/column-update-node.js';
|
|
102
|
-
export * from './operation-node/common-table-expression-node.js';
|
|
103
109
|
export * from './operation-node/common-table-expression-name-node.js';
|
|
110
|
+
export * from './operation-node/common-table-expression-node.js';
|
|
104
111
|
export * from './operation-node/constraint-node.js';
|
|
105
112
|
export * from './operation-node/create-index-node.js';
|
|
106
113
|
export * from './operation-node/create-schema-node.js';
|
|
@@ -108,6 +115,7 @@ export * from './operation-node/create-table-node.js';
|
|
|
108
115
|
export * from './operation-node/create-type-node.js';
|
|
109
116
|
export * from './operation-node/create-view-node.js';
|
|
110
117
|
export * from './operation-node/data-type-node.js';
|
|
118
|
+
export * from './operation-node/default-insert-value-node.js';
|
|
111
119
|
export * from './operation-node/default-value-node.js';
|
|
112
120
|
export * from './operation-node/delete-query-node.js';
|
|
113
121
|
export * from './operation-node/drop-column-node.js';
|
|
@@ -117,8 +125,11 @@ export * from './operation-node/drop-schema-node.js';
|
|
|
117
125
|
export * from './operation-node/drop-table-node.js';
|
|
118
126
|
export * from './operation-node/drop-type-node.js';
|
|
119
127
|
export * from './operation-node/drop-view-node.js';
|
|
128
|
+
export * from './operation-node/explain-node.js';
|
|
129
|
+
export * from './operation-node/fetch-node.js';
|
|
120
130
|
export * from './operation-node/foreign-key-constraint-node.js';
|
|
121
131
|
export * from './operation-node/from-node.js';
|
|
132
|
+
export * from './operation-node/function-node.js';
|
|
122
133
|
export * from './operation-node/generated-node.js';
|
|
123
134
|
export * from './operation-node/group-by-item-node.js';
|
|
124
135
|
export * from './operation-node/group-by-node.js';
|
|
@@ -126,8 +137,14 @@ export * from './operation-node/having-node.js';
|
|
|
126
137
|
export * from './operation-node/identifier-node.js';
|
|
127
138
|
export * from './operation-node/insert-query-node.js';
|
|
128
139
|
export * from './operation-node/join-node.js';
|
|
140
|
+
export * from './operation-node/json-operator-chain-node.js';
|
|
141
|
+
export * from './operation-node/json-path-leg-node.js';
|
|
142
|
+
export * from './operation-node/json-path-node.js';
|
|
143
|
+
export * from './operation-node/json-reference-node.js';
|
|
129
144
|
export * from './operation-node/limit-node.js';
|
|
130
145
|
export * from './operation-node/list-node.js';
|
|
146
|
+
export * from './operation-node/matched-node.js';
|
|
147
|
+
export * from './operation-node/merge-query-node.js';
|
|
131
148
|
export * from './operation-node/modify-column-node.js';
|
|
132
149
|
export * from './operation-node/offset-node.js';
|
|
133
150
|
export * from './operation-node/on-conflict-node.js';
|
|
@@ -141,7 +158,11 @@ export * from './operation-node/operator-node.js';
|
|
|
141
158
|
export * from './operation-node/or-node.js';
|
|
142
159
|
export * from './operation-node/order-by-item-node.js';
|
|
143
160
|
export * from './operation-node/order-by-node.js';
|
|
161
|
+
export * from './operation-node/output-node.js';
|
|
162
|
+
export * from './operation-node/over-node.js';
|
|
144
163
|
export * from './operation-node/parens-node.js';
|
|
164
|
+
export * from './operation-node/partition-by-item-node.js';
|
|
165
|
+
export * from './operation-node/partition-by-node.js';
|
|
145
166
|
export * from './operation-node/primary-constraint-node.js';
|
|
146
167
|
export * from './operation-node/primitive-value-list-node.js';
|
|
147
168
|
export * from './operation-node/query-node.js';
|
|
@@ -150,34 +171,26 @@ export * from './operation-node/reference-node.js';
|
|
|
150
171
|
export * from './operation-node/references-node.js';
|
|
151
172
|
export * from './operation-node/rename-column-node.js';
|
|
152
173
|
export * from './operation-node/returning-node.js';
|
|
174
|
+
export * from './operation-node/schemable-identifier-node.js';
|
|
153
175
|
export * from './operation-node/select-all-node.js';
|
|
154
|
-
export * from './operation-node/select-
|
|
176
|
+
export * from './operation-node/select-modifier-node.js';
|
|
155
177
|
export * from './operation-node/select-query-node.js';
|
|
156
178
|
export * from './operation-node/selection-node.js';
|
|
179
|
+
export * from './operation-node/set-operation-node.js';
|
|
180
|
+
export * from './operation-node/simple-reference-expression-node.js';
|
|
157
181
|
export * from './operation-node/table-node.js';
|
|
182
|
+
export * from './operation-node/top-node.js';
|
|
183
|
+
export * from './operation-node/tuple-node.js';
|
|
184
|
+
export * from './operation-node/unary-operation-node.js';
|
|
158
185
|
export * from './operation-node/unique-constraint-node.js';
|
|
159
186
|
export * from './operation-node/update-query-node.js';
|
|
187
|
+
export * from './operation-node/using-node.js';
|
|
160
188
|
export * from './operation-node/value-list-node.js';
|
|
161
189
|
export * from './operation-node/value-node.js';
|
|
162
190
|
export * from './operation-node/values-node.js';
|
|
163
191
|
export * from './operation-node/when-node.js';
|
|
164
192
|
export * from './operation-node/where-node.js';
|
|
165
193
|
export * from './operation-node/with-node.js';
|
|
166
|
-
export * from './operation-node/explain-node.js';
|
|
167
|
-
export * from './operation-node/default-insert-value-node.js';
|
|
168
|
-
export * from './operation-node/aggregate-function-node.js';
|
|
169
|
-
export * from './operation-node/over-node.js';
|
|
170
|
-
export * from './operation-node/partition-by-node.js';
|
|
171
|
-
export * from './operation-node/partition-by-item-node.js';
|
|
172
|
-
export * from './operation-node/set-operation-node.js';
|
|
173
|
-
export * from './operation-node/binary-operation-node.js';
|
|
174
|
-
export * from './operation-node/unary-operation-node.js';
|
|
175
|
-
export * from './operation-node/using-node.js';
|
|
176
|
-
export * from './operation-node/json-reference-node.js';
|
|
177
|
-
export * from './operation-node/json-path-leg-node.js';
|
|
178
|
-
export * from './operation-node/json-path-node.js';
|
|
179
|
-
export * from './operation-node/json-operator-chain-node.js';
|
|
180
|
-
export * from './operation-node/tuple-node.js';
|
|
181
194
|
export * from './util/column-type.js';
|
|
182
195
|
export * from './util/compilable.js';
|
|
183
196
|
export * from './util/explainable.js';
|
package/dist/esm/kysely.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ import { DrainOuterGeneric } from './util/type-utils.js';
|
|
|
20
20
|
* The main Kysely class.
|
|
21
21
|
*
|
|
22
22
|
* You should create one instance of `Kysely` per database using the {@link Kysely}
|
|
23
|
-
* constructor. Each `Kysely` instance maintains
|
|
23
|
+
* constructor. Each `Kysely` instance maintains its own connection pool.
|
|
24
24
|
*
|
|
25
25
|
* ### Examples
|
|
26
26
|
*
|
package/dist/esm/kysely.js
CHANGED
|
@@ -21,7 +21,7 @@ import { WithSchemaPlugin } from './plugin/with-schema/with-schema-plugin.js';
|
|
|
21
21
|
* The main Kysely class.
|
|
22
22
|
*
|
|
23
23
|
* You should create one instance of `Kysely` per database using the {@link Kysely}
|
|
24
|
-
* constructor. Each `Kysely` instance maintains
|
|
24
|
+
* constructor. Each `Kysely` instance maintains its own connection pool.
|
|
25
25
|
*
|
|
26
26
|
* ### Examples
|
|
27
27
|
*
|
|
@@ -17,5 +17,5 @@ export interface AlterColumnNode extends OperationNode {
|
|
|
17
17
|
*/
|
|
18
18
|
export declare const AlterColumnNode: Readonly<{
|
|
19
19
|
is(node: OperationNode): node is AlterColumnNode;
|
|
20
|
-
create<T extends
|
|
20
|
+
create<T extends keyof AlterColumnNodeProps>(column: string, prop: T, value: Required<AlterColumnNodeProps>[T]): AlterColumnNode;
|
|
21
21
|
}>;
|
|
@@ -15,5 +15,5 @@ export declare const CaseNode: Readonly<{
|
|
|
15
15
|
create(value?: OperationNode): CaseNode;
|
|
16
16
|
cloneWithWhen(caseNode: CaseNode, when: WhenNode): CaseNode;
|
|
17
17
|
cloneWithThen(caseNode: CaseNode, then: OperationNode): CaseNode;
|
|
18
|
-
cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode,
|
|
18
|
+
cloneWith(caseNode: CaseNode, props: Partial<Pick<CaseNode, "else" | "isStatement">>): CaseNode;
|
|
19
19
|
}>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
export interface CastNode extends OperationNode {
|
|
3
|
+
readonly kind: 'CastNode';
|
|
4
|
+
readonly expression: OperationNode;
|
|
5
|
+
readonly dataType: OperationNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const CastNode: Readonly<{
|
|
11
|
+
is(node: OperationNode): node is CastNode;
|
|
12
|
+
create(expression: OperationNode, dataType: OperationNode): CastNode;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="./cast-node.d.ts" />
|
|
2
|
+
import { freeze } from '../util/object-utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const CastNode = freeze({
|
|
7
|
+
is(node) {
|
|
8
|
+
return node.kind === 'CastNode';
|
|
9
|
+
},
|
|
10
|
+
create(expression, dataType) {
|
|
11
|
+
return freeze({
|
|
12
|
+
kind: 'CastNode',
|
|
13
|
+
expression,
|
|
14
|
+
dataType,
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -21,6 +21,8 @@ export interface ColumnDefinitionNode extends OperationNode {
|
|
|
21
21
|
readonly frontModifiers?: ReadonlyArray<OperationNode>;
|
|
22
22
|
readonly endModifiers?: ReadonlyArray<OperationNode>;
|
|
23
23
|
readonly nullsNotDistinct?: boolean;
|
|
24
|
+
readonly identity?: boolean;
|
|
25
|
+
readonly ifNotExists?: boolean;
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* @internal
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
|
|
2
|
+
declare const SIMPLE_COLUMN_DATA_TYPES: readonly ["varchar", "char", "text", "integer", "int2", "int4", "int8", "smallint", "bigint", "boolean", "real", "double precision", "float4", "float8", "decimal", "numeric", "binary", "bytea", "date", "datetime", "time", "timetz", "timestamp", "timestamptz", "serial", "bigserial", "uuid", "json", "jsonb", "blob", "varbinary"];
|
|
3
|
+
type SimpleColumnDataType = (typeof SIMPLE_COLUMN_DATA_TYPES)[number];
|
|
4
|
+
export type ColumnDataType = SimpleColumnDataType | `varchar(${number})` | `char(${number})` | `decimal(${number}, ${number})` | `numeric(${number}, ${number})` | `binary(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `timestamptz(${number})` | `varbinary(${number})`;
|
|
3
5
|
export type DataTypeParams = Omit<DataTypeNode, 'kind' | 'dataType'>;
|
|
4
6
|
export interface DataTypeNode extends OperationNode {
|
|
5
7
|
readonly kind: 'DataTypeNode';
|
|
@@ -12,3 +14,5 @@ export declare const DataTypeNode: Readonly<{
|
|
|
12
14
|
is(node: OperationNode): node is DataTypeNode;
|
|
13
15
|
create(dataType: ColumnDataType): DataTypeNode;
|
|
14
16
|
}>;
|
|
17
|
+
export declare function isColumnDataType(dataType: string): dataType is ColumnDataType;
|
|
18
|
+
export {};
|