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
@@ -2,7 +2,6 @@ import { Expression } from '../expression/expression.js';
2
2
  import { OnConflictNode } from '../operation-node/on-conflict-node.js';
3
3
  import { OperationNodeSource } from '../operation-node/operation-node-source.js';
4
4
  import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
5
- import { ExpressionOrFactory } from '../parser/expression-parser.js';
6
5
  import { ReferenceExpression } from '../parser/reference-parser.js';
7
6
  import { UpdateExpression } from '../parser/update-set-parser.js';
8
7
  import { AnyColumn } from '../util/type-utils.js';
@@ -55,6 +54,10 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
55
54
  *
56
55
  * ### Examples
57
56
  *
57
+ * <!-- siteExample("where", "Simple where clause", 10) -->
58
+ *
59
+ * `where` method calls are combined with `AND`:
60
+ *
58
61
  * ```ts
59
62
  * const person = await db
60
63
  * .selectFrom('person')
@@ -77,9 +80,65 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
77
80
  * sql`your operator`
78
81
  * ```
79
82
  *
83
+ * <!-- siteExample("where", "Where in", 20) -->
84
+ *
85
+ * Find multiple items using a list of identifiers:
86
+ *
87
+ * ```ts
88
+ * const persons = await db
89
+ * .selectFrom('person')
90
+ * .selectAll()
91
+ * .where('id', 'in', ['1', '2', '3'])
92
+ * .execute()
93
+ * ```
94
+ *
95
+ * The generated SQL (PostgreSQL):
96
+ *
97
+ * ```sql
98
+ * select * from "person" where "id" in ($1, $2, $3)
99
+ * ```
100
+ *
101
+ * <!-- siteExample("where", "OR where", 30) -->
102
+ *
103
+ * To combine conditions using `OR`, you can use the expression builder:
104
+ *
105
+ * ```ts
106
+ * const persons = await db
107
+ * .selectFrom('person')
108
+ * .selectAll()
109
+ * .where(({ or, and, cmpr }) => or([
110
+ * and([
111
+ * cmpr('first_name', '=', 'Jennifer'),
112
+ * cmpr('last_name', '=', 'Aniston')
113
+ * ]),
114
+ * and([
115
+ * cmpr('first_name', '=', 'Sylvester'),
116
+ * cmpr('last_name', '=', 'Stallone')
117
+ * ])
118
+ * ]))
119
+ * .execute()
120
+ * ```
121
+ *
122
+ * The generated SQL (PostgreSQL):
123
+ *
124
+ * ```sql
125
+ * select *
126
+ * from "person"
127
+ * where (
128
+ * ("first_name" = $1 AND "last_name" = $2)
129
+ * OR
130
+ * ("first_name" = $3 AND "last_name" = $4)
131
+ * )
132
+ * ```
133
+ *
134
+ * <!-- siteExample("where", "Conditional where calls", 40) -->
135
+ *
80
136
  * You can add expressions conditionally like this:
81
137
  *
82
138
  * ```ts
139
+ * const firstName: string | undefined = 'Jennifer'
140
+ * const lastName: string | undefined = 'Aniston'
141
+ *
83
142
  * let query = db
84
143
  * .selectFrom('person')
85
144
  * .selectAll()
@@ -146,22 +205,30 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
146
205
  * select * from "person" where "id" in ($1, $2, $3)
147
206
  * ```
148
207
  *
208
+ * <!-- siteExample("where", "Complex where clause", 50) -->
209
+ *
149
210
  * For complex `where` expressions you can pass in a single callback and
150
- * use the {@link ExpressionBuilder} to build your expression:
211
+ * use the `ExpressionBuilder` to build your expression:
151
212
  *
152
213
  * ```ts
214
+ * const firstName = 'Jennifer'
215
+ * const maxAge = 60
216
+ *
153
217
  * const persons = await db
154
218
  * .selectFrom('person')
155
219
  * .selectAll('person')
156
- * .where(({ cmpr, or, and, not, exists, selectFrom, val }) => and([
220
+ * .where(({ cmpr, or, and, not, exists, selectFrom }) => and([
157
221
  * or([
158
222
  * cmpr('first_name', '=', firstName),
159
223
  * cmpr('age', '<', maxAge)
160
224
  * ]),
161
225
  * not(exists(
162
- * selectFrom('pet').select('pet.id').whereRef('pet.owner_id', '=', 'person.id')
226
+ * selectFrom('pet')
227
+ * .select('pet.id')
228
+ * .whereRef('pet.owner_id', '=', 'person.id')
163
229
  * ))
164
230
  * ]))
231
+ * .execute()
165
232
  * ```
