kysely 0.25.0 → 0.26.0

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 (315) hide show
  1. package/README.md +10 -563
  2. package/dist/cjs/dialect/database-introspector.d.ts +1 -1
  3. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -2
  4. package/dist/cjs/dialect/mysql/mysql-driver.js +5 -1
  5. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  6. package/dist/cjs/dialect/postgres/postgres-introspector.js +1 -4
  7. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +1 -1
  8. package/dist/cjs/driver/database-connection.d.ts +6 -0
  9. package/dist/cjs/driver/driver.d.ts +1 -1
  10. package/dist/cjs/expression/expression-builder.d.ts +207 -108
  11. package/dist/cjs/expression/expression-builder.js +28 -7
  12. package/dist/cjs/expression/expression-wrapper.d.ts +296 -5
  13. package/dist/cjs/expression/expression-wrapper.js +70 -2
  14. package/dist/cjs/helpers/postgres.d.ts +30 -18
  15. package/dist/cjs/helpers/postgres.js +30 -18
  16. package/dist/cjs/index.d.ts +6 -0
  17. package/dist/cjs/index.js +6 -0
  18. package/dist/cjs/kysely.d.ts +23 -13
  19. package/dist/cjs/kysely.js +13 -9
  20. package/dist/cjs/migration/file-migration-provider.js +2 -2
  21. package/dist/cjs/operation-node/alter-column-node.d.ts +2 -3
  22. package/dist/cjs/operation-node/alter-column-node.js +2 -7
  23. package/dist/cjs/operation-node/alter-table-node.d.ts +2 -2
  24. package/dist/cjs/operation-node/column-definition-node.d.ts +1 -1
  25. package/dist/cjs/operation-node/constraint-node.d.ts +1 -1
  26. package/dist/cjs/operation-node/create-index-node.d.ts +2 -2
  27. package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
  28. package/dist/cjs/operation-node/create-table-node.d.ts +2 -2
  29. package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
  30. package/dist/cjs/operation-node/create-view-node.d.ts +1 -1
  31. package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
  32. package/dist/cjs/operation-node/drop-constraint-node.d.ts +1 -1
  33. package/dist/cjs/operation-node/drop-index-node.d.ts +1 -1
  34. package/dist/cjs/operation-node/drop-schema-node.d.ts +1 -1
  35. package/dist/cjs/operation-node/drop-table-node.d.ts +1 -1
  36. package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
  37. package/dist/cjs/operation-node/drop-view-node.d.ts +1 -1
  38. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +1 -1
  39. package/dist/cjs/operation-node/generated-node.d.ts +1 -1
  40. package/dist/cjs/operation-node/insert-query-node.d.ts +1 -1
  41. package/dist/cjs/operation-node/join-node.d.ts +1 -2
  42. package/dist/cjs/operation-node/join-node.js +0 -8
  43. package/dist/cjs/operation-node/json-operator-chain-node.d.ts +16 -0
  44. package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
  45. package/dist/cjs/operation-node/json-path-leg-node.d.ts +14 -0
  46. package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
  47. package/dist/cjs/operation-node/json-path-node.d.ts +16 -0
  48. package/dist/cjs/operation-node/json-path-node.js +25 -0
  49. package/dist/cjs/operation-node/json-reference-node.d.ts +17 -0
  50. package/dist/cjs/operation-node/json-reference-node.js +25 -0
  51. package/dist/cjs/operation-node/on-conflict-node.d.ts +1 -1
  52. package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +1 -1
  53. package/dist/cjs/operation-node/operation-node-transformer.d.ts +8 -0
  54. package/dist/cjs/operation-node/operation-node-transformer.js +33 -1
  55. package/dist/cjs/operation-node/operation-node-visitor.d.ts +8 -0
  56. package/dist/cjs/operation-node/operation-node-visitor.js +4 -0
  57. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  58. package/dist/cjs/operation-node/operator-node.d.ts +13 -9
  59. package/dist/cjs/operation-node/operator-node.js +12 -2
  60. package/dist/cjs/operation-node/query-node.d.ts +9 -10
  61. package/dist/cjs/operation-node/query-node.js +0 -8
  62. package/dist/cjs/operation-node/reference-node.d.ts +2 -2
  63. package/dist/cjs/operation-node/reference-node.js +1 -1
  64. package/dist/cjs/operation-node/references-node.d.ts +1 -1
  65. package/dist/cjs/operation-node/select-modifier-node.d.ts +1 -1
  66. package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
  67. package/dist/cjs/operation-node/select-query-node.js +0 -8
  68. package/dist/cjs/operation-node/selection-node.d.ts +1 -1
  69. package/dist/cjs/operation-node/set-operation-node.d.ts +1 -1
  70. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +1 -1
  71. package/dist/cjs/operation-node/update-query-node.d.ts +1 -1
  72. package/dist/cjs/operation-node/values-node.d.ts +1 -1
  73. package/dist/cjs/operation-node/with-node.d.ts +1 -1
  74. package/dist/cjs/parser/binary-operation-parser.d.ts +9 -12
  75. package/dist/cjs/parser/binary-operation-parser.js +40 -119
  76. package/dist/cjs/parser/coalesce-parser.d.ts +1 -1
  77. package/dist/cjs/parser/data-type-parser.d.ts +1 -1
  78. package/dist/cjs/parser/default-value-parser.d.ts +1 -1
  79. package/dist/cjs/parser/expression-parser.d.ts +5 -5
  80. package/dist/cjs/parser/group-by-parser.d.ts +2 -2
  81. package/dist/cjs/parser/insert-values-parser.d.ts +4 -4
  82. package/dist/cjs/parser/join-parser.d.ts +4 -4
  83. package/dist/cjs/parser/order-by-parser.d.ts +3 -3
  84. package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
  85. package/dist/cjs/parser/reference-parser.d.ts +13 -9
  86. package/dist/cjs/parser/reference-parser.js +28 -16
  87. package/dist/cjs/parser/returning-parser.d.ts +2 -2
  88. package/dist/cjs/parser/select-parser.d.ts +10 -10
  89. package/dist/cjs/parser/table-parser.d.ts +12 -12
  90. package/dist/cjs/parser/unary-operation-parser.d.ts +1 -1
  91. package/dist/cjs/parser/update-set-parser.d.ts +3 -3
  92. package/dist/cjs/parser/update-set-parser.js +1 -3
  93. package/dist/cjs/parser/value-parser.d.ts +4 -4
  94. package/dist/cjs/parser/with-parser.d.ts +12 -8
  95. package/dist/cjs/plugin/camel-case/camel-case.d.ts +1 -1
  96. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
  97. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +32 -0
  98. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +22 -6
  99. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +5 -38
  100. package/dist/cjs/query-builder/aggregate-function-builder.js +4 -59
  101. package/dist/cjs/query-builder/case-builder.d.ts +11 -11
  102. package/dist/cjs/query-builder/case-builder.js +2 -2
  103. package/dist/cjs/query-builder/delete-query-builder.d.ts +84 -59
  104. package/dist/cjs/query-builder/delete-query-builder.js +1 -62
  105. package/dist/cjs/query-builder/delete-result.d.ts +1 -2
  106. package/dist/cjs/query-builder/delete-result.js +2 -8
  107. package/dist/cjs/query-builder/function-module.d.ts +44 -66
  108. package/dist/cjs/query-builder/having-interface.d.ts +2 -35
  109. package/dist/cjs/query-builder/insert-query-builder.d.ts +58 -47
  110. package/dist/cjs/query-builder/insert-query-builder.js +17 -34
  111. package/dist/cjs/query-builder/insert-result.d.ts +3 -4
  112. package/dist/cjs/query-builder/insert-result.js +5 -14
  113. package/dist/cjs/query-builder/join-builder.d.ts +2 -35
  114. package/dist/cjs/query-builder/join-builder.js +1 -56
  115. package/dist/cjs/query-builder/json-path-builder.d.ts +212 -0
  116. package/dist/cjs/query-builder/json-path-builder.js +191 -0
  117. package/dist/cjs/query-builder/no-result-error.d.ts +1 -1
  118. package/dist/cjs/query-builder/on-conflict-builder.d.ts +144 -73
  119. package/dist/cjs/query-builder/on-conflict-builder.js +2 -111
  120. package/dist/cjs/query-builder/over-builder.d.ts +2 -2
  121. package/dist/cjs/query-builder/over-builder.js +1 -1
  122. package/dist/cjs/query-builder/returning-interface.d.ts +1 -1
  123. package/dist/cjs/query-builder/select-query-builder.d.ts +139 -134
  124. package/dist/cjs/query-builder/select-query-builder.js +24 -133
  125. package/dist/cjs/query-builder/update-query-builder.d.ts +89 -62
  126. package/dist/cjs/query-builder/update-query-builder.js +3 -63
  127. package/dist/cjs/query-builder/update-result.d.ts +3 -3
  128. package/dist/cjs/query-builder/update-result.js +5 -9
  129. package/dist/cjs/query-builder/where-interface.d.ts +73 -38
  130. package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
  131. package/dist/cjs/query-compiler/compiled-query.js +2 -2
  132. package/dist/cjs/query-compiler/default-query-compiler.d.ts +8 -0
  133. package/dist/cjs/query-compiler/default-query-compiler.js +37 -2
  134. package/dist/cjs/query-compiler/query-compiler.d.ts +1 -1
  135. package/dist/cjs/query-creator.d.ts +4 -2
  136. package/dist/cjs/schema/alter-column-builder.d.ts +11 -5
  137. package/dist/cjs/schema/alter-column-builder.js +19 -21
  138. package/dist/cjs/schema/alter-table-builder.d.ts +0 -4
  139. package/dist/cjs/schema/alter-table-builder.js +2 -9
  140. package/dist/cjs/schema/column-definition-builder.d.ts +1 -1
  141. package/dist/cjs/schema/column-definition-builder.js +1 -2
  142. package/dist/cjs/schema/create-index-builder.js +1 -1
  143. package/dist/cjs/schema/create-table-builder.d.ts +2 -6
  144. package/dist/cjs/schema/create-table-builder.js +0 -6
  145. package/dist/cjs/schema/schema.d.ts +1 -2
  146. package/dist/cjs/schema/schema.js +1 -2
  147. package/dist/cjs/util/column-type.d.ts +22 -18
  148. package/dist/cjs/util/explainable.d.ts +1 -1
  149. package/dist/cjs/util/infer-result.d.ts +2 -2
  150. package/dist/cjs/util/log.d.ts +4 -4
  151. package/dist/cjs/util/require-all-props.d.ts +1 -1
  152. package/dist/cjs/util/type-utils.d.ts +19 -19
  153. package/dist/esm/dialect/database-introspector.d.ts +1 -1
  154. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -2
  155. package/dist/esm/dialect/mysql/mysql-driver.js +5 -1
  156. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  157. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -4
  158. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -1
  159. package/dist/esm/driver/database-connection.d.ts +6 -0
  160. package/dist/esm/driver/driver.d.ts +1 -1
  161. package/dist/esm/expression/expression-builder.d.ts +207 -108
  162. package/dist/esm/expression/expression-builder.js +30 -9
  163. package/dist/esm/expression/expression-wrapper.d.ts +296 -5
  164. package/dist/esm/expression/expression-wrapper.js +67 -1
  165. package/dist/esm/helpers/postgres.d.ts +30 -18
  166. package/dist/esm/helpers/postgres.js +30 -18
  167. package/dist/esm/index.d.ts +6 -0
  168. package/dist/esm/index.js +6 -0
  169. package/dist/esm/kysely.d.ts +23 -13
  170. package/dist/esm/kysely.js +13 -9
  171. package/dist/esm/operation-node/alter-column-node.d.ts +2 -3
  172. package/dist/esm/operation-node/alter-column-node.js +2 -7
  173. package/dist/esm/operation-node/alter-table-node.d.ts +2 -2
  174. package/dist/esm/operation-node/column-definition-node.d.ts +1 -1
  175. package/dist/esm/operation-node/constraint-node.d.ts +1 -1
  176. package/dist/esm/operation-node/create-index-node.d.ts +2 -2
  177. package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
  178. package/dist/esm/operation-node/create-table-node.d.ts +2 -2
  179. package/dist/esm/operation-node/create-type-node.d.ts +1 -1
  180. package/dist/esm/operation-node/create-view-node.d.ts +1 -1
  181. package/dist/esm/operation-node/data-type-node.d.ts +2 -2
  182. package/dist/esm/operation-node/drop-constraint-node.d.ts +1 -1
  183. package/dist/esm/operation-node/drop-index-node.d.ts +1 -1
  184. package/dist/esm/operation-node/drop-schema-node.d.ts +1 -1
  185. package/dist/esm/operation-node/drop-table-node.d.ts +1 -1
  186. package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
  187. package/dist/esm/operation-node/drop-view-node.d.ts +1 -1
  188. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +1 -1
  189. package/dist/esm/operation-node/generated-node.d.ts +1 -1
  190. package/dist/esm/operation-node/insert-query-node.d.ts +1 -1
  191. package/dist/esm/operation-node/join-node.d.ts +1 -2
  192. package/dist/esm/operation-node/join-node.js +0 -8
  193. package/dist/esm/operation-node/json-operator-chain-node.d.ts +16 -0
  194. package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
  195. package/dist/esm/operation-node/json-path-leg-node.d.ts +14 -0
  196. package/dist/esm/operation-node/json-path-leg-node.js +17 -0
  197. package/dist/esm/operation-node/json-path-node.d.ts +16 -0
  198. package/dist/esm/operation-node/json-path-node.js +23 -0
  199. package/dist/esm/operation-node/json-reference-node.d.ts +17 -0
  200. package/dist/esm/operation-node/json-reference-node.js +23 -0
  201. package/dist/esm/operation-node/on-conflict-node.d.ts +1 -1
  202. package/dist/esm/operation-node/on-duplicate-key-node.d.ts +1 -1
  203. package/dist/esm/operation-node/operation-node-transformer.d.ts +8 -0
  204. package/dist/esm/operation-node/operation-node-transformer.js +33 -1
  205. package/dist/esm/operation-node/operation-node-visitor.d.ts +8 -0
  206. package/dist/esm/operation-node/operation-node-visitor.js +4 -0
  207. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  208. package/dist/esm/operation-node/operator-node.d.ts +13 -9
  209. package/dist/esm/operation-node/operator-node.js +10 -1
  210. package/dist/esm/operation-node/query-node.d.ts +9 -10
  211. package/dist/esm/operation-node/query-node.js +0 -8
  212. package/dist/esm/operation-node/reference-node.d.ts +2 -2
  213. package/dist/esm/operation-node/reference-node.js +1 -1
  214. package/dist/esm/operation-node/references-node.d.ts +1 -1
  215. package/dist/esm/operation-node/select-modifier-node.d.ts +1 -1
  216. package/dist/esm/operation-node/select-query-node.d.ts +0 -1
  217. package/dist/esm/operation-node/select-query-node.js +0 -8
  218. package/dist/esm/operation-node/selection-node.d.ts +1 -1
  219. package/dist/esm/operation-node/set-operation-node.d.ts +1 -1
  220. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +1 -1
  221. package/dist/esm/operation-node/update-query-node.d.ts +1 -1
  222. package/dist/esm/operation-node/values-node.d.ts +1 -1
  223. package/dist/esm/operation-node/with-node.d.ts +1 -1
  224. package/dist/esm/parser/binary-operation-parser.d.ts +9 -12
  225. package/dist/esm/parser/binary-operation-parser.js +38 -114
  226. package/dist/esm/parser/coalesce-parser.d.ts +1 -1
  227. package/dist/esm/parser/data-type-parser.d.ts +1 -1
  228. package/dist/esm/parser/default-value-parser.d.ts +1 -1
  229. package/dist/esm/parser/expression-parser.d.ts +5 -5
  230. package/dist/esm/parser/group-by-parser.d.ts +2 -2
  231. package/dist/esm/parser/insert-values-parser.d.ts +4 -4
  232. package/dist/esm/parser/join-parser.d.ts +4 -4
  233. package/dist/esm/parser/order-by-parser.d.ts +3 -3
  234. package/dist/esm/parser/partition-by-parser.d.ts +2 -2
  235. package/dist/esm/parser/reference-parser.d.ts +13 -9
  236. package/dist/esm/parser/reference-parser.js +26 -15
  237. package/dist/esm/parser/returning-parser.d.ts +2 -2
  238. package/dist/esm/parser/select-parser.d.ts +10 -10
  239. package/dist/esm/parser/table-parser.d.ts +12 -12
  240. package/dist/esm/parser/unary-operation-parser.d.ts +1 -1
  241. package/dist/esm/parser/update-set-parser.d.ts +3 -3
  242. package/dist/esm/parser/update-set-parser.js +2 -4
  243. package/dist/esm/parser/value-parser.d.ts +4 -4
  244. package/dist/esm/parser/with-parser.d.ts +12 -8
  245. package/dist/esm/plugin/camel-case/camel-case.d.ts +1 -1
  246. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
  247. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +29 -0
  248. package/dist/esm/plugin/with-schema/with-schema-transformer.js +22 -6
  249. package/dist/esm/query-builder/aggregate-function-builder.d.ts +5 -38
  250. package/dist/esm/query-builder/aggregate-function-builder.js +5 -60
  251. package/dist/esm/query-builder/case-builder.d.ts +11 -11
  252. package/dist/esm/query-builder/case-builder.js +3 -3
  253. package/dist/esm/query-builder/delete-query-builder.d.ts +84 -59
  254. package/dist/esm/query-builder/delete-query-builder.js +2 -63
  255. package/dist/esm/query-builder/delete-result.d.ts +1 -2
  256. package/dist/esm/query-builder/delete-result.js +2 -8
  257. package/dist/esm/query-builder/function-module.d.ts +44 -66
  258. package/dist/esm/query-builder/having-interface.d.ts +2 -35
  259. package/dist/esm/query-builder/insert-query-builder.d.ts +58 -47
  260. package/dist/esm/query-builder/insert-query-builder.js +17 -34
  261. package/dist/esm/query-builder/insert-result.d.ts +3 -4
  262. package/dist/esm/query-builder/insert-result.js +5 -14
  263. package/dist/esm/query-builder/join-builder.d.ts +2 -35
  264. package/dist/esm/query-builder/join-builder.js +2 -57
  265. package/dist/esm/query-builder/json-path-builder.d.ts +212 -0
  266. package/dist/esm/query-builder/json-path-builder.js +186 -0
  267. package/dist/esm/query-builder/no-result-error.d.ts +1 -1
  268. package/dist/esm/query-builder/on-conflict-builder.d.ts +144 -73
  269. package/dist/esm/query-builder/on-conflict-builder.js +3 -112
  270. package/dist/esm/query-builder/over-builder.d.ts +2 -2
  271. package/dist/esm/query-builder/over-builder.js +1 -1
  272. package/dist/esm/query-builder/returning-interface.d.ts +1 -1
  273. package/dist/esm/query-builder/select-query-builder.d.ts +139 -134
  274. package/dist/esm/query-builder/select-query-builder.js +25 -134
  275. package/dist/esm/query-builder/update-query-builder.d.ts +89 -62
  276. package/dist/esm/query-builder/update-query-builder.js +4 -64
  277. package/dist/esm/query-builder/update-result.d.ts +3 -3
  278. package/dist/esm/query-builder/update-result.js +5 -9
  279. package/dist/esm/query-builder/where-interface.d.ts +73 -38
  280. package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
  281. package/dist/esm/query-compiler/compiled-query.js +2 -2
  282. package/dist/esm/query-compiler/default-query-compiler.d.ts +8 -0
  283. package/dist/esm/query-compiler/default-query-compiler.js +37 -2
  284. package/dist/esm/query-compiler/query-compiler.d.ts +1 -1
  285. package/dist/esm/query-creator.d.ts +4 -2
  286. package/dist/esm/schema/alter-column-builder.d.ts +11 -5
  287. package/dist/esm/schema/alter-column-builder.js +19 -21
  288. package/dist/esm/schema/alter-table-builder.d.ts +0 -4
  289. package/dist/esm/schema/alter-table-builder.js +2 -9
  290. package/dist/esm/schema/column-definition-builder.d.ts +1 -1
  291. package/dist/esm/schema/column-definition-builder.js +1 -2
  292. package/dist/esm/schema/create-index-builder.js +2 -2
  293. package/dist/esm/schema/create-table-builder.d.ts +2 -6
  294. package/dist/esm/schema/create-table-builder.js +0 -6
  295. package/dist/esm/schema/schema.d.ts +1 -2
  296. package/dist/esm/schema/schema.js +1 -2
  297. package/dist/esm/util/column-type.d.ts +22 -18
  298. package/dist/esm/util/explainable.d.ts +1 -1
  299. package/dist/esm/util/infer-result.d.ts +2 -2
  300. package/dist/esm/util/log.d.ts +4 -4
  301. package/dist/esm/util/require-all-props.d.ts +1 -1
  302. package/dist/esm/util/type-utils.d.ts +19 -19
  303. package/package.json +25 -23
  304. package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +0 -62
  305. package/dist/cjs/query-builder/deprecated-having-expression-builder.js +0 -2
  306. package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +0 -62
  307. package/dist/cjs/query-builder/deprecated-on-expression-builder.js +0 -2
  308. package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +0 -62
  309. package/dist/cjs/query-builder/deprecated-where-expression-builder.js +0 -2
  310. package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +0 -62
  311. package/dist/esm/query-builder/deprecated-having-expression-builder.js +0 -2
  312. package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +0 -62
  313. package/dist/esm/query-builder/deprecated-on-expression-builder.js +0 -2
  314. package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +0 -62
  315. package/dist/esm/query-builder/deprecated-where-expression-builder.js +0 -2
