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.
Files changed (209) hide show
  1. package/.renovaterc.json +3 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/deno.check.d.ts +86 -0
  4. package/deno.check.json +21 -0
  5. package/dist/cjs/dialect/dialect-adapter-base.d.ts +11 -2
  6. package/dist/cjs/dialect/dialect-adapter.d.ts +11 -2
  7. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +11 -2
  8. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +37 -29
  9. package/dist/cjs/dialect/mssql/mssql-driver.js +20 -13
  10. package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +11 -2
  11. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +4 -0
  12. package/dist/cjs/dialect/mysql/mysql-driver.js +3 -0
  13. package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +11 -2
  14. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +10 -3
  15. package/dist/cjs/dialect/postgres/postgres-driver.js +3 -0
  16. package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -1
  17. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +11 -2
  18. package/dist/cjs/driver/dummy-driver.d.ts +13 -12
  19. package/dist/cjs/driver/dummy-driver.js +13 -12
  20. package/dist/cjs/dynamic/dynamic.d.ts +6 -6
  21. package/dist/cjs/dynamic/dynamic.js +6 -6
  22. package/dist/cjs/expression/expression-builder.d.ts +152 -61
  23. package/dist/cjs/expression/expression-wrapper.d.ts +92 -23
  24. package/dist/cjs/expression/expression.d.ts +40 -5
  25. package/dist/cjs/helpers/mssql.d.ts +74 -14
  26. package/dist/cjs/helpers/mssql.js +74 -14
  27. package/dist/cjs/helpers/mysql.d.ts +14 -10
  28. package/dist/cjs/helpers/mysql.js +14 -10
  29. package/dist/cjs/helpers/postgres.d.ts +7 -4
  30. package/dist/cjs/helpers/postgres.js +7 -4
  31. package/dist/cjs/helpers/sqlite.d.ts +41 -16
  32. package/dist/cjs/helpers/sqlite.js +41 -16
  33. package/dist/cjs/kysely.d.ts +99 -41
  34. package/dist/cjs/kysely.js +60 -36
  35. package/dist/cjs/migration/file-migration-provider.d.ts +2 -2
  36. package/dist/cjs/migration/file-migration-provider.js +2 -2
  37. package/dist/cjs/migration/migrator.d.ts +82 -14
  38. package/dist/cjs/migration/migrator.js +82 -14
  39. package/dist/cjs/operation-node/aggregate-function-node.d.ts +4 -0
  40. package/dist/cjs/operation-node/aggregate-function-node.js +9 -0
  41. package/dist/cjs/operation-node/data-type-node.d.ts +1 -1
  42. package/dist/cjs/operation-node/data-type-node.js +12 -0
  43. package/dist/cjs/operation-node/delete-query-node.d.ts +1 -0
  44. package/dist/cjs/operation-node/insert-query-node.d.ts +1 -0
  45. package/dist/cjs/operation-node/merge-query-node.d.ts +1 -0
  46. package/dist/cjs/operation-node/operation-node-transformer.d.ts +9 -3
  47. package/dist/cjs/operation-node/operation-node-transformer.js +14 -3
  48. package/dist/cjs/operation-node/query-node.d.ts +4 -0
  49. package/dist/cjs/operation-node/query-node.js +8 -0
  50. package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
  51. package/dist/cjs/operation-node/select-query-node.js +0 -8
  52. package/dist/cjs/operation-node/update-query-node.d.ts +1 -0
  53. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +52 -25
  54. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +24 -19
  55. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
  56. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  57. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
  58. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
  59. package/dist/cjs/plugin/kysely-plugin.d.ts +28 -6
  60. package/dist/cjs/plugin/noop-plugin.d.ts +28 -6
  61. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
  62. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
  63. package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +28 -6
  64. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +43 -1
  65. package/dist/cjs/query-builder/aggregate-function-builder.js +30 -0
  66. package/dist/cjs/query-builder/delete-query-builder.d.ts +137 -45
  67. package/dist/cjs/query-builder/delete-query-builder.js +76 -26
  68. package/dist/cjs/query-builder/function-module.d.ts +35 -88
  69. package/dist/cjs/query-builder/insert-query-builder.d.ts +239 -65
  70. package/dist/cjs/query-builder/insert-query-builder.js +188 -52
  71. package/dist/cjs/query-builder/insert-result.d.ts +10 -5
  72. package/dist/cjs/query-builder/insert-result.js +10 -5
  73. package/dist/cjs/query-builder/json-path-builder.d.ts +33 -9
  74. package/dist/cjs/query-builder/json-path-builder.js +8 -5
  75. package/dist/cjs/query-builder/merge-query-builder.d.ts +159 -21
  76. package/dist/cjs/query-builder/merge-query-builder.js +68 -6
  77. package/dist/cjs/query-builder/on-conflict-builder.d.ts +51 -18
  78. package/dist/cjs/query-builder/on-conflict-builder.js +41 -16
  79. package/dist/cjs/query-builder/output-interface.d.ts +50 -7
  80. package/dist/cjs/query-builder/returning-interface.d.ts +5 -5
  81. package/dist/cjs/query-builder/select-query-builder-expression.d.ts +8 -0
  82. package/dist/cjs/query-builder/select-query-builder.d.ts +295 -63
  83. package/dist/cjs/query-builder/select-query-builder.js +7 -7
  84. package/dist/cjs/query-builder/update-query-builder.d.ts +138 -29
  85. package/dist/cjs/query-builder/update-query-builder.js +75 -10
  86. package/dist/cjs/query-builder/update-result.d.ts +2 -2
  87. package/dist/cjs/query-builder/update-result.js +2 -2
  88. package/dist/cjs/query-builder/where-interface.d.ts +5 -1
  89. package/dist/cjs/query-compiler/default-query-compiler.js +20 -0
  90. package/dist/cjs/query-creator.d.ts +66 -18
  91. package/dist/cjs/query-creator.js +2 -2
  92. package/dist/cjs/raw-builder/raw-builder.d.ts +29 -7
  93. package/dist/cjs/raw-builder/sql.d.ts +26 -7
  94. package/dist/cjs/schema/alter-column-builder.d.ts +17 -3
  95. package/dist/cjs/schema/alter-column-builder.js +17 -3
  96. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +43 -9
  97. package/dist/cjs/schema/alter-table-add-index-builder.js +26 -9
  98. package/dist/cjs/schema/column-definition-builder.d.ts +283 -26
  99. package/dist/cjs/schema/column-definition-builder.js +283 -26
  100. package/dist/cjs/schema/create-table-builder.d.ts +86 -33
  101. package/dist/cjs/schema/create-table-builder.js +86 -33
  102. package/dist/cjs/util/column-type.d.ts +5 -9
  103. package/dist/cjs/util/require-all-props.d.ts +4 -2
  104. package/dist/cjs/util/require-all-props.js +4 -2
  105. package/dist/cjs/util/streamable.d.ts +1 -1
  106. package/dist/cjs/util/type-utils.d.ts +4 -2
  107. package/dist/esm/dialect/dialect-adapter-base.d.ts +11 -2
  108. package/dist/esm/dialect/dialect-adapter.d.ts +11 -2
  109. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +11 -2
  110. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +37 -29
  111. package/dist/esm/dialect/mssql/mssql-driver.js +20 -13
  112. package/dist/esm/dialect/mysql/mysql-adapter.d.ts +11 -2
  113. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +4 -0
  114. package/dist/esm/dialect/mysql/mysql-driver.js +3 -0
  115. package/dist/esm/dialect/postgres/postgres-adapter.d.ts +11 -2
  116. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +10 -3
  117. package/dist/esm/dialect/postgres/postgres-driver.js +3 -0
  118. package/dist/esm/dialect/postgres/postgres-introspector.js +5 -1
  119. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +11 -2
  120. package/dist/esm/driver/dummy-driver.d.ts +13 -12
  121. package/dist/esm/driver/dummy-driver.js +13 -12
  122. package/dist/esm/dynamic/dynamic.d.ts +6 -6
  123. package/dist/esm/dynamic/dynamic.js +6 -6
  124. package/dist/esm/expression/expression-builder.d.ts +152 -61
  125. package/dist/esm/expression/expression-wrapper.d.ts +92 -23
  126. package/dist/esm/expression/expression.d.ts +40 -5
  127. package/dist/esm/helpers/mssql.d.ts +74 -14
  128. package/dist/esm/helpers/mssql.js +74 -14
  129. package/dist/esm/helpers/mysql.d.ts +14 -10
  130. package/dist/esm/helpers/mysql.js +14 -10
  131. package/dist/esm/helpers/postgres.d.ts +7 -4
  132. package/dist/esm/helpers/postgres.js +7 -4
  133. package/dist/esm/helpers/sqlite.d.ts +41 -16
  134. package/dist/esm/helpers/sqlite.js +41 -16
  135. package/dist/esm/kysely.d.ts +99 -41
  136. package/dist/esm/kysely.js +60 -36
  137. package/dist/esm/migration/file-migration-provider.d.ts +2 -2
  138. package/dist/esm/migration/file-migration-provider.js +2 -2
  139. package/dist/esm/migration/migrator.d.ts +82 -14
  140. package/dist/esm/migration/migrator.js +82 -14
  141. package/dist/esm/operation-node/aggregate-function-node.d.ts +4 -0
  142. package/dist/esm/operation-node/aggregate-function-node.js +9 -0
  143. package/dist/esm/operation-node/data-type-node.d.ts +1 -1
  144. package/dist/esm/operation-node/data-type-node.js +12 -0
  145. package/dist/esm/operation-node/delete-query-node.d.ts +1 -0
  146. package/dist/esm/operation-node/insert-query-node.d.ts +1 -0
  147. package/dist/esm/operation-node/merge-query-node.d.ts +1 -0
  148. package/dist/esm/operation-node/operation-node-transformer.d.ts +9 -3
  149. package/dist/esm/operation-node/operation-node-transformer.js +14 -3
  150. package/dist/esm/operation-node/query-node.d.ts +4 -0
  151. package/dist/esm/operation-node/query-node.js +8 -0
  152. package/dist/esm/operation-node/select-query-node.d.ts +0 -1
  153. package/dist/esm/operation-node/select-query-node.js +0 -8
  154. package/dist/esm/operation-node/update-query-node.d.ts +1 -0
  155. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +52 -25
  156. package/dist/esm/plugin/camel-case/camel-case-plugin.js +24 -19
  157. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
  158. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  159. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
  160. package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
  161. package/dist/esm/plugin/kysely-plugin.d.ts +28 -6
  162. package/dist/esm/plugin/noop-plugin.d.ts +28 -6
  163. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +62 -9
  164. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +34 -3
  165. package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +28 -6
  166. package/dist/esm/query-builder/aggregate-function-builder.d.ts +43 -1
  167. package/dist/esm/query-builder/aggregate-function-builder.js +30 -0
  168. package/dist/esm/query-builder/delete-query-builder.d.ts +137 -45
  169. package/dist/esm/query-builder/delete-query-builder.js +76 -26
  170. package/dist/esm/query-builder/function-module.d.ts +35 -88
  171. package/dist/esm/query-builder/insert-query-builder.d.ts +239 -65
  172. package/dist/esm/query-builder/insert-query-builder.js +188 -52
  173. package/dist/esm/query-builder/insert-result.d.ts +10 -5
  174. package/dist/esm/query-builder/insert-result.js +10 -5
  175. package/dist/esm/query-builder/json-path-builder.d.ts +33 -9
  176. package/dist/esm/query-builder/json-path-builder.js +8 -5
  177. package/dist/esm/query-builder/merge-query-builder.d.ts +159 -21
  178. package/dist/esm/query-builder/merge-query-builder.js +68 -6
  179. package/dist/esm/query-builder/on-conflict-builder.d.ts +51 -18
  180. package/dist/esm/query-builder/on-conflict-builder.js +41 -16
  181. package/dist/esm/query-builder/output-interface.d.ts +50 -7
  182. package/dist/esm/query-builder/returning-interface.d.ts +5 -5
  183. package/dist/esm/query-builder/select-query-builder-expression.d.ts +8 -0
  184. package/dist/esm/query-builder/select-query-builder.d.ts +295 -63
  185. package/dist/esm/query-builder/select-query-builder.js +7 -7
  186. package/dist/esm/query-builder/update-query-builder.d.ts +138 -29
  187. package/dist/esm/query-builder/update-query-builder.js +75 -10
  188. package/dist/esm/query-builder/update-result.d.ts +2 -2
  189. package/dist/esm/query-builder/update-result.js +2 -2
  190. package/dist/esm/query-builder/where-interface.d.ts +5 -1
  191. package/dist/esm/query-compiler/default-query-compiler.js +20 -0
  192. package/dist/esm/query-creator.d.ts +66 -18
  193. package/dist/esm/query-creator.js +2 -2
  194. package/dist/esm/raw-builder/raw-builder.d.ts +29 -7
  195. package/dist/esm/raw-builder/sql.d.ts +26 -7
  196. package/dist/esm/schema/alter-column-builder.d.ts +17 -3
  197. package/dist/esm/schema/alter-column-builder.js +17 -3
  198. package/dist/esm/schema/alter-table-add-index-builder.d.ts +43 -9
  199. package/dist/esm/schema/alter-table-add-index-builder.js +26 -9
  200. package/dist/esm/schema/column-definition-builder.d.ts +283 -26
  201. package/dist/esm/schema/column-definition-builder.js +283 -26
  202. package/dist/esm/schema/create-table-builder.d.ts +86 -33
  203. package/dist/esm/schema/create-table-builder.js +86 -33
  204. package/dist/esm/util/column-type.d.ts +5 -9
  205. package/dist/esm/util/require-all-props.d.ts +4 -2
  206. package/dist/esm/util/require-all-props.js +4 -2
  207. package/dist/esm/util/streamable.d.ts +1 -1
  208. package/dist/esm/util/type-utils.d.ts +4 -2
  209. 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
