kysely 0.27.4 → 0.27.5
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/.renovaterc.json +3 -0
- package/CONTRIBUTING.md +1 -1
- package/deno.check.d.ts +86 -0
- package/deno.check.json +21 -0
- package/dist/cjs/dialect/dialect-adapter-base.d.ts +11 -2
- package/dist/cjs/dialect/dialect-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +37 -29
- package/dist/cjs/dialect/mssql/mssql-driver.js +20 -13
- package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/cjs/dialect/mysql/mysql-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/cjs/dialect/postgres/postgres-driver.js +3 -0
- package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/cjs/driver/dummy-driver.d.ts +13 -12
- package/dist/cjs/driver/dummy-driver.js +13 -12
- package/dist/cjs/dynamic/dynamic.d.ts +6 -6
- package/dist/cjs/dynamic/dynamic.js +6 -6
- package/dist/cjs/expression/expression-builder.d.ts +152 -61
- package/dist/cjs/expression/expression-wrapper.d.ts +92 -23
- package/dist/cjs/expression/expression.d.ts +40 -5
- package/dist/cjs/helpers/mssql.d.ts +74 -14
- package/dist/cjs/helpers/mssql.js +74 -14
- package/dist/cjs/helpers/mysql.d.ts +14 -10
- package/dist/cjs/helpers/mysql.js +14 -10
- package/dist/cjs/helpers/postgres.d.ts +7 -4
- package/dist/cjs/helpers/postgres.js +7 -4
- package/dist/cjs/helpers/sqlite.d.ts +41 -16
- package/dist/cjs/helpers/sqlite.js +41 -16
- package/dist/cjs/kysely.d.ts +99 -41
- package/dist/cjs/kysely.js +60 -36
- package/dist/cjs/migration/file-migration-provider.d.ts +2 -2
- package/dist/cjs/migration/file-migration-provider.js +2 -2
- package/dist/cjs/migration/migrator.d.ts +82 -14
- package/dist/cjs/migration/migrator.js +82 -14
- package/dist/cjs/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/cjs/operation-node/aggregate-function-node.js +9 -0
- package/dist/cjs/operation-node/data-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/data-type-node.js +12 -0
- package/dist/cjs/operation-node/delete-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/insert-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/merge-query-node.d.ts +1 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +9 -3
- package/dist/cjs/operation-node/operation-node-transformer.js +14 -3
- package/dist/cjs/operation-node/query-node.d.ts +4 -0
- package/dist/cjs/operation-node/query-node.js +8 -0
- package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
- package/dist/cjs/operation-node/select-query-node.js +0 -8
- package/dist/cjs/operation-node/update-query-node.d.ts +1 -0
- package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +52 -25
- package/dist/cjs/plugin/camel-case/camel-case-plugin.js +24 -19
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/cjs/plugin/kysely-plugin.d.ts +28 -6
- package/dist/cjs/plugin/noop-plugin.d.ts +28 -6
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
- package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
- package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/cjs/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/cjs/query-builder/aggregate-function-builder.js +30 -0
- package/dist/cjs/query-builder/delete-query-builder.d.ts +137 -45
- package/dist/cjs/query-builder/delete-query-builder.js +76 -26
- package/dist/cjs/query-builder/function-module.d.ts +35 -88
- package/dist/cjs/query-builder/insert-query-builder.d.ts +239 -65
- package/dist/cjs/query-builder/insert-query-builder.js +188 -52
- package/dist/cjs/query-builder/insert-result.d.ts +10 -5
- package/dist/cjs/query-builder/insert-result.js +10 -5
- package/dist/cjs/query-builder/json-path-builder.d.ts +33 -9
- package/dist/cjs/query-builder/json-path-builder.js +8 -5
- package/dist/cjs/query-builder/merge-query-builder.d.ts +159 -21
- package/dist/cjs/query-builder/merge-query-builder.js +68 -6
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +51 -18
- package/dist/cjs/query-builder/on-conflict-builder.js +41 -16
- package/dist/cjs/query-builder/output-interface.d.ts +50 -7
- package/dist/cjs/query-builder/returning-interface.d.ts +5 -5
- package/dist/cjs/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/cjs/query-builder/select-query-builder.d.ts +295 -63
- package/dist/cjs/query-builder/select-query-builder.js +7 -7
- package/dist/cjs/query-builder/update-query-builder.d.ts +138 -29
- package/dist/cjs/query-builder/update-query-builder.js +75 -10
- package/dist/cjs/query-builder/update-result.d.ts +2 -2
- package/dist/cjs/query-builder/update-result.js +2 -2
- package/dist/cjs/query-builder/where-interface.d.ts +5 -1
- package/dist/cjs/query-compiler/default-query-compiler.js +20 -0
- package/dist/cjs/query-creator.d.ts +66 -18
- package/dist/cjs/query-creator.js +2 -2
- package/dist/cjs/raw-builder/raw-builder.d.ts +29 -7
- package/dist/cjs/raw-builder/sql.d.ts +26 -7
- package/dist/cjs/schema/alter-column-builder.d.ts +17 -3
- package/dist/cjs/schema/alter-column-builder.js +17 -3
- package/dist/cjs/schema/alter-table-add-index-builder.d.ts +43 -9
- package/dist/cjs/schema/alter-table-add-index-builder.js +26 -9
- package/dist/cjs/schema/column-definition-builder.d.ts +283 -26
- package/dist/cjs/schema/column-definition-builder.js +283 -26
- package/dist/cjs/schema/create-table-builder.d.ts +86 -33
- package/dist/cjs/schema/create-table-builder.js +86 -33
- package/dist/cjs/util/column-type.d.ts +5 -9
- package/dist/cjs/util/require-all-props.d.ts +4 -2
- package/dist/cjs/util/require-all-props.js +4 -2
- package/dist/cjs/util/streamable.d.ts +1 -1
- package/dist/cjs/util/type-utils.d.ts +4 -2
- package/dist/esm/dialect/dialect-adapter-base.d.ts +11 -2
- package/dist/esm/dialect/dialect-adapter.d.ts +11 -2
- package/dist/esm/dialect/mssql/mssql-adapter.d.ts +11 -2
- package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +37 -29
- package/dist/esm/dialect/mssql/mssql-driver.js +20 -13
- package/dist/esm/dialect/mysql/mysql-adapter.d.ts +11 -2
- package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +4 -0
- package/dist/esm/dialect/mysql/mysql-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-adapter.d.ts +11 -2
- package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +10 -3
- package/dist/esm/dialect/postgres/postgres-driver.js +3 -0
- package/dist/esm/dialect/postgres/postgres-introspector.js +5 -1
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +11 -2
- package/dist/esm/driver/dummy-driver.d.ts +13 -12
- package/dist/esm/driver/dummy-driver.js +13 -12
- package/dist/esm/dynamic/dynamic.d.ts +6 -6
- package/dist/esm/dynamic/dynamic.js +6 -6
- package/dist/esm/expression/expression-builder.d.ts +152 -61
- package/dist/esm/expression/expression-wrapper.d.ts +92 -23
- package/dist/esm/expression/expression.d.ts +40 -5
- package/dist/esm/helpers/mssql.d.ts +74 -14
- package/dist/esm/helpers/mssql.js +74 -14
- package/dist/esm/helpers/mysql.d.ts +14 -10
- package/dist/esm/helpers/mysql.js +14 -10
- package/dist/esm/helpers/postgres.d.ts +7 -4
- package/dist/esm/helpers/postgres.js +7 -4
- package/dist/esm/helpers/sqlite.d.ts +41 -16
- package/dist/esm/helpers/sqlite.js +41 -16
- package/dist/esm/kysely.d.ts +99 -41
- package/dist/esm/kysely.js +60 -36
- package/dist/esm/migration/file-migration-provider.d.ts +2 -2
- package/dist/esm/migration/file-migration-provider.js +2 -2
- package/dist/esm/migration/migrator.d.ts +82 -14
- package/dist/esm/migration/migrator.js +82 -14
- package/dist/esm/operation-node/aggregate-function-node.d.ts +4 -0
- package/dist/esm/operation-node/aggregate-function-node.js +9 -0
- package/dist/esm/operation-node/data-type-node.d.ts +1 -1
- package/dist/esm/operation-node/data-type-node.js +12 -0
- package/dist/esm/operation-node/delete-query-node.d.ts +1 -0
- package/dist/esm/operation-node/insert-query-node.d.ts +1 -0
- package/dist/esm/operation-node/merge-query-node.d.ts +1 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +9 -3
- package/dist/esm/operation-node/operation-node-transformer.js +14 -3
- package/dist/esm/operation-node/query-node.d.ts +4 -0
- package/dist/esm/operation-node/query-node.js +8 -0
- package/dist/esm/operation-node/select-query-node.d.ts +0 -1
- package/dist/esm/operation-node/select-query-node.js +0 -8
- package/dist/esm/operation-node/update-query-node.d.ts +1 -0
- package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +52 -25
- package/dist/esm/plugin/camel-case/camel-case-plugin.js +24 -19
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
- package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
- package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
- package/dist/esm/plugin/kysely-plugin.d.ts +28 -6
- package/dist/esm/plugin/noop-plugin.d.ts +28 -6
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
- package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
- package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +28 -6
- package/dist/esm/query-builder/aggregate-function-builder.d.ts +43 -1
- package/dist/esm/query-builder/aggregate-function-builder.js +30 -0
- package/dist/esm/query-builder/delete-query-builder.d.ts +137 -45
- package/dist/esm/query-builder/delete-query-builder.js +76 -26
- package/dist/esm/query-builder/function-module.d.ts +35 -88
- package/dist/esm/query-builder/insert-query-builder.d.ts +239 -65
- package/dist/esm/query-builder/insert-query-builder.js +188 -52
- package/dist/esm/query-builder/insert-result.d.ts +10 -5
- package/dist/esm/query-builder/insert-result.js +10 -5
- package/dist/esm/query-builder/json-path-builder.d.ts +33 -9
- package/dist/esm/query-builder/json-path-builder.js +8 -5
- package/dist/esm/query-builder/merge-query-builder.d.ts +159 -21
- package/dist/esm/query-builder/merge-query-builder.js +68 -6
- package/dist/esm/query-builder/on-conflict-builder.d.ts +51 -18
- package/dist/esm/query-builder/on-conflict-builder.js +41 -16
- package/dist/esm/query-builder/output-interface.d.ts +50 -7
- package/dist/esm/query-builder/returning-interface.d.ts +5 -5
- package/dist/esm/query-builder/select-query-builder-expression.d.ts +8 -0
- package/dist/esm/query-builder/select-query-builder.d.ts +295 -63
- package/dist/esm/query-builder/select-query-builder.js +7 -7
- package/dist/esm/query-builder/update-query-builder.d.ts +138 -29
- package/dist/esm/query-builder/update-query-builder.js +75 -10
- package/dist/esm/query-builder/update-result.d.ts +2 -2
- package/dist/esm/query-builder/update-result.js +2 -2
- package/dist/esm/query-builder/where-interface.d.ts +5 -1
- package/dist/esm/query-compiler/default-query-compiler.js +20 -0
- package/dist/esm/query-creator.d.ts +66 -18
- package/dist/esm/query-creator.js +2 -2
- package/dist/esm/raw-builder/raw-builder.d.ts +29 -7
- package/dist/esm/raw-builder/sql.d.ts +26 -7
- package/dist/esm/schema/alter-column-builder.d.ts +17 -3
- package/dist/esm/schema/alter-column-builder.js +17 -3
- package/dist/esm/schema/alter-table-add-index-builder.d.ts +43 -9
- package/dist/esm/schema/alter-table-add-index-builder.js +26 -9
- package/dist/esm/schema/column-definition-builder.d.ts +283 -26
- package/dist/esm/schema/column-definition-builder.js +283 -26
- package/dist/esm/schema/create-table-builder.d.ts +86 -33
- package/dist/esm/schema/create-table-builder.js +86 -33
- package/dist/esm/util/column-type.d.ts +5 -9
- package/dist/esm/util/require-all-props.d.ts +4 -2
- package/dist/esm/util/require-all-props.js +4 -2
- package/dist/esm/util/streamable.d.ts +1 -1
- package/dist/esm/util/type-utils.d.ts +4 -2
- package/package.json +28 -23
|
@@ -9,8 +9,26 @@ import { sql } from '../raw-builder/sql.js';
|
|
|
9
9
|
* The plugin can be installed like this:
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
13
|
+
* import * as Tarn from 'tarn'
|
|
14
|
+
* import * as Tedious from 'tedious'
|
|
15
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
16
|
+
*
|
|
17
|
+
* const db = new Kysely<Database>({
|
|
18
|
+
* dialect: new MssqlDialect({
|
|
19
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
20
|
+
* tedious: {
|
|
21
|
+
* ...Tedious,
|
|
22
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
23
|
+
* authentication: {
|
|
24
|
+
* options: { password: 'password', userName: 'sa' },
|
|
25
|
+
* type: 'default',
|
|
26
|
+
* },
|
|
27
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
28
|
+
* server: 'localhost',
|
|
29
|
+
* }),
|
|
30
|
+
* },
|
|
31
|
+
* }),
|
|
14
32
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
15
33
|
* })
|
|
16
34
|
* ```
|
|
@@ -18,6 +36,8 @@ import { sql } from '../raw-builder/sql.js';
|
|
|
18
36
|
* ### Examples
|
|
19
37
|
*
|
|
20
38
|
* ```ts
|
|
39
|
+
* import { jsonArrayFrom } from 'kysely/helpers/mssql'
|
|
40
|
+
*
|
|
21
41
|
* const result = await db
|
|
22
42
|
* .selectFrom('person')
|
|
23
43
|
* .select((eb) => [
|
|
@@ -27,14 +47,14 @@ import { sql } from '../raw-builder/sql.js';
|
|
|
27
47
|
* .select(['pet.id as pet_id', 'pet.name'])
|
|
28
48
|
* .whereRef('pet.owner_id', '=', 'person.id')
|
|
29
49
|
* .orderBy('pet.name')
|
|
30
|
-
* .
|
|
50
|
+
* .offset(0)
|
|
31
51
|
* ).as('pets')
|
|
32
52
|
* ])
|
|
33
53
|
* .execute()
|
|
34
54
|
*
|
|
35
|
-
* result[0]
|
|
36
|
-
* result[0]
|
|
37
|
-
* result[0]
|
|
55
|
+
* result[0]?.id
|
|
56
|
+
* result[0]?.pets[0]?.pet_id
|
|
57
|
+
* result[0]?.pets[0]?.name
|
|
38
58
|
* ```
|
|
39
59
|
*
|
|
40
60
|
* The generated SQL (MS SQL Server):
|
|
@@ -46,7 +66,7 @@ import { sql } from '../raw-builder/sql.js';
|
|
|
46
66
|
* from "pet"
|
|
47
67
|
* where "pet"."owner_id" = "person"."id"
|
|
48
68
|
* order by "pet"."name"
|
|
49
|
-
* offset
|
|
69
|
+
* offset @1 rows
|
|
50
70
|
* ) as "agg" for json path, include_null_values), '[]')
|
|
51
71
|
* ) as "pets"
|
|
52
72
|
* from "person"
|
|
@@ -66,8 +86,26 @@ export function jsonArrayFrom(expr) {
|
|
|
66
86
|
* The plugin can be installed like this:
|
|
67
87
|
*
|
|
68
88
|
* ```ts
|
|
69
|
-
*
|
|
70
|
-
*
|
|
89
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
90
|
+
* import * as Tarn from 'tarn'
|
|
91
|
+
* import * as Tedious from 'tedious'
|
|
92
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
93
|
+
*
|
|
94
|
+
* const db = new Kysely<Database>({
|
|
95
|
+
* dialect: new MssqlDialect({
|
|
96
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
97
|
+
* tedious: {
|
|
98
|
+
* ...Tedious,
|
|
99
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
100
|
+
* authentication: {
|
|
101
|
+
* options: { password: 'password', userName: 'sa' },
|
|
102
|
+
* type: 'default',
|
|
103
|
+
* },
|
|
104
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
105
|
+
* server: 'localhost',
|
|
106
|
+
* }),
|
|
107
|
+
* },
|
|
108
|
+
* }),
|
|
71
109
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
72
110
|
* })
|
|
73
111
|
* ```
|
|
@@ -75,6 +113,8 @@ export function jsonArrayFrom(expr) {
|
|
|
75
113
|
* ### Examples
|
|
76
114
|
*
|
|
77
115
|
* ```ts
|
|
116
|
+
* import { jsonObjectFrom } from 'kysely/helpers/mssql'
|
|
117
|
+
*
|
|
78
118
|
* const result = await db
|
|
79
119
|
* .selectFrom('person')
|
|
80
120
|
* .select((eb) => [
|
|
@@ -88,9 +128,9 @@ export function jsonArrayFrom(expr) {
|
|
|
88
128
|
* ])
|
|
89
129
|
* .execute()
|
|
90
130
|
*
|
|
91
|
-
* result[0]
|
|
92
|
-
* result[0]
|
|
93
|
-
* result[0]
|
|
131
|
+
* result[0]?.id
|
|
132
|
+
* result[0]?.favorite_pet?.pet_id
|
|
133
|
+
* result[0]?.favorite_pet?.name
|
|
94
134
|
* ```
|
|
95
135
|
*
|
|
96
136
|
* The generated SQL (MS SQL Server):
|
|
@@ -119,8 +159,26 @@ export function jsonObjectFrom(expr) {
|
|
|
119
159
|
* The plugin can be installed like this:
|
|
120
160
|
*
|
|
121
161
|
* ```ts
|
|
122
|
-
*
|
|
123
|
-
*
|
|
162
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
163
|
+
* import * as Tarn from 'tarn'
|
|
164
|
+
* import * as Tedious from 'tedious'
|
|
165
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
166
|
+
*
|
|
167
|
+
* const db = new Kysely<Database>({
|
|
168
|
+
* dialect: new MssqlDialect({
|
|
169
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
170
|
+
* tedious: {
|
|
171
|
+
* ...Tedious,
|
|
172
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
173
|
+
* authentication: {
|
|
174
|
+
* options: { password: 'password', userName: 'sa' },
|
|
175
|
+
* type: 'default',
|
|
176
|
+
* },
|
|
177
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
178
|
+
* server: 'localhost',
|
|
179
|
+
* }),
|
|
180
|
+
* },
|
|
181
|
+
* }),
|
|
124
182
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
125
183
|
* })
|
|
126
184
|
* ```
|
|
@@ -128,6 +186,8 @@ export function jsonObjectFrom(expr) {
|
|
|
128
186
|
* ### Examples
|
|
129
187
|
*
|
|
130
188
|
* ```ts
|
|
189
|
+
* import { jsonBuildObject } from 'kysely/helpers/mssql'
|
|
190
|
+
*
|
|
131
191
|
* const result = await db
|
|
132
192
|
* .selectFrom('person')
|
|
133
193
|
* .select((eb) => [
|
|
@@ -13,6 +13,8 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
13
13
|
* ### Examples
|
|
14
14
|
*
|
|
15
15
|
* ```ts
|
|
16
|
+
* import { jsonArrayFrom } from 'kysely/helpers/mysql'
|
|
17
|
+
*
|
|
16
18
|
* const result = await db
|
|
17
19
|
* .selectFrom('person')
|
|
18
20
|
* .select((eb) => [
|
|
@@ -26,9 +28,9 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
26
28
|
* ])
|
|
27
29
|
* .execute()
|
|
28
30
|
*
|
|
29
|
-
* result[0]
|
|
30
|
-
* result[0]
|
|
31
|
-
* result[0]
|
|
31
|
+
* result[0]?.id
|
|
32
|
+
* result[0]?.pets[0]?.pet_id
|
|
33
|
+
* result[0]?.pets[0]?.name
|
|
32
34
|
* ```
|
|
33
35
|
*
|
|
34
36
|
* The generated SQL (MySQL):
|
|
@@ -62,6 +64,8 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
62
64
|
* ### Examples
|
|
63
65
|
*
|
|
64
66
|
* ```ts
|
|
67
|
+
* import { jsonObjectFrom } from 'kysely/helpers/mysql'
|
|
68
|
+
*
|
|
65
69
|
* const result = await db
|
|
66
70
|
* .selectFrom('person')
|
|
67
71
|
* .select((eb) => [
|
|
@@ -75,9 +79,9 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
75
79
|
* ])
|
|
76
80
|
* .execute()
|
|
77
81
|
*
|
|
78
|
-
* result[0]
|
|
79
|
-
* result[0]
|
|
80
|
-
* result[0]
|
|
82
|
+
* result[0]?.id
|
|
83
|
+
* result[0]?.favorite_pet?.pet_id
|
|
84
|
+
* result[0]?.favorite_pet?.name
|
|
81
85
|
* ```
|
|
82
86
|
*
|
|
83
87
|
* The generated SQL (MySQL):
|
|
@@ -121,10 +125,10 @@ export declare function jsonObjectFrom<O>(expr: SelectQueryBuilderExpression<O>)
|
|
|
121
125
|
* ])
|
|
122
126
|
* .execute()
|
|
123
127
|
*
|
|
124
|
-
* result[0]
|
|
125
|
-
* result[0]
|
|
126
|
-
* result[0]
|
|
127
|
-
* result[0]
|
|
128
|
+
* result[0]?.id
|
|
129
|
+
* result[0]?.name.first
|
|
130
|
+
* result[0]?.name.last
|
|
131
|
+
* result[0]?.name.full
|
|
128
132
|
* ```
|
|
129
133
|
*
|
|
130
134
|
* The generated SQL (MySQL):
|
|
@@ -12,6 +12,8 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
12
12
|
* ### Examples
|
|
13
13
|
*
|
|
14
14
|
* ```ts
|
|
15
|
+
* import { jsonArrayFrom } from 'kysely/helpers/mysql'
|
|
16
|
+
*
|
|
15
17
|
* const result = await db
|
|
16
18
|
* .selectFrom('person')
|
|
17
19
|
* .select((eb) => [
|
|
@@ -25,9 +27,9 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
25
27
|
* ])
|
|
26
28
|
* .execute()
|
|
27
29
|
*
|
|
28
|
-
* result[0]
|
|
29
|
-
* result[0]
|
|
30
|
-
* result[0]
|
|
30
|
+
* result[0]?.id
|
|
31
|
+
* result[0]?.pets[0]?.pet_id
|
|
32
|
+
* result[0]?.pets[0]?.name
|
|
31
33
|
* ```
|
|
32
34
|
*
|
|
33
35
|
* The generated SQL (MySQL):
|
|
@@ -63,6 +65,8 @@ export function jsonArrayFrom(expr) {
|
|
|
63
65
|
* ### Examples
|
|
64
66
|
*
|
|
65
67
|
* ```ts
|
|
68
|
+
* import { jsonObjectFrom } from 'kysely/helpers/mysql'
|
|
69
|
+
*
|
|
66
70
|
* const result = await db
|
|
67
71
|
* .selectFrom('person')
|
|
68
72
|
* .select((eb) => [
|
|
@@ -76,9 +80,9 @@ export function jsonArrayFrom(expr) {
|
|
|
76
80
|
* ])
|
|
77
81
|
* .execute()
|
|
78
82
|
*
|
|
79
|
-
* result[0]
|
|
80
|
-
* result[0]
|
|
81
|
-
* result[0]
|
|
83
|
+
* result[0]?.id
|
|
84
|
+
* result[0]?.favorite_pet?.pet_id
|
|
85
|
+
* result[0]?.favorite_pet?.name
|
|
82
86
|
* ```
|
|
83
87
|
*
|
|
84
88
|
* The generated SQL (MySQL):
|
|
@@ -124,10 +128,10 @@ export function jsonObjectFrom(expr) {
|
|
|
124
128
|
* ])
|
|
125
129
|
* .execute()
|
|
126
130
|
*
|
|
127
|
-
* result[0]
|
|
128
|
-
* result[0]
|
|
129
|
-
* result[0]
|
|
130
|
-
* result[0]
|
|
131
|
+
* result[0]?.id
|
|
132
|
+
* result[0]?.name.first
|
|
133
|
+
* result[0]?.name.last
|
|
134
|
+
* result[0]?.name.full
|
|
131
135
|
* ```
|
|
132
136
|
*
|
|
133
137
|
* The generated SQL (MySQL):
|
|
@@ -114,6 +114,9 @@ export declare function jsonObjectFrom<O>(expr: Expression<O>): RawBuilder<Simpl
|
|
|
114
114
|
* ### Examples
|
|
115
115
|
*
|
|
116
116
|
* ```ts
|
|
117
|
+
* import { sql } from 'kysely'
|
|
118
|
+
* import { jsonBuildObject } from 'kysely/helpers/postgres'
|
|
119
|
+
*
|
|
117
120
|
* const result = await db
|
|
118
121
|
* .selectFrom('person')
|
|
119
122
|
* .select((eb) => [
|
|
@@ -126,10 +129,10 @@ export declare function jsonObjectFrom<O>(expr: Expression<O>): RawBuilder<Simpl
|
|
|
126
129
|
* ])
|
|
127
130
|
* .execute()
|
|
128
131
|
*
|
|
129
|
-
* result[0]
|
|
130
|
-
* result[0]
|
|
131
|
-
* result[0]
|
|
132
|
-
* result[0]
|
|
132
|
+
* result[0]?.id
|
|
133
|
+
* result[0]?.name.first
|
|
134
|
+
* result[0]?.name.last
|
|
135
|
+
* result[0]?.name.full
|
|
133
136
|
* ```
|
|
134
137
|
*
|
|
135
138
|
* The generated SQL (PostgreSQL):
|
|
@@ -117,6 +117,9 @@ export function jsonObjectFrom(expr) {
|
|
|
117
117
|
* ### Examples
|
|
118
118
|
*
|
|
119
119
|
* ```ts
|
|
120
|
+
* import { sql } from 'kysely'
|
|
121
|
+
* import { jsonBuildObject } from 'kysely/helpers/postgres'
|
|
122
|
+
*
|
|
120
123
|
* const result = await db
|
|
121
124
|
* .selectFrom('person')
|
|
122
125
|
* .select((eb) => [
|
|
@@ -129,10 +132,10 @@ export function jsonObjectFrom(expr) {
|
|
|
129
132
|
* ])
|
|
130
133
|
* .execute()
|
|
131
134
|
*
|
|
132
|
-
* result[0]
|
|
133
|
-
* result[0]
|
|
134
|
-
* result[0]
|
|
135
|
-
* result[0]
|
|
135
|
+
* result[0]?.id
|
|
136
|
+
* result[0]?.name.first
|
|
137
|
+
* result[0]?.name.last
|
|
138
|
+
* result[0]?.name.full
|
|
136
139
|
* ```
|
|
137
140
|
*
|
|
138
141
|
* The generated SQL (PostgreSQL):
|
|
@@ -11,8 +11,14 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
11
11
|
* The plugin can be installed like this:
|
|
12
12
|
*
|
|
13
13
|
* ```ts
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
15
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
16
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
17
|
+
*
|
|
18
|
+
* const db = new Kysely<Database>({
|
|
19
|
+
* dialect: new SqliteDialect({
|
|
20
|
+
* database: new Sqlite(':memory:')
|
|
21
|
+
* }),
|
|
16
22
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
17
23
|
* })
|
|
18
24
|
* ```
|
|
@@ -20,6 +26,8 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
20
26
|
* ### Examples
|
|
21
27
|
*
|
|
22
28
|
* ```ts
|
|
29
|
+
* import { jsonArrayFrom } from 'kysely/helpers/sqlite'
|
|
30
|
+
*
|
|
23
31
|
* const result = await db
|
|
24
32
|
* .selectFrom('person')
|
|
25
33
|
* .select((eb) => [
|
|
@@ -33,9 +41,9 @@ import { Simplify } from '../util/type-utils.js';
|
|
|
33
41
|
* ])
|
|
34
42
|
* .execute()
|
|
35
43
|
*
|
|
36
|
-
* result[0]
|
|
37
|
-
* result[0]
|
|
38
|
-
* result[0]
|
|
44
|
+
* result[0]?.id
|
|
45
|
+
* result[0]?.pets[0].pet_id
|
|
46
|
+
* result[0]?.pets[0].name
|
|
39
47
|
* ```
|
|
40
48
|
*
|
|
41
49
|
* The generated SQL (SQLite):
|
|
@@ -67,8 +75,14 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
67
75
|
* The plugin can be installed like this:
|
|
68
76
|
*
|
|
69
77
|
* ```ts
|
|
70
|
-
*
|
|
71
|
-
*
|
|
78
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
79
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
80
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
81
|
+
*
|
|
82
|
+
* const db = new Kysely<Database>({
|
|
83
|
+
* dialect: new SqliteDialect({
|
|
84
|
+
* database: new Sqlite(':memory:')
|
|
85
|
+
* }),
|
|
72
86
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
73
87
|
* })
|
|
74
88
|
* ```
|
|
@@ -76,6 +90,8 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
76
90
|
* ### Examples
|
|
77
91
|
*
|
|
78
92
|
* ```ts
|
|
93
|
+
* import { jsonObjectFrom } from 'kysely/helpers/sqlite'
|
|
94
|
+
*
|
|
79
95
|
* const result = await db
|
|
80
96
|
* .selectFrom('person')
|
|
81
97
|
* .select((eb) => [
|
|
@@ -89,9 +105,9 @@ export declare function jsonArrayFrom<O>(expr: SelectQueryBuilderExpression<O>):
|
|
|
89
105
|
* ])
|
|
90
106
|
* .execute()
|
|
91
107
|
*
|
|
92
|
-
* result[0]
|
|
93
|
-
* result[0]
|
|
94
|
-
* result[0]
|
|
108
|
+
* result[0]?.id
|
|
109
|
+
* result[0]?.favorite_pet?.pet_id
|
|
110
|
+
* result[0]?.favorite_pet?.name
|
|
95
111
|
* ```
|
|
96
112
|
*
|
|
97
113
|
* The generated SQL (SQLite):
|
|
@@ -121,8 +137,14 @@ export declare function jsonObjectFrom<O>(expr: SelectQueryBuilderExpression<O>)
|
|
|
121
137
|
* The plugin can be installed like this:
|
|
122
138
|
*
|
|
123
139
|
* ```ts
|
|
124
|
-
*
|
|
125
|
-
*
|
|
140
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
141
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
142
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
143
|
+
*
|
|
144
|
+
* const db = new Kysely<Database>({
|
|
145
|
+
* dialect: new SqliteDialect({
|
|
146
|
+
* database: new Sqlite(':memory:')
|
|
147
|
+
* }),
|
|
126
148
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
127
149
|
* })
|
|
128
150
|
* ```
|
|
@@ -130,6 +152,9 @@ export declare function jsonObjectFrom<O>(expr: SelectQueryBuilderExpression<O>)
|
|
|
130
152
|
* ### Examples
|
|
131
153
|
*
|
|
132
154
|
* ```ts
|
|
155
|
+
* import { sql } from 'kysely'
|
|
156
|
+
* import { jsonBuildObject } from 'kysely/helpers/sqlite'
|
|
157
|
+
*
|
|
133
158
|
* const result = await db
|
|
134
159
|
* .selectFrom('person')
|
|
135
160
|
* .select((eb) => [
|
|
@@ -142,10 +167,10 @@ export declare function jsonObjectFrom<O>(expr: SelectQueryBuilderExpression<O>)
|
|
|
142
167
|
* ])
|
|
143
168
|
* .execute()
|
|
144
169
|
*
|
|
145
|
-
* result[0]
|
|
146
|
-
* result[0]
|
|
147
|
-
* result[0]
|
|
148
|
-
* result[0]
|
|
170
|
+
* result[0]?.id
|
|
171
|
+
* result[0]?.name.first
|
|
172
|
+
* result[0]?.name.last
|
|
173
|
+
* result[0]?.name.full
|
|
149
174
|
* ```
|
|
150
175
|
*
|
|
151
176
|
* The generated SQL (SQLite):
|
|
@@ -10,8 +10,14 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
10
10
|
* The plugin can be installed like this:
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
14
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
15
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
16
|
+
*
|
|
17
|
+
* const db = new Kysely<Database>({
|
|
18
|
+
* dialect: new SqliteDialect({
|
|
19
|
+
* database: new Sqlite(':memory:')
|
|
20
|
+
* }),
|
|
15
21
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
16
22
|
* })
|
|
17
23
|
* ```
|
|
@@ -19,6 +25,8 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
19
25
|
* ### Examples
|
|
20
26
|
*
|
|
21
27
|
* ```ts
|
|
28
|
+
* import { jsonArrayFrom } from 'kysely/helpers/sqlite'
|
|
29
|
+
*
|
|
22
30
|
* const result = await db
|
|
23
31
|
* .selectFrom('person')
|
|
24
32
|
* .select((eb) => [
|
|
@@ -32,9 +40,9 @@ import { getJsonObjectArgs } from '../util/json-object-args.js';
|
|
|
32
40
|
* ])
|
|
33
41
|
* .execute()
|
|
34
42
|
*
|
|
35
|
-
* result[0]
|
|
36
|
-
* result[0]
|
|
37
|
-
* result[0]
|
|
43
|
+
* result[0]?.id
|
|
44
|
+
* result[0]?.pets[0].pet_id
|
|
45
|
+
* result[0]?.pets[0].name
|
|
38
46
|
* ```
|
|
39
47
|
*
|
|
40
48
|
* The generated SQL (SQLite):
|
|
@@ -68,8 +76,14 @@ export function jsonArrayFrom(expr) {
|
|
|
68
76
|
* The plugin can be installed like this:
|
|
69
77
|
*
|
|
70
78
|
* ```ts
|
|
71
|
-
*
|
|
72
|
-
*
|
|
79
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
80
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
81
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
82
|
+
*
|
|
83
|
+
* const db = new Kysely<Database>({
|
|
84
|
+
* dialect: new SqliteDialect({
|
|
85
|
+
* database: new Sqlite(':memory:')
|
|
86
|
+
* }),
|
|
73
87
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
74
88
|
* })
|
|
75
89
|
* ```
|
|
@@ -77,6 +91,8 @@ export function jsonArrayFrom(expr) {
|
|
|
77
91
|
* ### Examples
|
|
78
92
|
*
|
|
79
93
|
* ```ts
|
|
94
|
+
* import { jsonObjectFrom } from 'kysely/helpers/sqlite'
|
|
95
|
+
*
|
|
80
96
|
* const result = await db
|
|
81
97
|
* .selectFrom('person')
|
|
82
98
|
* .select((eb) => [
|
|
@@ -90,9 +106,9 @@ export function jsonArrayFrom(expr) {
|
|
|
90
106
|
* ])
|
|
91
107
|
* .execute()
|
|
92
108
|
*
|
|
93
|
-
* result[0]
|
|
94
|
-
* result[0]
|
|
95
|
-
* result[0]
|
|
109
|
+
* result[0]?.id
|
|
110
|
+
* result[0]?.favorite_pet?.pet_id
|
|
111
|
+
* result[0]?.favorite_pet?.name
|
|
96
112
|
* ```
|
|
97
113
|
*
|
|
98
114
|
* The generated SQL (SQLite):
|
|
@@ -124,8 +140,14 @@ export function jsonObjectFrom(expr) {
|
|
|
124
140
|
* The plugin can be installed like this:
|
|
125
141
|
*
|
|
126
142
|
* ```ts
|
|
127
|
-
*
|
|
128
|
-
*
|
|
143
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
144
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
145
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
146
|
+
*
|
|
147
|
+
* const db = new Kysely<Database>({
|
|
148
|
+
* dialect: new SqliteDialect({
|
|
149
|
+
* database: new Sqlite(':memory:')
|
|
150
|
+
* }),
|
|
129
151
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
130
152
|
* })
|
|
131
153
|
* ```
|
|
@@ -133,6 +155,9 @@ export function jsonObjectFrom(expr) {
|
|
|
133
155
|
* ### Examples
|
|
134
156
|
*
|
|
135
157
|
* ```ts
|
|
158
|
+
* import { sql } from 'kysely'
|
|
159
|
+
* import { jsonBuildObject } from 'kysely/helpers/sqlite'
|
|
160
|
+
*
|
|
136
161
|
* const result = await db
|
|
137
162
|
* .selectFrom('person')
|
|
138
163
|
* .select((eb) => [
|
|
@@ -145,10 +170,10 @@ export function jsonObjectFrom(expr) {
|
|
|
145
170
|
* ])
|
|
146
171
|
* .execute()
|
|
147
172
|
*
|
|
148
|
-
* result[0]
|
|
149
|
-
* result[0]
|
|
150
|
-
* result[0]
|
|
151
|
-
* result[0]
|
|
173
|
+
* result[0]?.id
|
|
174
|
+
* result[0]?.name.first
|
|
175
|
+
* result[0]?.name.last
|
|
176
|
+
* result[0]?.name.full
|
|
152
177
|
* ```
|
|
153
178
|
*
|
|
154
179
|
* The generated SQL (SQLite):
|