kysely 0.27.3 → 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 (301) hide show
  1. package/.renovaterc.json +3 -0
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +7 -7
  4. package/deno.check.d.ts +86 -0
  5. package/deno.check.json +21 -0
  6. package/dist/cjs/dialect/dialect-adapter-base.d.ts +13 -3
  7. package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
  8. package/dist/cjs/dialect/dialect-adapter.d.ts +16 -2
  9. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +12 -7
  10. package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
  11. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +83 -55
  12. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
  13. package/dist/cjs/dialect/mssql/mssql-driver.js +114 -48
  14. package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +11 -2
  15. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +4 -0
  16. package/dist/cjs/dialect/mysql/mysql-driver.js +3 -0
  17. package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +11 -2
  18. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +10 -3
  19. package/dist/cjs/dialect/postgres/postgres-driver.js +3 -0
  20. package/dist/cjs/dialect/postgres/postgres-introspector.js +5 -1
  21. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +11 -2
  22. package/dist/cjs/driver/database-connection.d.ts +3 -1
  23. package/dist/cjs/driver/dummy-driver.d.ts +13 -12
  24. package/dist/cjs/driver/dummy-driver.js +13 -12
  25. package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
  26. package/dist/cjs/dynamic/dynamic.d.ts +7 -7
  27. package/dist/cjs/dynamic/dynamic.js +7 -7
  28. package/dist/cjs/expression/expression-builder.d.ts +153 -62
  29. package/dist/cjs/expression/expression-builder.js +2 -3
  30. package/dist/cjs/expression/expression-wrapper.d.ts +92 -23
  31. package/dist/cjs/expression/expression.d.ts +40 -5
  32. package/dist/cjs/expression/expression.js +2 -3
  33. package/dist/cjs/helpers/mssql.d.ts +74 -14
  34. package/dist/cjs/helpers/mssql.js +77 -18
  35. package/dist/cjs/helpers/mysql.d.ts +17 -13
  36. package/dist/cjs/helpers/mysql.js +20 -17
  37. package/dist/cjs/helpers/postgres.d.ts +11 -8
  38. package/dist/cjs/helpers/postgres.js +14 -12
  39. package/dist/cjs/helpers/sqlite.d.ts +41 -16
  40. package/dist/cjs/helpers/sqlite.js +44 -20
  41. package/dist/cjs/index.d.ts +28 -21
  42. package/dist/cjs/index.js +28 -21
  43. package/dist/cjs/kysely.d.ts +100 -42
  44. package/dist/cjs/kysely.js +63 -39
  45. package/dist/cjs/migration/file-migration-provider.d.ts +2 -2
  46. package/dist/cjs/migration/file-migration-provider.js +2 -2
  47. package/dist/cjs/migration/migrator.d.ts +82 -14
  48. package/dist/cjs/migration/migrator.js +82 -14
  49. package/dist/cjs/operation-node/aggregate-function-node.d.ts +4 -0
  50. package/dist/cjs/operation-node/aggregate-function-node.js +9 -0
  51. package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
  52. package/dist/cjs/operation-node/case-node.d.ts +1 -1
  53. package/dist/cjs/operation-node/column-definition-node.d.ts +1 -0
  54. package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
  55. package/dist/cjs/operation-node/data-type-node.js +17 -3
  56. package/dist/cjs/operation-node/delete-query-node.d.ts +3 -0
  57. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
  58. package/dist/cjs/operation-node/having-node.d.ts +1 -1
  59. package/dist/cjs/operation-node/insert-query-node.d.ts +3 -0
  60. package/dist/cjs/operation-node/merge-query-node.d.ts +3 -0
  61. package/dist/cjs/operation-node/on-node.d.ts +1 -1
  62. package/dist/cjs/operation-node/operation-node-source.js +1 -2
  63. package/dist/cjs/operation-node/operation-node-transformer.d.ts +11 -3
  64. package/dist/cjs/operation-node/operation-node-transformer.js +26 -3
  65. package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
  66. package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
  67. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  68. package/dist/cjs/operation-node/operator-node.d.ts +3 -3
  69. package/dist/cjs/operation-node/operator-node.js +8 -6
  70. package/dist/cjs/operation-node/output-node.d.ts +13 -0
  71. package/dist/cjs/operation-node/output-node.js +26 -0
  72. package/dist/cjs/operation-node/query-node.d.ts +15 -6
  73. package/dist/cjs/operation-node/query-node.js +17 -0
  74. package/dist/cjs/operation-node/select-query-node.d.ts +1 -1
  75. package/dist/cjs/operation-node/select-query-node.js +6 -8
  76. package/dist/cjs/operation-node/update-query-node.d.ts +3 -0
  77. package/dist/cjs/operation-node/where-node.d.ts +1 -1
  78. package/dist/cjs/parser/binary-operation-parser.js +5 -6
  79. package/dist/cjs/parser/data-type-parser.js +1 -2
  80. package/dist/cjs/parser/default-value-parser.js +1 -2
  81. package/dist/cjs/parser/expression-parser.js +3 -4
  82. package/dist/cjs/parser/fetch-parser.js +1 -2
  83. package/dist/cjs/parser/group-by-parser.js +1 -2
  84. package/dist/cjs/parser/identifier-parser.js +1 -2
  85. package/dist/cjs/parser/insert-values-parser.js +1 -2
  86. package/dist/cjs/parser/join-parser.js +1 -2
  87. package/dist/cjs/parser/merge-parser.js +2 -3
  88. package/dist/cjs/parser/on-commit-action-parse.js +1 -2
  89. package/dist/cjs/parser/on-modify-action-parser.js +1 -2
  90. package/dist/cjs/parser/order-by-parser.js +3 -4
  91. package/dist/cjs/parser/parse-utils.js +4 -5
  92. package/dist/cjs/parser/partition-by-parser.js +1 -2
  93. package/dist/cjs/parser/reference-parser.js +8 -9
  94. package/dist/cjs/parser/returning-parser.d.ts +4 -3
  95. package/dist/cjs/parser/select-parser.js +2 -3
  96. package/dist/cjs/parser/set-operation-parser.js +1 -2
  97. package/dist/cjs/parser/table-parser.js +4 -5
  98. package/dist/cjs/parser/top-parser.js +1 -2
  99. package/dist/cjs/parser/unary-operation-parser.js +3 -4
  100. package/dist/cjs/parser/update-set-parser.js +2 -3
  101. package/dist/cjs/parser/value-parser.js +4 -5
  102. package/dist/cjs/parser/with-parser.js +1 -2
  103. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +54 -27
  104. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +26 -21
  105. package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
  106. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
  107. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  108. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
  109. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
  110. package/dist/cjs/plugin/kysely-plugin.d.ts +28 -6
  111. package/dist/cjs/plugin/noop-plugin.d.ts +28 -6
  112. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +80 -9
  113. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +53 -14
  114. package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +28 -6
  115. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +43 -1
  116. package/dist/cjs/query-builder/aggregate-function-builder.js +30 -0
  117. package/dist/cjs/query-builder/delete-query-builder.d.ts +219 -43
  118. package/dist/cjs/query-builder/delete-query-builder.js +95 -31
  119. package/dist/cjs/query-builder/function-module.d.ts +40 -93
  120. package/dist/cjs/query-builder/function-module.js +1 -2
  121. package/dist/cjs/query-builder/insert-query-builder.d.ts +326 -67
  122. package/dist/cjs/query-builder/insert-query-builder.js +212 -61
  123. package/dist/cjs/query-builder/insert-result.d.ts +10 -5
  124. package/dist/cjs/query-builder/insert-result.js +10 -5
  125. package/dist/cjs/query-builder/json-path-builder.d.ts +33 -9
  126. package/dist/cjs/query-builder/json-path-builder.js +8 -5
  127. package/dist/cjs/query-builder/merge-query-builder.d.ts +312 -10
  128. package/dist/cjs/query-builder/merge-query-builder.js +98 -7
  129. package/dist/cjs/query-builder/no-result-error.js +2 -2
  130. package/dist/cjs/query-builder/on-conflict-builder.d.ts +53 -20
  131. package/dist/cjs/query-builder/on-conflict-builder.js +41 -16
  132. package/dist/cjs/query-builder/output-interface.d.ts +138 -0
  133. package/dist/cjs/query-builder/output-interface.js +2 -0
  134. package/dist/cjs/query-builder/returning-interface.d.ts +7 -5
  135. package/dist/cjs/query-builder/select-query-builder-expression.d.ts +8 -0
  136. package/dist/cjs/query-builder/select-query-builder.d.ts +370 -73
  137. package/dist/cjs/query-builder/select-query-builder.js +14 -9
  138. package/dist/cjs/query-builder/update-query-builder.d.ts +225 -31
  139. package/dist/cjs/query-builder/update-query-builder.js +96 -17
  140. package/dist/cjs/query-builder/update-result.d.ts +9 -0
  141. package/dist/cjs/query-builder/update-result.js +9 -0
  142. package/dist/cjs/query-builder/where-interface.d.ts +6 -2
  143. package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
  144. package/dist/cjs/query-compiler/default-query-compiler.js +45 -1
  145. package/dist/cjs/query-creator.d.ts +122 -21
  146. package/dist/cjs/query-creator.js +56 -3
  147. package/dist/cjs/raw-builder/raw-builder.d.ts +29 -7
  148. package/dist/cjs/raw-builder/raw-builder.js +1 -2
  149. package/dist/cjs/raw-builder/sql.d.ts +31 -12
  150. package/dist/cjs/schema/alter-column-builder.d.ts +17 -3
  151. package/dist/cjs/schema/alter-column-builder.js +20 -3
  152. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +44 -10
  153. package/dist/cjs/schema/alter-table-add-index-builder.js +27 -10
  154. package/dist/cjs/schema/alter-table-builder.js +1 -2
  155. package/dist/cjs/schema/column-definition-builder.d.ts +286 -24
  156. package/dist/cjs/schema/column-definition-builder.js +288 -24
  157. package/dist/cjs/schema/create-table-builder.d.ts +86 -33
  158. package/dist/cjs/schema/create-table-builder.js +86 -33
  159. package/dist/cjs/util/assert.js +2 -3
  160. package/dist/cjs/util/column-type.d.ts +5 -9
  161. package/dist/cjs/util/compilable.js +1 -2
  162. package/dist/cjs/util/json-object-args.js +1 -2
  163. package/dist/cjs/util/log-once.js +1 -2
  164. package/dist/cjs/util/object-utils.js +38 -26
  165. package/dist/cjs/util/performance-now.js +1 -2
  166. package/dist/cjs/util/prevent-await.js +1 -2
  167. package/dist/cjs/util/query-id.js +1 -2
  168. package/dist/cjs/util/random-string.js +1 -2
  169. package/dist/cjs/util/require-all-props.d.ts +4 -2
  170. package/dist/cjs/util/require-all-props.js +5 -4
  171. package/dist/cjs/util/stack-trace-utils.js +1 -2
  172. package/dist/cjs/util/streamable.d.ts +1 -1
  173. package/dist/cjs/util/type-utils.d.ts +4 -2
  174. package/dist/esm/dialect/dialect-adapter-base.d.ts +13 -3
  175. package/dist/esm/dialect/dialect-adapter-base.js +4 -1
  176. package/dist/esm/dialect/dialect-adapter.d.ts +16 -2
  177. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +12 -7
  178. package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
  179. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +83 -55
  180. package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
  181. package/dist/esm/dialect/mssql/mssql-driver.js +114 -48
  182. package/dist/esm/dialect/mysql/mysql-adapter.d.ts +11 -2
  183. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +4 -0
  184. package/dist/esm/dialect/mysql/mysql-driver.js +3 -0
  185. package/dist/esm/dialect/postgres/postgres-adapter.d.ts +11 -2
  186. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +10 -3
  187. package/dist/esm/dialect/postgres/postgres-driver.js +3 -0
  188. package/dist/esm/dialect/postgres/postgres-introspector.js +5 -1
  189. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +11 -2
  190. package/dist/esm/driver/database-connection.d.ts +3 -1
  191. package/dist/esm/driver/dummy-driver.d.ts +13 -12
  192. package/dist/esm/driver/dummy-driver.js +13 -12
  193. package/dist/esm/dynamic/dynamic.d.ts +7 -7
  194. package/dist/esm/dynamic/dynamic.js +7 -7
  195. package/dist/esm/expression/expression-builder.d.ts +153 -62
  196. package/dist/esm/expression/expression-wrapper.d.ts +92 -23
  197. package/dist/esm/expression/expression.d.ts +40 -5
  198. package/dist/esm/helpers/mssql.d.ts +74 -14
  199. package/dist/esm/helpers/mssql.js +74 -14
  200. package/dist/esm/helpers/mysql.d.ts +17 -13
  201. package/dist/esm/helpers/mysql.js +17 -13
  202. package/dist/esm/helpers/postgres.d.ts +11 -8
  203. package/dist/esm/helpers/postgres.js +11 -8
  204. package/dist/esm/helpers/sqlite.d.ts +41 -16
  205. package/dist/esm/helpers/sqlite.js +41 -16
  206. package/dist/esm/index.d.ts +28 -21
  207. package/dist/esm/index.js +28 -21
  208. package/dist/esm/kysely.d.ts +100 -42
  209. package/dist/esm/kysely.js +61 -37
  210. package/dist/esm/migration/file-migration-provider.d.ts +2 -2
  211. package/dist/esm/migration/file-migration-provider.js +2 -2
  212. package/dist/esm/migration/migrator.d.ts +82 -14
  213. package/dist/esm/migration/migrator.js +82 -14
  214. package/dist/esm/operation-node/aggregate-function-node.d.ts +4 -0
  215. package/dist/esm/operation-node/aggregate-function-node.js +9 -0
  216. package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
  217. package/dist/esm/operation-node/case-node.d.ts +1 -1
  218. package/dist/esm/operation-node/column-definition-node.d.ts +1 -0
  219. package/dist/esm/operation-node/data-type-node.d.ts +2 -2
  220. package/dist/esm/operation-node/data-type-node.js +15 -1
  221. package/dist/esm/operation-node/delete-query-node.d.ts +3 -0
  222. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
  223. package/dist/esm/operation-node/having-node.d.ts +1 -1
  224. package/dist/esm/operation-node/insert-query-node.d.ts +3 -0
  225. package/dist/esm/operation-node/merge-query-node.d.ts +3 -0
  226. package/dist/esm/operation-node/on-node.d.ts +1 -1
  227. package/dist/esm/operation-node/operation-node-transformer.d.ts +11 -3
  228. package/dist/esm/operation-node/operation-node-transformer.js +26 -3
  229. package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
  230. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  231. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  232. package/dist/esm/operation-node/operator-node.d.ts +3 -3
  233. package/dist/esm/operation-node/operator-node.js +2 -0
  234. package/dist/esm/operation-node/output-node.d.ts +13 -0
  235. package/dist/esm/operation-node/output-node.js +24 -0
  236. package/dist/esm/operation-node/query-node.d.ts +15 -6
  237. package/dist/esm/operation-node/query-node.js +17 -0
  238. package/dist/esm/operation-node/select-query-node.d.ts +1 -1
  239. package/dist/esm/operation-node/select-query-node.js +6 -8
  240. package/dist/esm/operation-node/update-query-node.d.ts +3 -0
  241. package/dist/esm/operation-node/where-node.d.ts +1 -1
  242. package/dist/esm/parser/returning-parser.d.ts +4 -3
  243. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +54 -27
  244. package/dist/esm/plugin/camel-case/camel-case-plugin.js +26 -21
  245. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +29 -7
  246. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  247. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +2 -2
  248. package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +28 -6
  249. package/dist/esm/plugin/kysely-plugin.d.ts +28 -6
  250. package/dist/esm/plugin/noop-plugin.d.ts +28 -6
  251. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +80 -9
  252. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +53 -14
  253. package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +28 -6
  254. package/dist/esm/query-builder/aggregate-function-builder.d.ts +43 -1
  255. package/dist/esm/query-builder/aggregate-function-builder.js +30 -0
  256. package/dist/esm/query-builder/delete-query-builder.d.ts +219 -43
  257. package/dist/esm/query-builder/delete-query-builder.js +95 -31
  258. package/dist/esm/query-builder/function-module.d.ts +40 -93
  259. package/dist/esm/query-builder/insert-query-builder.d.ts +326 -67
  260. package/dist/esm/query-builder/insert-query-builder.js +212 -61
  261. package/dist/esm/query-builder/insert-result.d.ts +10 -5
  262. package/dist/esm/query-builder/insert-result.js +10 -5
  263. package/dist/esm/query-builder/json-path-builder.d.ts +33 -9
  264. package/dist/esm/query-builder/json-path-builder.js +8 -5
  265. package/dist/esm/query-builder/merge-query-builder.d.ts +312 -10
  266. package/dist/esm/query-builder/merge-query-builder.js +98 -7
  267. package/dist/esm/query-builder/on-conflict-builder.d.ts +53 -20
  268. package/dist/esm/query-builder/on-conflict-builder.js +41 -16
  269. package/dist/esm/query-builder/output-interface.d.ts +138 -0
  270. package/dist/esm/query-builder/output-interface.js +2 -0
  271. package/dist/esm/query-builder/returning-interface.d.ts +7 -5
  272. package/dist/esm/query-builder/select-query-builder-expression.d.ts +8 -0
  273. package/dist/esm/query-builder/select-query-builder.d.ts +370 -73
  274. package/dist/esm/query-builder/select-query-builder.js +13 -7
  275. package/dist/esm/query-builder/update-query-builder.d.ts +225 -31
  276. package/dist/esm/query-builder/update-query-builder.js +96 -17
  277. package/dist/esm/query-builder/update-result.d.ts +9 -0
  278. package/dist/esm/query-builder/update-result.js +9 -0
  279. package/dist/esm/query-builder/where-interface.d.ts +6 -2
  280. package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
  281. package/dist/esm/query-compiler/default-query-compiler.js +45 -1
  282. package/dist/esm/query-creator.d.ts +122 -21
  283. package/dist/esm/query-creator.js +56 -3
  284. package/dist/esm/raw-builder/raw-builder.d.ts +29 -7
  285. package/dist/esm/raw-builder/sql.d.ts +31 -12
  286. package/dist/esm/schema/alter-column-builder.d.ts +17 -3
  287. package/dist/esm/schema/alter-column-builder.js +20 -3
  288. package/dist/esm/schema/alter-table-add-index-builder.d.ts +44 -10
  289. package/dist/esm/schema/alter-table-add-index-builder.js +27 -10
  290. package/dist/esm/schema/alter-table-builder.js +1 -2
  291. package/dist/esm/schema/column-definition-builder.d.ts +286 -24
  292. package/dist/esm/schema/column-definition-builder.js +288 -24
  293. package/dist/esm/schema/create-table-builder.d.ts +86 -33
  294. package/dist/esm/schema/create-table-builder.js +86 -33
  295. package/dist/esm/util/column-type.d.ts +5 -9
  296. package/dist/esm/util/object-utils.js +18 -5
  297. package/dist/esm/util/require-all-props.d.ts +4 -2
  298. package/dist/esm/util/require-all-props.js +4 -2
  299. package/dist/esm/util/streamable.d.ts +1 -1
  300. package/dist/esm/util/type-utils.d.ts +4 -2
  301. package/package.json +30 -24
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsonBuildObject = exports.jsonObjectFrom = exports.jsonArrayFrom = void 0;
3
+ exports.jsonArrayFrom = jsonArrayFrom;
4
+ exports.jsonObjectFrom = jsonObjectFrom;
5
+ exports.jsonBuildObject = jsonBuildObject;
4
6
  const sql_js_1 = require("../raw-builder/sql.js");
