kysely 0.24.2 → 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 (351) hide show
  1. package/README.md +31 -567
  2. package/dist/cjs/dialect/database-introspector.d.ts +1 -1
  3. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +2 -1
  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 -1
  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/driver/runtime-driver.js +6 -6
  11. package/dist/cjs/dynamic/dynamic.d.ts +1 -1
  12. package/dist/cjs/dynamic/dynamic.js +1 -1
  13. package/dist/cjs/expression/expression-builder.d.ts +263 -109
  14. package/dist/cjs/expression/expression-builder.js +38 -7
  15. package/dist/cjs/expression/expression-wrapper.d.ts +296 -5
  16. package/dist/cjs/expression/expression-wrapper.js +70 -2
  17. package/dist/cjs/helpers/mysql.d.ts +3 -3
  18. package/dist/cjs/helpers/mysql.js +2 -2
  19. package/dist/cjs/helpers/postgres.d.ts +31 -19
  20. package/dist/cjs/helpers/postgres.js +30 -18
  21. package/dist/cjs/index.d.ts +10 -0
  22. package/dist/cjs/index.js +10 -0
  23. package/dist/cjs/kysely.d.ts +42 -15
  24. package/dist/cjs/kysely.js +41 -10
  25. package/dist/cjs/migration/file-migration-provider.js +2 -2
  26. package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -7
  27. package/dist/cjs/operation-node/aggregate-function-node.js +1 -1
  28. package/dist/cjs/operation-node/alter-column-node.d.ts +3 -5
  29. package/dist/cjs/operation-node/alter-column-node.js +2 -7
  30. package/dist/cjs/operation-node/alter-table-node.d.ts +3 -3
  31. package/dist/cjs/operation-node/alter-table-node.js +1 -2
  32. package/dist/cjs/operation-node/case-node.d.ts +19 -0
  33. package/dist/cjs/operation-node/case-node.js +42 -0
  34. package/dist/cjs/operation-node/column-definition-node.d.ts +1 -1
  35. package/dist/cjs/operation-node/constraint-node.d.ts +1 -1
  36. package/dist/cjs/operation-node/create-index-node.d.ts +4 -3
  37. package/dist/cjs/operation-node/create-index-node.js +6 -0
  38. package/dist/cjs/operation-node/create-schema-node.d.ts +1 -1
  39. package/dist/cjs/operation-node/create-table-node.d.ts +2 -2
  40. package/dist/cjs/operation-node/create-type-node.d.ts +1 -1
  41. package/dist/cjs/operation-node/create-view-node.d.ts +1 -1
  42. package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
  43. package/dist/cjs/operation-node/drop-constraint-node.d.ts +1 -1
  44. package/dist/cjs/operation-node/drop-index-node.d.ts +1 -1
  45. package/dist/cjs/operation-node/drop-schema-node.d.ts +1 -1
  46. package/dist/cjs/operation-node/drop-table-node.d.ts +1 -1
  47. package/dist/cjs/operation-node/drop-type-node.d.ts +1 -1
  48. package/dist/cjs/operation-node/drop-view-node.d.ts +1 -1
  49. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +1 -1
  50. package/dist/cjs/operation-node/generated-node.d.ts +1 -1
  51. package/dist/cjs/operation-node/insert-query-node.d.ts +1 -1
  52. package/dist/cjs/operation-node/join-node.d.ts +1 -2
  53. package/dist/cjs/operation-node/join-node.js +0 -8
  54. package/dist/cjs/operation-node/json-operator-chain-node.d.ts +16 -0
  55. package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
  56. package/dist/cjs/operation-node/json-path-leg-node.d.ts +14 -0
  57. package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
  58. package/dist/cjs/operation-node/json-path-node.d.ts +16 -0
  59. package/dist/cjs/operation-node/json-path-node.js +25 -0
  60. package/dist/cjs/operation-node/json-reference-node.d.ts +17 -0
  61. package/dist/cjs/operation-node/json-reference-node.js +25 -0
  62. package/dist/cjs/operation-node/on-conflict-node.d.ts +1 -1
  63. package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +1 -1
  64. package/dist/cjs/operation-node/operation-node-transformer.d.ts +12 -0
  65. package/dist/cjs/operation-node/operation-node-transformer.js +53 -3
  66. package/dist/cjs/operation-node/operation-node-visitor.d.ts +12 -0
  67. package/dist/cjs/operation-node/operation-node-visitor.js +6 -0
  68. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  69. package/dist/cjs/operation-node/operator-node.d.ts +13 -9
  70. package/dist/cjs/operation-node/operator-node.js +12 -2
  71. package/dist/cjs/operation-node/query-node.d.ts +9 -10
  72. package/dist/cjs/operation-node/query-node.js +0 -8
  73. package/dist/cjs/operation-node/reference-node.d.ts +2 -2
  74. package/dist/cjs/operation-node/reference-node.js +1 -1
  75. package/dist/cjs/operation-node/references-node.d.ts +1 -1
  76. package/dist/cjs/operation-node/select-modifier-node.d.ts +1 -1
  77. package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
  78. package/dist/cjs/operation-node/select-query-node.js +0 -8
  79. package/dist/cjs/operation-node/selection-node.d.ts +1 -1
  80. package/dist/cjs/operation-node/set-operation-node.d.ts +1 -1
  81. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +1 -1
  82. package/dist/cjs/operation-node/update-query-node.d.ts +1 -1
  83. package/dist/cjs/operation-node/values-node.d.ts +1 -1
  84. package/dist/cjs/operation-node/when-node.d.ts +14 -0
  85. package/dist/cjs/operation-node/when-node.js +24 -0
  86. package/dist/cjs/operation-node/with-node.d.ts +1 -1
  87. package/dist/cjs/parser/binary-operation-parser.d.ts +9 -11
  88. package/dist/cjs/parser/binary-operation-parser.js +40 -103
  89. package/dist/cjs/parser/coalesce-parser.d.ts +1 -1
  90. package/dist/cjs/parser/data-type-parser.d.ts +1 -1
  91. package/dist/cjs/parser/default-value-parser.d.ts +1 -1
  92. package/dist/cjs/parser/expression-parser.d.ts +6 -5
  93. package/dist/cjs/parser/group-by-parser.d.ts +2 -2
  94. package/dist/cjs/parser/insert-values-parser.d.ts +4 -4
  95. package/dist/cjs/parser/join-parser.d.ts +4 -4
  96. package/dist/cjs/parser/order-by-parser.d.ts +4 -3
  97. package/dist/cjs/parser/order-by-parser.js +5 -1
  98. package/dist/cjs/parser/partition-by-parser.d.ts +2 -2
  99. package/dist/cjs/parser/reference-parser.d.ts +16 -8
  100. package/dist/cjs/parser/reference-parser.js +43 -16
  101. package/dist/cjs/parser/returning-parser.d.ts +2 -2
  102. package/dist/cjs/parser/select-parser.d.ts +9 -9
  103. package/dist/cjs/parser/table-parser.d.ts +14 -13
  104. package/dist/cjs/parser/unary-operation-parser.d.ts +1 -1
  105. package/dist/cjs/parser/update-set-parser.d.ts +3 -3
  106. package/dist/cjs/parser/update-set-parser.js +1 -3
  107. package/dist/cjs/parser/value-parser.d.ts +4 -4
  108. package/dist/cjs/parser/with-parser.d.ts +14 -9
  109. package/dist/cjs/plugin/camel-case/camel-case.d.ts +1 -1
  110. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
  111. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +32 -0
  112. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +22 -6
  113. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +5 -38
  114. package/dist/cjs/query-builder/aggregate-function-builder.js +4 -59
  115. package/dist/cjs/query-builder/case-builder.d.ts +111 -0
  116. package/dist/cjs/query-builder/case-builder.js +75 -0
  117. package/dist/cjs/query-builder/delete-query-builder.d.ts +130 -63
  118. package/dist/cjs/query-builder/delete-query-builder.js +42 -59
  119. package/dist/cjs/query-builder/delete-result.d.ts +1 -2
  120. package/dist/cjs/query-builder/delete-result.js +2 -8
  121. package/dist/cjs/query-builder/function-module.d.ts +78 -69
  122. package/dist/cjs/query-builder/function-module.js +12 -16
  123. package/dist/cjs/query-builder/having-interface.d.ts +2 -35
  124. package/dist/cjs/query-builder/insert-query-builder.d.ts +99 -47
  125. package/dist/cjs/query-builder/insert-query-builder.js +57 -26
  126. package/dist/cjs/query-builder/insert-result.d.ts +3 -4
  127. package/dist/cjs/query-builder/insert-result.js +5 -14
  128. package/dist/cjs/query-builder/join-builder.d.ts +2 -35
  129. package/dist/cjs/query-builder/join-builder.js +1 -56
  130. package/dist/cjs/query-builder/json-path-builder.d.ts +212 -0
  131. package/dist/cjs/query-builder/json-path-builder.js +191 -0
  132. package/dist/cjs/query-builder/no-result-error.d.ts +1 -1
  133. package/dist/cjs/query-builder/on-conflict-builder.d.ts +144 -73
  134. package/dist/cjs/query-builder/on-conflict-builder.js +2 -111
  135. package/dist/cjs/query-builder/over-builder.d.ts +2 -2
  136. package/dist/cjs/query-builder/over-builder.js +1 -1
  137. package/dist/cjs/query-builder/returning-interface.d.ts +1 -1
  138. package/dist/cjs/query-builder/select-query-builder.d.ts +184 -138
  139. package/dist/cjs/query-builder/select-query-builder.js +64 -130
  140. package/dist/cjs/query-builder/update-query-builder.d.ts +143 -71
  141. package/dist/cjs/query-builder/update-query-builder.js +47 -60
  142. package/dist/cjs/query-builder/update-result.d.ts +3 -3
  143. package/dist/cjs/query-builder/update-result.js +5 -9
  144. package/dist/cjs/query-builder/where-interface.d.ts +73 -38
  145. package/dist/cjs/query-compiler/compiled-query.d.ts +1 -1
  146. package/dist/cjs/query-compiler/compiled-query.js +2 -2
  147. package/dist/cjs/query-compiler/default-query-compiler.d.ts +12 -0
  148. package/dist/cjs/query-compiler/default-query-compiler.js +67 -5
  149. package/dist/cjs/query-compiler/query-compiler.d.ts +1 -1
  150. package/dist/cjs/query-creator.d.ts +4 -2
  151. package/dist/cjs/schema/alter-column-builder.d.ts +13 -7
  152. package/dist/cjs/schema/alter-column-builder.js +20 -22
  153. package/dist/cjs/schema/alter-table-builder.d.ts +0 -4
  154. package/dist/cjs/schema/alter-table-builder.js +2 -9
  155. package/dist/cjs/schema/column-definition-builder.d.ts +1 -1
  156. package/dist/cjs/schema/column-definition-builder.js +1 -2
  157. package/dist/cjs/schema/create-index-builder.d.ts +49 -7
  158. package/dist/cjs/schema/create-index-builder.js +52 -14
  159. package/dist/cjs/schema/create-table-builder.d.ts +2 -6
  160. package/dist/cjs/schema/create-table-builder.js +0 -6
  161. package/dist/cjs/schema/schema.d.ts +1 -2
  162. package/dist/cjs/schema/schema.js +2 -3
  163. package/dist/cjs/util/column-type.d.ts +21 -16
  164. package/dist/cjs/util/explainable.d.ts +1 -1
  165. package/dist/cjs/util/infer-result.d.ts +2 -2
  166. package/dist/cjs/util/log.d.ts +6 -6
  167. package/dist/cjs/util/log.js +4 -4
  168. package/dist/cjs/util/object-utils.d.ts +2 -1
  169. package/dist/cjs/util/require-all-props.d.ts +1 -1
  170. package/dist/cjs/util/type-utils.d.ts +54 -40
  171. package/dist/esm/dialect/database-introspector.d.ts +1 -1
  172. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +2 -1
  173. package/dist/esm/dialect/mysql/mysql-driver.js +5 -1
  174. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +1 -1
  175. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -1
  176. package/dist/esm/dialect/sqlite/sqlite-introspector.js +1 -1
  177. package/dist/esm/driver/database-connection.d.ts +6 -0
  178. package/dist/esm/driver/driver.d.ts +1 -1
  179. package/dist/esm/driver/runtime-driver.js +6 -6
  180. package/dist/esm/dynamic/dynamic.d.ts +1 -1
  181. package/dist/esm/dynamic/dynamic.js +1 -1
  182. package/dist/esm/expression/expression-builder.d.ts +263 -109
  183. package/dist/esm/expression/expression-builder.js +40 -9
  184. package/dist/esm/expression/expression-wrapper.d.ts +296 -5
  185. package/dist/esm/expression/expression-wrapper.js +67 -1
  186. package/dist/esm/helpers/mysql.d.ts +3 -3
  187. package/dist/esm/helpers/mysql.js +2 -2
  188. package/dist/esm/helpers/postgres.d.ts +31 -19
  189. package/dist/esm/helpers/postgres.js +30 -18
  190. package/dist/esm/index.d.ts +10 -0
  191. package/dist/esm/index.js +10 -0
  192. package/dist/esm/kysely.d.ts +42 -15
  193. package/dist/esm/kysely.js +42 -11
  194. package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -7
  195. package/dist/esm/operation-node/aggregate-function-node.js +1 -1
  196. package/dist/esm/operation-node/alter-column-node.d.ts +3 -5
  197. package/dist/esm/operation-node/alter-column-node.js +2 -7
  198. package/dist/esm/operation-node/alter-table-node.d.ts +3 -3
  199. package/dist/esm/operation-node/alter-table-node.js +1 -2
  200. package/dist/esm/operation-node/case-node.d.ts +19 -0
  201. package/dist/esm/operation-node/case-node.js +40 -0
  202. package/dist/esm/operation-node/column-definition-node.d.ts +1 -1
  203. package/dist/esm/operation-node/constraint-node.d.ts +1 -1
  204. package/dist/esm/operation-node/create-index-node.d.ts +4 -3
  205. package/dist/esm/operation-node/create-index-node.js +6 -0
  206. package/dist/esm/operation-node/create-schema-node.d.ts +1 -1
  207. package/dist/esm/operation-node/create-table-node.d.ts +2 -2
  208. package/dist/esm/operation-node/create-type-node.d.ts +1 -1
  209. package/dist/esm/operation-node/create-view-node.d.ts +1 -1
  210. package/dist/esm/operation-node/data-type-node.d.ts +2 -2
  211. package/dist/esm/operation-node/drop-constraint-node.d.ts +1 -1
  212. package/dist/esm/operation-node/drop-index-node.d.ts +1 -1
  213. package/dist/esm/operation-node/drop-schema-node.d.ts +1 -1
  214. package/dist/esm/operation-node/drop-table-node.d.ts +1 -1
  215. package/dist/esm/operation-node/drop-type-node.d.ts +1 -1
  216. package/dist/esm/operation-node/drop-view-node.d.ts +1 -1
  217. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +1 -1
  218. package/dist/esm/operation-node/generated-node.d.ts +1 -1
  219. package/dist/esm/operation-node/insert-query-node.d.ts +1 -1
  220. package/dist/esm/operation-node/join-node.d.ts +1 -2
  221. package/dist/esm/operation-node/join-node.js +0 -8
  222. package/dist/esm/operation-node/json-operator-chain-node.d.ts +16 -0
  223. package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
  224. package/dist/esm/operation-node/json-path-leg-node.d.ts +14 -0
  225. package/dist/esm/operation-node/json-path-leg-node.js +17 -0
  226. package/dist/esm/operation-node/json-path-node.d.ts +16 -0
  227. package/dist/esm/operation-node/json-path-node.js +23 -0
  228. package/dist/esm/operation-node/json-reference-node.d.ts +17 -0
  229. package/dist/esm/operation-node/json-reference-node.js +23 -0
  230. package/dist/esm/operation-node/on-conflict-node.d.ts +1 -1
  231. package/dist/esm/operation-node/on-duplicate-key-node.d.ts +1 -1
  232. package/dist/esm/operation-node/operation-node-transformer.d.ts +12 -0
  233. package/dist/esm/operation-node/operation-node-transformer.js +53 -3
  234. package/dist/esm/operation-node/operation-node-visitor.d.ts +12 -0
  235. package/dist/esm/operation-node/operation-node-visitor.js +6 -0
  236. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  237. package/dist/esm/operation-node/operator-node.d.ts +13 -9
  238. package/dist/esm/operation-node/operator-node.js +10 -1
  239. package/dist/esm/operation-node/query-node.d.ts +9 -10
  240. package/dist/esm/operation-node/query-node.js +0 -8
  241. package/dist/esm/operation-node/reference-node.d.ts +2 -2
  242. package/dist/esm/operation-node/reference-node.js +1 -1
  243. package/dist/esm/operation-node/references-node.d.ts +1 -1
  244. package/dist/esm/operation-node/select-modifier-node.d.ts +1 -1
  245. package/dist/esm/operation-node/select-query-node.d.ts +0 -1
  246. package/dist/esm/operation-node/select-query-node.js +0 -8
  247. package/dist/esm/operation-node/selection-node.d.ts +1 -1
  248. package/dist/esm/operation-node/set-operation-node.d.ts +1 -1
  249. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +1 -1
  250. package/dist/esm/operation-node/update-query-node.d.ts +1 -1
  251. package/dist/esm/operation-node/values-node.d.ts +1 -1
  252. package/dist/esm/operation-node/when-node.d.ts +14 -0
  253. package/dist/esm/operation-node/when-node.js +22 -0
  254. package/dist/esm/operation-node/with-node.d.ts +1 -1
  255. package/dist/esm/parser/binary-operation-parser.d.ts +9 -11
  256. package/dist/esm/parser/binary-operation-parser.js +38 -99
  257. package/dist/esm/parser/coalesce-parser.d.ts +1 -1
  258. package/dist/esm/parser/data-type-parser.d.ts +1 -1
  259. package/dist/esm/parser/default-value-parser.d.ts +1 -1
  260. package/dist/esm/parser/expression-parser.d.ts +6 -5
  261. package/dist/esm/parser/group-by-parser.d.ts +2 -2
  262. package/dist/esm/parser/insert-values-parser.d.ts +4 -4
  263. package/dist/esm/parser/join-parser.d.ts +4 -4
  264. package/dist/esm/parser/order-by-parser.d.ts +4 -3
  265. package/dist/esm/parser/order-by-parser.js +3 -0
  266. package/dist/esm/parser/partition-by-parser.d.ts +2 -2
  267. package/dist/esm/parser/reference-parser.d.ts +16 -8
  268. package/dist/esm/parser/reference-parser.js +40 -15
  269. package/dist/esm/parser/returning-parser.d.ts +2 -2
  270. package/dist/esm/parser/select-parser.d.ts +9 -9
  271. package/dist/esm/parser/table-parser.d.ts +14 -13
  272. package/dist/esm/parser/unary-operation-parser.d.ts +1 -1
  273. package/dist/esm/parser/update-set-parser.d.ts +3 -3
  274. package/dist/esm/parser/update-set-parser.js +2 -4
  275. package/dist/esm/parser/value-parser.d.ts +4 -4
  276. package/dist/esm/parser/with-parser.d.ts +14 -9
  277. package/dist/esm/plugin/camel-case/camel-case.d.ts +1 -1
  278. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +42 -0
  279. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +29 -0
  280. package/dist/esm/plugin/with-schema/with-schema-transformer.js +22 -6
  281. package/dist/esm/query-builder/aggregate-function-builder.d.ts +5 -38
  282. package/dist/esm/query-builder/aggregate-function-builder.js +5 -60
  283. package/dist/esm/query-builder/case-builder.d.ts +111 -0
  284. package/dist/esm/query-builder/case-builder.js +69 -0
  285. package/dist/esm/query-builder/delete-query-builder.d.ts +130 -63
  286. package/dist/esm/query-builder/delete-query-builder.js +43 -60
  287. package/dist/esm/query-builder/delete-result.d.ts +1 -2
  288. package/dist/esm/query-builder/delete-result.js +2 -8
  289. package/dist/esm/query-builder/function-module.d.ts +78 -69
  290. package/dist/esm/query-builder/function-module.js +13 -17
  291. package/dist/esm/query-builder/having-interface.d.ts +2 -35
  292. package/dist/esm/query-builder/insert-query-builder.d.ts +99 -47
  293. package/dist/esm/query-builder/insert-query-builder.js +57 -26
  294. package/dist/esm/query-builder/insert-result.d.ts +3 -4
  295. package/dist/esm/query-builder/insert-result.js +5 -14
  296. package/dist/esm/query-builder/join-builder.d.ts +2 -35
  297. package/dist/esm/query-builder/join-builder.js +2 -57
  298. package/dist/esm/query-builder/json-path-builder.d.ts +212 -0
  299. package/dist/esm/query-builder/json-path-builder.js +186 -0
  300. package/dist/esm/query-builder/no-result-error.d.ts +1 -1
  301. package/dist/esm/query-builder/on-conflict-builder.d.ts +144 -73
  302. package/dist/esm/query-builder/on-conflict-builder.js +3 -112
  303. package/dist/esm/query-builder/over-builder.d.ts +2 -2
  304. package/dist/esm/query-builder/over-builder.js +1 -1
  305. package/dist/esm/query-builder/returning-interface.d.ts +1 -1
  306. package/dist/esm/query-builder/select-query-builder.d.ts +184 -138
  307. package/dist/esm/query-builder/select-query-builder.js +65 -131
  308. package/dist/esm/query-builder/update-query-builder.d.ts +143 -71
  309. package/dist/esm/query-builder/update-query-builder.js +48 -61
  310. package/dist/esm/query-builder/update-result.d.ts +3 -3
  311. package/dist/esm/query-builder/update-result.js +5 -9
  312. package/dist/esm/query-builder/where-interface.d.ts +73 -38
  313. package/dist/esm/query-compiler/compiled-query.d.ts +1 -1
  314. package/dist/esm/query-compiler/compiled-query.js +2 -2
  315. package/dist/esm/query-compiler/default-query-compiler.d.ts +12 -0
  316. package/dist/esm/query-compiler/default-query-compiler.js +67 -5
  317. package/dist/esm/query-compiler/query-compiler.d.ts +1 -1
  318. package/dist/esm/query-creator.d.ts +4 -2
  319. package/dist/esm/schema/alter-column-builder.d.ts +13 -7
  320. package/dist/esm/schema/alter-column-builder.js +20 -22
  321. package/dist/esm/schema/alter-table-builder.d.ts +0 -4
  322. package/dist/esm/schema/alter-table-builder.js +2 -9
  323. package/dist/esm/schema/column-definition-builder.d.ts +1 -1
  324. package/dist/esm/schema/column-definition-builder.js +1 -2
  325. package/dist/esm/schema/create-index-builder.d.ts +49 -7
  326. package/dist/esm/schema/create-index-builder.js +54 -16
  327. package/dist/esm/schema/create-table-builder.d.ts +2 -6
  328. package/dist/esm/schema/create-table-builder.js +0 -6
  329. package/dist/esm/schema/schema.d.ts +1 -2
  330. package/dist/esm/schema/schema.js +2 -3
  331. package/dist/esm/util/column-type.d.ts +21 -16
  332. package/dist/esm/util/explainable.d.ts +1 -1
  333. package/dist/esm/util/infer-result.d.ts +2 -2
  334. package/dist/esm/util/log.d.ts +6 -6
  335. package/dist/esm/util/log.js +4 -4
  336. package/dist/esm/util/object-utils.d.ts +2 -1
  337. package/dist/esm/util/require-all-props.d.ts +1 -1
  338. package/dist/esm/util/type-utils.d.ts +54 -40
  339. package/package.json +25 -23
  340. package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +0 -62
  341. package/dist/cjs/query-builder/deprecated-having-expression-builder.js +0 -2
  342. package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +0 -62
  343. package/dist/cjs/query-builder/deprecated-on-expression-builder.js +0 -2
  344. package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +0 -62
  345. package/dist/cjs/query-builder/deprecated-where-expression-builder.js +0 -2
  346. package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +0 -62
  347. package/dist/esm/query-builder/deprecated-having-expression-builder.js +0 -2
  348. package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +0 -62
  349. package/dist/esm/query-builder/deprecated-on-expression-builder.js +0 -2
  350. package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +0 -62
  351. package/dist/esm/query-builder/deprecated-where-expression-builder.js +0 -2
