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
|
@@ -13,8 +13,26 @@ const sql_js_1 = require("../raw-builder/sql.js");
|
|
|
13
13
|
* The plugin can be installed like this:
|
|
14
14
|
*
|
|
15
15
|
* ```ts
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
17
|
+
* import * as Tarn from 'tarn'
|
|
18
|
+
* import * as Tedious from 'tedious'
|
|
19
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
20
|
+
*
|
|
21
|
+
* const db = new Kysely<Database>({
|
|
22
|
+
* dialect: new MssqlDialect({
|
|
23
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
24
|
+
* tedious: {
|
|
25
|
+
* ...Tedious,
|
|
26
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
27
|
+
* authentication: {
|
|
28
|
+
* options: { password: 'password', userName: 'sa' },
|
|
29
|
+
* type: 'default',
|
|
30
|
+
* },
|
|
31
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
32
|
+
* server: 'localhost',
|
|
33
|
+
* }),
|
|
34
|
+
* },
|
|
35
|
+
* }),
|
|
18
36
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
19
37
|
* })
|
|
20
38
|
* ```
|
|
@@ -22,6 +40,8 @@ const sql_js_1 = require("../raw-builder/sql.js");
|
|
|
22
40
|
* ### Examples
|
|
23
41
|
*
|
|
24
42
|
* ```ts
|
|
43
|
+
* import { jsonArrayFrom } from 'kysely/helpers/mssql'
|
|
44
|
+
*
|
|
25
45
|
* const result = await db
|
|
26
46
|
* .selectFrom('person')
|
|
27
47
|
* .select((eb) => [
|
|
@@ -31,14 +51,14 @@ const sql_js_1 = require("../raw-builder/sql.js");
|
|
|
31
51
|
* .select(['pet.id as pet_id', 'pet.name'])
|
|
32
52
|
* .whereRef('pet.owner_id', '=', 'person.id')
|
|
33
53
|
* .orderBy('pet.name')
|
|
34
|
-
* .
|
|
54
|
+
* .offset(0)
|
|
35
55
|
* ).as('pets')
|
|
36
56
|
* ])
|
|
37
57
|
* .execute()
|
|
38
58
|
*
|
|
39
|
-
* result[0]
|
|
40
|
-
* result[0]
|
|
41
|
-
* result[0]
|
|
59
|
+
* result[0]?.id
|
|
60
|
+
* result[0]?.pets[0]?.pet_id
|
|
61
|
+
* result[0]?.pets[0]?.name
|
|
42
62
|
* ```
|
|
43
63
|
*
|
|
44
64
|
* The generated SQL (MS SQL Server):
|
|
@@ -50,7 +70,7 @@ const sql_js_1 = require("../raw-builder/sql.js");
|
|
|
50
70
|
* from "pet"
|
|
51
71
|
* where "pet"."owner_id" = "person"."id"
|
|
52
72
|
* order by "pet"."name"
|
|
53
|
-
* offset
|
|
73
|
+
* offset @1 rows
|
|
54
74
|
* ) as "agg" for json path, include_null_values), '[]')
|
|
55
75
|
* ) as "pets"
|
|
56
76
|
* from "person"
|
|
@@ -70,8 +90,26 @@ function jsonArrayFrom(expr) {
|
|
|
70
90
|
* The plugin can be installed like this:
|
|
71
91
|
*
|
|
72
92
|
* ```ts
|
|
73
|
-
*
|
|
74
|
-
*
|
|
93
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
94
|
+
* import * as Tarn from 'tarn'
|
|
95
|
+
* import * as Tedious from 'tedious'
|
|
96
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
97
|
+
*
|
|
98
|
+
* const db = new Kysely<Database>({
|
|
99
|
+
* dialect: new MssqlDialect({
|
|
100
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
101
|
+
* tedious: {
|
|
102
|
+
* ...Tedious,
|
|
103
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
104
|
+
* authentication: {
|
|
105
|
+
* options: { password: 'password', userName: 'sa' },
|
|
106
|
+
* type: 'default',
|
|
107
|
+
* },
|
|
108
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
109
|
+
* server: 'localhost',
|
|
110
|
+
* }),
|
|
111
|
+
* },
|
|
112
|
+
* }),
|
|
75
113
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
76
114
|
* })
|
|
77
115
|
* ```
|
|
@@ -79,6 +117,8 @@ function jsonArrayFrom(expr) {
|
|
|
79
117
|
* ### Examples
|
|
80
118
|
*
|
|
81
119
|
* ```ts
|
|
120
|
+
* import { jsonObjectFrom } from 'kysely/helpers/mssql'
|
|
121
|
+
*
|
|
82
122
|
* const result = await db
|
|
83
123
|
* .selectFrom('person')
|
|
84
124
|
* .select((eb) => [
|
|
@@ -92,9 +132,9 @@ function jsonArrayFrom(expr) {
|
|
|
92
132
|
* ])
|
|
93
133
|
* .execute()
|
|
94
134
|
*
|
|
95
|
-
* result[0]
|
|
96
|
-
* result[0]
|
|
97
|
-
* result[0]
|
|
135
|
+
* result[0]?.id
|
|
136
|
+
* result[0]?.favorite_pet?.pet_id
|
|
137
|
+
* result[0]?.favorite_pet?.name
|
|
98
138
|
* ```
|
|
99
139
|
*
|
|
100
140
|
* The generated SQL (MS SQL Server):
|
|
@@ -123,8 +163,26 @@ function jsonObjectFrom(expr) {
|
|
|
123
163
|
* The plugin can be installed like this:
|
|
124
164
|
*
|
|
125
165
|
* ```ts
|
|
126
|
-
*
|
|
127
|
-
*
|
|
166
|
+
* import { Kysely, MssqlDialect, ParseJSONResultsPlugin } from 'kysely'
|
|
167
|
+
* import * as Tarn from 'tarn'
|
|
168
|
+
* import * as Tedious from 'tedious'
|
|
169
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
170
|
+
*
|
|
171
|
+
* const db = new Kysely<Database>({
|
|
172
|
+
* dialect: new MssqlDialect({
|
|
173
|
+
* tarn: { options: { max: 10, min: 0 }, ...Tarn },
|
|
174
|
+
* tedious: {
|
|
175
|
+
* ...Tedious,
|
|
176
|
+
* connectionFactory: () => new Tedious.Connection({
|
|
177
|
+
* authentication: {
|
|
178
|
+
* options: { password: 'password', userName: 'sa' },
|
|
179
|
+
* type: 'default',
|
|
180
|
+
* },
|
|
181
|
+
* options: { database: 'test', port: 21433, trustServerCertificate: true },
|
|
182
|
+
* server: 'localhost',
|
|
183
|
+
* }),
|
|
184
|
+
* },
|
|
185
|
+
* }),
|
|
128
186
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
129
187
|
* })
|
|
130
188
|
* ```
|
|
@@ -132,6 +190,8 @@ function jsonObjectFrom(expr) {
|
|
|
132
190
|
* ### Examples
|
|
133
191
|
*
|
|
134
192
|
* ```ts
|
|
193
|
+
* import { jsonBuildObject } from 'kysely/helpers/mssql'
|
|
194
|
+
*
|
|
135
195
|
* const result = await db
|
|
136
196
|
* .selectFrom('person')
|
|
137
197
|
* .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):
|
|
@@ -16,6 +16,8 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
|
|
|
16
16
|
* ### Examples
|
|
17
17
|
*
|
|
18
18
|
* ```ts
|
|
19
|
+
* import { jsonArrayFrom } from 'kysely/helpers/mysql'
|
|
20
|
+
*
|
|
19
21
|
* const result = await db
|
|
20
22
|
* .selectFrom('person')
|
|
21
23
|
* .select((eb) => [
|
|
@@ -29,9 +31,9 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
|
|
|
29
31
|
* ])
|
|
30
32
|
* .execute()
|
|
31
33
|
*
|
|
32
|
-
* result[0]
|
|
33
|
-
* result[0]
|
|
34
|
-
* result[0]
|
|
34
|
+
* result[0]?.id
|
|
35
|
+
* result[0]?.pets[0]?.pet_id
|
|
36
|
+
* result[0]?.pets[0]?.name
|
|
35
37
|
* ```
|
|
36
38
|
*
|
|
37
39
|
* The generated SQL (MySQL):
|
|
@@ -67,6 +69,8 @@ function jsonArrayFrom(expr) {
|
|
|
67
69
|
* ### Examples
|
|
68
70
|
*
|
|
69
71
|
* ```ts
|
|
72
|
+
* import { jsonObjectFrom } from 'kysely/helpers/mysql'
|
|
73
|
+
*
|
|
70
74
|
* const result = await db
|
|
71
75
|
* .selectFrom('person')
|
|
72
76
|
* .select((eb) => [
|
|
@@ -80,9 +84,9 @@ function jsonArrayFrom(expr) {
|
|
|
80
84
|
* ])
|
|
81
85
|
* .execute()
|
|
82
86
|
*
|
|
83
|
-
* result[0]
|
|
84
|
-
* result[0]
|
|
85
|
-
* result[0]
|
|
87
|
+
* result[0]?.id
|
|
88
|
+
* result[0]?.favorite_pet?.pet_id
|
|
89
|
+
* result[0]?.favorite_pet?.name
|
|
86
90
|
* ```
|
|
87
91
|
*
|
|
88
92
|
* The generated SQL (MySQL):
|
|
@@ -128,10 +132,10 @@ function jsonObjectFrom(expr) {
|
|
|
128
132
|
* ])
|
|
129
133
|
* .execute()
|
|
130
134
|
*
|
|
131
|
-
* result[0]
|
|
132
|
-
* result[0]
|
|
133
|
-
* result[0]
|
|
134
|
-
* result[0]
|
|
135
|
+
* result[0]?.id
|
|
136
|
+
* result[0]?.name.first
|
|
137
|
+
* result[0]?.name.last
|
|
138
|
+
* result[0]?.name.full
|
|
135
139
|
* ```
|
|
136
140
|
*
|
|
137
141
|
* 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):
|
|
@@ -121,6 +121,9 @@ function jsonObjectFrom(expr) {
|
|
|
121
121
|
* ### Examples
|
|
122
122
|
*
|
|
123
123
|
* ```ts
|
|
124
|
+
* import { sql } from 'kysely'
|
|
125
|
+
* import { jsonBuildObject } from 'kysely/helpers/postgres'
|
|
126
|
+
*
|
|
124
127
|
* const result = await db
|
|
125
128
|
* .selectFrom('person')
|
|
126
129
|
* .select((eb) => [
|
|
@@ -133,10 +136,10 @@ function jsonObjectFrom(expr) {
|
|
|
133
136
|
* ])
|
|
134
137
|
* .execute()
|
|
135
138
|
*
|
|
136
|
-
* result[0]
|
|
137
|
-
* result[0]
|
|
138
|
-
* result[0]
|
|
139
|
-
* result[0]
|
|
139
|
+
* result[0]?.id
|
|
140
|
+
* result[0]?.name.first
|
|
141
|
+
* result[0]?.name.last
|
|
142
|
+
* result[0]?.name.full
|
|
140
143
|
* ```
|
|
141
144
|
*
|
|
142
145
|
* 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):
|
|
@@ -14,8 +14,14 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
|
|
|
14
14
|
* The plugin can be installed like this:
|
|
15
15
|
*
|
|
16
16
|
* ```ts
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
18
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
19
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
20
|
+
*
|
|
21
|
+
* const db = new Kysely<Database>({
|
|
22
|
+
* dialect: new SqliteDialect({
|
|
23
|
+
* database: new Sqlite(':memory:')
|
|
24
|
+
* }),
|
|
19
25
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
20
26
|
* })
|
|
21
27
|
* ```
|
|
@@ -23,6 +29,8 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
|
|
|
23
29
|
* ### Examples
|
|
24
30
|
*
|
|
25
31
|
* ```ts
|
|
32
|
+
* import { jsonArrayFrom } from 'kysely/helpers/sqlite'
|
|
33
|
+
*
|
|
26
34
|
* const result = await db
|
|
27
35
|
* .selectFrom('person')
|
|
28
36
|
* .select((eb) => [
|
|
@@ -36,9 +44,9 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
|
|
|
36
44
|
* ])
|
|
37
45
|
* .execute()
|
|
38
46
|
*
|
|
39
|
-
* result[0]
|
|
40
|
-
* result[0]
|
|
41
|
-
* result[0]
|
|
47
|
+
* result[0]?.id
|
|
48
|
+
* result[0]?.pets[0].pet_id
|
|
49
|
+
* result[0]?.pets[0].name
|
|
42
50
|
* ```
|
|
43
51
|
*
|
|
44
52
|
* The generated SQL (SQLite):
|
|
@@ -72,8 +80,14 @@ function jsonArrayFrom(expr) {
|
|
|
72
80
|
* The plugin can be installed like this:
|
|
73
81
|
*
|
|
74
82
|
* ```ts
|
|
75
|
-
*
|
|
76
|
-
*
|
|
83
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
84
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
85
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
86
|
+
*
|
|
87
|
+
* const db = new Kysely<Database>({
|
|
88
|
+
* dialect: new SqliteDialect({
|
|
89
|
+
* database: new Sqlite(':memory:')
|
|
90
|
+
* }),
|
|
77
91
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
78
92
|
* })
|
|
79
93
|
* ```
|
|
@@ -81,6 +95,8 @@ function jsonArrayFrom(expr) {
|
|
|
81
95
|
* ### Examples
|
|
82
96
|
*
|
|
83
97
|
* ```ts
|
|
98
|
+
* import { jsonObjectFrom } from 'kysely/helpers/sqlite'
|
|
99
|
+
*
|
|
84
100
|
* const result = await db
|
|
85
101
|
* .selectFrom('person')
|
|
86
102
|
* .select((eb) => [
|
|
@@ -94,9 +110,9 @@ function jsonArrayFrom(expr) {
|
|
|
94
110
|
* ])
|
|
95
111
|
* .execute()
|
|
96
112
|
*
|
|
97
|
-
* result[0]
|
|
98
|
-
* result[0]
|
|
99
|
-
* result[0]
|
|
113
|
+
* result[0]?.id
|
|
114
|
+
* result[0]?.favorite_pet?.pet_id
|
|
115
|
+
* result[0]?.favorite_pet?.name
|
|
100
116
|
* ```
|
|
101
117
|
*
|
|
102
118
|
* The generated SQL (SQLite):
|
|
@@ -128,8 +144,14 @@ function jsonObjectFrom(expr) {
|
|
|
128
144
|
* The plugin can be installed like this:
|
|
129
145
|
*
|
|
130
146
|
* ```ts
|
|
131
|
-
*
|
|
132
|
-
*
|
|
147
|
+
* import * as Sqlite from 'better-sqlite3'
|
|
148
|
+
* import { Kysely, ParseJSONResultsPlugin, SqliteDialect } from 'kysely'
|
|
149
|
+
* import type { Database } from 'type-editor' // imaginary module
|
|
150
|
+
*
|
|
151
|
+
* const db = new Kysely<Database>({
|
|
152
|
+
* dialect: new SqliteDialect({
|
|
153
|
+
* database: new Sqlite(':memory:')
|
|
154
|
+
* }),
|
|
133
155
|
* plugins: [new ParseJSONResultsPlugin()]
|
|
134
156
|
* })
|
|
135
157
|
* ```
|
|
@@ -137,6 +159,9 @@ function jsonObjectFrom(expr) {
|
|
|
137
159
|
* ### Examples
|
|
138
160
|
*
|
|
139
161
|
* ```ts
|
|
162
|
+
* import { sql } from 'kysely'
|
|
163
|
+
* import { jsonBuildObject } from 'kysely/helpers/sqlite'
|
|
164
|
+
*
|
|
140
165
|
* const result = await db
|
|
141
166
|
* .selectFrom('person')
|
|
142
167
|
* .select((eb) => [
|
|
@@ -149,10 +174,10 @@ function jsonObjectFrom(expr) {
|
|
|
149
174
|
* ])
|
|
150
175
|
* .execute()
|
|
151
176
|
*
|
|
152
|
-
* result[0]
|
|
153
|
-
* result[0]
|
|
154
|
-
* result[0]
|
|
155
|
-
* result[0]
|
|
177
|
+
* result[0]?.id
|
|
178
|
+
* result[0]?.name.first
|
|
179
|
+
* result[0]?.name.last
|
|
180
|
+
* result[0]?.name.full
|
|
156
181
|
* ```
|
|
157
182
|
*
|
|
158
183
|
* The generated SQL (SQLite):
|