5
7
  const json_object_args_js_1 = require("../util/json-object-args.js");
6
8
  /**
@@ -12,8 +14,14 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
12
14
  * The plugin can be installed like this:
13
15
  *
14
16
  * ```ts
15
- * const db = new Kysely({
16
- * 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
+ * }),
17
25
  * plugins: [new ParseJSONResultsPlugin()]
18
26
  * })
19
27
  * ```
@@ -21,6 +29,8 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
21
29
  * ### Examples
22
30
  *
23
31
  * ```ts
32
+ * import { jsonArrayFrom } from 'kysely/helpers/sqlite'
33
+ *
24
34
  * const result = await db
25
35
  * .selectFrom('person')
26
36
  * .select((eb) => [
@@ -34,9 +44,9 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
34
44
  * ])
35
45
  * .execute()
36
46
  *
37
- * result[0].id
38
- * result[0].pets[0].pet_id
39
- * result[0].pets[0].name
47
+ * result[0]?.id
48
+ * result[0]?.pets[0].pet_id
49
+ * result[0]?.pets[0].name
40
50
  * ```
41
51
  *
42
52
  * The generated SQL (SQLite):
@@ -59,7 +69,6 @@ const json_object_args_js_1 = require("../util/json-object-args.js");
59
69
  function jsonArrayFrom(expr) {
60
70
  return (0, sql_js_1.sql) `(select coalesce(json_group_array(json_object(${sql_js_1.sql.join(getSqliteJsonObjectArgs(expr.toOperationNode(), 'agg'))})), '[]') from ${expr} as agg)`;
61
71
  }
62
- exports.jsonArrayFrom = jsonArrayFrom;
63
72
  /**
64
73
  * A SQLite helper for turning a subquery into a JSON object.
65
74
  *
@@ -71,8 +80,14 @@ exports.jsonArrayFrom = jsonArrayFrom;
71
80
  * The plugin can be installed like this:
72
81
  *
73
82
  * ```ts
74
- * const db = new Kysely({
75
- * 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
+ * }),
76
91
  * plugins: [new ParseJSONResultsPlugin()]
77
92
  * })
78
93
  * ```
@@ -80,6 +95,8 @@ exports.jsonArrayFrom = jsonArrayFrom;
80
95
  * ### Examples
81
96
  *
82
97
  * ```ts
98
+ * import { jsonObjectFrom } from 'kysely/helpers/sqlite'
99
+ *
83
100
  * const result = await db
84
101
  * .selectFrom('person')
85
102
  * .select((eb) => [
@@ -93,9 +110,9 @@ exports.jsonArrayFrom = jsonArrayFrom;
93
110
  * ])
94
111
  * .execute()
95
112
  *
96
- * result[0].id
97
- * result[0].favorite_pet.pet_id
98
- * result[0].favorite_pet.name
113
+ * result[0]?.id
114
+ * result[0]?.favorite_pet?.pet_id
115
+ * result[0]?.favorite_pet?.name
99
116
  * ```
100
117
  *
101
118
  * The generated SQL (SQLite):
@@ -118,7 +135,6 @@ exports.jsonArrayFrom = jsonArrayFrom;
118
135
  function jsonObjectFrom(expr) {
119
136
  return (0, sql_js_1.sql) `(select json_object(${sql_js_1.sql.join(getSqliteJsonObjectArgs(expr.toOperationNode(), 'obj'))}) from ${expr} as obj)`;
120
137
  }
121
- exports.jsonObjectFrom = jsonObjectFrom;
122
138
  /**
123
139
  * The SQLite `json_object` function.
124
140
  *
@@ -128,8 +144,14 @@ exports.jsonObjectFrom = jsonObjectFrom;
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 @@ exports.jsonObjectFrom = jsonObjectFrom;
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 @@ exports.jsonObjectFrom = jsonObjectFrom;
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):
@@ -169,7 +194,6 @@ exports.jsonObjectFrom = jsonObjectFrom;
169
194
  function jsonBuildObject(obj) {
170
195
  return (0, sql_js_1.sql) `json_object(${sql_js_1.sql.join(Object.keys(obj).flatMap((k) => [sql_js_1.sql.lit(k), obj[k]]))})`;
171
196
  }
172
- exports.jsonBuildObject = jsonBuildObject;
173
197
  function getSqliteJsonObjectArgs(node, table) {
174
198
  try {
175
199
  return (0, json_object_args_js_1.getJsonObjectArgs)(node, table);
@@ -5,6 +5,7 @@ export { ExpressionBuilder, expressionBuilder, } from './expression/expression-b
5
5
  export * from './expression/expression-wrapper.js';
6
6
  export * from './query-builder/where-interface.js';
7
7
  export * from './query-builder/returning-interface.js';
8
+ export * from './query-builder/output-interface.js';
8
9
  export * from './query-builder/having-interface.js';
9
10
  export * from './query-builder/select-query-builder.js';
10
11
  export * from './query-builder/insert-query-builder.js';
@@ -91,17 +92,21 @@ export * from './plugin/with-schema/with-schema-plugin.js';
91
92
  export * from './plugin/parse-json-results/parse-json-results-plugin.js';
92
93
  export * from './operation-node/add-column-node.js';
93
94
  export * from './operation-node/add-constraint-node.js';
95
+ export * from './operation-node/add-index-node.js';
96
+ export * from './operation-node/aggregate-function-node.js';
94
97
  export * from './operation-node/alias-node.js';
95
98
  export * from './operation-node/alter-column-node.js';
96
99
  export * from './operation-node/alter-table-node.js';
97
100
  export * from './operation-node/and-node.js';
101
+ export * from './operation-node/binary-operation-node.js';
98
102
  export * from './operation-node/case-node.js';
103
+ export * from './operation-node/cast-node.js';
99
104
  export * from './operation-node/check-constraint-node.js';
100
105
  export * from './operation-node/column-definition-node.js';
101
106
  export * from './operation-node/column-node.js';
102
107
  export * from './operation-node/column-update-node.js';
103
- export * from './operation-node/common-table-expression-node.js';
104
108
  export * from './operation-node/common-table-expression-name-node.js';
109
+ export * from './operation-node/common-table-expression-node.js';
105
110
  export * from './operation-node/constraint-node.js';
106
111
  export * from './operation-node/create-index-node.js';
107
112
  export * from './operation-node/create-schema-node.js';
@@ -109,6 +114,7 @@ export * from './operation-node/create-table-node.js';
109
114
  export * from './operation-node/create-type-node.js';
110
115
  export * from './operation-node/create-view-node.js';
111
116
  export * from './operation-node/data-type-node.js';
117
+ export * from './operation-node/default-insert-value-node.js';
112
118
  export * from './operation-node/default-value-node.js';
113
119
  export * from './operation-node/delete-query-node.js';
114
120
  export * from './operation-node/drop-column-node.js';
@@ -118,8 +124,11 @@ export * from './operation-node/drop-schema-node.js';
118
124
  export * from './operation-node/drop-table-node.js';
119
125
  export * from './operation-node/drop-type-node.js';
120
126
  export * from './operation-node/drop-view-node.js';
127
+ export * from './operation-node/explain-node.js';
128
+ export * from './operation-node/fetch-node.js';
121
129
  export * from './operation-node/foreign-key-constraint-node.js';
122
130
  export * from './operation-node/from-node.js';
131
+ export * from './operation-node/function-node.js';
123
132
  export * from './operation-node/generated-node.js';
124
133
  export * from './operation-node/group-by-item-node.js';
125
134
  export * from './operation-node/group-by-node.js';
@@ -127,8 +136,14 @@ export * from './operation-node/having-node.js';
127
136
  export * from './operation-node/identifier-node.js';
128
137
  export * from './operation-node/insert-query-node.js';
129
138
  export * from './operation-node/join-node.js';
139
+ export * from './operation-node/json-operator-chain-node.js';
140
+ export * from './operation-node/json-path-leg-node.js';
141
+ export * from './operation-node/json-path-node.js';
142
+ export * from './operation-node/json-reference-node.js';
130
143
  export * from './operation-node/limit-node.js';
131
144
  export * from './operation-node/list-node.js';
145
+ export * from './operation-node/matched-node.js';
146
+ export * from './operation-node/merge-query-node.js';
132
147
  export * from './operation-node/modify-column-node.js';
133
148
  export * from './operation-node/offset-node.js';
134
149
  export * from './operation-node/on-conflict-node.js';
@@ -142,7 +157,11 @@ export * from './operation-node/operator-node.js';
142
157
  export * from './operation-node/or-node.js';
143
158
  export * from './operation-node/order-by-item-node.js';
144
159
  export * from './operation-node/order-by-node.js';
160
+ export * from './operation-node/output-node.js';
161
+ export * from './operation-node/over-node.js';
145
162
  export * from './operation-node/parens-node.js';
163
+ export * from './operation-node/partition-by-item-node.js';
164
+ export * from './operation-node/partition-by-node.js';
146
165
  export * from './operation-node/primary-constraint-node.js';
147
166
  export * from './operation-node/primitive-value-list-node.js';
148
167
  export * from './operation-node/query-node.js';
@@ -151,38 +170,26 @@ export * from './operation-node/reference-node.js';
151
170
  export * from './operation-node/references-node.js';
152
171
  export * from './operation-node/rename-column-node.js';
153
172
  export * from './operation-node/returning-node.js';
173
+ export * from './operation-node/schemable-identifier-node.js';
154
174
  export * from './operation-node/select-all-node.js';
155
- export * from './operation-node/select-query-node.js';
175
+ export * from './operation-node/select-modifier-node.js';
156
176
  export * from './operation-node/select-query-node.js';
157
177
  export * from './operation-node/selection-node.js';
178
+ export * from './operation-node/set-operation-node.js';
179
+ export * from './operation-node/simple-reference-expression-node.js';
158
180
  export * from './operation-node/table-node.js';
181
+ export * from './operation-node/top-node.js';
182
+ export * from './operation-node/tuple-node.js';
183
+ export * from './operation-node/unary-operation-node.js';
159
184
  export * from './operation-node/unique-constraint-node.js';
160
185
  export * from './operation-node/update-query-node.js';
186
+ export * from './operation-node/using-node.js';
161
187
  export * from './operation-node/value-list-node.js';
162
188
  export * from './operation-node/value-node.js';
163
189
  export * from './operation-node/values-node.js';
164
190
  export * from './operation-node/when-node.js';
165
191
  export * from './operation-node/where-node.js';
166
192
  export * from './operation-node/with-node.js';
167
- export * from './operation-node/explain-node.js';
168
- export * from './operation-node/default-insert-value-node.js';
169
- export * from './operation-node/aggregate-function-node.js';
170
- export * from './operation-node/over-node.js';
171
- export * from './operation-node/partition-by-node.js';
172
- export * from './operation-node/partition-by-item-node.js';
173
- export * from './operation-node/set-operation-node.js';
174
- export * from './operation-node/binary-operation-node.js';
175
- export * from './operation-node/unary-operation-node.js';
176
- export * from './operation-node/using-node.js';
177
- export * from './operation-node/json-reference-node.js';
178
- export * from './operation-node/json-path-leg-node.js';
179
- export * from './operation-node/json-path-node.js';
180
- export * from './operation-node/json-operator-chain-node.js';
181
- export * from './operation-node/tuple-node.js';
182
- export * from './operation-node/merge-query-node.js';
183
- export * from './operation-node/matched-node.js';
184
- export * from './operation-node/fetch-node.js';
185
- export * from './operation-node/top-node.js';
186
193
  export * from './util/column-type.js';
187
194
  export * from './util/compilable.js';
188
195
  export * from './util/explainable.js';
package/dist/cjs/index.js CHANGED
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "expressionBuilder", { enumerable: true, get: fun
23
23
  __exportStar(require("./expression/expression-wrapper.js"), exports);
24
24
  __exportStar(require("./query-builder/where-interface.js"), exports);
25
25
  __exportStar(require("./query-builder/returning-interface.js"), exports);
26
+ __exportStar(require("./query-builder/output-interface.js"), exports);
26
27
  __exportStar(require("./query-builder/having-interface.js"), exports);
27
28
  __exportStar(require("./query-builder/select-query-builder.js"), exports);
28
29
  __exportStar(require("./query-builder/insert-query-builder.js"), exports);
@@ -109,17 +110,21 @@ __exportStar(require("./plugin/with-schema/with-schema-plugin.js"), exports);
109
110
  __exportStar(require("./plugin/parse-json-results/parse-json-results-plugin.js"), exports);
110
111
  __exportStar(require("./operation-node/add-column-node.js"), exports);
111
112
  __exportStar(require("./operation-node/add-constraint-node.js"), exports);
113
+ __exportStar(require("./operation-node/add-index-node.js"), exports);
114
+ __exportStar(require("./operation-node/aggregate-function-node.js"), exports);
112
115
  __exportStar(require("./operation-node/alias-node.js"), exports);
113
116
  __exportStar(require("./operation-node/alter-column-node.js"), exports);
114
117
  __exportStar(require("./operation-node/alter-table-node.js"), exports);
115
118
  __exportStar(require("./operation-node/and-node.js"), exports);
119
+ __exportStar(require("./operation-node/binary-operation-node.js"), exports);
116
120
  __exportStar(require("./operation-node/case-node.js"), exports);
121
+ __exportStar(require("./operation-node/cast-node.js"), exports);
117
122
  __exportStar(require("./operation-node/check-constraint-node.js"), exports);
118
123
  __exportStar(require("./operation-node/column-definition-node.js"), exports);
119
124
  __exportStar(require("./operation-node/column-node.js"), exports);
120
125
  __exportStar(require("./operation-node/column-update-node.js"), exports);
121
- __exportStar(require("./operation-node/common-table-expression-node.js"), exports);
122
126
  __exportStar(require("./operation-node/common-table-expression-name-node.js"), exports);
127
+ __exportStar(require("./operation-node/common-table-expression-node.js"), exports);
123
128
  __exportStar(require("./operation-node/constraint-node.js"), exports);
124
129
  __exportStar(require("./operation-node/create-index-node.js"), exports);
125
130
  __exportStar(require("./operation-node/create-schema-node.js"), exports);
@@ -127,6 +132,7 @@ __exportStar(require("./operation-node/create-table-node.js"), exports);
127
132
  __exportStar(require("./operation-node/create-type-node.js"), exports);
128
133
  __exportStar(require("./operation-node/create-view-node.js"), exports);
129
134
  __exportStar(require("./operation-node/data-type-node.js"), exports);
135
+ __exportStar(require("./operation-node/default-insert-value-node.js"), exports);
130
136
  __exportStar(require("./operation-node/default-value-node.js"), exports);
131
137
  __exportStar(require("./operation-node/delete-query-node.js"), exports);
132
138
  __exportStar(require("./operation-node/drop-column-node.js"), exports);
@@ -136,8 +142,11 @@ __exportStar(require("./operation-node/drop-schema-node.js"), exports);
136
142
  __exportStar(require("./operation-node/drop-table-node.js"), exports);
137
143
  __exportStar(require("./operation-node/drop-type-node.js"), exports);
138
144
  __exportStar(require("./operation-node/drop-view-node.js"), exports);
145
+ __exportStar(require("./operation-node/explain-node.js"), exports);
146
+ __exportStar(require("./operation-node/fetch-node.js"), exports);
139
147
  __exportStar(require("./operation-node/foreign-key-constraint-node.js"), exports);
140
148
  __exportStar(require("./operation-node/from-node.js"), exports);
149
+ __exportStar(require("./operation-node/function-node.js"), exports);
141
150
  __exportStar(require("./operation-node/generated-node.js"), exports);
142
151
  __exportStar(require("./operation-node/group-by-item-node.js"), exports);
143
152
  __exportStar(require("./operation-node/group-by-node.js"), exports);
@@ -145,8 +154,14 @@ __exportStar(require("./operation-node/having-node.js"), exports);
145
154
  __exportStar(require("./operation-node/identifier-node.js"), exports);
146
155
  __exportStar(require("./operation-node/insert-query-node.js"), exports);
147
156
  __exportStar(require("./operation-node/join-node.js"), exports);
157
+ __exportStar(require("./operation-node/json-operator-chain-node.js"), exports);
158
+ __exportStar(require("./operation-node/json-path-leg-node.js"), exports);
159
+ __exportStar(require("./operation-node/json-path-node.js"), exports);
160
+ __exportStar(require("./operation-node/json-reference-node.js"), exports);
148
161
  __exportStar(require("./operation-node/limit-node.js"), exports);
149
162
  __exportStar(require("./operation-node/list-node.js"), exports);
163
+ __exportStar(require("./operation-node/matched-node.js"), exports);
164
+ __exportStar(require("./operation-node/merge-query-node.js"), exports);
150
165
  __exportStar(require("./operation-node/modify-column-node.js"), exports);
151
166
  __exportStar(require("./operation-node/offset-node.js"), exports);
152
167
  __exportStar(require("./operation-node/on-conflict-node.js"), exports);
@@ -160,7 +175,11 @@ __exportStar(require("./operation-node/operator-node.js"), exports);
160
175
  __exportStar(require("./operation-node/or-node.js"), exports);
161
176
  __exportStar(require("./operation-node/order-by-item-node.js"), exports);
162
177
  __exportStar(require("./operation-node/order-by-node.js"), exports);
178
+ __exportStar(require("./operation-node/output-node.js"), exports);
179
+ __exportStar(require("./operation-node/over-node.js"), exports);
163
180
  __exportStar(require("./operation-node/parens-node.js"), exports);
181
+ __exportStar(require("./operation-node/partition-by-item-node.js"), exports);
182
+ __exportStar(require("./operation-node/partition-by-node.js"), exports);
164
183
  __exportStar(require("./operation-node/primary-constraint-node.js"), exports);
165
184
  __exportStar(require("./operation-node/primitive-value-list-node.js"), exports);
166
185
  __exportStar(require("./operation-node/query-node.js"), exports);
@@ -169,38 +188,26 @@ __exportStar(require("./operation-node/reference-node.js"), exports);
169
188
  __exportStar(require("./operation-node/references-node.js"), exports);
170
189
  __exportStar(require("./operation-node/rename-column-node.js"), exports);
171
190
  __exportStar(require("./operation-node/returning-node.js"), exports);
191
+ __exportStar(require("./operation-node/schemable-identifier-node.js"), exports);
172
192
  __exportStar(require("./operation-node/select-all-node.js"), exports);
173
- __exportStar(require("./operation-node/select-query-node.js"), exports);
193
+ __exportStar(require("./operation-node/select-modifier-node.js"), exports);
174
194
  __exportStar(require("./operation-node/select-query-node.js"), exports);
175
195
  __exportStar(require("./operation-node/selection-node.js"), exports);
196
+ __exportStar(require("./operation-node/set-operation-node.js"), exports);
197
+ __exportStar(require("./operation-node/simple-reference-expression-node.js"), exports);
176
198
  __exportStar(require("./operation-node/table-node.js"), exports);
199
+ __exportStar(require("./operation-node/top-node.js"), exports);
200
+ __exportStar(require("./operation-node/tuple-node.js"), exports);
201
+ __exportStar(require("./operation-node/unary-operation-node.js"), exports);
177
202
  __exportStar(require("./operation-node/unique-constraint-node.js"), exports);
178
203
  __exportStar(require("./operation-node/update-query-node.js"), exports);
204
+ __exportStar(require("./operation-node/using-node.js"), exports);
179
205
  __exportStar(require("./operation-node/value-list-node.js"), exports);
180
206
  __exportStar(require("./operation-node/value-node.js"), exports);
181
207
  __exportStar(require("./operation-node/values-node.js"), exports);
182
208
  __exportStar(require("./operation-node/when-node.js"), exports);
183
209
  __exportStar(require("./operation-node/where-node.js"), exports);
184
210
  __exportStar(require("./operation-node/with-node.js"), exports);
185
- __exportStar(require("./operation-node/explain-node.js"), exports);
186
- __exportStar(require("./operation-node/default-insert-value-node.js"), exports);
187
- __exportStar(require("./operation-node/aggregate-function-node.js"), exports);
188
- __exportStar(require("./operation-node/over-node.js"), exports);
189
- __exportStar(require("./operation-node/partition-by-node.js"), exports);
190
- __exportStar(require("./operation-node/partition-by-item-node.js"), exports);
191
- __exportStar(require("./operation-node/set-operation-node.js"), exports);
192
- __exportStar(require("./operation-node/binary-operation-node.js"), exports);
193
- __exportStar(require("./operation-node/unary-operation-node.js"), exports);
194
- __exportStar(require("./operation-node/using-node.js"), exports);
195
- __exportStar(require("./operation-node/json-reference-node.js"), exports);
196
- __exportStar(require("./operation-node/json-path-leg-node.js"), exports);
197
- __exportStar(require("./operation-node/json-path-node.js"), exports);
198
- __exportStar(require("./operation-node/json-operator-chain-node.js"), exports);
199
- __exportStar(require("./operation-node/tuple-node.js"), exports);
200
- __exportStar(require("./operation-node/merge-query-node.js"), exports);
201
- __exportStar(require("./operation-node/matched-node.js"), exports);
202
- __exportStar(require("./operation-node/fetch-node.js"), exports);
203
- __exportStar(require("./operation-node/top-node.js"), exports);
204
211
  __exportStar(require("./util/column-type.js"), exports);
205
212
  __exportStar(require("./util/compilable.js"), exports);
206
213
  __exportStar(require("./util/explainable.js"), exports);