@@ -307,12 +307,6 @@ class CreateTableBuilder {
307
307
  $call(func) {
308
308
  return func(this);
309
309
  }
310
- /**
311
- * @deprecated Use `$call` instead
312
- */
313
- call(func) {
314
- return this.$call(func);
315
- }
316
310
  toOperationNode() {
317
311
  return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId);
318
312
  }
@@ -139,8 +139,7 @@ export declare class SchemaModule {
139
139
  * ```ts
140
140
  * await db.schema
141
141
  * .alterTable('person')
142
- * .alterColumn('first_name')
143
- * .setDataType('text')
142
+ * .alterColumn('first_name', (ac) => ac.setDataType('text'))
144
143
  * .execute()
145
144
  * ```
146
145
  */
@@ -193,8 +193,7 @@ class SchemaModule {
193
193
  * ```ts
194
194
  * await db.schema
195
195
  * .alterTable('person')
196
- * .alterColumn('first_name')
197
- * .setDataType('text')
196
+ * .alterColumn('first_name', (ac) => ac.setDataType('text'))
198
197
  * .execute()
199
198
  * ```
200
199
  */
@@ -1,4 +1,3 @@
1
- import { DrainOuterGeneric } from './type-utils.js';
2
1
  /**
3
2
  * This type can be used to specify a different type for
4
3
  * select, insert and update operations.
@@ -34,7 +33,7 @@ import { DrainOuterGeneric } from './type-utils.js';
34
33
  * ColumnType<Date, string, never>
35
34
  * ```
36
35
  */
37
- export declare type ColumnType<SelectType, InsertType = SelectType, UpdateType = SelectType> = {
36
+ export type ColumnType<SelectType, InsertType = SelectType, UpdateType = SelectType> = {
38
37
  readonly __select__: SelectType;
39
38
  readonly __insert__: InsertType;
40
39
  readonly __update__: UpdateType;
@@ -52,50 +51,55 @@ export declare type ColumnType<SelectType, InsertType = SelectType, UpdateType =
52
51
  * type Generated<S> = ColumnType<S, S | undefined, S>
53
52
  * ```
54
53
  */
55
- export declare type Generated<S> = ColumnType<S, S | undefined, S>;
54
+ export type Generated<S> = ColumnType<S, S | undefined, S>;
56
55
  /**
57
56
  * A shortcut for defining columns that are only database-generated
58
57
  * (like postgres GENERATED ALWAYS AS IDENTITY). No insert/update
59
58
  * is allowed.
60
59
  */
61
- export declare type GeneratedAlways<S> = ColumnType<S, never, never>;
60
+ export type GeneratedAlways<S> = ColumnType<S, never, never>;
61
+ /**
62
+ * A shortcut for defining JSON columns, which are by default inserted/updated
63
+ * as stringified JSON strings.
64
+ */
65
+ export type JSONColumnType<SelectType extends object | null, InsertType = string, UpdateType = string> = ColumnType<SelectType, InsertType, UpdateType>;
62
66
  /**
63
67
  * Evaluates to `K` if `T` can be `null` or `undefined`.
64
68
  */
65
- declare type IfNullable<T, K> = undefined extends T ? K : null extends T ? K : never;
69
+ type IfNullable<T, K> = undefined extends T ? K : null extends T ? K : never;
66
70
  /**
67
71
  * Evaluates to `K` if `T` can't be `null` or `undefined`.
68
72
  */
69
- declare type IfNotNullable<T, K> = undefined extends T ? never : null extends T ? never : T extends never ? never : K;
73
+ type IfNotNullable<T, K> = undefined extends T ? never : null extends T ? never : T extends never ? never : K;
70
74
  /**
71
75
  * Evaluates to `K` if `T` isn't `never`.
72
76
  */
73
- declare type IfNotNever<T, K> = T extends never ? never : K;
74
- export declare type SelectType<T> = T extends ColumnType<infer S, any, any> ? S : T;
75
- export declare type InsertType<T> = T extends ColumnType<any, infer I, any> ? I : T;
76
- export declare type UpdateType<T> = T extends ColumnType<any, any, infer U> ? U : T;
77
+ type IfNotNever<T, K> = T extends never ? never : K;
78
+ export type SelectType<T> = T extends ColumnType<infer S, any, any> ? S : T;
79
+ export type InsertType<T> = T extends ColumnType<any, infer I, any> ? I : T;
80
+ export type UpdateType<T> = T extends ColumnType<any, any, infer U> ? U : T;
77
81
  /**
78
82
  * Keys of `R` whose `InsertType` values can be `null` or `undefined`.
79
83
  */
80
- export declare type NullableInsertKeys<R> = {
84
+ export type NullableInsertKeys<R> = {
81
85
  [K in keyof R]: IfNullable<InsertType<R[K]>, K>;
82
86
  }[keyof R];
83
87
  /**
84
88
  * Keys of `R` whose `InsertType` values can't be `null` or `undefined`.
85
89
  */
86
- export declare type NonNullableInsertKeys<R> = {
90
+ export type NonNullableInsertKeys<R> = {
87
91
  [K in keyof R]: IfNotNullable<InsertType<R[K]>, K>;
88
92
  }[keyof R];
89
93
  /**
90
94
  * Keys of `R` whose `SelectType` values are not `never`
91
95
  */
92
- declare type NonNeverSelectKeys<R> = {
96
+ type NonNeverSelectKeys<R> = {
93
97
  [K in keyof R]: IfNotNever<SelectType<R[K]>, K>;
94
98
  }[keyof R];
95
99
  /**
96
100
  * Keys of `R` whose `UpdateType` values are not `never`
97
101
  */
98
- export declare type UpdateKeys<R> = {
102
+ export type UpdateKeys<R> = {
99
103
  [K in keyof R]: IfNotNever<UpdateType<R[K]>, K>;
100
104
  }[keyof R];
101
105
  /**
@@ -119,9 +123,9 @@ export declare type UpdateKeys<R> = {
119
123
  * // }
120
124
  * ```
121
125
  */
122
- export declare type Selectable<R> = DrainOuterGeneric<{
126
+ export type Selectable<R> = {
123
127
  [K in NonNeverSelectKeys<R>]: SelectType<R[K]>;
124
- }>;
128
+ };
125
129
  /**
126
130
  * Given a table interface, extracts the insert type from all
127
131
  * {@link ColumnType} types.
@@ -143,7 +147,7 @@ export declare type Selectable<R> = DrainOuterGeneric<{
143
147
  * // }
144
148
  * ```
145
149
  */
146
- export declare type Insertable<R> = {
150
+ export type Insertable<R> = {
147
151
  [K in NonNullableInsertKeys<R>]: InsertType<R[K]>;
148
152
  } & {
149
153
  [K in NullableInsertKeys<R>]?: InsertType<R[K]>;
@@ -168,7 +172,7 @@ export declare type Insertable<R> = {
168
172
  * // }
169
173
  * ```
170
174
  */
171
- export declare type Updateable<R> = {
175
+ export type Updateable<R> = {
172
176
  [K in UpdateKeys<R>]?: UpdateType<R[K]>;
173
177
  };
174
178
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Expression } from '../expression/expression.js';
2
- export declare type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree';
2
+ export type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree';
3
3
  export interface Explainable {
4
4
  /**
5
5
  * Executes query with `explain` statement before the main query.
@@ -41,6 +41,6 @@ import { Compilable } from './compilable.js';
41
41
  * type QueryResult = InferResult<typeof compiledQuery> // Selectable<Person>[]
42
42
  * ```
43
43
  */
44
- export declare type InferResult<C extends Compilable<any> | CompiledQuery<any>> = C extends Compilable<infer O> ? ResolveResult<O> : C extends CompiledQuery<infer O> ? ResolveResult<O> : never;
45
- declare type ResolveResult<O> = O extends InsertResult | UpdateResult | DeleteResult ? O : O[];
44
+ export type InferResult<C extends Compilable<any> | CompiledQuery<any>> = C extends Compilable<infer O> ? ResolveResult<O> : C extends CompiledQuery<infer O> ? ResolveResult<O> : never;
45
+ type ResolveResult<O> = O extends InsertResult | UpdateResult | DeleteResult ? O : O[];
46
46
  export {};
@@ -1,7 +1,7 @@
1
1
  import { CompiledQuery } from '../query-compiler/compiled-query.js';
2
2
  import { ArrayItemType } from './type-utils.js';
3
3
  export declare const LOG_LEVELS: readonly ["query", "error"];
4
- export declare type LogLevel = ArrayItemType<typeof LOG_LEVELS>;
4
+ export type LogLevel = ArrayItemType<typeof LOG_LEVELS>;
5
5
  export interface QueryLogEvent {
6
6
  readonly level: 'query';
7
7
  readonly query: CompiledQuery;
@@ -13,9 +13,9 @@ export interface ErrorLogEvent {
13
13
  readonly query: CompiledQuery;
14
14
  readonly queryDurationMillis: number;
15
15
  }
16
- export declare type LogEvent = QueryLogEvent | ErrorLogEvent;
17
- export declare type Logger = (event: LogEvent) => void | Promise<void>;
18
- export declare type LogConfig = ReadonlyArray<LogLevel> | Logger;
16
+ export type LogEvent = QueryLogEvent | ErrorLogEvent;
17
+ export type Logger = (event: LogEvent) => void | Promise<void>;
18
+ export type LogConfig = ReadonlyArray<LogLevel> | Logger;
19
19
  export declare class Log {
20
20
  #private;
21
21
  constructor(config: LogConfig);
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Similar to Required<T> build-in type, but allows `undefined` values.
5
5
  */
6
- declare type AllProps<T> = T & {
6
+ type AllProps<T> = T & {
7
7
  [P in keyof T]-?: unknown;
8
8
  };
9
9
  /**
@@ -34,13 +34,13 @@ import { KyselyTypeError } from './type-error.js';
34
34
  * // Columns == 'id' | 'name' | 'species'
35
35
  * ```
36
36
  */
37
- export declare type AnyColumn<DB, TB extends keyof DB> = DrainOuterGeneric<{
37
+ export type AnyColumn<DB, TB extends keyof DB> = DrainOuterGeneric<{
38
38
  [T in TB]: keyof DB[T];
39
39
  }[TB] & string>;
40
40
  /**
41
41
  * Extracts a column type.
42
42
  */
43
- export declare type ExtractColumnType<DB, TB extends keyof DB, C> = {
43
+ export type ExtractColumnType<DB, TB extends keyof DB, C> = {
44
44
  [T in TB]: C extends keyof DB[T] ? DB[T][C] : never;
45
45
  }[TB];
46
46
  /**
@@ -74,60 +74,60 @@ export declare type ExtractColumnType<DB, TB extends keyof DB, C> = {
74
74
  * // Columns == 'person.id' | 'pet.name' | 'pet.species'
75
75
  * ```
76
76
  */
77
- export declare type AnyColumnWithTable<DB, TB extends keyof DB> = {
77
+ export type AnyColumnWithTable<DB, TB extends keyof DB> = {
78
78
  [T in TB]: T extends string ? keyof DB[T] extends string ? `${T}.${keyof DB[T]}` : never : never;
79
79
  }[TB];
80
80
  /**
81
81
  * Just like {@link AnyColumn} but with a ` as <string>` suffix.
82
82
  */
83
- export declare type AnyAliasedColumn<DB, TB extends keyof DB> = {
83
+ export type AnyAliasedColumn<DB, TB extends keyof DB> = {
84
84
  [T in TB]: T extends string ? keyof DB[T] extends string ? `${keyof DB[T]} as ${string}` : never : never;
85
85
  }[TB];
86
86
  /**
87
87
  * Just like {@link AnyColumnWithTable} but with a ` as <string>` suffix.
88
88
  */
89
- export declare type AnyAliasedColumnWithTable<DB, TB extends keyof DB> = {
89
+ export type AnyAliasedColumnWithTable<DB, TB extends keyof DB> = {
90
90
  [T in TB]: T extends string ? keyof DB[T] extends string ? `${T}.${keyof DB[T]} as ${string}` : never : never;
91
91
  }[TB];
92
92
  /**
93
93
  * Extracts the item type of an array.
94
94
  */
95
- export declare type ArrayItemType<T> = T extends ReadonlyArray<infer I> ? I : never;
95
+ export type ArrayItemType<T> = T extends ReadonlyArray<infer I> ? I : never;
96
96
  /**
97
97
  * Any select query builder.
98
98
  */
99
- export declare type AnySelectQueryBuilder = SelectQueryBuilder<any, any, any>;
100
- export declare type SimplifySingleResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O> | undefined;
101
- export declare type SimplifyResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O>;
102
- export declare type Simplify<T> = DrainOuterGeneric<{
99
+ export type AnySelectQueryBuilder = SelectQueryBuilder<any, any, any>;
100
+ export type SimplifySingleResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O> | undefined;
101
+ export type SimplifyResult<O> = O extends InsertResult ? O : O extends DeleteResult ? O : O extends UpdateResult ? O : Simplify<O>;
102
+ export type Simplify<T> = DrainOuterGeneric<{
103
103
  [K in keyof T]: T[K];
104
104
  } & {}>;
105
105
  /**
106
106
  * Represents a database row whose column names and their types are unknown.
107
107
  */
108
- export declare type UnknownRow = Record<string, unknown>;
108
+ export type UnknownRow = Record<string, unknown>;
109
109
  /**
110
110
  * Makes all properties of object type `T` nullable.
111
111
  */
112
- export declare type Nullable<T> = {
112
+ export type Nullable<T> = {
113
113
  [P in keyof T]: T[P] | null;
114
114
  };
115
115
  /**
116
116
  * Evaluates to `true` if `T` is `never`.
117
117
  */
118
- export declare type IsNever<T> = [T] extends [never] ? true : false;
118
+ export type IsNever<T> = [T] extends [never] ? true : false;
119
119
  /**
120
120
  * Evaluates to `true` if `T` is `any`.
121
121
  */
122
- export declare type IsAny<T> = 0 extends T & 1 ? true : false;
122
+ export type IsAny<T> = 0 extends T & 1 ? true : false;
123
123
  /**
124
124
  * Evaluates to `true` if the types `T` and `U` are equal.
125
125
  */
126
- export declare type Equals<T, U> = (<G>() => G extends T ? 1 : 2) extends <G>() => G extends U ? 1 : 2 ? true : false;
127
- export declare type NarrowPartial<S, T> = DrainOuterGeneric<{
126
+ export type Equals<T, U> = (<G>() => G extends T ? 1 : 2) extends <G>() => G extends U ? 1 : 2 ? true : false;
127
+ export type NarrowPartial<S, T> = DrainOuterGeneric<{
128
128
  [K in keyof S & string]: K extends keyof T ? T[K] extends S[K] ? T[K] : KyselyTypeError<`$narrowType() call failed: passed type does not exist in '${K}'s type union`> : S[K];
129
129
  }>;
130
- export declare type SqlBool = boolean | 0 | 1;
130
+ export type SqlBool = boolean | 0 | 1;
131
131
  /**
132
132
  * Utility to reduce depth of TypeScript's internal type instantiation stack.
133
133
  *
@@ -155,7 +155,7 @@ export declare type SqlBool = boolean | 0 | 1;
155
155
  * type Ok = Test<number> // Ok
156
156
  * ```
157
157
  */
158
- export declare type DrainOuterGeneric<T> = [T] extends [unknown] ? T : never;
159
- export declare type ShallowRecord<K extends keyof any, T> = DrainOuterGeneric<{
158
+ export type DrainOuterGeneric<T> = [T] extends [unknown] ? T : never;
159
+ export type ShallowRecord<K extends keyof any, T> = DrainOuterGeneric<{
160
160
  [P in K]: T;
161
161
  }>;
@@ -30,7 +30,7 @@ export interface SchemaMetadata {
30
30
  export interface DatabaseMetadata {
31
31
  /**
32
32
  * The tables and views found in the database.
33
- * * The propery isView can be used to tell them apart.
33
+ * The propery isView can be used to tell them apart.
34
34
  */
35
35
  readonly tables: TableMetadata[];
36
36
  }
@@ -1,5 +1,4 @@
1
1
  import { DatabaseConnection } from '../../driver/database-connection.js';
2
- import { ShallowRecord } from '../../util/type-utils.js';
3
2
  /**
4
3
  * Config for the MySQL dialect.
5
4
  *
@@ -47,6 +46,7 @@ export interface MysqlStream<T> {
47
46
  }
48
47
  export interface MysqlOkPacket {
49
48
  affectedRows: number;
49
+ changedRows: number;
50
50
  insertId: number;
51
51
  }
52
- export declare type MysqlQueryResult = MysqlOkPacket | ShallowRecord<string, unknown>[];
52
+ export type MysqlQueryResult = MysqlOkPacket | Record<string, unknown>[];
@@ -83,10 +83,13 @@ class MysqlConnection {
83
83
  try {
84
84
  const result = await this.#executeQuery(compiledQuery);
85
85
  if (isOkPacket(result)) {
86
- const { insertId, affectedRows } = result;
86
+ const { insertId, affectedRows, changedRows } = result;
87
87
  const numAffectedRows = affectedRows !== undefined && affectedRows !== null
88
88
  ? BigInt(affectedRows)
89
89
  : undefined;
90
+ const numChangedRows = changedRows !== undefined && changedRows !== null
91
+ ? BigInt(changedRows)
92
+ : undefined;
90
93
  return {
91
94
  insertId: insertId !== undefined &&
92
95
  insertId !== null &&
@@ -96,6 +99,7 @@ class MysqlConnection {
96
99
  // TODO: remove.
97
100
  numUpdatedOrDeletedRows: numAffectedRows,
98
101
  numAffectedRows,
102
+ numChangedRows,
99
103
  rows: [],
100
104
  };
101
105
  }
@@ -50,7 +50,7 @@ export interface PostgresCursor<T> {
50
50
  read(rowsCount: number): Promise<T[]>;
51
51
  close(): Promise<void>;
52
52
  }
53
- export declare type PostgresCursorConstructor = new <T>(sql: string, parameters: unknown[]) => PostgresCursor<T>;
53
+ export type PostgresCursorConstructor = new <T>(sql: string, parameters: unknown[]) => PostgresCursor<T>;
54
54
  export interface PostgresQueryResult<R> {
55
55
  command: 'UPDATE' | 'DELETE' | 'INSERT' | 'SELECT';
56
56
  rowCount: number;
@@ -48,10 +48,7 @@ export class PostgresIntrospector {
48
48
  .as('auto_incrementing'),
49
49
  ])
50
50
  // r == normal table
51
- .where(({ cmpr, or }) => or([
52
- cmpr('c.relkind', '=', 'r'),
53
- cmpr('c.relkind', '=', 'v'),
54
- ]))
51
+ .where((eb) => eb.or([eb('c.relkind', '=', 'r'), eb('c.relkind', '=', 'v')]))
55
52
  .where('ns.nspname', '!~', '^pg_')
56
53
  .where('ns.nspname', '!=', 'information_schema')
57
54
  // No system columns
@@ -12,7 +12,7 @@ export class SqliteIntrospector {
12
12
  }
13
13
  async getTables(options = { withInternalKyselyTables: false }) {
14
14
  let query = this.#db
15
- .selectFrom('sqlite_schema')
15
+ .selectFrom('sqlite_master')
16
16
  .where('type', 'in', ['table', 'view'])
17
17
  .where('name', 'not like', 'sqlite_%')
18
18
  .select('name')
@@ -18,6 +18,12 @@ export interface QueryResult<O> {
18
18
  * the number of rows the query inserted/updated/deleted.
19
19
  */
20
20
  readonly numAffectedRows?: bigint;
21
+ /**
22
+ * This is defined for update queries and contains the number of rows
23
+ * the query changed.
24
+ * This is optional and only provided by some drivers like node-mysql2.
25
+ */
26
+ readonly numChangedRows?: bigint;
21
27
  /**
22
28
  * This is defined for insert queries on dialects that return
23
29
  * the auto incrementing primary key from an insert.
@@ -41,4 +41,4 @@ export interface TransactionSettings {
41
41
  readonly isolationLevel?: IsolationLevel;
42
42
  }
43
43
  export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"];
44
- export declare type IsolationLevel = ArrayItemType<typeof TRANSACTION_ISOLATION_LEVELS>;
44
+ export type IsolationLevel = ArrayItemType<typeof TRANSACTION_ISOLATION_LEVELS>;