166
233
  *
167
234
  * The generated SQL (PostgreSQL):
@@ -235,38 +302,6 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
235
302
  * See {@link WhereInterface.whereRef} for more info.
236
303
  */
237
304
  whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
238
- /**
239
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
240
- */
241
- orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictBuilder<DB, TB>;
242
- /**
243
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
244
- */
245
- orWhere(factory: WhereExpressionFactory<DB, TB>): OnConflictBuilder<DB, TB>;
246
- /**
247
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
248
- */
249
- orWhere(expression: Expression<any>): OnConflictBuilder<DB, TB>;
250
- /**
251
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
252
- */
253
- orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictBuilder<DB, TB>;
254
- /**
255
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
256
- */
257
- whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
258
- /**
259
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
260
- */
261
- whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
262
- /**
263
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
264
- */
265
- orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
266
- /**
267
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
268
- */
269
- orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictBuilder<DB, TB>;
270
305
  /**
271
306
  * Clears all where expressions from the query.
272
307
  *
@@ -360,10 +395,10 @@ export declare class OnConflictBuilder<DB, TB extends keyof DB> implements Where
360
395
  export interface OnConflictBuilderProps {
361
396
  readonly onConflictNode: OnConflictNode;
362
397
  }
363
- export declare type OnConflictDatabase<DB, TB extends keyof DB> = {
398
+ export type OnConflictDatabase<DB, TB extends keyof DB> = {
364
399
  [K in keyof DB | 'excluded']: K extends keyof DB ? DB[K] : DB[TB];
365
400
  };
366
- export declare type OnConflictTables<TB> = TB | 'excluded';
401
+ export type OnConflictTables<TB> = TB | 'excluded';
367
402
  export declare class OnConflictDoNothingBuilder<DB, TB extends keyof DB> implements OperationNodeSource {
368
403
  #private;
369
404
  constructor(props: OnConflictBuilderProps);
@@ -387,6 +422,10 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
387
422
  *
388
423
  * ### Examples
389
424
  *
425
+ * <!-- siteExample("where", "Simple where clause", 10) -->
426
+ *
427
+ * `where` method calls are combined with `AND`:
428
+ *
390
429
  * ```ts
391
430
  * const person = await db
392
431
  * .selectFrom('person')
@@ -409,9 +448,65 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
409
448
  * sql`your operator`
410
449
  * ```
411
450
  *
451
+ * <!-- siteExample("where", "Where in", 20) -->
452
+ *
453
+ * Find multiple items using a list of identifiers:
454
+ *
455
+ * ```ts
456
+ * const persons = await db
457
+ * .selectFrom('person')
458
+ * .selectAll()
459
+ * .where('id', 'in', ['1', '2', '3'])
460
+ * .execute()
461
+ * ```
462
+ *
463
+ * The generated SQL (PostgreSQL):
464
+ *
465
+ * ```sql
466
+ * select * from "person" where "id" in ($1, $2, $3)
467
+ * ```
468
+ *
469
+ * <!-- siteExample("where", "OR where", 30) -->
470
+ *
471
+ * To combine conditions using `OR`, you can use the expression builder:
472
+ *
473
+ * ```ts
474
+ * const persons = await db
475
+ * .selectFrom('person')
476
+ * .selectAll()
477
+ * .where(({ or, and, cmpr }) => or([
478
+ * and([
479
+ * cmpr('first_name', '=', 'Jennifer'),
480
+ * cmpr('last_name', '=', 'Aniston')
481
+ * ]),
482
+ * and([
483
+ * cmpr('first_name', '=', 'Sylvester'),
484
+ * cmpr('last_name', '=', 'Stallone')
485
+ * ])
486
+ * ]))
487
+ * .execute()
488
+ * ```
489
+ *
490
+ * The generated SQL (PostgreSQL):
491
+ *
492
+ * ```sql
493
+ * select *
494
+ * from "person"
495
+ * where (
496
+ * ("first_name" = $1 AND "last_name" = $2)
497
+ * OR
498
+ * ("first_name" = $3 AND "last_name" = $4)
499
+ * )
500
+ * ```
501
+ *
502
+ * <!-- siteExample("where", "Conditional where calls", 40) -->
503
+ *
412
504
  * You can add expressions conditionally like this:
413
505
  *
414
506
  * ```ts
507
+ * const firstName: string | undefined = 'Jennifer'
508
+ * const lastName: string | undefined = 'Aniston'
509
+ *
415
510
  * let query = db
416
511
  * .selectFrom('person')
417
512
  * .selectAll()
@@ -478,22 +573,30 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
478
573
  * select * from "person" where "id" in ($1, $2, $3)
479
574
  * ```
480
575
  *
576
+ * <!-- siteExample("where", "Complex where clause", 50) -->
577
+ *
481
578
  * For complex `where` expressions you can pass in a single callback and
482
- * use the {@link ExpressionBuilder} to build your expression:
579
+ * use the `ExpressionBuilder` to build your expression:
483
580
  *
484
581
  * ```ts
582
+ * const firstName = 'Jennifer'
583
+ * const maxAge = 60
584
+ *
485
585
  * const persons = await db
486
586
  * .selectFrom('person')
487
587
  * .selectAll('person')
488
- * .where(({ cmpr, or, and, not, exists, selectFrom, val }) => and([
588
+ * .where(({ cmpr, or, and, not, exists, selectFrom }) => and([
489
589
  * or([
490
590
  * cmpr('first_name', '=', firstName),
491
591
  * cmpr('age', '<', maxAge)
492
592
  * ]),
493
593
  * not(exists(
494
- * selectFrom('pet').select('pet.id').whereRef('pet.owner_id', '=', 'person.id')
594
+ * selectFrom('pet')
595
+ * .select('pet.id')
596
+ * .whereRef('pet.owner_id', '=', 'person.id')
495
597
  * ))
496
598
  * ]))
599
+ * .execute()
497
600
  * ```
498
601
  *
499
602
  * The generated SQL (PostgreSQL):
@@ -567,38 +670,6 @@ export declare class OnConflictUpdateBuilder<DB, TB extends keyof DB> implements
567
670
  * See {@link WhereInterface.whereRef} for more info.
568
671
  */