@@ -4,7 +4,7 @@ import { SelectExpression, SelectArg } from '../parser/select-parser.js';
4
4
  import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-values-parser.js';
5
5
  import { InsertQueryNode } from '../operation-node/insert-query-node.js';
6
6
  import { QueryNode } from '../operation-node/query-node.js';
7
- import { MergePartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js';
7
+ import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js';
8
8
  import { UpdateExpression } from '../parser/update-set-parser.js';
9
9
  import { Compilable } from '../util/compilable.js';
10
10
  import { QueryExecutor } from '../query-executor/query-executor.js';
@@ -15,7 +15,7 @@ import { ReturningRow } from '../parser/returning-parser.js';
15
15
  import { NoResultErrorConstructor } from './no-result-error.js';
16
16
  import { ExpressionOrFactory } from '../parser/expression-parser.js';
17
17
  import { ReturningInterface } from './returning-interface.js';
18
- import { OnConflictBuilder, OnConflictDoNothingBuilder, OnConflictUpdateBuilder } from './on-conflict-builder.js';
18
+ import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from './on-conflict-builder.js';
19
19
  import { Selectable } from '../util/column-type.js';
20
20
  import { Explainable, ExplainFormat } from '../util/explainable.js';
21
21
  import { Expression } from '../expression/expression.js';
@@ -46,23 +46,31 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
46
46
  *
47
47
  * ### Examples
48
48
  *
49
- * Insert a row into `person`:
49
+ * <!-- siteExample("insert", "Single row", 10) -->
50
+ *
51
+ * Insert a single row:
52
+ *
50
53
  * ```ts
51
54
  * const result = await db
52
55
  * .insertInto('person')
53
56
  * .values({
54
57
  * first_name: 'Jennifer',
55
- * last_name: 'Aniston'
58
+ * last_name: 'Aniston',
59
+ * age: 40
56
60
  * })
57
- * .executeTakeFirstOrThrow()
61
+ * .executeTakeFirst()
62
+ *
63
+ * console.log(result.insertId)
58
64
  * ```
59
65
  *
60
66
  * The generated SQL (PostgreSQL):
61
67
  *
62
68
  * ```sql
63
- * insert into "person" ("first_name", "last_name") values ($1, $2)
69
+ * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3)
64
70
  * ```
65
71
  *
72
+ * <!-- siteExample("insert", "Multiple rows", 20) -->
73
+ *
66
74
  * On dialects that support it (for example PostgreSQL) you can insert multiple
67
75
  * rows by providing an array. Note that the return value is once again very
68
76
  * dialect-specific. Some databases may only return the id of the *last* inserted
@@ -73,10 +81,12 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
73
81
  * .insertInto('person')
74
82
  * .values([{
75
83
  * first_name: 'Jennifer',
76
- * last_name: 'Aniston'
84
+ * last_name: 'Aniston',
85
+ * age: 40,
77
86
  * }, {
78
87
  * first_name: 'Arnold',
79
88
  * last_name: 'Schwarzenegger',
89
+ * age: 70,
80
90
  * }])
81
91
  * .execute()
82
92
  * ```
@@ -84,56 +94,61 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
84
94
  * The generated SQL (PostgreSQL):
85
95
  *
86
96
  * ```sql
87
- * insert into "person" ("first_name", "last_name") values (($1, $2), ($3, $4))
97
+ * insert into "person" ("first_name", "last_name", "age") values (($1, $2, $3), ($4, $5, $6))
88
98
  * ```
89
99
  *
90
- * On PostgreSQL you need to chain `returning` to the query to get
91
- * the inserted row's columns (or any other expression) as the
92
- * return value:
100
+ * <!-- siteExample("insert", "Returning data", 30) -->
101
+ *
102
+ * On supported dialects like PostgreSQL you need to chain `returning` to the query to get
103
+ * the inserted row's columns (or any other expression) as the return value. `returning`
104
+ * works just like `select`. Refer to `select` method's examples and documentation for
105
+ * more info.
93
106
  *
94
107
  * ```ts
95
- * const row = await db
108
+ * const result = await db
96
109
  * .insertInto('person')
97
110
  * .values({
98
111
  * first_name: 'Jennifer',
99
- * last_name: 'Aniston'
112
+ * last_name: 'Aniston',
113
+ * age: 40,
100
114
  * })
101
- * .returning('id')
115
+ * .returning(['id', 'first_name as name'])
102
116
  * .executeTakeFirstOrThrow()
103
- *
104
- * row.id
105
117
  * ```
106
118
  *
107
119
  * The generated SQL (PostgreSQL):
108
120
  *
109
121
  * ```sql
110
- * insert into "person" ("first_name", "last_name") values ($1, $2) returning "id"
122
+ * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) returning "id", "first_name" as "name"
111
123
  * ```
112
124
  *
113
- * In addition to primitives, the values can also be raw sql expressions or
114
- * select queries:
125
+ * <!-- siteExample("insert", "Complex values", 40) -->
126
+ *
127
+ * In addition to primitives, the values can also be arbitrary expressions.
128
+ * You can build the expressions by using a callback and calling the methods
129
+ * on the expression builder passed to it:
115
130
  *
116
131
  * ```ts
