kysely 0.23.5 → 0.24.1

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 (300) hide show
  1. package/README.md +46 -24
  2. package/dist/cjs/dialect/mysql/mysql-adapter.js +2 -2
  3. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +1 -1
  4. package/dist/cjs/dialect/mysql/mysql-driver.js +1 -1
  5. package/dist/cjs/dialect/postgres/postgres-adapter.js +1 -1
  6. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -0
  7. package/dist/cjs/dialect/sqlite/sqlite-dialect.js +1 -0
  8. package/dist/cjs/driver/runtime-driver.js +4 -2
  9. package/dist/cjs/expression/expression-builder.d.ts +386 -0
  10. package/dist/cjs/expression/expression-builder.js +92 -0
  11. package/dist/cjs/expression/expression-wrapper.d.ts +92 -0
  12. package/dist/cjs/expression/expression-wrapper.js +54 -0
  13. package/dist/cjs/expression/expression.d.ts +1 -1
  14. package/dist/cjs/helpers/mysql.d.ts +140 -0
  15. package/dist/cjs/helpers/mysql.js +170 -0
  16. package/dist/cjs/helpers/postgres.d.ts +133 -0
  17. package/dist/cjs/helpers/postgres.js +141 -0
  18. package/dist/cjs/index.d.ts +4 -3
  19. package/dist/cjs/index.js +4 -2
  20. package/dist/cjs/kysely.d.ts +10 -0
  21. package/dist/cjs/kysely.js +12 -1
  22. package/dist/cjs/migration/file-migration-provider.d.ts +5 -2
  23. package/dist/cjs/migration/migrator.d.ts +5 -2
  24. package/dist/cjs/operation-node/aggregate-function-node.d.ts +3 -3
  25. package/dist/cjs/operation-node/create-index-node.d.ts +2 -0
  26. package/dist/cjs/operation-node/delete-query-node.d.ts +0 -1
  27. package/dist/cjs/operation-node/delete-query-node.js +0 -6
  28. package/dist/cjs/operation-node/function-node.d.ts +13 -0
  29. package/dist/cjs/operation-node/function-node.js +19 -0
  30. package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
  31. package/dist/cjs/operation-node/operation-node-transformer.js +9 -0
  32. package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
  33. package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
  34. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  35. package/dist/cjs/operation-node/operator-node.d.ts +13 -2
  36. package/dist/cjs/operation-node/operator-node.js +38 -3
  37. package/dist/cjs/operation-node/query-node.d.ts +25 -8
  38. package/dist/cjs/operation-node/query-node.js +9 -2
  39. package/dist/cjs/operation-node/select-query-node.d.ts +0 -1
  40. package/dist/cjs/operation-node/select-query-node.js +0 -6
  41. package/dist/cjs/operation-node/update-query-node.d.ts +0 -1
  42. package/dist/cjs/operation-node/update-query-node.js +0 -6
  43. package/dist/cjs/parser/binary-operation-parser.d.ts +9 -10
  44. package/dist/cjs/parser/binary-operation-parser.js +89 -39
  45. package/dist/cjs/parser/coalesce-parser.d.ts +0 -2
  46. package/dist/cjs/parser/coalesce-parser.js +0 -9
  47. package/dist/cjs/parser/expression-parser.d.ts +7 -3
  48. package/dist/cjs/parser/expression-parser.js +3 -3
  49. package/dist/cjs/parser/group-by-parser.d.ts +3 -2
  50. package/dist/cjs/parser/group-by-parser.js +3 -0
  51. package/dist/cjs/parser/insert-values-parser.d.ts +4 -1
  52. package/dist/cjs/parser/insert-values-parser.js +19 -13
  53. package/dist/cjs/parser/join-parser.js +1 -1
  54. package/dist/cjs/parser/parse-utils.d.ts +0 -2
  55. package/dist/cjs/parser/parse-utils.js +1 -8
  56. package/dist/cjs/parser/returning-parser.d.ts +2 -1
  57. package/dist/cjs/parser/select-parser.d.ts +5 -13
  58. package/dist/cjs/parser/select-parser.js +8 -4
  59. package/dist/cjs/parser/table-parser.d.ts +5 -3
  60. package/dist/cjs/parser/unary-operation-parser.d.ts +5 -2
  61. package/dist/cjs/parser/unary-operation-parser.js +9 -8
  62. package/dist/cjs/parser/update-set-parser.d.ts +4 -1
  63. package/dist/cjs/parser/update-set-parser.js +9 -4
  64. package/dist/cjs/parser/value-parser.d.ts +5 -0
  65. package/dist/cjs/parser/value-parser.js +1 -3
  66. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
  67. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  68. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +40 -113
  69. package/dist/cjs/query-builder/aggregate-function-builder.js +23 -63
  70. package/dist/cjs/query-builder/delete-query-builder.d.ts +220 -201
  71. package/dist/cjs/query-builder/delete-query-builder.js +21 -27
  72. package/dist/cjs/query-builder/delete-result.js +3 -0
  73. package/dist/cjs/query-builder/deprecated-having-expression-builder.d.ts +62 -0
  74. package/dist/cjs/query-builder/deprecated-having-expression-builder.js +2 -0
  75. package/dist/cjs/query-builder/deprecated-on-expression-builder.d.ts +62 -0
  76. package/dist/cjs/query-builder/deprecated-on-expression-builder.js +2 -0
  77. package/dist/cjs/query-builder/deprecated-where-expression-builder.d.ts +62 -0
  78. package/dist/cjs/query-builder/deprecated-where-expression-builder.js +2 -0
  79. package/dist/cjs/query-builder/function-module.d.ts +40 -12
  80. package/dist/cjs/query-builder/function-module.js +43 -329
  81. package/dist/cjs/query-builder/having-interface.d.ts +19 -16
  82. package/dist/cjs/query-builder/insert-query-builder.d.ts +75 -26
  83. package/dist/cjs/query-builder/insert-query-builder.js +21 -29
  84. package/dist/cjs/query-builder/insert-result.js +3 -0
  85. package/dist/cjs/query-builder/join-builder.d.ts +23 -26
  86. package/dist/cjs/query-builder/join-builder.js +17 -22
  87. package/dist/cjs/query-builder/no-result-error.d.ts +1 -0
  88. package/dist/cjs/query-builder/no-result-error.js +5 -1
  89. package/dist/cjs/query-builder/on-conflict-builder.d.ts +158 -276
  90. package/dist/cjs/query-builder/on-conflict-builder.js +52 -36
  91. package/dist/cjs/query-builder/over-builder.d.ts +5 -0
  92. package/dist/cjs/query-builder/over-builder.js +7 -0
  93. package/dist/cjs/query-builder/returning-interface.d.ts +2 -2
  94. package/dist/cjs/query-builder/select-query-builder.d.ts +148 -237
  95. package/dist/cjs/query-builder/select-query-builder.js +333 -78
  96. package/dist/cjs/query-builder/update-query-builder.d.ts +145 -213
  97. package/dist/cjs/query-builder/update-query-builder.js +21 -115
  98. package/dist/cjs/query-builder/update-result.js +3 -0
  99. package/dist/cjs/query-builder/where-interface.d.ts +71 -184
  100. package/dist/cjs/query-compiler/default-query-compiler.d.ts +3 -0
  101. package/dist/cjs/query-compiler/default-query-compiler.js +17 -1
  102. package/dist/cjs/query-creator.d.ts +9 -2
  103. package/dist/cjs/query-creator.js +1 -24
  104. package/dist/cjs/query-executor/query-executor.d.ts +3 -3
  105. package/dist/cjs/raw-builder/raw-builder.d.ts +5 -3
  106. package/dist/cjs/raw-builder/raw-builder.js +13 -7
  107. package/dist/cjs/raw-builder/sql.d.ts +17 -9
  108. package/dist/cjs/raw-builder/sql.js +8 -2
  109. package/dist/cjs/schema/alter-column-builder.d.ts +5 -0
  110. package/dist/cjs/schema/alter-column-builder.js +7 -0
  111. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
  112. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
  113. package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +5 -0
  114. package/dist/cjs/schema/alter-table-drop-constraint-builder.js +7 -0
  115. package/dist/cjs/schema/column-definition-builder.d.ts +6 -1
  116. package/dist/cjs/schema/column-definition-builder.js +8 -1
  117. package/dist/cjs/schema/create-index-builder.d.ts +51 -9
  118. package/dist/cjs/schema/create-index-builder.js +17 -0
  119. package/dist/cjs/schema/create-schema-builder.d.ts +5 -0
  120. package/dist/cjs/schema/create-schema-builder.js +7 -0
  121. package/dist/cjs/schema/create-table-builder.d.ts +3 -1
  122. package/dist/cjs/schema/create-table-builder.js +3 -1
  123. package/dist/cjs/schema/create-type-builder.d.ts +5 -0
  124. package/dist/cjs/schema/create-type-builder.js +7 -0
  125. package/dist/cjs/schema/create-view-builder.d.ts +5 -0
  126. package/dist/cjs/schema/create-view-builder.js +7 -0
  127. package/dist/cjs/schema/drop-index-builder.d.ts +5 -0
  128. package/dist/cjs/schema/drop-index-builder.js +7 -0
  129. package/dist/cjs/schema/drop-schema-builder.d.ts +5 -0
  130. package/dist/cjs/schema/drop-schema-builder.js +7 -0
  131. package/dist/cjs/schema/drop-table-builder.d.ts +5 -0
  132. package/dist/cjs/schema/drop-table-builder.js +7 -0
  133. package/dist/cjs/schema/drop-type-builder.d.ts +5 -0
  134. package/dist/cjs/schema/drop-type-builder.js +7 -0
  135. package/dist/cjs/schema/drop-view-builder.d.ts +5 -0
  136. package/dist/cjs/schema/drop-view-builder.js +7 -0
  137. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +5 -0
  138. package/dist/cjs/schema/foreign-key-constraint-builder.js +7 -0
  139. package/dist/cjs/util/compilable.d.ts +1 -0
  140. package/dist/cjs/util/compilable.js +6 -0
  141. package/dist/cjs/util/explainable.d.ts +35 -0
  142. package/dist/cjs/util/log.d.ts +2 -0
  143. package/dist/cjs/util/object-utils.js +1 -1
  144. package/dist/cjs/util/streamable.d.ts +29 -0
  145. package/dist/cjs/util/streamable.js +2 -0
  146. package/dist/cjs/util/type-utils.d.ts +1 -0
  147. package/dist/esm/dialect/mysql/mysql-adapter.js +2 -2
  148. package/dist/esm/dialect/mysql/mysql-driver.d.ts +1 -1
  149. package/dist/esm/dialect/mysql/mysql-driver.js +1 -1
  150. package/dist/esm/dialect/postgres/postgres-adapter.js +1 -1
  151. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -0
  152. package/dist/esm/dialect/sqlite/sqlite-dialect.js +1 -0
  153. package/dist/esm/driver/runtime-driver.js +4 -2
  154. package/dist/esm/expression/expression-builder.d.ts +386 -0
  155. package/dist/esm/expression/expression-builder.js +88 -0
  156. package/dist/esm/expression/expression-wrapper.d.ts +92 -0
  157. package/dist/esm/expression/expression-wrapper.js +50 -0
  158. package/dist/esm/expression/expression.d.ts +1 -1
  159. package/dist/esm/helpers/mysql.d.ts +140 -0
  160. package/dist/esm/helpers/mysql.js +165 -0
  161. package/dist/esm/helpers/postgres.d.ts +133 -0
  162. package/dist/esm/helpers/postgres.js +136 -0
  163. package/dist/esm/index.d.ts +4 -3
  164. package/dist/esm/index.js +2 -1
  165. package/dist/esm/kysely.d.ts +10 -0
  166. package/dist/esm/kysely.js +13 -2
  167. package/dist/esm/migration/file-migration-provider.d.ts +5 -2
  168. package/dist/esm/migration/migrator.d.ts +5 -2
  169. package/dist/esm/operation-node/aggregate-function-node.d.ts +3 -3
  170. package/dist/esm/operation-node/create-index-node.d.ts +2 -0
  171. package/dist/esm/operation-node/delete-query-node.d.ts +0 -1
  172. package/dist/esm/operation-node/delete-query-node.js +0 -6
  173. package/dist/esm/operation-node/function-node.d.ts +13 -0
  174. package/dist/esm/operation-node/function-node.js +17 -0
  175. package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
  176. package/dist/esm/operation-node/operation-node-transformer.js +9 -0
  177. package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
  178. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  179. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  180. package/dist/esm/operation-node/operator-node.d.ts +13 -2
  181. package/dist/esm/operation-node/operator-node.js +34 -3
  182. package/dist/esm/operation-node/query-node.d.ts +25 -8
  183. package/dist/esm/operation-node/query-node.js +9 -2
  184. package/dist/esm/operation-node/select-query-node.d.ts +0 -1
  185. package/dist/esm/operation-node/select-query-node.js +0 -6
  186. package/dist/esm/operation-node/update-query-node.d.ts +0 -1
  187. package/dist/esm/operation-node/update-query-node.js +0 -6
  188. package/dist/esm/parser/binary-operation-parser.d.ts +9 -10
  189. package/dist/esm/parser/binary-operation-parser.js +85 -37
  190. package/dist/esm/parser/coalesce-parser.d.ts +0 -2
  191. package/dist/esm/parser/coalesce-parser.js +1 -7
  192. package/dist/esm/parser/expression-parser.d.ts +7 -3
  193. package/dist/esm/parser/expression-parser.js +3 -3
  194. package/dist/esm/parser/group-by-parser.d.ts +3 -2
  195. package/dist/esm/parser/group-by-parser.js +3 -0
  196. package/dist/esm/parser/insert-values-parser.d.ts +4 -1
  197. package/dist/esm/parser/insert-values-parser.js +18 -12
  198. package/dist/esm/parser/join-parser.js +2 -2
  199. package/dist/esm/parser/parse-utils.d.ts +0 -2
  200. package/dist/esm/parser/parse-utils.js +0 -6
  201. package/dist/esm/parser/returning-parser.d.ts +2 -1
  202. package/dist/esm/parser/select-parser.d.ts +5 -13
  203. package/dist/esm/parser/select-parser.js +7 -3
  204. package/dist/esm/parser/table-parser.d.ts +5 -3
  205. package/dist/esm/parser/unary-operation-parser.d.ts +5 -2
  206. package/dist/esm/parser/unary-operation-parser.js +8 -8
  207. package/dist/esm/parser/update-set-parser.d.ts +4 -1
  208. package/dist/esm/parser/update-set-parser.js +7 -2
  209. package/dist/esm/parser/value-parser.d.ts +5 -0
  210. package/dist/esm/parser/value-parser.js +1 -3
  211. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +1 -1
  212. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +1 -1
  213. package/dist/esm/query-builder/aggregate-function-builder.d.ts +40 -113
  214. package/dist/esm/query-builder/aggregate-function-builder.js +24 -64
  215. package/dist/esm/query-builder/delete-query-builder.d.ts +220 -201
  216. package/dist/esm/query-builder/delete-query-builder.js +24 -30
  217. package/dist/esm/query-builder/delete-result.js +3 -0
  218. package/dist/esm/query-builder/deprecated-having-expression-builder.d.ts +62 -0
  219. package/dist/esm/query-builder/deprecated-having-expression-builder.js +2 -0
  220. package/dist/esm/query-builder/deprecated-on-expression-builder.d.ts +62 -0
  221. package/dist/esm/query-builder/deprecated-on-expression-builder.js +2 -0
  222. package/dist/esm/query-builder/deprecated-where-expression-builder.d.ts +62 -0
  223. package/dist/esm/query-builder/deprecated-where-expression-builder.js +2 -0
  224. package/dist/esm/query-builder/function-module.d.ts +40 -12
  225. package/dist/esm/query-builder/function-module.js +42 -328
  226. package/dist/esm/query-builder/having-interface.d.ts +19 -16
  227. package/dist/esm/query-builder/insert-query-builder.d.ts +75 -26
  228. package/dist/esm/query-builder/insert-query-builder.js +25 -33
  229. package/dist/esm/query-builder/insert-result.js +3 -0
  230. package/dist/esm/query-builder/join-builder.d.ts +23 -26
  231. package/dist/esm/query-builder/join-builder.js +18 -23
  232. package/dist/esm/query-builder/no-result-error.d.ts +1 -0
  233. package/dist/esm/query-builder/no-result-error.js +3 -0
  234. package/dist/esm/query-builder/on-conflict-builder.d.ts +158 -276
  235. package/dist/esm/query-builder/on-conflict-builder.js +54 -38
  236. package/dist/esm/query-builder/over-builder.d.ts +5 -0
  237. package/dist/esm/query-builder/over-builder.js +7 -0
  238. package/dist/esm/query-builder/returning-interface.d.ts +2 -2
  239. package/dist/esm/query-builder/select-query-builder.d.ts +148 -237
  240. package/dist/esm/query-builder/select-query-builder.js +337 -82
  241. package/dist/esm/query-builder/update-query-builder.d.ts +145 -213
  242. package/dist/esm/query-builder/update-query-builder.js +25 -119
  243. package/dist/esm/query-builder/update-result.js +3 -0
  244. package/dist/esm/query-builder/where-interface.d.ts +71 -184
  245. package/dist/esm/query-compiler/default-query-compiler.d.ts +3 -0
  246. package/dist/esm/query-compiler/default-query-compiler.js +17 -1
  247. package/dist/esm/query-creator.d.ts +9 -2
  248. package/dist/esm/query-creator.js +1 -24
  249. package/dist/esm/query-executor/query-executor.d.ts +3 -3
  250. package/dist/esm/raw-builder/raw-builder.d.ts +5 -3
  251. package/dist/esm/raw-builder/raw-builder.js +13 -7
  252. package/dist/esm/raw-builder/sql.d.ts +17 -9
  253. package/dist/esm/raw-builder/sql.js +8 -2
  254. package/dist/esm/schema/alter-column-builder.d.ts +5 -0
  255. package/dist/esm/schema/alter-column-builder.js +7 -0
  256. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +5 -0
  257. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +7 -0
  258. package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +5 -0
  259. package/dist/esm/schema/alter-table-drop-constraint-builder.js +7 -0
  260. package/dist/esm/schema/column-definition-builder.d.ts +6 -1
  261. package/dist/esm/schema/column-definition-builder.js +8 -1
  262. package/dist/esm/schema/create-index-builder.d.ts +51 -9
  263. package/dist/esm/schema/create-index-builder.js +17 -0
  264. package/dist/esm/schema/create-schema-builder.d.ts +5 -0
  265. package/dist/esm/schema/create-schema-builder.js +7 -0
  266. package/dist/esm/schema/create-table-builder.d.ts +3 -1
  267. package/dist/esm/schema/create-table-builder.js +3 -1
  268. package/dist/esm/schema/create-type-builder.d.ts +5 -0
  269. package/dist/esm/schema/create-type-builder.js +7 -0
  270. package/dist/esm/schema/create-view-builder.d.ts +5 -0
  271. package/dist/esm/schema/create-view-builder.js +7 -0
  272. package/dist/esm/schema/drop-index-builder.d.ts +5 -0
  273. package/dist/esm/schema/drop-index-builder.js +7 -0
  274. package/dist/esm/schema/drop-schema-builder.d.ts +5 -0
  275. package/dist/esm/schema/drop-schema-builder.js +7 -0
  276. package/dist/esm/schema/drop-table-builder.d.ts +5 -0
  277. package/dist/esm/schema/drop-table-builder.js +7 -0
  278. package/dist/esm/schema/drop-type-builder.d.ts +5 -0
  279. package/dist/esm/schema/drop-type-builder.js +7 -0
  280. package/dist/esm/schema/drop-view-builder.d.ts +5 -0
  281. package/dist/esm/schema/drop-view-builder.js +7 -0
  282. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +5 -0
  283. package/dist/esm/schema/foreign-key-constraint-builder.js +7 -0
  284. package/dist/esm/util/compilable.d.ts +1 -0
  285. package/dist/esm/util/compilable.js +4 -1
  286. package/dist/esm/util/explainable.d.ts +35 -0
  287. package/dist/esm/util/log.d.ts +2 -0
  288. package/dist/esm/util/object-utils.js +1 -1
  289. package/dist/esm/util/streamable.d.ts +29 -0
  290. package/dist/esm/util/streamable.js +2 -0
  291. package/dist/esm/util/type-utils.d.ts +1 -0
  292. package/helpers/mysql.d.ts +1 -0
  293. package/helpers/mysql.js +1 -0
  294. package/helpers/postgres.d.ts +1 -0
  295. package/helpers/postgres.js +1 -0
  296. package/package.json +26 -9
  297. package/dist/cjs/query-builder/expression-builder.d.ts +0 -126
  298. package/dist/cjs/query-builder/expression-builder.js +0 -107
  299. package/dist/esm/query-builder/expression-builder.d.ts +0 -126
  300. package/dist/esm/query-builder/expression-builder.js +0 -104