- * const db = new Kysely({
17
- * dialect: new MssqlDialect(config),
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
- * .modifyEnd(sql`offset 0 rows`)
54
+ * .offset(0)
35
55
  * ).as('pets')
36
56
  * ])
37
57
  * .execute()
38
58
  *
39
- * result[0].id
40
- * result[0].pets[0].pet_id
41
- * result[0].pets[0].name
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 0 rows
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
- * const db = new Kysely({
74
- * dialect: new MssqlDialect(config),
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].id
96
- * result[0].favorite_pet.pet_id
97
- * result[0].favorite_pet.name
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
- * const db = new Kysely({
127
- * dialect: new MssqlDialect(config),
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].id
30
- * result[0].pets[0].pet_id
31
- * result[0].pets[0].name
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].id
79
- * result[0].favorite_pet.pet_id
80
- * result[0].favorite_pet.name
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].id
125
- * result[0].name.first
126
- * result[0].name.last
127
- * result[0].name.full
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].id
33
- * result[0].pets[0].pet_id
34
- * result[0].pets[0].name
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].id
84
- * result[0].favorite_pet.pet_id
85
- * result[0].favorite_pet.name
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].id
132
- * result[0].name.first
133
- * result[0].name.last
134
- * result[0].name.full
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].id
130
- * result[0].name.first
131
- * result[0].name.last
132
- * result[0].name.full
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].id
137
- * result[0].name.first
138
- * result[0].name.last
139
- * result[0].name.full
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
- * const db = new Kysely({
15
- * dialect: new SqliteDialect(config),
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].id
37
- * result[0].pets[0].pet_id
38
- * result[0].pets[0].name
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
- * const db = new Kysely({
71
- * dialect: new SqliteDialect(config),
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].id
93
- * result[0].favorite_pet.pet_id
94
- * result[0].favorite_pet.name
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
- * const db = new Kysely({
125
- * dialect: new SqliteDialect(config),
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].id
146
- * result[0].name.first
147
- * result[0].name.last
148
- * result[0].name.full
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
- * const db = new Kysely({
18
- * dialect: new SqliteDialect(config),
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].id
40
- * result[0].pets[0].pet_id
41
- * result[0].pets[0].name
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
- * const db = new Kysely({
76
- * dialect: new SqliteDialect(config),
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].id
98
- * result[0].favorite_pet.pet_id
99
- * result[0].favorite_pet.name
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
- * const db = new Kysely({
132
- * dialect: new SqliteDialect(config),
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].id
153
- * result[0].name.first
154
- * result[0].name.last
155
- * result[0].name.full
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):