569
672
  whereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
570
- /**
571
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
572
- */
573
- orWhere<RE extends ReferenceExpression<DB, TB>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList<DB, TB, RE>): OnConflictUpdateBuilder<DB, TB>;
574
- /**
575
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
576
- */
577
- orWhere(factory: WhereExpressionFactory<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
578
- /**
579
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
580
- */
581
- orWhere(expression: Expression<any>): OnConflictUpdateBuilder<DB, TB>;
582
- /**
583
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
584
- */
585
- orWhereRef(lhs: ReferenceExpression<DB, TB>, op: ComparisonOperatorExpression, rhs: ReferenceExpression<DB, TB>): OnConflictUpdateBuilder<DB, TB>;
586
- /**
587
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
588
- */
589
- whereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
590
- /**
591
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
592
- */
593
- whereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
594
- /**
595
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
596
- */
597
- orWhereExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
598
- /**
599
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
600
- */
601
- orWhereNotExists(arg: ExpressionOrFactory<DB, TB, any>): OnConflictUpdateBuilder<DB, TB>;
602
673
  /**
603
674
  * Clears all where expressions from the query.
604
675
  *
@@ -2,8 +2,7 @@
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 { parseReferentialComparison, parseWhere, } from '../parser/binary-operation-parser.js';
6
- import { parseExists, parseNotExists, } from '../parser/unary-operation-parser.js';
5
+ import { parseFilter, parseReferentialComparison, } from '../parser/binary-operation-parser.js';
7
6
  import { parseUpdateExpression, } from '../parser/update-set-parser.js';
8
7
  import { freeze } from '../util/object-utils.js';
9
8
  import { preventAwait } from '../util/prevent-await.js';
@@ -79,7 +78,7 @@ export class OnConflictBuilder {
79
78
  where(...args) {
80
79
  return new OnConflictBuilder({
81
80
  ...this.#props,
82
- onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseWhere(args)),
81
+ onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseFilter(args)),
83
82
  });
84
83
  }
85
84
  /**
@@ -93,60 +92,6 @@ export class OnConflictBuilder {
93
92
  onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
94
93
  });
95
94
  }
96
- /**
97
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
98
- */
99
- orWhere(...args) {
100
- return new OnConflictBuilder({
101
- ...this.#props,
102
- onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseWhere(args)),
103
- });
104
- }
105
- /**
106
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
107
- */
108
- orWhereRef(lhs, op, rhs) {
109
- return new OnConflictBuilder({
110
- ...this.#props,
111
- onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
112
- });
113
- }
114
- /**
115
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
116
- */
117
- whereExists(arg) {
118
- return new OnConflictBuilder({
119
- ...this.#props,
120
- onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseExists(arg)),
121
- });
122
- }
123
- /**
124
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
125
- */
126
- whereNotExists(arg) {
127
- return new OnConflictBuilder({
128
- ...this.#props,
129
- onConflictNode: OnConflictNode.cloneWithIndexWhere(this.#props.onConflictNode, parseNotExists(arg)),
130
- });
131
- }
132
- /**
133
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
134
- */
135
- orWhereExists(arg) {
136
- return new OnConflictBuilder({
137
- ...this.#props,
138
- onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseExists(arg)),
139
- });
140
- }
141
- /**
142
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
143
- */
144
- orWhereNotExists(arg) {
145
- return new OnConflictBuilder({
146
- ...this.#props,
147
- onConflictNode: OnConflictNode.cloneWithIndexOrWhere(this.#props.onConflictNode, parseNotExists(arg)),
148
- });
149
- }
150
95
  clearWhere() {
151
96
  return new OnConflictBuilder({
152
97
  ...this.#props,
@@ -259,7 +204,7 @@ export class OnConflictUpdateBuilder {
259
204
  where(...args) {
260
205
  return new OnConflictUpdateBuilder({
261
206
  ...this.#props,
262
- onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseWhere(args)),
207
+ onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseFilter(args)),
263
208
  });
264
209
  }
265
210
  /**
@@ -273,60 +218,6 @@ export class OnConflictUpdateBuilder {
273
218
  onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
274
219
  });
275
220
  }
276
- /**
277
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
278
- */
279
- orWhere(...args) {
280
- return new OnConflictUpdateBuilder({
281
- ...this.#props,
282
- onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseWhere(args)),
283
- });
284
- }
285
- /**
286
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
287
- */
288
- orWhereRef(lhs, op, rhs) {
289
- return new OnConflictUpdateBuilder({
290
- ...this.#props,
291
- onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseReferentialComparison(lhs, op, rhs)),
292
- });
293
- }
294
- /**
295
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
296
- */
297
- whereExists(arg) {
298
- return new OnConflictUpdateBuilder({
299
- ...this.#props,
300
- onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseExists(arg)),
301
- });
302
- }
303
- /**
304
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
305
- */
306
- whereNotExists(arg) {
307
- return new OnConflictUpdateBuilder({
308
- ...this.#props,
309
- onConflictNode: OnConflictNode.cloneWithUpdateWhere(this.#props.onConflictNode, parseNotExists(arg)),
310
- });
311
- }
312
- /**
313
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
314
- */
315
- orWhereExists(arg) {
316
- return new OnConflictUpdateBuilder({
317
- ...this.#props,
318
- onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseExists(arg)),
319
- });
320
- }
321
- /**
322
- * @deprecated Follow [these](https://github.com/koskimas/kysely/releases/tag/0.24.0) instructions to migrate
323
- */
324
- orWhereNotExists(arg) {
325
- return new OnConflictUpdateBuilder({
326
- ...this.#props,
327
- onConflictNode: OnConflictNode.cloneWithUpdateOrWhere(this.#props.onConflictNode, parseNotExists(arg)),
328
- });
329
- }
330
221
  clearWhere() {
331
222
  return new OnConflictUpdateBuilder({
332
223
  ...this.#props,
@@ -14,7 +14,7 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
14
14
  * const result = await db
15
15
  * .selectFrom('person')
16
16
  * .select(
17
- * eb => eb.fn.avg<number>('age').over(
17
+ * (eb) => eb.fn.avg<number>('age').over(
18
18
  * ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc')
19
19
  * ).as('average_age')
20
20
  * )
@@ -36,7 +36,7 @@ export declare class OverBuilder<DB, TB extends keyof DB> implements OperationNo
36
36
  * const result = await db
37
37
  * .selectFrom('person')
38
38
  * .select(
39
- * eb => eb.fn.avg<number>('age').over(
39
+ * (eb) => eb.fn.avg<number>('age').over(
40
40
  * ob => ob.partitionBy(['last_name', 'first_name'])
41
41
  * ).as('average_age')
42
42
  * )
@@ -16,7 +16,7 @@ export class OverBuilder {
16
16
  * const result = await db
17
17
  * .selectFrom('person')
18
18
  * .select(
19
- * eb => eb.fn.avg<number>('age').over(
19
+ * (eb) => eb.fn.avg<number>('age').over(
20
20
  * ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc')
21
21
  * ).as('average_age')
22
22
  * )
@@ -53,7 +53,7 @@ export interface ReturningInterface<DB, TB extends keyof DB, O> {
53
53
  * first_name: 'Jennifer',
54
54
  * last_name: 'Aniston'
55
55
  * })
56
- * .returning(eb => [
56
+ * .returning((eb) => [
57
57
  * 'id as id',
58
58
  * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
59
59
  * eb.selectFrom('pets').select('pet.id').limit(1).as('first_pet_id')