@@ -2,9 +2,9 @@
2
2
  import { ColumnNode } from '../operation-node/column-node.js';
3
3
  import { IdentifierNode } from '../operation-node/identifier-node.js';
4
4
  import { OnConflictNode } from '../operation-node/on-conflict-node.js';
5
- import { parseReferentialFilter, parseWhere, } from '../parser/binary-operation-parser.js';
5
+ import { parseReferentialComparison, parseWhere, } from '../parser/binary-operation-parser.js';
6
6
  import { parseExists, parseNotExists, } from '../parser/unary-operation-parser.js';
7
- import { parseUpdateObject, } from '../parser/update-set-parser.js';
7
+ import { parseUpdateExpression, } from '../parser/update-set-parser.js';
8
8
  import { freeze } from '../util/object-utils.js';
9
9
  import { preventAwait } from '../util/prevent-await.js';
10
10
  export class OnConflictBuilder {
@@ -90,9 +90,12 @@ export class OnConflictBuilder {
90
90
  whereRef(lhs, op, rhs) {
91
91
  return new OnConflictBuilder({
92
92
  ...this.#props,
93
- onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseReferentialFilter(lhs, op, rhs)),
93
+ onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
94
94
  });
95
95
  }
96
+ /**
97
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
98
+ */
96
99
  orWhere(...args) {
97
100
  return new OnConflictBuilder({
98
101
  ...this.#props,
@@ -100,20 +103,16 @@ export class OnConflictBuilder {
100
103
  });
101
104
  }
102
105
  /**
103
- * Specify an index predicate for the index target.
104
- *
105
- * See {@link WhereInterface.orWhereRef} for more info.
106
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
106
107
  */
107
108
  orWhereRef(lhs, op, rhs) {
108
109
  return new OnConflictBuilder({
109
110
  ...this.#props,
110
- onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseReferentialFilter(lhs, op, rhs)),
111
+ onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
111
112
  });
112
113
  }
113
114
  /**
114
- * Specify an index predicate for the index target.
115
- *
116
- * See {@link WhereInterface.whereExists} for more info.
115
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
117
116
  */
118
117
  whereExists(arg) {
119
118
  return new OnConflictBuilder({
@@ -122,9 +121,7 @@ export class OnConflictBuilder {
122
121
  });
123
122
  }
124
123
  /**
125
- * Specify an index predicate for the index target.
126
- *
127
- * See {@link WhereInterface.whereNotExists} for more info.
124
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
128
125
  */
129
126
  whereNotExists(arg) {
130
127
  return new OnConflictBuilder({
@@ -133,9 +130,7 @@ export class OnConflictBuilder {
133
130
  });
134
131
  }
135
132
  /**
136
- * Specify an index predicate for the index target.
137
- *
138
- * See {@link WhereInterface.orWhereExists} for more info.
133
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
139
134
  */
140
135
  orWhereExists(arg) {
141
136
  return new OnConflictBuilder({
@@ -144,9 +139,7 @@ export class OnConflictBuilder {
144
139
  });
145
140
  }
146
141
  /**
147
- * Specify an index predicate for the index target.
148
- *
149
- * See {@link WhereInterface.orWhereNotExists} for more info.
142
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
150
143
  */
151
144
  orWhereNotExists(arg) {
152
145
  return new OnConflictBuilder({
@@ -214,15 +207,38 @@ export class OnConflictBuilder {
214
207
  * on conflict ("pic")
215
208
  * do update set "first_name" = $3
216
209
  * ```
210
+ *
211
+ * In the next example we use the `ref` method to reference
212
+ * columns of the virtual table `excluded` in a type-safe way
213
+ * to create an upsert operation:
214
+ *
215
+ * ```ts
216
+ * db.insertInto('person')
217
+ * .values(person)
218
+ * .onConflict((oc) => oc
219
+ * .column('id')
220
+ * .doUpdateSet((eb) => ({
221
+ * first_name: eb.ref('excluded.first_name'),
222
+ * last_name: eb.ref('excluded.last_name')
223
+ * }))
224
+ * )
225
+ * ```
217
226
  */
218
- doUpdateSet(updates) {
227
+ doUpdateSet(update) {
219
228
  return new OnConflictUpdateBuilder({
220
229
  ...this.#props,
221
230
  onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, {
222
- updates: parseUpdateObject(updates),
231
+ updates: parseUpdateExpression(update),
223
232
  }),
224
233
  });
225
234
  }
235
+ /**
236
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
237
+ * what the provided function returns.
238
+ */
239
+ $call(func) {
240
+ return func(this);
241
+ }
226
242
  }
227
243
  preventAwait(OnConflictBuilder, "don't await OnConflictBuilder instances.");
228
244
  export class OnConflictDoNothingBuilder {
@@ -254,9 +270,12 @@ export class OnConflictUpdateBuilder {
254
270
  whereRef(lhs, op, rhs) {
255
271
  return new OnConflictUpdateBuilder({
256
272
  ...this.#props,
257
- onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseReferentialFilter(lhs, op, rhs)),
273
+ onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
258
274
  });
259
275
  }
276
+ /**
277
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
278
+ */
260
279
  orWhere(...args) {
261
280
  return new OnConflictUpdateBuilder({
262
281
  ...this.#props,
@@ -264,20 +283,16 @@ export class OnConflictUpdateBuilder {
264
283
  });
265
284
  }
266
285
  /**
267
- * Specify a where condition for the update operation.
268
- *
269
- * See {@link WhereInterface.orWhereRef} for more info.
286
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
270
287
  */
271
288
  orWhereRef(lhs, op, rhs) {
272
289
  return new OnConflictUpdateBuilder({
273
290
  ...this.#props,
274
- onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseReferentialFilter(lhs, op, rhs)),
291
+ onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
275
292
  });
276
293
  }
277
294
  /**
278
- * Specify a where condition for the update operation.
279
- *
280
- * See {@link WhereInterface.whereExists} for more info.
295
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
281
296
  */
282
297
  whereExists(arg) {
283
298
  return new OnConflictUpdateBuilder({
@@ -286,9 +301,7 @@ export class OnConflictUpdateBuilder {
286
301
  });
287
302
  }
288
303
  /**
289
- * Specify a where condition for the update operation.
290
- *
291
- * See {@link WhereInterface.whereNotExists} for more info.
304
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
292
305
  */
293
306
  whereNotExists(arg) {
294
307
  return new OnConflictUpdateBuilder({
@@ -297,9 +310,7 @@ export class OnConflictUpdateBuilder {
297
310
  });
298
311
  }
299
312
  /**
300
- * Specify a where condition for the update operation.
301
- *
302
- * See {@link WhereInterface.orWhereExists} for more info.
313
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
303
314
  */
304
315
  orWhereExists(arg) {
305
316
  return new OnConflictUpdateBuilder({
@@ -308,9 +319,7 @@ export class OnConflictUpdateBuilder {
308
319
  });
309
320
  }
310
321
  /**
311
- * Specify a where condition for the update operation.
312
- *
313
- * See {@link WhereInterface.orWhereNotExists} for more info.
322
+ * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
314
323
  */
315
324
  orWhereNotExists(arg) {
316
325
  return new OnConflictUpdateBuilder({
@@ -324,6 +333,13 @@ export class OnConflictUpdateBuilder {
324
333
  onConflictNode: OnConflictNode.cloneWithoutUpdateWhere(this.#props.onConflictNode),
325
334
  });
326
335
  }
336
+ /**
337
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
338
+ * what the provided function returns.
339
+ */
340
+ $call(func) {
341
+ return func(this);
342
+ }
327
343
  toOperationNode() {
328
344
  return this.#props.onConflictNode;
329
345
  }
@@ -52,6 +52,11 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
52
52
  */
53
53
  partitionBy(partitionBy: ReadonlyArray<PartitionByExpression<DB, TB>>): OverBuilder<DB, TB>;
54
54
  partitionBy(partitionBy: PartitionByExpression<DB, TB>): OverBuilder<DB, TB>;
55
+ /**
56
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
57
+ * what the provided function returns.
58
+ */
59
+ $call<T>(func: (qb: this) => T): T;
55
60
  toOperationNode(): OverNode;
56
61
  }
57
62
  export interface OverBuilderProps {
@@ -40,6 +40,13 @@ export class OverBuilder {
40
40
  overNode: OverNode.cloneWithPartitionByItems(this.#props.overNode, parsePartitionBy(partitionBy)),
41
41
  });
42
42
  }
43
+ /**
44
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
45
+ * what the provided function returns.
46
+ */
47
+ $call(func) {
48
+ return func(this);
49
+ }
43
50
  toOperationNode() {
44
51
  return this.#props.overNode;
45
52
  }
@@ -53,10 +53,10 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
53
53
  * first_name: 'Jennifer',
54
54
  * last_name: 'Aniston'
55
55
  * })
56
- * .returning([
56
+ * .returning(eb => [
57
57
  * 'id as id',
58
58
  * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
59
- * (qb) => qb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
59
+ * eb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')
60
60
  * ])
61
61
  * .executeTakeFirst()
62
62
  * ```