117
132
  * import { sql } from 'kysely'
118
133
  *
119
134
  * const result = await db
120
135
  * .insertInto('person')
121
- * .values((eb) => ({
136
+ * .values(({ ref, selectFrom, fn }) => ({
122
137
  * first_name: 'Jennifer',
123
138
  * last_name: sql`${'Ani'} || ${'ston'}`,
124
- * middle_name: eb.ref('first_name'),
125
- * age: eb.selectFrom('person').select(sql`avg(age)`),
139
+ * middle_name: ref('first_name'),
140
+ * age: selectFrom('person')
141
+ * .select(fn.avg<number>('age')
142
+ * .as('avg_age')),
126
143
  * }))
127
144
  * .executeTakeFirst()
128
- *
129
- * console.log(result.insertId)
130
145
  * ```
131
146
  *
132
147
  * The generated SQL (PostgreSQL):
133
148
  *
134
149
  * ```sql
135
150
  * insert into "person" ("first_name", "last_name", "age")
136
- * values ($1, $2 || $3, (select avg(age) from "person"))
151
+ * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person"))
137
152
  * ```
138
153
  *
139
154
  * You can also use the callback version of subqueries or raw expressions:
@@ -181,17 +196,29 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
181
196
  *
182
197
  * ### Examples
183
198
  *
199
+ * <!-- siteExample("insert", "Insert subquery", 50) -->
200
+ *
201
+ * You can create an `INSERT INTO SELECT FROM` query using the `expression` method:
202
+ *
184
203
  * ```ts
185
- * db.insertInto('person')
186
- * .columns(['first_name'])
187
- * .expression((eb) => eb.selectFrom('pet').select('pet.name'))
204
+ * const result = await db.insertInto('person')
205
+ * .columns(['first_name', 'last_name', 'age'])
206
+ * .expression((eb) => eb
207
+ * .selectFrom('pet')
208
+ * .select((eb) => [
209
+ * 'pet.name',
210
+ * eb.val('Petson').as('last_name'),
211
+ * eb.val(7).as('age'),
212
+ * ])
213
+ * )
214
+ * .execute()
188
215
  * ```
189
216
  *
190
217
  * The generated SQL (PostgreSQL):
191
218
  *
192
219
  * ```sql
193
- * insert into "person" ("first_name")
194
- * select "pet"."name" from "pet"
220
+ * insert into "person" ("first_name", "last_name", "age")
221
+ * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
195
222
  * ```
196
223
  */
197
224
  expression(expression: ExpressionOrFactory<DB, TB, any>): InsertQueryBuilder<DB, TB, O>;
@@ -368,7 +395,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
368
395
  * )
369
396
  * ```
370
397
  */
371
- onConflict(callback: (builder: OnConflictBuilder<DB, TB>) => OnConflictDoNothingBuilder<DB, TB> | OnConflictUpdateBuilder<DB, TB>): InsertQueryBuilder<DB, TB, O>;
398
+ onConflict(callback: (builder: OnConflictBuilder<DB, TB>) => OnConflictUpdateBuilder<OnConflictDatabase<DB, TB>, OnConflictTables<TB>> | OnConflictDoNothingBuilder<DB, TB>): InsertQueryBuilder<DB, TB, O>;
372
399
  /**
373
400
  * Adds `on duplicate key update` to the query.
374
401
  *
@@ -439,7 +466,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
439
466
  * first_name: 'Jennifer',
440
467
  * last_name: 'Aniston'
441
468
  * })
442
- * .returning(eb => [
469
+ * .returning((eb) => [
443
470
  * 'id as id',
444
471
  * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
445
472
  * eb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
@@ -477,10 +504,6 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
477
504
  * ```
478
505
  */
479
506
  $call<T>(func: (qb: this) => T): T;
480
- /**
481
- * @deprecated Use `$call` instead
482
- */
483
- call<T>(func: (qb: this) => T): T;
484
507
  /**
485
508
  * Call `func(this)` if `condition` is true.
486
509
  *
@@ -516,11 +539,7 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
516
539
  * }
517
540
  * ```
518
541
  */
519
- $if<O2>(condition: boolean, func: (qb: this) => InsertQueryBuilder<DB, TB, O2>): InsertQueryBuilder<DB, TB, O2 extends InsertResult ? InsertResult : O extends InsertResult ? Partial<O2> : MergePartial<O, O2>>;
520
- /**
521
- * @deprecated Use `$if` instead
522
- */
523
- if<O2>(condition: boolean, func: (qb: this) => InsertQueryBuilder<DB, TB, O2>): InsertQueryBuilder<DB, TB, O2 extends InsertResult ? InsertResult : O extends InsertResult ? Partial<O2> : MergePartial<O, O2>>;
542
+ $if<O2>(condition: boolean, func: (qb: this) => InsertQueryBuilder<DB, TB, O2>): O2 extends InsertResult ? InsertQueryBuilder<DB, TB, InsertResult> : O2 extends O & infer E ? InsertQueryBuilder<DB, TB, O & Partial<E>> : InsertQueryBuilder<DB, TB, Partial<O2>>;
524
543
  /**
525
544
  * Change the output type of the query.
526
545
  *
@@ -529,9 +548,46 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
529
548
  */
530
549
  $castTo<T>(): InsertQueryBuilder<DB, TB, T>;
531
550
  /**
532
- * @deprecated Use `$castTo` instead.
551
+ * Narrows (parts of) the output type of the query.
552
+ *
553
+ * Kysely tries to be as type-safe as possible, but in some cases we have to make
554
+ * compromises for better maintainability and compilation performance. At present,
555
+ * Kysely doesn't narrow the output type of the query based on {@link values} input
556
+ * when using {@link returning} or {@link returningAll}.
557
+ *
558
+ * This utility method is very useful for these situations, as it removes unncessary
559
+ * runtime assertion/guard code. Its input type is limited to the output type
560
+ * of the query, so you can't add a column that doesn't exist, or change a column's
561
+ * type to something that doesn't exist in its union type.
562
+ *
563
+ * ### Examples
564
+ *
565
+ * Turn this code:
566
+ *
567
+ * ```ts
568
+ * const person = await db.insertInto('person')
569
+ * .values({ ...inputPerson, nullable_column: 'hell yeah!' })
570
+ * .returningAll()
571
+ * .executeTakeFirstOrThrow()
572
+ *
573
+ * if (nullable_column) {
574
+ * functionThatExpectsPersonWithNonNullValue(person)
575
+ * }
576
+ * ```
577
+ *
578
+ * Into this:
579
+ *
580
+ * ```ts
581
+ * const person = await db.insertInto('person')
582
+ * .values({ ...inputPerson, nullable_column: 'hell yeah!' })
583
+ * .returningAll()
584
+ * .$narrowType<{ nullable_column: string }>()
585
+ * .executeTakeFirstOrThrow()
586
+ *
587
+ * functionThatExpectsPersonWithNonNullValue(person)
588
+ * ```
533
589
  */
534
- castTo<T>(): InsertQueryBuilder<DB, TB, T>;
590
+ $narrowType<T>(): InsertQueryBuilder<DB, TB, NarrowPartial<O, T>>;
535
591
  /**
536
592
  * Asserts that query's output row type equals the given type `T`.
537
593
  *
@@ -574,10 +630,6 @@ export declare class InsertQueryBuilder<DB, TB extends keyof DB, O> implements R
574
630
  * ```
575
631
  */
576
632
  $assertType<T extends O>(): O extends T ? InsertQueryBuilder<DB, TB, T> : KyselyTypeError<`$assertType() call failed: The type passed in is not equal to the output type of the query.`>;
577
- /**
578
- * @deprecated Use `$assertType` instead.
579
- */
580
- assertType<T extends O>(): O extends T ? InsertQueryBuilder<DB, TB, T> : KyselyTypeError<`assertType() call failed: The type passed in is not equal to the output type of the query.`>;
581
633
  /**
582
634
  * Returns a copy of this InsertQueryBuilder instance with the given plugin installed.
583
635
  */
@@ -65,17 +65,29 @@ class InsertQueryBuilder {
65
65
  *
66
66
  * ### Examples
67
67
  *
68
+ * <!-- siteExample("insert", "Insert subquery", 50) -->
69
+ *
70
+ * You can create an `INSERT INTO SELECT FROM` query using the `expression` method:
71
+ *
68
72
  * ```ts
69
- * db.insertInto('person')
70
- * .columns(['first_name'])
71
- * .expression((eb) => eb.selectFrom('pet').select('pet.name'))
73
+ * const result = await db.insertInto('person')
74
+ * .columns(['first_name', 'last_name', 'age'])
75
+ * .expression((eb) => eb
76
+ * .selectFrom('pet')
77
+ * .select((eb) => [
78
+ * 'pet.name',
79
+ * eb.val('Petson').as('last_name'),
80
+ * eb.val(7).as('age'),
81
+ * ])
82
+ * )
83
+ * .execute()
72
84
  * ```
73
85
  *
74
86
  * The generated SQL (PostgreSQL):
75
87
  *
76
88
  * ```sql
77
- * insert into "person" ("first_name")
78
- * select "pet"."name" from "pet"
89
+ * insert into "person" ("first_name", "last_name", "age")
90
+ * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet"
79
91
  * ```
80
92
  */
81
93
  expression(expression) {
@@ -340,12 +352,6 @@ class InsertQueryBuilder {
340
352
  $call(func) {
341
353
  return func(this);
342
354
  }
343
- /**
344
- * @deprecated Use `$call` instead
345
- */
346
- call(func) {
347
- return this.$call(func);
348
- }
349
355
  /**
350
356
  * Call `func(this)` if `condition` is true.
351
357
  *
@@ -389,12 +395,6 @@ class InsertQueryBuilder {
389
395
  ...this.#props,
390
396
  });
391
397
  }
392
- /**
393
- * @deprecated Use `$if` instead
394
- */
395
- if(condition, func) {
396
- return this.$if(condition, func);
397
- }
398
398
  /**
399
399
  * Change the output type of the query.
400
400
  *
@@ -405,10 +405,47 @@ class InsertQueryBuilder {
405
405
  return new InsertQueryBuilder(this.#props);
406
406
  }
407
407
  /**
408
- * @deprecated Use `$castTo` instead.
408
+ * Narrows (parts of) the output type of the query.
409
+ *
410
+ * Kysely tries to be as type-safe as possible, but in some cases we have to make
411
+ * compromises for better maintainability and compilation performance. At present,
412
+ * Kysely doesn't narrow the output type of the query based on {@link values} input
413
+ * when using {@link returning} or {@link returningAll}.
414
+ *
415
+ * This utility method is very useful for these situations, as it removes unncessary
416
+ * runtime assertion/guard code. Its input type is limited to the output type
417
+ * of the query, so you can't add a column that doesn't exist, or change a column's
418
+ * type to something that doesn't exist in its union type.
419
+ *
420
+ * ### Examples
421
+ *
422
+ * Turn this code:
423
+ *
424
+ * ```ts
425
+ * const person = await db.insertInto('person')
426
+ * .values({ ...inputPerson, nullable_column: 'hell yeah!' })
427
+ * .returningAll()
428
+ * .executeTakeFirstOrThrow()
429
+ *
430
+ * if (nullable_column) {
431
+ * functionThatExpectsPersonWithNonNullValue(person)
432
+ * }
433
+ * ```
434
+ *
435
+ * Into this:
436
+ *
437
+ * ```ts
438
+ * const person = await db.insertInto('person')
439
+ * .values({ ...inputPerson, nullable_column: 'hell yeah!' })
440
+ * .returningAll()
441
+ * .$narrowType<{ nullable_column: string }>()
442
+ * .executeTakeFirstOrThrow()
443
+ *
444
+ * functionThatExpectsPersonWithNonNullValue(person)
445
+ * ```
409
446
  */
410
- castTo() {
411
- return this.$castTo();
447
+ $narrowType() {
448
+ return new InsertQueryBuilder(this.#props);
412
449
  }
413
450
  /**
414
451
  * Asserts that query's output row type equals the given type `T`.
@@ -454,12 +491,6 @@ class InsertQueryBuilder {
454
491
  $assertType() {
455
492
  return new InsertQueryBuilder(this.#props);
456
493
  }
457
- /**
458
- * @deprecated Use `$assertType` instead.
459
- */
460
- assertType() {
461
- return new InsertQueryBuilder(this.#props);
462
- }
463
494
  /**
464
495
  * Returns a copy of this InsertQueryBuilder instance with the given plugin installed.
465
496
  */
@@ -22,14 +22,13 @@
22
22
  * ```
23
23
  */
24
24
  export declare class InsertResult {
25
- #private;
26
- constructor(insertId: bigint | undefined, numInsertedOrUpdatedRows: bigint | undefined);
27
25
  /**
28
26
  * The auto incrementing primary key
29
27
  */
30
- get insertId(): bigint | undefined;
28
+ readonly insertId: bigint | undefined;
31
29
  /**
32
30
  * Affected rows count.
33
31
  */
34
- get numInsertedOrUpdatedRows(): bigint | undefined;
32
+ readonly numInsertedOrUpdatedRows: bigint | undefined;
33
+ constructor(insertId: bigint | undefined, numInsertedOrUpdatedRows: bigint | undefined);
35
34
  }
@@ -25,26 +25,17 @@ exports.InsertResult = void 0;
25
25
  * ```
26
26
  */
27
27
  class InsertResult {
28
- #insertId;
29
- #numInsertedOrUpdatedRows;
30
- constructor(insertId, numInsertedOrUpdatedRows) {
31
- this.#insertId = insertId;
32
- this.#numInsertedOrUpdatedRows = numInsertedOrUpdatedRows;
33
- }
34
28
  /**
35
29
  * The auto incrementing primary key
36
30
  */
37
- get insertId() {
38
- return this.#insertId;
39
- }
31
+ insertId;
40
32
  /**
41
33
  * Affected rows count.
42
34
  */
43
- get numInsertedOrUpdatedRows() {
44
- return this.#numInsertedOrUpdatedRows;
35
+ numInsertedOrUpdatedRows;
36
+ constructor(insertId, numInsertedOrUpdatedRows) {
37
+ this.insertId = insertId;
38
+ this.numInsertedOrUpdatedRows = numInsertedOrUpdatedRows;
45
39
  }
46
40
  }
47
41
  exports.InsertResult = InsertResult;
48
- for (const property of ['insertId', 'numInsertedOrUpdatedRows']) {
49
- Object.defineProperty(InsertResult.prototype, property, { enumerable: true });
50
- }
@@ -1,11 +1,10 @@
1
+ import { ExpressionBuilder } from '../expression/expression-builder.js';
1
2
  import { Expression } from '../expression/expression.js';
2
3
  import { JoinNode } from '../operation-node/join-node.js';
3
4
  import { OperationNodeSource } from '../operation-node/operation-node-source.js';
4
5
  import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
5
6
  import { ReferenceExpression } from '../parser/reference-parser.js';
6
- import { ExistsExpression } from '../parser/unary-operation-parser.js';
7
7
  import { SqlBool } from '../util/type-utils.js';
8
- import { OnExpressionBuilder } from './deprecated-on-expression-builder.js';
9
8
  export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
10
9
  #private;
11
10
  constructor(props: JoinBuilderProps);
@@ -18,18 +17,6 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
18
17
  on<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): JoinBuilder<DB, TB>;
19
18
  on(factory: OnExpressionFactory<DB, TB>): JoinBuilder<DB, TB>;
20
19
  on(expression: Expression<any>): JoinBuilder<DB, TB>;
21
- /**
22
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
23
- */
24
- orOn<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): JoinBuilder<DB, TB>;
25
- /**
26
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
27
- */
28
- orOn(factory: OnExpressionFactory<DB, TB>): JoinBuilder<DB, TB>;
29
- /**
30
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
31
- */
32
- orOn(expression: Expression<any>): JoinBuilder<DB, TB>;
33
20
  /**
34
21
  * Just like {@link WhereInterface.whereRef} but adds an item to the join's
35
22
  * `on` clause instead.
@@ -37,26 +24,6 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
37
24
  * See {@link WhereInterface.whereRef} for documentation and examples.
38
25
  */
39
26
  onRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): JoinBuilder<DB, TB>;
40
- /**
41
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
42
- */
43
- orOnRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): JoinBuilder<DB, TB>;
44
- /**
45
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
46
- */
47
- onExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
48
- /**
49
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
50
- */
51
- onNotExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
52
- /**
53
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
54
- */
55
- orOnExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
56
- /**
57
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
58
- */
59
- orOnNotExists(arg: ExistsExpression<DB, TB>): JoinBuilder<DB, TB>;
60
27
  /**
61
28
  * Adds `on true`.
62
29
  */
@@ -71,5 +38,5 @@ export declare class JoinBuilder<DB, TB extends keyof DB> implements OperationNo
71
38
  export interface JoinBuilderProps {
72
39
  readonly joinNode: JoinNode;
73
40
  }
74
- declare type OnExpressionFactory<DB, TB extends keyof DB> = (eb: OnExpressionBuilder<DB, TB>) => Expression<SqlBool> | OnExpressionBuilder<DB, TB>;
41
+ type OnExpressionFactory<DB, TB extends keyof DB> = (eb: ExpressionBuilder<DB, TB>) => Expression<SqlBool>;
75
42
  export {};
@@ -4,7 +4,6 @@ exports.JoinBuilder = void 0;
4
4
  const join_node_js_1 = require("../operation-node/join-node.js");
5
5
  const raw_node_js_1 = require("../operation-node/raw-node.js");
6
6
  const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js");
7
- const unary_operation_parser_js_1 = require("../parser/unary-operation-parser.js");
8
7
  const object_utils_js_1 = require("../util/object-utils.js");
9
8
  const prevent_await_js_1 = require("../util/prevent-await.js");
10
9
  class JoinBuilder {
@@ -15,16 +14,7 @@ class JoinBuilder {
15
14
  on(...args) {
16
15
  return new JoinBuilder({
17
16
  ...this.#props,
18
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseOn)(args)),
19
- });
20
- }
21
- /**
22
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
23
- */
24
- orOn(...args) {
25
- return new JoinBuilder({
26
- ...this.#props,
27
- joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseOn)(args)),
17
+ joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseFilter)(args)),
28
18
  });
29
19
  }
30
20
  /**
@@ -39,51 +29,6 @@ class JoinBuilder {
39
29
  joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
40
30
  });
41
31
  }
42
- /**
43
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
44
- */
45
- orOnRef(lhs, op, rhs) {
46
- return new JoinBuilder({
47
- ...this.#props,
48
- joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, binary_operation_parser_js_1.parseReferentialComparison)(lhs, op, rhs)),
49
- });
50
- }
51
- /**
52
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
53
- */
54
- onExists(arg) {
55
- return new JoinBuilder({
56
- ...this.#props,
57
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, unary_operation_parser_js_1.parseExists)(arg)),
58
- });
59
- }
60
- /**
61
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
62
- */
63
- onNotExists(arg) {
64
- return new JoinBuilder({
65
- ...this.#props,
66
- joinNode: join_node_js_1.JoinNode.cloneWithOn(this.#props.joinNode, (0, unary_operation_parser_js_1.parseNotExists)(arg)),
67
- });
68
- }
69
- /**
70
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
71
- */
72
- orOnExists(arg) {
73
- return new JoinBuilder({
74
- ...this.#props,
75
- joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, unary_operation_parser_js_1.parseExists)(arg)),
76
- });
77
- }
78
- /**
79
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
80
- */
81
- orOnNotExists(arg) {
82
- return new JoinBuilder({
83
- ...this.#props,
84
- joinNode: join_node_js_1.JoinNode.cloneWithOrOn(this.#props.joinNode, (0, unary_operation_parser_js_1.parseNotExists)(arg)),
85
- });
86
- }
87
32
  /**
88
33
  * Adds `on true`.
89
34
  */