@depup/kysely 0.28.11-depup.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 (1130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/cjs/dialect/database-introspector.d.ts +62 -0
  4. package/dist/cjs/dialect/database-introspector.js +2 -0
  5. package/dist/cjs/dialect/dialect-adapter-base.d.ts +94 -0
  6. package/dist/cjs/dialect/dialect-adapter-base.js +24 -0
  7. package/dist/cjs/dialect/dialect-adapter.d.ts +115 -0
  8. package/dist/cjs/dialect/dialect-adapter.js +2 -0
  9. package/dist/cjs/dialect/dialect.d.ts +34 -0
  10. package/dist/cjs/dialect/dialect.js +2 -0
  11. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +83 -0
  12. package/dist/cjs/dialect/mssql/mssql-adapter.js +28 -0
  13. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +181 -0
  14. package/dist/cjs/dialect/mssql/mssql-dialect-config.js +2 -0
  15. package/dist/cjs/dialect/mssql/mssql-dialect.d.ts +70 -0
  16. package/dist/cjs/dialect/mssql/mssql-dialect.js +65 -0
  17. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +59 -0
  18. package/dist/cjs/dialect/mssql/mssql-driver.js +359 -0
  19. package/dist/cjs/dialect/mssql/mssql-introspector.d.ts +20 -0
  20. package/dist/cjs/dialect/mssql/mssql-introspector.js +110 -0
  21. package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +17 -0
  22. package/dist/cjs/dialect/mssql/mssql-query-compiler.js +83 -0
  23. package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +80 -0
  24. package/dist/cjs/dialect/mysql/mysql-adapter.js +28 -0
  25. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +56 -0
  26. package/dist/cjs/dialect/mysql/mysql-dialect-config.js +2 -0
  27. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +61 -0
  28. package/dist/cjs/dialect/mysql/mysql-dialect.js +56 -0
  29. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +52 -0
  30. package/dist/cjs/dialect/mysql/mysql-driver.js +180 -0
  31. package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +20 -0
  32. package/dist/cjs/dialect/mysql/mysql-introspector.js +79 -0
  33. package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +13 -0
  34. package/dist/cjs/dialect/mysql/mysql-query-compiler.js +60 -0
  35. package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +80 -0
  36. package/dist/cjs/dialect/postgres/postgres-adapter.js +25 -0
  37. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +68 -0
  38. package/dist/cjs/dialect/postgres/postgres-dialect-config.js +2 -0
  39. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +61 -0
  40. package/dist/cjs/dialect/postgres/postgres-dialect.js +56 -0
  41. package/dist/cjs/dialect/postgres/postgres-driver.d.ts +55 -0
  42. package/dist/cjs/dialect/postgres/postgres-driver.js +134 -0
  43. package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +20 -0
  44. package/dist/cjs/dialect/postgres/postgres-introspector.js +100 -0
  45. package/dist/cjs/dialect/postgres/postgres-query-compiler.d.ts +4 -0
  46. package/dist/cjs/dialect/postgres/postgres-query-compiler.js +11 -0
  47. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +80 -0
  48. package/dist/cjs/dialect/sqlite/sqlite-adapter.js +23 -0
  49. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
  50. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.js +2 -0
  51. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +55 -0
  52. package/dist/cjs/dialect/sqlite/sqlite-dialect.js +51 -0
  53. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +42 -0
  54. package/dist/cjs/dialect/sqlite/sqlite-driver.js +113 -0
  55. package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +20 -0
  56. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +94 -0
  57. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
  58. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +37 -0
  59. package/dist/cjs/driver/connection-provider.d.ts +8 -0
  60. package/dist/cjs/driver/connection-provider.js +2 -0
  61. package/dist/cjs/driver/database-connection.d.ts +35 -0
  62. package/dist/cjs/driver/database-connection.js +2 -0
  63. package/dist/cjs/driver/default-connection-provider.d.ts +12 -0
  64. package/dist/cjs/driver/default-connection-provider.js +19 -0
  65. package/dist/cjs/driver/driver.d.ts +61 -0
  66. package/dist/cjs/driver/driver.js +22 -0
  67. package/dist/cjs/driver/dummy-driver.d.ts +75 -0
  68. package/dist/cjs/driver/dummy-driver.js +83 -0
  69. package/dist/cjs/driver/runtime-driver.d.ts +47 -0
  70. package/dist/cjs/driver/runtime-driver.js +165 -0
  71. package/dist/cjs/driver/single-connection-provider.d.ts +11 -0
  72. package/dist/cjs/driver/single-connection-provider.js +29 -0
  73. package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +18 -0
  74. package/dist/cjs/dynamic/dynamic-reference-builder.js +36 -0
  75. package/dist/cjs/dynamic/dynamic-table-builder.d.ts +16 -0
  76. package/dist/cjs/dynamic/dynamic-table-builder.js +46 -0
  77. package/dist/cjs/dynamic/dynamic.d.ts +124 -0
  78. package/dist/cjs/dynamic/dynamic.js +132 -0
  79. package/dist/cjs/expression/expression-builder.d.ts +920 -0
  80. package/dist/cjs/expression/expression-builder.js +128 -0
  81. package/dist/cjs/expression/expression-wrapper.d.ts +631 -0
  82. package/dist/cjs/expression/expression-wrapper.js +134 -0
  83. package/dist/cjs/expression/expression.d.ts +198 -0
  84. package/dist/cjs/expression/expression.js +15 -0
  85. package/dist/cjs/helpers/mssql.d.ts +212 -0
  86. package/dist/cjs/helpers/mssql.js +219 -0
  87. package/dist/cjs/helpers/mysql.d.ts +147 -0
  88. package/dist/cjs/helpers/mysql.js +162 -0
  89. package/dist/cjs/helpers/postgres.d.ts +199 -0
  90. package/dist/cjs/helpers/postgres.js +208 -0
  91. package/dist/cjs/helpers/sqlite.d.ts +189 -0
  92. package/dist/cjs/helpers/sqlite.js +204 -0
  93. package/dist/cjs/index.d.ts +226 -0
  94. package/dist/cjs/index.js +231 -0
  95. package/dist/cjs/kysely.d.ts +848 -0
  96. package/dist/cjs/kysely.js +927 -0
  97. package/dist/cjs/migration/file-migration-provider.d.ts +48 -0
  98. package/dist/cjs/migration/file-migration-provider.js +52 -0
  99. package/dist/cjs/migration/migrator.d.ts +395 -0
  100. package/dist/cjs/migration/migrator.js +611 -0
  101. package/dist/cjs/operation-node/add-column-node.d.ts +15 -0
  102. package/dist/cjs/operation-node/add-column-node.js +18 -0
  103. package/dist/cjs/operation-node/add-constraint-node.d.ts +15 -0
  104. package/dist/cjs/operation-node/add-constraint-node.js +18 -0
  105. package/dist/cjs/operation-node/add-index-node.d.ts +23 -0
  106. package/dist/cjs/operation-node/add-index-node.js +31 -0
  107. package/dist/cjs/operation-node/aggregate-function-node.d.ts +29 -0
  108. package/dist/cjs/operation-node/aggregate-function-node.js +58 -0
  109. package/dist/cjs/operation-node/alias-node.d.ts +15 -0
  110. package/dist/cjs/operation-node/alias-node.js +19 -0
  111. package/dist/cjs/operation-node/alter-column-node.d.ts +23 -0
  112. package/dist/cjs/operation-node/alter-column-node.js +20 -0
  113. package/dist/cjs/operation-node/alter-table-node.d.ts +38 -0
  114. package/dist/cjs/operation-node/alter-table-node.js +32 -0
  115. package/dist/cjs/operation-node/and-node.d.ts +15 -0
  116. package/dist/cjs/operation-node/and-node.js +19 -0
  117. package/dist/cjs/operation-node/binary-operation-node.d.ts +16 -0
  118. package/dist/cjs/operation-node/binary-operation-node.js +20 -0
  119. package/dist/cjs/operation-node/case-node.d.ts +21 -0
  120. package/dist/cjs/operation-node/case-node.js +42 -0
  121. package/dist/cjs/operation-node/cast-node.d.ts +15 -0
  122. package/dist/cjs/operation-node/cast-node.js +19 -0
  123. package/dist/cjs/operation-node/check-constraint-node.d.ts +16 -0
  124. package/dist/cjs/operation-node/check-constraint-node.js +22 -0
  125. package/dist/cjs/operation-node/collate-node.d.ts +15 -0
  126. package/dist/cjs/operation-node/collate-node.js +19 -0
  127. package/dist/cjs/operation-node/column-definition-node.d.ts +38 -0
  128. package/dist/cjs/operation-node/column-definition-node.js +42 -0
  129. package/dist/cjs/operation-node/column-node.d.ts +15 -0
  130. package/dist/cjs/operation-node/column-node.js +19 -0
  131. package/dist/cjs/operation-node/column-update-node.d.ts +15 -0
  132. package/dist/cjs/operation-node/column-update-node.js +19 -0
  133. package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +17 -0
  134. package/dist/cjs/operation-node/common-table-expression-name-node.js +23 -0
  135. package/dist/cjs/operation-node/common-table-expression-node.d.ts +19 -0
  136. package/dist/cjs/operation-node/common-table-expression-node.js +25 -0
  137. package/dist/cjs/operation-node/constraint-node.d.ts +5 -0
  138. package/dist/cjs/operation-node/constraint-node.js +2 -0
  139. package/dist/cjs/operation-node/create-index-node.d.ts +29 -0
  140. package/dist/cjs/operation-node/create-index-node.js +31 -0
  141. package/dist/cjs/operation-node/create-schema-node.d.ts +18 -0
  142. package/dist/cjs/operation-node/create-schema-node.js +26 -0
  143. package/dist/cjs/operation-node/create-table-node.d.ts +34 -0
  144. package/dist/cjs/operation-node/create-table-node.js +56 -0
  145. package/dist/cjs/operation-node/create-type-node.d.ts +19 -0
  146. package/dist/cjs/operation-node/create-type-node.js +26 -0
  147. package/dist/cjs/operation-node/create-view-node.d.ts +26 -0
  148. package/dist/cjs/operation-node/create-view-node.js +25 -0
  149. package/dist/cjs/operation-node/data-type-node.d.ts +19 -0
  150. package/dist/cjs/operation-node/data-type-node.js +86 -0
  151. package/dist/cjs/operation-node/default-insert-value-node.d.ts +13 -0
  152. package/dist/cjs/operation-node/default-insert-value-node.js +17 -0
  153. package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
  154. package/dist/cjs/operation-node/default-value-node.js +18 -0
  155. package/dist/cjs/operation-node/delete-query-node.d.ts +42 -0
  156. package/dist/cjs/operation-node/delete-query-node.js +52 -0
  157. package/dist/cjs/operation-node/drop-column-node.d.ts +15 -0
  158. package/dist/cjs/operation-node/drop-column-node.js +19 -0
  159. package/dist/cjs/operation-node/drop-constraint-node.d.ts +19 -0
  160. package/dist/cjs/operation-node/drop-constraint-node.js +25 -0
  161. package/dist/cjs/operation-node/drop-index-node.d.ts +21 -0
  162. package/dist/cjs/operation-node/drop-index-node.js +26 -0
  163. package/dist/cjs/operation-node/drop-schema-node.d.ts +19 -0
  164. package/dist/cjs/operation-node/drop-schema-node.js +26 -0
  165. package/dist/cjs/operation-node/drop-table-node.d.ts +19 -0
  166. package/dist/cjs/operation-node/drop-table-node.js +25 -0
  167. package/dist/cjs/operation-node/drop-type-node.d.ts +18 -0
  168. package/dist/cjs/operation-node/drop-type-node.js +24 -0
  169. package/dist/cjs/operation-node/drop-view-node.d.ts +20 -0
  170. package/dist/cjs/operation-node/drop-view-node.js +25 -0
  171. package/dist/cjs/operation-node/explain-node.d.ts +16 -0
  172. package/dist/cjs/operation-node/explain-node.js +19 -0
  173. package/dist/cjs/operation-node/fetch-node.d.ts +17 -0
  174. package/dist/cjs/operation-node/fetch-node.js +20 -0
  175. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +26 -0
  176. package/dist/cjs/operation-node/foreign-key-constraint-node.js +30 -0
  177. package/dist/cjs/operation-node/from-node.d.ts +15 -0
  178. package/dist/cjs/operation-node/from-node.js +24 -0
  179. package/dist/cjs/operation-node/function-node.d.ts +15 -0
  180. package/dist/cjs/operation-node/function-node.js +19 -0
  181. package/dist/cjs/operation-node/generated-node.d.ts +21 -0
  182. package/dist/cjs/operation-node/generated-node.js +31 -0
  183. package/dist/cjs/operation-node/group-by-item-node.d.ts +14 -0
  184. package/dist/cjs/operation-node/group-by-item-node.js +18 -0
  185. package/dist/cjs/operation-node/group-by-node.d.ts +16 -0
  186. package/dist/cjs/operation-node/group-by-node.js +24 -0
  187. package/dist/cjs/operation-node/having-node.d.ts +15 -0
  188. package/dist/cjs/operation-node/having-node.js +28 -0
  189. package/dist/cjs/operation-node/identifier-node.d.ts +14 -0
  190. package/dist/cjs/operation-node/identifier-node.js +18 -0
  191. package/dist/cjs/operation-node/insert-query-node.d.ts +42 -0
  192. package/dist/cjs/operation-node/insert-query-node.js +31 -0
  193. package/dist/cjs/operation-node/join-node.d.ts +20 -0
  194. package/dist/cjs/operation-node/join-node.js +37 -0
  195. package/dist/cjs/operation-node/json-operator-chain-node.d.ts +18 -0
  196. package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
  197. package/dist/cjs/operation-node/json-path-leg-node.d.ts +16 -0
  198. package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
  199. package/dist/cjs/operation-node/json-path-node.d.ts +18 -0
  200. package/dist/cjs/operation-node/json-path-node.js +25 -0
  201. package/dist/cjs/operation-node/json-reference-node.d.ts +19 -0
  202. package/dist/cjs/operation-node/json-reference-node.js +25 -0
  203. package/dist/cjs/operation-node/limit-node.d.ts +14 -0
  204. package/dist/cjs/operation-node/limit-node.js +18 -0
  205. package/dist/cjs/operation-node/list-node.d.ts +14 -0
  206. package/dist/cjs/operation-node/list-node.js +18 -0
  207. package/dist/cjs/operation-node/matched-node.d.ts +15 -0
  208. package/dist/cjs/operation-node/matched-node.js +19 -0
  209. package/dist/cjs/operation-node/merge-query-node.d.ts +32 -0
  210. package/dist/cjs/operation-node/merge-query-node.js +45 -0
  211. package/dist/cjs/operation-node/modify-column-node.d.ts +15 -0
  212. package/dist/cjs/operation-node/modify-column-node.js +18 -0
  213. package/dist/cjs/operation-node/offset-node.d.ts +14 -0
  214. package/dist/cjs/operation-node/offset-node.js +18 -0
  215. package/dist/cjs/operation-node/on-conflict-node.d.ts +32 -0
  216. package/dist/cjs/operation-node/on-conflict-node.js +68 -0
  217. package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +16 -0
  218. package/dist/cjs/operation-node/on-duplicate-key-node.js +18 -0
  219. package/dist/cjs/operation-node/on-node.d.ts +15 -0
  220. package/dist/cjs/operation-node/on-node.js +28 -0
  221. package/dist/cjs/operation-node/operation-node-source.d.ts +5 -0
  222. package/dist/cjs/operation-node/operation-node-source.js +7 -0
  223. package/dist/cjs/operation-node/operation-node-transformer.d.ts +238 -0
  224. package/dist/cjs/operation-node/operation-node-transformer.js +929 -0
  225. package/dist/cjs/operation-node/operation-node-visitor.d.ts +201 -0
  226. package/dist/cjs/operation-node/operation-node-visitor.js +115 -0
  227. package/dist/cjs/operation-node/operation-node.d.ts +4 -0
  228. package/dist/cjs/operation-node/operation-node.js +2 -0
  229. package/dist/cjs/operation-node/operator-node.d.ts +34 -0
  230. package/dist/cjs/operation-node/operator-node.js +107 -0
  231. package/dist/cjs/operation-node/or-action-node.d.ts +14 -0
  232. package/dist/cjs/operation-node/or-action-node.js +18 -0
  233. package/dist/cjs/operation-node/or-node.d.ts +15 -0
  234. package/dist/cjs/operation-node/or-node.js +19 -0
  235. package/dist/cjs/operation-node/order-by-item-node.d.ts +20 -0
  236. package/dist/cjs/operation-node/order-by-item-node.js +25 -0
  237. package/dist/cjs/operation-node/order-by-node.d.ts +16 -0
  238. package/dist/cjs/operation-node/order-by-node.js +24 -0
  239. package/dist/cjs/operation-node/output-node.d.ts +15 -0
  240. package/dist/cjs/operation-node/output-node.js +26 -0
  241. package/dist/cjs/operation-node/over-node.d.ts +21 -0
  242. package/dist/cjs/operation-node/over-node.js +35 -0
  243. package/dist/cjs/operation-node/parens-node.d.ts +14 -0
  244. package/dist/cjs/operation-node/parens-node.js +18 -0
  245. package/dist/cjs/operation-node/partition-by-item-node.d.ts +15 -0
  246. package/dist/cjs/operation-node/partition-by-item-node.js +18 -0
  247. package/dist/cjs/operation-node/partition-by-node.d.ts +16 -0
  248. package/dist/cjs/operation-node/partition-by-node.js +24 -0
  249. package/dist/cjs/operation-node/primary-key-constraint-node.d.ts +31 -0
  250. package/dist/cjs/operation-node/primary-key-constraint-node.js +32 -0
  251. package/dist/cjs/operation-node/primitive-value-list-node.d.ts +19 -0
  252. package/dist/cjs/operation-node/primitive-value-list-node.js +18 -0
  253. package/dist/cjs/operation-node/query-node.d.ts +61 -0
  254. package/dist/cjs/operation-node/query-node.js +102 -0
  255. package/dist/cjs/operation-node/raw-node.d.ts +18 -0
  256. package/dist/cjs/operation-node/raw-node.js +28 -0
  257. package/dist/cjs/operation-node/reference-node.d.ts +19 -0
  258. package/dist/cjs/operation-node/reference-node.js +27 -0
  259. package/dist/cjs/operation-node/references-node.d.ts +24 -0
  260. package/dist/cjs/operation-node/references-node.js +38 -0
  261. package/dist/cjs/operation-node/refresh-materialized-view-node.d.ts +19 -0
  262. package/dist/cjs/operation-node/refresh-materialized-view-node.js +25 -0
  263. package/dist/cjs/operation-node/rename-column-node.d.ts +16 -0
  264. package/dist/cjs/operation-node/rename-column-node.js +20 -0
  265. package/dist/cjs/operation-node/rename-constraint-node.d.ts +16 -0
  266. package/dist/cjs/operation-node/rename-constraint-node.js +20 -0
  267. package/dist/cjs/operation-node/returning-node.d.ts +16 -0
  268. package/dist/cjs/operation-node/returning-node.js +26 -0
  269. package/dist/cjs/operation-node/schemable-identifier-node.d.ts +17 -0
  270. package/dist/cjs/operation-node/schemable-identifier-node.js +26 -0
  271. package/dist/cjs/operation-node/select-all-node.d.ts +13 -0
  272. package/dist/cjs/operation-node/select-all-node.js +17 -0
  273. package/dist/cjs/operation-node/select-modifier-node.d.ts +18 -0
  274. package/dist/cjs/operation-node/select-modifier-node.js +25 -0
  275. package/dist/cjs/operation-node/select-query-node.d.ts +63 -0
  276. package/dist/cjs/operation-node/select-query-node.js +129 -0
  277. package/dist/cjs/operation-node/selection-node.d.ts +21 -0
  278. package/dist/cjs/operation-node/selection-node.js +32 -0
  279. package/dist/cjs/operation-node/set-operation-node.d.ts +17 -0
  280. package/dist/cjs/operation-node/set-operation-node.js +20 -0
  281. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
  282. package/dist/cjs/operation-node/simple-reference-expression-node.js +2 -0
  283. package/dist/cjs/operation-node/table-node.d.ts +16 -0
  284. package/dist/cjs/operation-node/table-node.js +25 -0
  285. package/dist/cjs/operation-node/top-node.d.ts +16 -0
  286. package/dist/cjs/operation-node/top-node.js +19 -0
  287. package/dist/cjs/operation-node/tuple-node.d.ts +14 -0
  288. package/dist/cjs/operation-node/tuple-node.js +18 -0
  289. package/dist/cjs/operation-node/unary-operation-node.d.ts +15 -0
  290. package/dist/cjs/operation-node/unary-operation-node.js +19 -0
  291. package/dist/cjs/operation-node/unique-constraint-node.d.ts +22 -0
  292. package/dist/cjs/operation-node/unique-constraint-node.js +30 -0
  293. package/dist/cjs/operation-node/update-query-node.d.ts +41 -0
  294. package/dist/cjs/operation-node/update-query-node.js +50 -0
  295. package/dist/cjs/operation-node/using-node.d.ts +15 -0
  296. package/dist/cjs/operation-node/using-node.js +24 -0
  297. package/dist/cjs/operation-node/value-list-node.d.ts +14 -0
  298. package/dist/cjs/operation-node/value-list-node.js +18 -0
  299. package/dist/cjs/operation-node/value-node.d.ts +16 -0
  300. package/dist/cjs/operation-node/value-node.js +25 -0
  301. package/dist/cjs/operation-node/values-node.d.ts +17 -0
  302. package/dist/cjs/operation-node/values-node.js +18 -0
  303. package/dist/cjs/operation-node/when-node.d.ts +16 -0
  304. package/dist/cjs/operation-node/when-node.js +24 -0
  305. package/dist/cjs/operation-node/where-node.d.ts +15 -0
  306. package/dist/cjs/operation-node/where-node.js +28 -0
  307. package/dist/cjs/operation-node/with-node.d.ts +18 -0
  308. package/dist/cjs/operation-node/with-node.js +25 -0
  309. package/dist/cjs/package.json +1 -0
  310. package/dist/cjs/parser/binary-operation-parser.d.ts +21 -0
  311. package/dist/cjs/parser/binary-operation-parser.js +74 -0
  312. package/dist/cjs/parser/coalesce-parser.d.ts +12 -0
  313. package/dist/cjs/parser/coalesce-parser.js +2 -0
  314. package/dist/cjs/parser/collate-parser.d.ts +1 -0
  315. package/dist/cjs/parser/collate-parser.js +2 -0
  316. package/dist/cjs/parser/data-type-parser.d.ts +5 -0
  317. package/dist/cjs/parser/data-type-parser.js +14 -0
  318. package/dist/cjs/parser/default-value-parser.d.ts +4 -0
  319. package/dist/cjs/parser/default-value-parser.js +10 -0
  320. package/dist/cjs/parser/delete-from-parser.d.ts +9 -0
  321. package/dist/cjs/parser/delete-from-parser.js +2 -0
  322. package/dist/cjs/parser/expression-parser.d.ts +20 -0
  323. package/dist/cjs/parser/expression-parser.js +30 -0
  324. package/dist/cjs/parser/fetch-parser.d.ts +2 -0
  325. package/dist/cjs/parser/fetch-parser.js +17 -0
  326. package/dist/cjs/parser/group-by-parser.d.ts +6 -0
  327. package/dist/cjs/parser/group-by-parser.js +11 -0
  328. package/dist/cjs/parser/identifier-parser.d.ts +2 -0
  329. package/dist/cjs/parser/identifier-parser.js +22 -0
  330. package/dist/cjs/parser/insert-values-parser.d.ts +14 -0
  331. package/dist/cjs/parser/insert-values-parser.js +64 -0
  332. package/dist/cjs/parser/join-parser.d.ts +10 -0
  333. package/dist/cjs/parser/join-parser.js +30 -0
  334. package/dist/cjs/parser/merge-into-parser.d.ts +7 -0
  335. package/dist/cjs/parser/merge-into-parser.js +2 -0
  336. package/dist/cjs/parser/merge-parser.d.ts +9 -0
  337. package/dist/cjs/parser/merge-parser.js +31 -0
  338. package/dist/cjs/parser/on-commit-action-parse.d.ts +2 -0
  339. package/dist/cjs/parser/on-commit-action-parse.js +10 -0
  340. package/dist/cjs/parser/on-modify-action-parser.d.ts +2 -0
  341. package/dist/cjs/parser/on-modify-action-parser.js +10 -0
  342. package/dist/cjs/parser/order-by-parser.d.ts +25 -0
  343. package/dist/cjs/parser/order-by-parser.js +71 -0
  344. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  345. package/dist/cjs/parser/parse-utils.js +38 -0
  346. package/dist/cjs/parser/partition-by-parser.d.ts +6 -0
  347. package/dist/cjs/parser/partition-by-parser.js +8 -0
  348. package/dist/cjs/parser/reference-parser.d.ts +31 -0
  349. package/dist/cjs/parser/reference-parser.js +104 -0
  350. package/dist/cjs/parser/returning-parser.d.ts +8 -0
  351. package/dist/cjs/parser/returning-parser.js +2 -0
  352. package/dist/cjs/parser/savepoint-parser.d.ts +4 -0
  353. package/dist/cjs/parser/savepoint-parser.js +11 -0
  354. package/dist/cjs/parser/select-from-parser.d.ts +6 -0
  355. package/dist/cjs/parser/select-from-parser.js +2 -0
  356. package/dist/cjs/parser/select-parser.d.ts +36 -0
  357. package/dist/cjs/parser/select-parser.js +50 -0
  358. package/dist/cjs/parser/set-operation-parser.d.ts +5 -0
  359. package/dist/cjs/parser/set-operation-parser.js +16 -0
  360. package/dist/cjs/parser/table-parser.d.ts +24 -0
  361. package/dist/cjs/parser/table-parser.js +54 -0
  362. package/dist/cjs/parser/top-parser.d.ts +2 -0
  363. package/dist/cjs/parser/top-parser.js +19 -0
  364. package/dist/cjs/parser/tuple-parser.d.ts +47 -0
  365. package/dist/cjs/parser/tuple-parser.js +2 -0
  366. package/dist/cjs/parser/unary-operation-parser.d.ts +8 -0
  367. package/dist/cjs/parser/unary-operation-parser.js +17 -0
  368. package/dist/cjs/parser/update-parser.d.ts +9 -0
  369. package/dist/cjs/parser/update-parser.js +2 -0
  370. package/dist/cjs/parser/update-set-parser.d.ts +16 -0
  371. package/dist/cjs/parser/update-set-parser.js +26 -0
  372. package/dist/cjs/parser/value-parser.d.ts +13 -0
  373. package/dist/cjs/parser/value-parser.js +38 -0
  374. package/dist/cjs/parser/with-parser.d.ts +45 -0
  375. package/dist/cjs/parser/with-parser.js +33 -0
  376. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +170 -0
  377. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +122 -0
  378. package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +9 -0
  379. package/dist/cjs/plugin/camel-case/camel-case-transformer.js +19 -0
  380. package/dist/cjs/plugin/camel-case/camel-case.d.ts +15 -0
  381. package/dist/cjs/plugin/camel-case/camel-case.js +111 -0
  382. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
  383. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +19 -0
  384. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
  385. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +42 -0
  386. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
  387. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +162 -0
  388. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
  389. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +29 -0
  390. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
  391. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.js +66 -0
  392. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
  393. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.js +22 -0
  394. package/dist/cjs/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
  395. package/dist/cjs/plugin/immediate-value/immediate-value-transformer.js +23 -0
  396. package/dist/cjs/plugin/kysely-plugin.d.ts +72 -0
  397. package/dist/cjs/plugin/kysely-plugin.js +2 -0
  398. package/dist/cjs/plugin/noop-plugin.d.ts +64 -0
  399. package/dist/cjs/plugin/noop-plugin.js +12 -0
  400. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
  401. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +107 -0
  402. package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +66 -0
  403. package/dist/cjs/plugin/with-schema/with-schema-plugin.js +17 -0
  404. package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +18 -0
  405. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +200 -0
  406. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +379 -0
  407. package/dist/cjs/query-builder/aggregate-function-builder.js +242 -0
  408. package/dist/cjs/query-builder/case-builder.d.ts +112 -0
  409. package/dist/cjs/query-builder/case-builder.js +79 -0
  410. package/dist/cjs/query-builder/cte-builder.d.ts +20 -0
  411. package/dist/cjs/query-builder/cte-builder.js +37 -0
  412. package/dist/cjs/query-builder/delete-query-builder.d.ts +1348 -0
  413. package/dist/cjs/query-builder/delete-query-builder.js +504 -0
  414. package/dist/cjs/query-builder/delete-result.d.ts +4 -0
  415. package/dist/cjs/query-builder/delete-result.js +10 -0
  416. package/dist/cjs/query-builder/function-module.d.ts +592 -0
  417. package/dist/cjs/query-builder/function-module.js +62 -0
  418. package/dist/cjs/query-builder/having-interface.d.ts +15 -0
  419. package/dist/cjs/query-builder/having-interface.js +2 -0
  420. package/dist/cjs/query-builder/insert-query-builder.d.ts +1235 -0
  421. package/dist/cjs/query-builder/insert-query-builder.js +1160 -0
  422. package/dist/cjs/query-builder/insert-result.d.ts +46 -0
  423. package/dist/cjs/query-builder/insert-result.js +53 -0
  424. package/dist/cjs/query-builder/join-builder.d.ts +38 -0
  425. package/dist/cjs/query-builder/join-builder.js +51 -0
  426. package/dist/cjs/query-builder/json-path-builder.d.ts +294 -0
  427. package/dist/cjs/query-builder/json-path-builder.js +200 -0
  428. package/dist/cjs/query-builder/merge-query-builder.d.ts +1001 -0
  429. package/dist/cjs/query-builder/merge-query-builder.js +630 -0
  430. package/dist/cjs/query-builder/merge-result.d.ts +4 -0
  431. package/dist/cjs/query-builder/merge-result.js +10 -0
  432. package/dist/cjs/query-builder/no-result-error.d.ts +10 -0
  433. package/dist/cjs/query-builder/no-result-error.js +18 -0
  434. package/dist/cjs/query-builder/on-conflict-builder.d.ts +872 -0
  435. package/dist/cjs/query-builder/on-conflict-builder.js +259 -0
  436. package/dist/cjs/query-builder/order-by-interface.d.ts +158 -0
  437. package/dist/cjs/query-builder/order-by-interface.js +2 -0
  438. package/dist/cjs/query-builder/order-by-item-builder.d.ts +43 -0
  439. package/dist/cjs/query-builder/order-by-item-builder.js +75 -0
  440. package/dist/cjs/query-builder/output-interface.d.ts +138 -0
  441. package/dist/cjs/query-builder/output-interface.js +2 -0
  442. package/dist/cjs/query-builder/over-builder.d.ts +101 -0
  443. package/dist/cjs/query-builder/over-builder.js +40 -0
  444. package/dist/cjs/query-builder/returning-interface.d.ts +91 -0
  445. package/dist/cjs/query-builder/returning-interface.js +2 -0
  446. package/dist/cjs/query-builder/select-query-builder-expression.d.ts +28 -0
  447. package/dist/cjs/query-builder/select-query-builder-expression.js +2 -0
  448. package/dist/cjs/query-builder/select-query-builder.d.ts +2391 -0
  449. package/dist/cjs/query-builder/select-query-builder.js +376 -0
  450. package/dist/cjs/query-builder/update-query-builder.d.ts +1392 -0
  451. package/dist/cjs/query-builder/update-query-builder.js +513 -0
  452. package/dist/cjs/query-builder/update-result.d.ts +14 -0
  453. package/dist/cjs/query-builder/update-result.js +21 -0
  454. package/dist/cjs/query-builder/where-interface.d.ts +382 -0
  455. package/dist/cjs/query-builder/where-interface.js +2 -0
  456. package/dist/cjs/query-compiler/compiled-query.d.ts +13 -0
  457. package/dist/cjs/query-compiler/compiled-query.js +16 -0
  458. package/dist/cjs/query-compiler/default-query-compiler.d.ts +235 -0
  459. package/dist/cjs/query-compiler/default-query-compiler.js +1396 -0
  460. package/dist/cjs/query-compiler/query-compiler.d.ts +24 -0
  461. package/dist/cjs/query-compiler/query-compiler.js +2 -0
  462. package/dist/cjs/query-creator.d.ts +592 -0
  463. package/dist/cjs/query-creator.js +622 -0
  464. package/dist/cjs/query-executor/default-query-executor.d.ts +50 -0
  465. package/dist/cjs/query-executor/default-query-executor.js +40 -0
  466. package/dist/cjs/query-executor/noop-query-executor.d.ts +50 -0
  467. package/dist/cjs/query-executor/noop-query-executor.js +37 -0
  468. package/dist/cjs/query-executor/query-executor-base.d.ts +68 -0
  469. package/dist/cjs/query-executor/query-executor-base.js +62 -0
  470. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  471. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  472. package/dist/cjs/query-executor/query-executor.d.ts +74 -0
  473. package/dist/cjs/query-executor/query-executor.js +2 -0
  474. package/dist/cjs/raw-builder/raw-builder.d.ts +218 -0
  475. package/dist/cjs/raw-builder/raw-builder.js +86 -0
  476. package/dist/cjs/raw-builder/sql.d.ts +366 -0
  477. package/dist/cjs/raw-builder/sql.js +84 -0
  478. package/dist/cjs/schema/alter-column-builder.d.ts +53 -0
  479. package/dist/cjs/schema/alter-column-builder.js +74 -0
  480. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
  481. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +67 -0
  482. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +138 -0
  483. package/dist/cjs/schema/alter-table-add-index-builder.js +165 -0
  484. package/dist/cjs/schema/alter-table-builder.d.ts +148 -0
  485. package/dist/cjs/schema/alter-table-builder.js +267 -0
  486. package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +26 -0
  487. package/dist/cjs/schema/alter-table-drop-constraint-builder.js +59 -0
  488. package/dist/cjs/schema/alter-table-executor.d.ts +18 -0
  489. package/dist/cjs/schema/alter-table-executor.js +20 -0
  490. package/dist/cjs/schema/check-constraint-builder.d.ts +13 -0
  491. package/dist/cjs/schema/check-constraint-builder.js +20 -0
  492. package/dist/cjs/schema/column-definition-builder.d.ts +514 -0
  493. package/dist/cjs/schema/column-definition-builder.js +600 -0
  494. package/dist/cjs/schema/create-index-builder.d.ts +173 -0
  495. package/dist/cjs/schema/create-index-builder.js +202 -0
  496. package/dist/cjs/schema/create-schema-builder.d.ts +24 -0
  497. package/dist/cjs/schema/create-schema-builder.js +34 -0
  498. package/dist/cjs/schema/create-table-builder.d.ts +331 -0
  499. package/dist/cjs/schema/create-table-builder.js +411 -0
  500. package/dist/cjs/schema/create-type-builder.d.ts +33 -0
  501. package/dist/cjs/schema/create-type-builder.js +43 -0
  502. package/dist/cjs/schema/create-view-builder.d.ts +48 -0
  503. package/dist/cjs/schema/create-view-builder.js +98 -0
  504. package/dist/cjs/schema/drop-index-builder.d.ts +30 -0
  505. package/dist/cjs/schema/drop-index-builder.js +57 -0
  506. package/dist/cjs/schema/drop-schema-builder.d.ts +25 -0
  507. package/dist/cjs/schema/drop-schema-builder.js +44 -0
  508. package/dist/cjs/schema/drop-table-builder.d.ts +25 -0
  509. package/dist/cjs/schema/drop-table-builder.js +44 -0
  510. package/dist/cjs/schema/drop-type-builder.d.ts +24 -0
  511. package/dist/cjs/schema/drop-type-builder.js +36 -0
  512. package/dist/cjs/schema/drop-view-builder.d.ts +26 -0
  513. package/dist/cjs/schema/drop-view-builder.js +52 -0
  514. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +28 -0
  515. package/dist/cjs/schema/foreign-key-constraint-builder.js +48 -0
  516. package/dist/cjs/schema/primary-key-constraint-builder.d.ts +17 -0
  517. package/dist/cjs/schema/primary-key-constraint-builder.js +37 -0
  518. package/dist/cjs/schema/refresh-materialized-view-builder.d.ts +47 -0
  519. package/dist/cjs/schema/refresh-materialized-view-builder.js +75 -0
  520. package/dist/cjs/schema/schema.d.ts +230 -0
  521. package/dist/cjs/schema/schema.js +328 -0
  522. package/dist/cjs/schema/unique-constraint-builder.d.ts +23 -0
  523. package/dist/cjs/schema/unique-constraint-builder.js +45 -0
  524. package/dist/cjs/util/assert.d.ts +2 -0
  525. package/dist/cjs/util/assert.js +14 -0
  526. package/dist/cjs/util/column-type.d.ts +175 -0
  527. package/dist/cjs/util/column-type.js +2 -0
  528. package/dist/cjs/util/compilable.d.ts +5 -0
  529. package/dist/cjs/util/compilable.js +7 -0
  530. package/dist/cjs/util/deferred.d.ts +7 -0
  531. package/dist/cjs/util/deferred.js +28 -0
  532. package/dist/cjs/util/explainable.d.ts +40 -0
  533. package/dist/cjs/util/explainable.js +2 -0
  534. package/dist/cjs/util/infer-result.d.ts +48 -0
  535. package/dist/cjs/util/infer-result.js +2 -0
  536. package/dist/cjs/util/json-object-args.d.ts +3 -0
  537. package/dist/cjs/util/json-object-args.js +34 -0
  538. package/dist/cjs/util/log-once.d.ts +5 -0
  539. package/dist/cjs/util/log-once.js +15 -0
  540. package/dist/cjs/util/log.d.ts +28 -0
  541. package/dist/cjs/util/log.js +59 -0
  542. package/dist/cjs/util/object-utils.d.ts +23 -0
  543. package/dist/cjs/util/object-utils.js +162 -0
  544. package/dist/cjs/util/performance-now.d.ts +1 -0
  545. package/dist/cjs/util/performance-now.js +12 -0
  546. package/dist/cjs/util/provide-controlled-connection.d.ts +7 -0
  547. package/dist/cjs/util/provide-controlled-connection.js +24 -0
  548. package/dist/cjs/util/query-id.d.ts +4 -0
  549. package/dist/cjs/util/query-id.js +16 -0
  550. package/dist/cjs/util/random-string.d.ts +1 -0
  551. package/dist/cjs/util/random-string.js +77 -0
  552. package/dist/cjs/util/require-all-props.d.ts +45 -0
  553. package/dist/cjs/util/require-all-props.js +41 -0
  554. package/dist/cjs/util/stack-trace-utils.d.ts +1 -0
  555. package/dist/cjs/util/stack-trace-utils.js +16 -0
  556. package/dist/cjs/util/streamable.d.ts +29 -0
  557. package/dist/cjs/util/streamable.js +2 -0
  558. package/dist/cjs/util/type-error.d.ts +3 -0
  559. package/dist/cjs/util/type-error.js +2 -0
  560. package/dist/cjs/util/type-utils.d.ts +189 -0
  561. package/dist/cjs/util/type-utils.js +2 -0
  562. package/dist/esm/dialect/database-introspector.d.ts +62 -0
  563. package/dist/esm/dialect/database-introspector.js +2 -0
  564. package/dist/esm/dialect/dialect-adapter-base.d.ts +94 -0
  565. package/dist/esm/dialect/dialect-adapter-base.js +21 -0
  566. package/dist/esm/dialect/dialect-adapter.d.ts +115 -0
  567. package/dist/esm/dialect/dialect-adapter.js +2 -0
  568. package/dist/esm/dialect/dialect.d.ts +34 -0
  569. package/dist/esm/dialect/dialect.js +2 -0
  570. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +83 -0
  571. package/dist/esm/dialect/mssql/mssql-adapter.js +25 -0
  572. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +181 -0
  573. package/dist/esm/dialect/mssql/mssql-dialect-config.js +2 -0
  574. package/dist/esm/dialect/mssql/mssql-dialect.d.ts +70 -0
  575. package/dist/esm/dialect/mssql/mssql-dialect.js +62 -0
  576. package/dist/esm/dialect/mssql/mssql-driver.d.ts +59 -0
  577. package/dist/esm/dialect/mssql/mssql-driver.js +356 -0
  578. package/dist/esm/dialect/mssql/mssql-introspector.d.ts +20 -0
  579. package/dist/esm/dialect/mssql/mssql-introspector.js +107 -0
  580. package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +17 -0
  581. package/dist/esm/dialect/mssql/mssql-query-compiler.js +80 -0
  582. package/dist/esm/dialect/mysql/mysql-adapter.d.ts +80 -0
  583. package/dist/esm/dialect/mysql/mysql-adapter.js +25 -0
  584. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +56 -0
  585. package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
  586. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +61 -0
  587. package/dist/esm/dialect/mysql/mysql-dialect.js +53 -0
  588. package/dist/esm/dialect/mysql/mysql-driver.d.ts +52 -0
  589. package/dist/esm/dialect/mysql/mysql-driver.js +177 -0
  590. package/dist/esm/dialect/mysql/mysql-introspector.d.ts +20 -0
  591. package/dist/esm/dialect/mysql/mysql-introspector.js +76 -0
  592. package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +13 -0
  593. package/dist/esm/dialect/mysql/mysql-query-compiler.js +57 -0
  594. package/dist/esm/dialect/postgres/postgres-adapter.d.ts +80 -0
  595. package/dist/esm/dialect/postgres/postgres-adapter.js +22 -0
  596. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +68 -0
  597. package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
  598. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +61 -0
  599. package/dist/esm/dialect/postgres/postgres-dialect.js +53 -0
  600. package/dist/esm/dialect/postgres/postgres-driver.d.ts +55 -0
  601. package/dist/esm/dialect/postgres/postgres-driver.js +131 -0
  602. package/dist/esm/dialect/postgres/postgres-introspector.d.ts +20 -0
  603. package/dist/esm/dialect/postgres/postgres-introspector.js +97 -0
  604. package/dist/esm/dialect/postgres/postgres-query-compiler.d.ts +4 -0
  605. package/dist/esm/dialect/postgres/postgres-query-compiler.js +8 -0
  606. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +80 -0
  607. package/dist/esm/dialect/sqlite/sqlite-adapter.js +20 -0
  608. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
  609. package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
  610. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +55 -0
  611. package/dist/esm/dialect/sqlite/sqlite-dialect.js +48 -0
  612. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +42 -0
  613. package/dist/esm/dialect/sqlite/sqlite-driver.js +110 -0
  614. package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +20 -0
  615. package/dist/esm/dialect/sqlite/sqlite-introspector.js +91 -0
  616. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
  617. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +34 -0
  618. package/dist/esm/driver/connection-provider.d.ts +8 -0
  619. package/dist/esm/driver/connection-provider.js +2 -0
  620. package/dist/esm/driver/database-connection.d.ts +35 -0
  621. package/dist/esm/driver/database-connection.js +2 -0
  622. package/dist/esm/driver/default-connection-provider.d.ts +12 -0
  623. package/dist/esm/driver/default-connection-provider.js +16 -0
  624. package/dist/esm/driver/driver.d.ts +61 -0
  625. package/dist/esm/driver/driver.js +19 -0
  626. package/dist/esm/driver/dummy-driver.d.ts +75 -0
  627. package/dist/esm/driver/dummy-driver.js +80 -0
  628. package/dist/esm/driver/runtime-driver.d.ts +47 -0
  629. package/dist/esm/driver/runtime-driver.js +162 -0
  630. package/dist/esm/driver/single-connection-provider.d.ts +11 -0
  631. package/dist/esm/driver/single-connection-provider.js +26 -0
  632. package/dist/esm/dynamic/dynamic-reference-builder.d.ts +18 -0
  633. package/dist/esm/dynamic/dynamic-reference-builder.js +32 -0
  634. package/dist/esm/dynamic/dynamic-table-builder.d.ts +16 -0
  635. package/dist/esm/dynamic/dynamic-table-builder.js +41 -0
  636. package/dist/esm/dynamic/dynamic.d.ts +124 -0
  637. package/dist/esm/dynamic/dynamic.js +129 -0
  638. package/dist/esm/expression/expression-builder.d.ts +920 -0
  639. package/dist/esm/expression/expression-builder.js +125 -0
  640. package/dist/esm/expression/expression-wrapper.d.ts +631 -0
  641. package/dist/esm/expression/expression-wrapper.js +128 -0
  642. package/dist/esm/expression/expression.d.ts +198 -0
  643. package/dist/esm/expression/expression.js +12 -0
  644. package/dist/esm/helpers/mssql.d.ts +212 -0
  645. package/dist/esm/helpers/mssql.js +215 -0
  646. package/dist/esm/helpers/mysql.d.ts +147 -0
  647. package/dist/esm/helpers/mysql.js +158 -0
  648. package/dist/esm/helpers/postgres.d.ts +199 -0
  649. package/dist/esm/helpers/postgres.js +203 -0
  650. package/dist/esm/helpers/sqlite.d.ts +189 -0
  651. package/dist/esm/helpers/sqlite.js +200 -0
  652. package/dist/esm/index.d.ts +226 -0
  653. package/dist/esm/index.js +212 -0
  654. package/dist/esm/kysely.d.ts +848 -0
  655. package/dist/esm/kysely.js +917 -0
  656. package/dist/esm/migration/file-migration-provider.d.ts +48 -0
  657. package/dist/esm/migration/file-migration-provider.js +49 -0
  658. package/dist/esm/migration/migrator.d.ts +395 -0
  659. package/dist/esm/migration/migrator.js +608 -0
  660. package/dist/esm/operation-node/add-column-node.d.ts +15 -0
  661. package/dist/esm/operation-node/add-column-node.js +16 -0
  662. package/dist/esm/operation-node/add-constraint-node.d.ts +15 -0
  663. package/dist/esm/operation-node/add-constraint-node.js +16 -0
  664. package/dist/esm/operation-node/add-index-node.d.ts +23 -0
  665. package/dist/esm/operation-node/add-index-node.js +29 -0
  666. package/dist/esm/operation-node/aggregate-function-node.d.ts +29 -0
  667. package/dist/esm/operation-node/aggregate-function-node.js +56 -0
  668. package/dist/esm/operation-node/alias-node.d.ts +15 -0
  669. package/dist/esm/operation-node/alias-node.js +17 -0
  670. package/dist/esm/operation-node/alter-column-node.d.ts +23 -0
  671. package/dist/esm/operation-node/alter-column-node.js +18 -0
  672. package/dist/esm/operation-node/alter-table-node.d.ts +38 -0
  673. package/dist/esm/operation-node/alter-table-node.js +30 -0
  674. package/dist/esm/operation-node/and-node.d.ts +15 -0
  675. package/dist/esm/operation-node/and-node.js +17 -0
  676. package/dist/esm/operation-node/binary-operation-node.d.ts +16 -0
  677. package/dist/esm/operation-node/binary-operation-node.js +18 -0
  678. package/dist/esm/operation-node/case-node.d.ts +21 -0
  679. package/dist/esm/operation-node/case-node.js +40 -0
  680. package/dist/esm/operation-node/cast-node.d.ts +15 -0
  681. package/dist/esm/operation-node/cast-node.js +17 -0
  682. package/dist/esm/operation-node/check-constraint-node.d.ts +16 -0
  683. package/dist/esm/operation-node/check-constraint-node.js +20 -0
  684. package/dist/esm/operation-node/collate-node.d.ts +15 -0
  685. package/dist/esm/operation-node/collate-node.js +17 -0
  686. package/dist/esm/operation-node/column-definition-node.d.ts +38 -0
  687. package/dist/esm/operation-node/column-definition-node.js +40 -0
  688. package/dist/esm/operation-node/column-node.d.ts +15 -0
  689. package/dist/esm/operation-node/column-node.js +17 -0
  690. package/dist/esm/operation-node/column-update-node.d.ts +15 -0
  691. package/dist/esm/operation-node/column-update-node.js +17 -0
  692. package/dist/esm/operation-node/common-table-expression-name-node.d.ts +17 -0
  693. package/dist/esm/operation-node/common-table-expression-name-node.js +21 -0
  694. package/dist/esm/operation-node/common-table-expression-node.d.ts +19 -0
  695. package/dist/esm/operation-node/common-table-expression-node.js +23 -0
  696. package/dist/esm/operation-node/constraint-node.d.ts +5 -0
  697. package/dist/esm/operation-node/constraint-node.js +2 -0
  698. package/dist/esm/operation-node/create-index-node.d.ts +29 -0
  699. package/dist/esm/operation-node/create-index-node.js +29 -0
  700. package/dist/esm/operation-node/create-schema-node.d.ts +18 -0
  701. package/dist/esm/operation-node/create-schema-node.js +24 -0
  702. package/dist/esm/operation-node/create-table-node.d.ts +34 -0
  703. package/dist/esm/operation-node/create-table-node.js +54 -0
  704. package/dist/esm/operation-node/create-type-node.d.ts +19 -0
  705. package/dist/esm/operation-node/create-type-node.js +24 -0
  706. package/dist/esm/operation-node/create-view-node.d.ts +26 -0
  707. package/dist/esm/operation-node/create-view-node.js +23 -0
  708. package/dist/esm/operation-node/data-type-node.d.ts +19 -0
  709. package/dist/esm/operation-node/data-type-node.js +83 -0
  710. package/dist/esm/operation-node/default-insert-value-node.d.ts +13 -0
  711. package/dist/esm/operation-node/default-insert-value-node.js +15 -0
  712. package/dist/esm/operation-node/default-value-node.d.ts +14 -0
  713. package/dist/esm/operation-node/default-value-node.js +16 -0
  714. package/dist/esm/operation-node/delete-query-node.d.ts +42 -0
  715. package/dist/esm/operation-node/delete-query-node.js +50 -0
  716. package/dist/esm/operation-node/drop-column-node.d.ts +15 -0
  717. package/dist/esm/operation-node/drop-column-node.js +17 -0
  718. package/dist/esm/operation-node/drop-constraint-node.d.ts +19 -0
  719. package/dist/esm/operation-node/drop-constraint-node.js +23 -0
  720. package/dist/esm/operation-node/drop-index-node.d.ts +21 -0
  721. package/dist/esm/operation-node/drop-index-node.js +24 -0
  722. package/dist/esm/operation-node/drop-schema-node.d.ts +19 -0
  723. package/dist/esm/operation-node/drop-schema-node.js +24 -0
  724. package/dist/esm/operation-node/drop-table-node.d.ts +19 -0
  725. package/dist/esm/operation-node/drop-table-node.js +23 -0
  726. package/dist/esm/operation-node/drop-type-node.d.ts +18 -0
  727. package/dist/esm/operation-node/drop-type-node.js +22 -0
  728. package/dist/esm/operation-node/drop-view-node.d.ts +20 -0
  729. package/dist/esm/operation-node/drop-view-node.js +23 -0
  730. package/dist/esm/operation-node/explain-node.d.ts +16 -0
  731. package/dist/esm/operation-node/explain-node.js +17 -0
  732. package/dist/esm/operation-node/fetch-node.d.ts +17 -0
  733. package/dist/esm/operation-node/fetch-node.js +18 -0
  734. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +26 -0
  735. package/dist/esm/operation-node/foreign-key-constraint-node.js +28 -0
  736. package/dist/esm/operation-node/from-node.d.ts +15 -0
  737. package/dist/esm/operation-node/from-node.js +22 -0
  738. package/dist/esm/operation-node/function-node.d.ts +15 -0
  739. package/dist/esm/operation-node/function-node.js +17 -0
  740. package/dist/esm/operation-node/generated-node.d.ts +21 -0
  741. package/dist/esm/operation-node/generated-node.js +29 -0
  742. package/dist/esm/operation-node/group-by-item-node.d.ts +14 -0
  743. package/dist/esm/operation-node/group-by-item-node.js +16 -0
  744. package/dist/esm/operation-node/group-by-node.d.ts +16 -0
  745. package/dist/esm/operation-node/group-by-node.js +22 -0
  746. package/dist/esm/operation-node/having-node.d.ts +15 -0
  747. package/dist/esm/operation-node/having-node.js +26 -0
  748. package/dist/esm/operation-node/identifier-node.d.ts +14 -0
  749. package/dist/esm/operation-node/identifier-node.js +16 -0
  750. package/dist/esm/operation-node/insert-query-node.d.ts +42 -0
  751. package/dist/esm/operation-node/insert-query-node.js +29 -0
  752. package/dist/esm/operation-node/join-node.d.ts +20 -0
  753. package/dist/esm/operation-node/join-node.js +35 -0
  754. package/dist/esm/operation-node/json-operator-chain-node.d.ts +18 -0
  755. package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
  756. package/dist/esm/operation-node/json-path-leg-node.d.ts +16 -0
  757. package/dist/esm/operation-node/json-path-leg-node.js +17 -0
  758. package/dist/esm/operation-node/json-path-node.d.ts +18 -0
  759. package/dist/esm/operation-node/json-path-node.js +23 -0
  760. package/dist/esm/operation-node/json-reference-node.d.ts +19 -0
  761. package/dist/esm/operation-node/json-reference-node.js +23 -0
  762. package/dist/esm/operation-node/limit-node.d.ts +14 -0
  763. package/dist/esm/operation-node/limit-node.js +16 -0
  764. package/dist/esm/operation-node/list-node.d.ts +14 -0
  765. package/dist/esm/operation-node/list-node.js +16 -0
  766. package/dist/esm/operation-node/matched-node.d.ts +15 -0
  767. package/dist/esm/operation-node/matched-node.js +17 -0
  768. package/dist/esm/operation-node/merge-query-node.d.ts +32 -0
  769. package/dist/esm/operation-node/merge-query-node.js +43 -0
  770. package/dist/esm/operation-node/modify-column-node.d.ts +15 -0
  771. package/dist/esm/operation-node/modify-column-node.js +16 -0
  772. package/dist/esm/operation-node/offset-node.d.ts +14 -0
  773. package/dist/esm/operation-node/offset-node.js +16 -0
  774. package/dist/esm/operation-node/on-conflict-node.d.ts +32 -0
  775. package/dist/esm/operation-node/on-conflict-node.js +66 -0
  776. package/dist/esm/operation-node/on-duplicate-key-node.d.ts +16 -0
  777. package/dist/esm/operation-node/on-duplicate-key-node.js +16 -0
  778. package/dist/esm/operation-node/on-node.d.ts +15 -0
  779. package/dist/esm/operation-node/on-node.js +26 -0
  780. package/dist/esm/operation-node/operation-node-source.d.ts +5 -0
  781. package/dist/esm/operation-node/operation-node-source.js +5 -0
  782. package/dist/esm/operation-node/operation-node-transformer.d.ts +238 -0
  783. package/dist/esm/operation-node/operation-node-transformer.js +926 -0
  784. package/dist/esm/operation-node/operation-node-visitor.d.ts +201 -0
  785. package/dist/esm/operation-node/operation-node-visitor.js +112 -0
  786. package/dist/esm/operation-node/operation-node.d.ts +4 -0
  787. package/dist/esm/operation-node/operation-node.js +2 -0
  788. package/dist/esm/operation-node/operator-node.d.ts +34 -0
  789. package/dist/esm/operation-node/operator-node.js +100 -0
  790. package/dist/esm/operation-node/or-action-node.d.ts +14 -0
  791. package/dist/esm/operation-node/or-action-node.js +16 -0
  792. package/dist/esm/operation-node/or-node.d.ts +15 -0
  793. package/dist/esm/operation-node/or-node.js +17 -0
  794. package/dist/esm/operation-node/order-by-item-node.d.ts +20 -0
  795. package/dist/esm/operation-node/order-by-item-node.js +23 -0
  796. package/dist/esm/operation-node/order-by-node.d.ts +16 -0
  797. package/dist/esm/operation-node/order-by-node.js +22 -0
  798. package/dist/esm/operation-node/output-node.d.ts +15 -0
  799. package/dist/esm/operation-node/output-node.js +24 -0
  800. package/dist/esm/operation-node/over-node.d.ts +21 -0
  801. package/dist/esm/operation-node/over-node.js +33 -0
  802. package/dist/esm/operation-node/parens-node.d.ts +14 -0
  803. package/dist/esm/operation-node/parens-node.js +16 -0
  804. package/dist/esm/operation-node/partition-by-item-node.d.ts +15 -0
  805. package/dist/esm/operation-node/partition-by-item-node.js +16 -0
  806. package/dist/esm/operation-node/partition-by-node.d.ts +16 -0
  807. package/dist/esm/operation-node/partition-by-node.js +22 -0
  808. package/dist/esm/operation-node/primary-key-constraint-node.d.ts +31 -0
  809. package/dist/esm/operation-node/primary-key-constraint-node.js +30 -0
  810. package/dist/esm/operation-node/primitive-value-list-node.d.ts +19 -0
  811. package/dist/esm/operation-node/primitive-value-list-node.js +16 -0
  812. package/dist/esm/operation-node/query-node.d.ts +61 -0
  813. package/dist/esm/operation-node/query-node.js +100 -0
  814. package/dist/esm/operation-node/raw-node.d.ts +18 -0
  815. package/dist/esm/operation-node/raw-node.js +26 -0
  816. package/dist/esm/operation-node/reference-node.d.ts +19 -0
  817. package/dist/esm/operation-node/reference-node.js +25 -0
  818. package/dist/esm/operation-node/references-node.d.ts +24 -0
  819. package/dist/esm/operation-node/references-node.js +36 -0
  820. package/dist/esm/operation-node/refresh-materialized-view-node.d.ts +19 -0
  821. package/dist/esm/operation-node/refresh-materialized-view-node.js +23 -0
  822. package/dist/esm/operation-node/rename-column-node.d.ts +16 -0
  823. package/dist/esm/operation-node/rename-column-node.js +18 -0
  824. package/dist/esm/operation-node/rename-constraint-node.d.ts +16 -0
  825. package/dist/esm/operation-node/rename-constraint-node.js +18 -0
  826. package/dist/esm/operation-node/returning-node.d.ts +16 -0
  827. package/dist/esm/operation-node/returning-node.js +24 -0
  828. package/dist/esm/operation-node/schemable-identifier-node.d.ts +17 -0
  829. package/dist/esm/operation-node/schemable-identifier-node.js +24 -0
  830. package/dist/esm/operation-node/select-all-node.d.ts +13 -0
  831. package/dist/esm/operation-node/select-all-node.js +15 -0
  832. package/dist/esm/operation-node/select-modifier-node.d.ts +18 -0
  833. package/dist/esm/operation-node/select-modifier-node.js +23 -0
  834. package/dist/esm/operation-node/select-query-node.d.ts +63 -0
  835. package/dist/esm/operation-node/select-query-node.js +127 -0
  836. package/dist/esm/operation-node/selection-node.d.ts +21 -0
  837. package/dist/esm/operation-node/selection-node.js +30 -0
  838. package/dist/esm/operation-node/set-operation-node.d.ts +17 -0
  839. package/dist/esm/operation-node/set-operation-node.js +18 -0
  840. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +3 -0
  841. package/dist/esm/operation-node/simple-reference-expression-node.js +2 -0
  842. package/dist/esm/operation-node/table-node.d.ts +16 -0
  843. package/dist/esm/operation-node/table-node.js +23 -0
  844. package/dist/esm/operation-node/top-node.d.ts +16 -0
  845. package/dist/esm/operation-node/top-node.js +17 -0
  846. package/dist/esm/operation-node/tuple-node.d.ts +14 -0
  847. package/dist/esm/operation-node/tuple-node.js +16 -0
  848. package/dist/esm/operation-node/unary-operation-node.d.ts +15 -0
  849. package/dist/esm/operation-node/unary-operation-node.js +17 -0
  850. package/dist/esm/operation-node/unique-constraint-node.d.ts +22 -0
  851. package/dist/esm/operation-node/unique-constraint-node.js +28 -0
  852. package/dist/esm/operation-node/update-query-node.d.ts +41 -0
  853. package/dist/esm/operation-node/update-query-node.js +48 -0
  854. package/dist/esm/operation-node/using-node.d.ts +15 -0
  855. package/dist/esm/operation-node/using-node.js +22 -0
  856. package/dist/esm/operation-node/value-list-node.d.ts +14 -0
  857. package/dist/esm/operation-node/value-list-node.js +16 -0
  858. package/dist/esm/operation-node/value-node.d.ts +16 -0
  859. package/dist/esm/operation-node/value-node.js +23 -0
  860. package/dist/esm/operation-node/values-node.d.ts +17 -0
  861. package/dist/esm/operation-node/values-node.js +16 -0
  862. package/dist/esm/operation-node/when-node.d.ts +16 -0
  863. package/dist/esm/operation-node/when-node.js +22 -0
  864. package/dist/esm/operation-node/where-node.d.ts +15 -0
  865. package/dist/esm/operation-node/where-node.js +26 -0
  866. package/dist/esm/operation-node/with-node.d.ts +18 -0
  867. package/dist/esm/operation-node/with-node.js +23 -0
  868. package/dist/esm/package.json +1 -0
  869. package/dist/esm/parser/binary-operation-parser.d.ts +21 -0
  870. package/dist/esm/parser/binary-operation-parser.js +68 -0
  871. package/dist/esm/parser/coalesce-parser.d.ts +12 -0
  872. package/dist/esm/parser/coalesce-parser.js +2 -0
  873. package/dist/esm/parser/collate-parser.d.ts +1 -0
  874. package/dist/esm/parser/collate-parser.js +2 -0
  875. package/dist/esm/parser/data-type-parser.d.ts +5 -0
  876. package/dist/esm/parser/data-type-parser.js +12 -0
  877. package/dist/esm/parser/default-value-parser.d.ts +4 -0
  878. package/dist/esm/parser/default-value-parser.js +8 -0
  879. package/dist/esm/parser/delete-from-parser.d.ts +9 -0
  880. package/dist/esm/parser/delete-from-parser.js +2 -0
  881. package/dist/esm/parser/expression-parser.d.ts +20 -0
  882. package/dist/esm/parser/expression-parser.js +26 -0
  883. package/dist/esm/parser/fetch-parser.d.ts +2 -0
  884. package/dist/esm/parser/fetch-parser.js +15 -0
  885. package/dist/esm/parser/group-by-parser.d.ts +6 -0
  886. package/dist/esm/parser/group-by-parser.js +9 -0
  887. package/dist/esm/parser/identifier-parser.d.ts +2 -0
  888. package/dist/esm/parser/identifier-parser.js +20 -0
  889. package/dist/esm/parser/insert-values-parser.d.ts +14 -0
  890. package/dist/esm/parser/insert-values-parser.js +62 -0
  891. package/dist/esm/parser/join-parser.d.ts +10 -0
  892. package/dist/esm/parser/join-parser.js +28 -0
  893. package/dist/esm/parser/merge-into-parser.d.ts +7 -0
  894. package/dist/esm/parser/merge-into-parser.js +2 -0
  895. package/dist/esm/parser/merge-parser.d.ts +9 -0
  896. package/dist/esm/parser/merge-parser.js +28 -0
  897. package/dist/esm/parser/on-commit-action-parse.d.ts +2 -0
  898. package/dist/esm/parser/on-commit-action-parse.js +8 -0
  899. package/dist/esm/parser/on-modify-action-parser.d.ts +2 -0
  900. package/dist/esm/parser/on-modify-action-parser.js +8 -0
  901. package/dist/esm/parser/order-by-parser.d.ts +25 -0
  902. package/dist/esm/parser/order-by-parser.js +67 -0
  903. package/dist/esm/parser/parse-utils.d.ts +10 -0
  904. package/dist/esm/parser/parse-utils.js +33 -0
  905. package/dist/esm/parser/partition-by-parser.d.ts +6 -0
  906. package/dist/esm/parser/partition-by-parser.js +6 -0
  907. package/dist/esm/parser/reference-parser.d.ts +31 -0
  908. package/dist/esm/parser/reference-parser.js +95 -0
  909. package/dist/esm/parser/returning-parser.d.ts +8 -0
  910. package/dist/esm/parser/returning-parser.js +2 -0
  911. package/dist/esm/parser/savepoint-parser.d.ts +4 -0
  912. package/dist/esm/parser/savepoint-parser.js +9 -0
  913. package/dist/esm/parser/select-from-parser.d.ts +6 -0
  914. package/dist/esm/parser/select-from-parser.js +2 -0
  915. package/dist/esm/parser/select-parser.d.ts +36 -0
  916. package/dist/esm/parser/select-parser.js +47 -0
  917. package/dist/esm/parser/set-operation-parser.d.ts +5 -0
  918. package/dist/esm/parser/set-operation-parser.js +14 -0
  919. package/dist/esm/parser/table-parser.d.ts +24 -0
  920. package/dist/esm/parser/table-parser.js +49 -0
  921. package/dist/esm/parser/top-parser.d.ts +2 -0
  922. package/dist/esm/parser/top-parser.js +17 -0
  923. package/dist/esm/parser/tuple-parser.d.ts +47 -0
  924. package/dist/esm/parser/tuple-parser.js +2 -0
  925. package/dist/esm/parser/unary-operation-parser.d.ts +8 -0
  926. package/dist/esm/parser/unary-operation-parser.js +13 -0
  927. package/dist/esm/parser/update-parser.d.ts +9 -0
  928. package/dist/esm/parser/update-parser.js +2 -0
  929. package/dist/esm/parser/update-set-parser.d.ts +16 -0
  930. package/dist/esm/parser/update-set-parser.js +23 -0
  931. package/dist/esm/parser/value-parser.d.ts +13 -0
  932. package/dist/esm/parser/value-parser.js +33 -0
  933. package/dist/esm/parser/with-parser.d.ts +45 -0
  934. package/dist/esm/parser/with-parser.js +31 -0
  935. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +170 -0
  936. package/dist/esm/plugin/camel-case/camel-case-plugin.js +119 -0
  937. package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +9 -0
  938. package/dist/esm/plugin/camel-case/camel-case-transformer.js +16 -0
  939. package/dist/esm/plugin/camel-case/camel-case.d.ts +15 -0
  940. package/dist/esm/plugin/camel-case/camel-case.js +108 -0
  941. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
  942. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +16 -0
  943. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
  944. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +39 -0
  945. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
  946. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +159 -0
  947. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
  948. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +26 -0
  949. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
  950. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.js +63 -0
  951. package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
  952. package/dist/esm/plugin/immediate-value/immediate-value-plugin.js +19 -0
  953. package/dist/esm/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
  954. package/dist/esm/plugin/immediate-value/immediate-value-transformer.js +20 -0
  955. package/dist/esm/plugin/kysely-plugin.d.ts +72 -0
  956. package/dist/esm/plugin/kysely-plugin.js +2 -0
  957. package/dist/esm/plugin/noop-plugin.d.ts +64 -0
  958. package/dist/esm/plugin/noop-plugin.js +9 -0
  959. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
  960. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +104 -0
  961. package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +66 -0
  962. package/dist/esm/plugin/with-schema/with-schema-plugin.js +14 -0
  963. package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +18 -0
  964. package/dist/esm/plugin/with-schema/with-schema-transformer.js +197 -0
  965. package/dist/esm/query-builder/aggregate-function-builder.d.ts +379 -0
  966. package/dist/esm/query-builder/aggregate-function-builder.js +238 -0
  967. package/dist/esm/query-builder/case-builder.d.ts +112 -0
  968. package/dist/esm/query-builder/case-builder.js +73 -0
  969. package/dist/esm/query-builder/cte-builder.d.ts +20 -0
  970. package/dist/esm/query-builder/cte-builder.js +34 -0
  971. package/dist/esm/query-builder/delete-query-builder.d.ts +1348 -0
  972. package/dist/esm/query-builder/delete-query-builder.js +501 -0
  973. package/dist/esm/query-builder/delete-result.d.ts +4 -0
  974. package/dist/esm/query-builder/delete-result.js +7 -0
  975. package/dist/esm/query-builder/function-module.d.ts +592 -0
  976. package/dist/esm/query-builder/function-module.js +60 -0
  977. package/dist/esm/query-builder/having-interface.d.ts +15 -0
  978. package/dist/esm/query-builder/having-interface.js +2 -0
  979. package/dist/esm/query-builder/insert-query-builder.d.ts +1235 -0
  980. package/dist/esm/query-builder/insert-query-builder.js +1157 -0
  981. package/dist/esm/query-builder/insert-result.d.ts +46 -0
  982. package/dist/esm/query-builder/insert-result.js +50 -0
  983. package/dist/esm/query-builder/join-builder.d.ts +38 -0
  984. package/dist/esm/query-builder/join-builder.js +48 -0
  985. package/dist/esm/query-builder/json-path-builder.d.ts +294 -0
  986. package/dist/esm/query-builder/json-path-builder.js +195 -0
  987. package/dist/esm/query-builder/merge-query-builder.d.ts +1001 -0
  988. package/dist/esm/query-builder/merge-query-builder.js +624 -0
  989. package/dist/esm/query-builder/merge-result.d.ts +4 -0
  990. package/dist/esm/query-builder/merge-result.js +7 -0
  991. package/dist/esm/query-builder/no-result-error.d.ts +10 -0
  992. package/dist/esm/query-builder/no-result-error.js +14 -0
  993. package/dist/esm/query-builder/on-conflict-builder.d.ts +872 -0
  994. package/dist/esm/query-builder/on-conflict-builder.js +254 -0
  995. package/dist/esm/query-builder/order-by-interface.d.ts +158 -0
  996. package/dist/esm/query-builder/order-by-interface.js +2 -0
  997. package/dist/esm/query-builder/order-by-item-builder.d.ts +43 -0
  998. package/dist/esm/query-builder/order-by-item-builder.js +72 -0
  999. package/dist/esm/query-builder/output-interface.d.ts +138 -0
  1000. package/dist/esm/query-builder/output-interface.js +2 -0
  1001. package/dist/esm/query-builder/over-builder.d.ts +101 -0
  1002. package/dist/esm/query-builder/over-builder.js +37 -0
  1003. package/dist/esm/query-builder/returning-interface.d.ts +91 -0
  1004. package/dist/esm/query-builder/returning-interface.js +2 -0
  1005. package/dist/esm/query-builder/select-query-builder-expression.d.ts +28 -0
  1006. package/dist/esm/query-builder/select-query-builder-expression.js +2 -0
  1007. package/dist/esm/query-builder/select-query-builder.d.ts +2391 -0
  1008. package/dist/esm/query-builder/select-query-builder.js +374 -0
  1009. package/dist/esm/query-builder/update-query-builder.d.ts +1392 -0
  1010. package/dist/esm/query-builder/update-query-builder.js +510 -0
  1011. package/dist/esm/query-builder/update-result.d.ts +14 -0
  1012. package/dist/esm/query-builder/update-result.js +18 -0
  1013. package/dist/esm/query-builder/where-interface.d.ts +382 -0
  1014. package/dist/esm/query-builder/where-interface.js +2 -0
  1015. package/dist/esm/query-compiler/compiled-query.d.ts +13 -0
  1016. package/dist/esm/query-compiler/compiled-query.js +14 -0
  1017. package/dist/esm/query-compiler/default-query-compiler.d.ts +235 -0
  1018. package/dist/esm/query-compiler/default-query-compiler.js +1393 -0
  1019. package/dist/esm/query-compiler/query-compiler.d.ts +24 -0
  1020. package/dist/esm/query-compiler/query-compiler.js +2 -0
  1021. package/dist/esm/query-creator.d.ts +592 -0
  1022. package/dist/esm/query-creator.js +619 -0
  1023. package/dist/esm/query-executor/default-query-executor.d.ts +50 -0
  1024. package/dist/esm/query-executor/default-query-executor.js +37 -0
  1025. package/dist/esm/query-executor/noop-query-executor.d.ts +50 -0
  1026. package/dist/esm/query-executor/noop-query-executor.js +34 -0
  1027. package/dist/esm/query-executor/query-executor-base.d.ts +68 -0
  1028. package/dist/esm/query-executor/query-executor-base.js +59 -0
  1029. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  1030. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  1031. package/dist/esm/query-executor/query-executor.d.ts +74 -0
  1032. package/dist/esm/query-executor/query-executor.js +2 -0
  1033. package/dist/esm/raw-builder/raw-builder.d.ts +218 -0
  1034. package/dist/esm/raw-builder/raw-builder.js +84 -0
  1035. package/dist/esm/raw-builder/sql.d.ts +366 -0
  1036. package/dist/esm/raw-builder/sql.js +82 -0
  1037. package/dist/esm/schema/alter-column-builder.d.ts +53 -0
  1038. package/dist/esm/schema/alter-column-builder.js +70 -0
  1039. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
  1040. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +64 -0
  1041. package/dist/esm/schema/alter-table-add-index-builder.d.ts +138 -0
  1042. package/dist/esm/schema/alter-table-add-index-builder.js +162 -0
  1043. package/dist/esm/schema/alter-table-builder.d.ts +148 -0
  1044. package/dist/esm/schema/alter-table-builder.js +263 -0
  1045. package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +26 -0
  1046. package/dist/esm/schema/alter-table-drop-constraint-builder.js +56 -0
  1047. package/dist/esm/schema/alter-table-executor.d.ts +18 -0
  1048. package/dist/esm/schema/alter-table-executor.js +17 -0
  1049. package/dist/esm/schema/check-constraint-builder.d.ts +13 -0
  1050. package/dist/esm/schema/check-constraint-builder.js +17 -0
  1051. package/dist/esm/schema/column-definition-builder.d.ts +514 -0
  1052. package/dist/esm/schema/column-definition-builder.js +597 -0
  1053. package/dist/esm/schema/create-index-builder.d.ts +173 -0
  1054. package/dist/esm/schema/create-index-builder.js +199 -0
  1055. package/dist/esm/schema/create-schema-builder.d.ts +24 -0
  1056. package/dist/esm/schema/create-schema-builder.js +31 -0
  1057. package/dist/esm/schema/create-table-builder.d.ts +331 -0
  1058. package/dist/esm/schema/create-table-builder.js +408 -0
  1059. package/dist/esm/schema/create-type-builder.d.ts +33 -0
  1060. package/dist/esm/schema/create-type-builder.js +40 -0
  1061. package/dist/esm/schema/create-view-builder.d.ts +48 -0
  1062. package/dist/esm/schema/create-view-builder.js +95 -0
  1063. package/dist/esm/schema/drop-index-builder.d.ts +30 -0
  1064. package/dist/esm/schema/drop-index-builder.js +54 -0
  1065. package/dist/esm/schema/drop-schema-builder.d.ts +25 -0
  1066. package/dist/esm/schema/drop-schema-builder.js +41 -0
  1067. package/dist/esm/schema/drop-table-builder.d.ts +25 -0
  1068. package/dist/esm/schema/drop-table-builder.js +41 -0
  1069. package/dist/esm/schema/drop-type-builder.d.ts +24 -0
  1070. package/dist/esm/schema/drop-type-builder.js +33 -0
  1071. package/dist/esm/schema/drop-view-builder.d.ts +26 -0
  1072. package/dist/esm/schema/drop-view-builder.js +49 -0
  1073. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +28 -0
  1074. package/dist/esm/schema/foreign-key-constraint-builder.js +45 -0
  1075. package/dist/esm/schema/primary-key-constraint-builder.d.ts +17 -0
  1076. package/dist/esm/schema/primary-key-constraint-builder.js +34 -0
  1077. package/dist/esm/schema/refresh-materialized-view-builder.d.ts +47 -0
  1078. package/dist/esm/schema/refresh-materialized-view-builder.js +72 -0
  1079. package/dist/esm/schema/schema.d.ts +230 -0
  1080. package/dist/esm/schema/schema.js +325 -0
  1081. package/dist/esm/schema/unique-constraint-builder.d.ts +23 -0
  1082. package/dist/esm/schema/unique-constraint-builder.js +42 -0
  1083. package/dist/esm/util/assert.d.ts +2 -0
  1084. package/dist/esm/util/assert.js +11 -0
  1085. package/dist/esm/util/column-type.d.ts +175 -0
  1086. package/dist/esm/util/column-type.js +2 -0
  1087. package/dist/esm/util/compilable.d.ts +5 -0
  1088. package/dist/esm/util/compilable.js +5 -0
  1089. package/dist/esm/util/deferred.d.ts +7 -0
  1090. package/dist/esm/util/deferred.js +25 -0
  1091. package/dist/esm/util/explainable.d.ts +40 -0
  1092. package/dist/esm/util/explainable.js +2 -0
  1093. package/dist/esm/util/infer-result.d.ts +48 -0
  1094. package/dist/esm/util/infer-result.js +2 -0
  1095. package/dist/esm/util/json-object-args.d.ts +3 -0
  1096. package/dist/esm/util/json-object-args.js +32 -0
  1097. package/dist/esm/util/log-once.d.ts +5 -0
  1098. package/dist/esm/util/log-once.js +13 -0
  1099. package/dist/esm/util/log.d.ts +28 -0
  1100. package/dist/esm/util/log.js +56 -0
  1101. package/dist/esm/util/object-utils.d.ts +23 -0
  1102. package/dist/esm/util/object-utils.js +141 -0
  1103. package/dist/esm/util/performance-now.d.ts +1 -0
  1104. package/dist/esm/util/performance-now.js +10 -0
  1105. package/dist/esm/util/provide-controlled-connection.d.ts +7 -0
  1106. package/dist/esm/util/provide-controlled-connection.js +22 -0
  1107. package/dist/esm/util/query-id.d.ts +4 -0
  1108. package/dist/esm/util/query-id.js +14 -0
  1109. package/dist/esm/util/random-string.d.ts +1 -0
  1110. package/dist/esm/util/random-string.js +75 -0
  1111. package/dist/esm/util/require-all-props.d.ts +45 -0
  1112. package/dist/esm/util/require-all-props.js +39 -0
  1113. package/dist/esm/util/stack-trace-utils.d.ts +1 -0
  1114. package/dist/esm/util/stack-trace-utils.js +14 -0
  1115. package/dist/esm/util/streamable.d.ts +29 -0
  1116. package/dist/esm/util/streamable.js +2 -0
  1117. package/dist/esm/util/type-error.d.ts +3 -0
  1118. package/dist/esm/util/type-error.js +2 -0
  1119. package/dist/esm/util/type-utils.d.ts +189 -0
  1120. package/dist/esm/util/type-utils.js +2 -0
  1121. package/helpers/mssql.d.ts +1 -0
  1122. package/helpers/mssql.js +1 -0
  1123. package/helpers/mysql.d.ts +1 -0
  1124. package/helpers/mysql.js +1 -0
  1125. package/helpers/postgres.d.ts +1 -0
  1126. package/helpers/postgres.js +1 -0
  1127. package/helpers/sqlite.d.ts +1 -0
  1128. package/helpers/sqlite.js +1 -0
  1129. package/outdated-typescript.d.ts +5 -0
  1130. package/package.json +155 -0
@@ -0,0 +1,1392 @@
1
+ import type { OperationNodeSource } from '../operation-node/operation-node-source.js';
2
+ import type { CompiledQuery } from '../query-compiler/compiled-query.js';
3
+ import { type JoinCallbackExpression, type JoinReferenceExpression } from '../parser/join-parser.js';
4
+ import { type TableExpression, type From, type FromTables } from '../parser/table-parser.js';
5
+ import { type SelectExpression, type SelectCallback } from '../parser/select-parser.js';
6
+ import type { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js';
7
+ import type { ReferenceExpression } from '../parser/reference-parser.js';
8
+ import { QueryNode } from '../operation-node/query-node.js';
9
+ import type { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js';
10
+ import { UpdateQueryNode } from '../operation-node/update-query-node.js';
11
+ import { type UpdateObjectExpression, type ExtractUpdateTypeFromReferenceExpression } from '../parser/update-set-parser.js';
12
+ import type { Compilable } from '../util/compilable.js';
13
+ import type { QueryExecutor } from '../query-executor/query-executor.js';
14
+ import type { QueryId } from '../util/query-id.js';
15
+ import { UpdateResult } from './update-result.js';
16
+ import type { KyselyPlugin } from '../plugin/kysely-plugin.js';
17
+ import type { WhereInterface } from './where-interface.js';
18
+ import type { MultiTableReturningInterface } from './returning-interface.js';
19
+ import { type NoResultErrorConstructor } from './no-result-error.js';
20
+ import type { Explainable, ExplainFormat } from '../util/explainable.js';
21
+ import type { AliasedExpression, Expression } from '../expression/expression.js';
22
+ import { type ComparisonOperatorExpression, type OperandValueExpressionOrList } from '../parser/binary-operation-parser.js';
23
+ import type { KyselyTypeError } from '../util/type-error.js';
24
+ import type { Streamable } from '../util/streamable.js';
25
+ import type { ExpressionOrFactory } from '../parser/expression-parser.js';
26
+ import { type ValueExpression } from '../parser/value-parser.js';
27
+ import type { OutputCallback, OutputExpression, OutputInterface, OutputPrefix, SelectExpressionFromOutputCallback, SelectExpressionFromOutputExpression } from './output-interface.js';
28
+ import type { OrderByInterface } from './order-by-interface.js';
29
+ import { type DirectedOrderByStringReference, type OrderByExpression, type OrderByModifiers } from '../parser/order-by-parser.js';
30
+ export declare class UpdateQueryBuilder<DB, UT extends keyof DB, TB extends keyof DB, O> implements WhereInterface<DB, TB>, MultiTableReturningInterface<DB, TB, O>, OutputInterface<DB, TB, O>, OrderByInterface<DB, TB, never>, OperationNodeSource, Compilable<O>, Explainable, Streamable<O> {
31
+ #private;
32
+ constructor(props: UpdateQueryBuilderProps);
33
+ /**
34
+ * Adds a `where` expression to the query.
35
+ *
36
+ * Calling this method multiple times will combine the expressions using `and`.
37
+ *
38
+ * Also see {@link whereRef}
39
+ *
40
+ * ### Examples
41
+ *
42
+ * <!-- siteExample("where", "Simple where clause", 10) -->
43
+ *
44
+ * `where` method calls are combined with `AND`:
45
+ *
46
+ * ```ts
47
+ * const person = await db
48
+ * .selectFrom('person')
49
+ * .selectAll()
50
+ * .where('first_name', '=', 'Jennifer')
51
+ * .where('age', '>', 40)
52
+ * .executeTakeFirst()
53
+ * ```
54
+ *
55
+ * The generated SQL (PostgreSQL):
56
+ *
57
+ * ```sql
58
+ * select * from "person" where "first_name" = $1 and "age" > $2
59
+ * ```
60
+ *
61
+ * Operator can be any supported operator or if the typings don't support it
62
+ * you can always use:
63
+ *
64
+ * ```ts
65
+ * import { sql } from 'kysely'
66
+ *
67
+ * sql`your operator`
68
+ * ```
69
+ *
70
+ * <!-- siteExample("where", "Where in", 20) -->
71
+ *
72
+ * Find multiple items using a list of identifiers:
73
+ *
74
+ * ```ts
75
+ * const persons = await db
76
+ * .selectFrom('person')
77
+ * .selectAll()
78
+ * .where('id', 'in', [1, 2, 3])
79
+ * .execute()
80
+ * ```
81
+ *
82
+ * The generated SQL (PostgreSQL):
83
+ *
84
+ * ```sql
85
+ * select * from "person" where "id" in ($1, $2, $3)
86
+ * ```
87
+ *
88
+ * <!-- siteExample("where", "Object filter", 30) -->
89
+ *
90
+ * You can use the `and` function to create a simple equality
91
+ * filter using an object
92
+ *
93
+ * ```ts
94
+ * const persons = await db
95
+ * .selectFrom('person')
96
+ * .selectAll()
97
+ * .where((eb) => eb.and({
98
+ * first_name: 'Jennifer',
99
+ * last_name: eb.ref('first_name')
100
+ * }))
101
+ * .execute()
102
+ * ```
103
+ *
104
+ * The generated SQL (PostgreSQL):
105
+ *
106
+ * ```sql
107
+ * select *
108
+ * from "person"
109
+ * where (
110
+ * "first_name" = $1
111
+ * and "last_name" = "first_name"
112
+ * )
113
+ * ```
114
+ *
115
+ * <!-- siteExample("where", "OR where", 40) -->
116
+ *
117
+ * To combine conditions using `OR`, you can use the expression builder.
118
+ * There are two ways to create `OR` expressions. Both are shown in this
119
+ * example:
120
+ *
121
+ * ```ts
122
+ * const persons = await db
123
+ * .selectFrom('person')
124
+ * .selectAll()
125
+ * // 1. Using the `or` method on the expression builder:
126
+ * .where((eb) => eb.or([
127
+ * eb('first_name', '=', 'Jennifer'),
128
+ * eb('first_name', '=', 'Sylvester')
129
+ * ]))
130
+ * // 2. Chaining expressions using the `or` method on the
131
+ * // created expressions:
132
+ * .where((eb) =>
133
+ * eb('last_name', '=', 'Aniston').or('last_name', '=', 'Stallone')
134
+ * )
135
+ * .execute()
136
+ * ```
137
+ *
138
+ * The generated SQL (PostgreSQL):
139
+ *
140
+ * ```sql
141
+ * select *
142
+ * from "person"
143
+ * where (
144
+ * ("first_name" = $1 or "first_name" = $2)
145
+ * and
146
+ * ("last_name" = $3 or "last_name" = $4)
147
+ * )
148
+ * ```
149
+ *
150
+ * <!-- siteExample("where", "Conditional where calls", 50) -->
151
+ *
152
+ * You can add expressions conditionally like this:
153
+ *
154
+ * ```ts
155
+ * import { Expression, SqlBool } from 'kysely'
156
+ *
157
+ * const firstName: string | undefined = 'Jennifer'
158
+ * const lastName: string | undefined = 'Aniston'
159
+ * const under18 = true
160
+ * const over60 = true
161
+ *
162
+ * let query = db
163
+ * .selectFrom('person')
164
+ * .selectAll()
165
+ *
166
+ * if (firstName) {
167
+ * // The query builder is immutable. Remember to reassign
168
+ * // the result back to the query variable.
169
+ * query = query.where('first_name', '=', firstName)
170
+ * }
171
+ *
172
+ * if (lastName) {
173
+ * query = query.where('last_name', '=', lastName)
174
+ * }
175
+ *
176
+ * if (under18 || over60) {
177
+ * // Conditional OR expressions can be added like this.
178
+ * query = query.where((eb) => {
179
+ * const ors: Expression<SqlBool>[] = []
180
+ *
181
+ * if (under18) {
182
+ * ors.push(eb('age', '<', 18))
183
+ * }
184
+ *
185
+ * if (over60) {
186
+ * ors.push(eb('age', '>', 60))
187
+ * }
188
+ *
189
+ * return eb.or(ors)
190
+ * })
191
+ * }
192
+ *
193
+ * const persons = await query.execute()
194
+ * ```
195
+ *
196
+ * Both the first and third argument can also be arbitrary expressions like
197
+ * subqueries. An expression can defined by passing a function and calling
198
+ * the methods of the {@link ExpressionBuilder} passed to the callback:
199
+ *
200
+ * ```ts
201
+ * const persons = await db
202
+ * .selectFrom('person')
203
+ * .selectAll()
204
+ * .where(
205
+ * (qb) => qb.selectFrom('pet')
206
+ * .select('pet.name')
207
+ * .whereRef('pet.owner_id', '=', 'person.id')
208
+ * .limit(1),
209
+ * '=',
210
+ * 'Fluffy'
211
+ * )
212
+ * .execute()
213
+ * ```
214
+ *
215
+ * The generated SQL (PostgreSQL):
216
+ *
217
+ * ```sql
218
+ * select *
219
+ * from "person"
220
+ * where (
221
+ * select "pet"."name"
222
+ * from "pet"
223
+ * where "pet"."owner_id" = "person"."id"
224
+ * limit $1
225
+ * ) = $2
226
+ * ```
227
+ *
228
+ * A `where in` query can be built by using the `in` operator and an array
229
+ * of values. The values in the array can also be expressions:
230
+ *
231
+ * ```ts
232
+ * const persons = await db
233
+ * .selectFrom('person')
234
+ * .selectAll()
235
+ * .where('person.id', 'in', [100, 200, 300])
236
+ * .execute()
237
+ * ```
238
+ *
239
+ * The generated SQL (PostgreSQL):
240
+ *
241
+ * ```sql
242
+ * select * from "person" where "id" in ($1, $2, $3)
243
+ * ```
244
+ *
245
+ * <!-- siteExample("where", "Complex where clause", 60) -->
246
+ *
247
+ * For complex `where` expressions you can pass in a single callback and
248
+ * use the `ExpressionBuilder` to build your expression:
249
+ *
250
+ * ```ts
251
+ * const firstName = 'Jennifer'
252
+ * const maxAge = 60
253
+ *
254
+ * const persons = await db
255
+ * .selectFrom('person')
256
+ * .selectAll('person')
257
+ * .where(({ eb, or, and, not, exists, selectFrom }) => and([
258
+ * or([
259
+ * eb('first_name', '=', firstName),
260
+ * eb('age', '<', maxAge)
261
+ * ]),
262
+ * not(exists(
263
+ * selectFrom('pet')
264
+ * .select('pet.id')
265
+ * .whereRef('pet.owner_id', '=', 'person.id')
266
+ * ))
267
+ * ]))
268
+ * .execute()
269
+ * ```
270
+ *
271
+ * The generated SQL (PostgreSQL):
272
+ *
273
+ * ```sql
274
+ * select "person".*
275
+ * from "person"
276
+ * where (
277
+ * (
278
+ * "first_name" = $1
279
+ * or "age" < $2
280
+ * )
281
+ * and not exists (
282
+ * select "pet"."id" from "pet" where "pet"."owner_id" = "person"."id"
283
+ * )
284
+ * )
285
+ * ```
286
+ *
287
+ * If everything else fails, you can always use the {@link sql} tag
288
+ * as any of the arguments, including the operator:
289
+ *
290
+ * ```ts
291
+ * import { sql } from 'kysely'
292
+ *
293
+ * const persons = await db
294
+ * .selectFrom('person')
295
+ * .selectAll()
296
+ * .where(
297
+ * sql<string>`coalesce(first_name, last_name)`,
298
+ * 'like',
299
+ * '%' + name + '%',
300
+ * )
301
+ * .execute()
302
+ * ```
303
+ *
304
+ * The generated SQL (PostgreSQL):
305
+ *
306
+ * ```sql
307
+ * select * from "person"
308
+ * where coalesce(first_name, last_name) like $1
309
+ * ```
310
+ *
311
+ * In all examples above the columns were known at compile time
312
+ * (except for the raw {@link sql} expressions). By default kysely only
313
+ * allows you to refer to columns that exist in the database **and**
314
+ * can be referred to in the current query and context.
315
+ *
316
+ * Sometimes you may want to refer to columns that come from the user
317
+ * input and thus are not available at compile time.
318
+ *
319
+ * You have two options, the {@link sql} tag or `db.dynamic`. The example below
320
+ * uses both:
321
+ *
322
+ * ```ts
323
+ * import { sql } from 'kysely'
324
+ * const { ref } = db.dynamic
325
+ *
326
+ * const columnFromUserInput: string = 'id'
327
+ *
328
+ * const persons = await db
329
+ * .selectFrom('person')
330
+ * .selectAll()
331
+ * .where(ref(columnFromUserInput), '=', 1)
332
+ * .where(sql.id(columnFromUserInput), '=', 2)
333
+ * .execute()
334
+ * ```
335
+ */
336
+ where<RE extends ReferenceExpression<DB, TB>, VE extends OperandValueExpressionOrList<DB, TB, RE>>(lhs: RE, op: ComparisonOperatorExpression, rhs: VE): UpdateQueryBuilder<DB, UT, TB, O>;
337
+ where<E extends ExpressionOrFactory<DB, TB, SqlBool>>(expression: E): UpdateQueryBuilder<DB, UT, TB, O>;
338
+ /**
339
+ * Adds a `where` clause where both sides of the operator are references
340
+ * to columns.
341
+ *
342
+ * The normal `where` method treats the right hand side argument as a
343
+ * value by default. `whereRef` treats it as a column reference. This method is
344
+ * expecially useful with joins and correlated subqueries.
345
+ *
346
+ * ### Examples
347
+ *
348
+ * Usage with a join:
349
+ *
350
+ * ```ts
351
+ * db.selectFrom(['person', 'pet'])
352
+ * .selectAll()
353
+ * .whereRef('person.first_name', '=', 'pet.name')
354
+ * ```
355
+ *
356
+ * The generated SQL (PostgreSQL):
357
+ *
358
+ * ```sql
359
+ * select * from "person", "pet" where "person"."first_name" = "pet"."name"
360
+ * ```
361
+ *
362
+ * Usage in a subquery:
363
+ *
364
+ * ```ts
365
+ * const persons = await db
366
+ * .selectFrom('person')
367
+ * .selectAll('person')
368
+ * .select((eb) => eb
369
+ * .selectFrom('pet')
370
+ * .select('name')
371
+ * .whereRef('pet.owner_id', '=', 'person.id')
372
+ * .limit(1)
373
+ * .as('pet_name')
374
+ * )
375
+ * .execute()
376
+ * ```
377
+ *
378
+ * The generated SQL (PostgreSQL):
379
+ *
380
+ * ```sql
381
+ * select "person".*, (
382
+ * select "name"
383
+ * from "pet"
384
+ * where "pet"."owner_id" = "person"."id"
385
+ * limit $1
386
+ * ) as "pet_name"
387
+ * from "person"
388
+ */
389
+ whereRef<LRE extends ReferenceExpression<DB, TB>, RRE extends ReferenceExpression<DB, TB>>(lhs: LRE, op: ComparisonOperatorExpression, rhs: RRE): UpdateQueryBuilder<DB, UT, TB, O>;
390
+ /**
391
+ * Clears all where expressions from the query.
392
+ *
393
+ * ### Examples
394
+ *
395
+ * ```ts
396
+ * db.selectFrom('person')
397
+ * .selectAll()
398
+ * .where('id','=',42)
399
+ * .clearWhere()
400
+ * ```
401
+ *
402
+ * The generated SQL(PostgreSQL):
403
+ *
404
+ * ```sql
405
+ * select * from "person"
406
+ * ```
407
+ */
408
+ clearWhere(): UpdateQueryBuilder<DB, UT, TB, O>;
409
+ /**
410
+ * Changes an `update` query into a `update top` query.
411
+ *
412
+ * `top` clause is only supported by some dialects like MS SQL Server.
413
+ *
414
+ * ### Examples
415
+ *
416
+ * Update the first row:
417
+ *
418
+ * ```ts
419
+ * await db.updateTable('person')
420
+ * .top(1)
421
+ * .set({ first_name: 'Foo' })
422
+ * .where('age', '>', 18)
423
+ * .executeTakeFirstOrThrow()
424
+ * ```
425
+ *
426
+ * The generated SQL (MS SQL Server):
427
+ *
428
+ * ```sql
429
+ * update top(1) "person" set "first_name" = @1 where "age" > @2
430
+ * ```
431
+ *
432
+ * Update the 50% first rows:
433
+ *
434
+ * ```ts
435
+ * await db.updateTable('person')
436
+ * .top(50, 'percent')
437
+ * .set({ first_name: 'Foo' })
438
+ * .where('age', '>', 18)
439
+ * .executeTakeFirstOrThrow()
440
+ * ```
441
+ *
442
+ * The generated SQL (MS SQL Server):
443
+ *
444
+ * ```sql
445
+ * update top(50) percent "person" set "first_name" = @1 where "age" > @2
446
+ * ```
447
+ */
448
+ top(expression: number | bigint, modifiers?: 'percent'): UpdateQueryBuilder<DB, UT, TB, O>;
449
+ /**
450
+ * Adds a from clause to the update query.
451
+ *
452
+ * This is supported only on some databases like PostgreSQL.
453
+ *
454
+ * The API is the same as {@link QueryCreator.selectFrom}.
455
+ *
456
+ * ### Examples
457
+ *
458
+ * ```ts
459
+ * db.updateTable('person')
460
+ * .from('pet')
461
+ * .set((eb) => ({
462
+ * first_name: eb.ref('pet.name')
463
+ * }))
464
+ * .whereRef('pet.owner_id', '=', 'person.id')
465
+ * ```
466
+ *
467
+ * The generated SQL (PostgreSQL):
468
+ *
469
+ * ```sql
470
+ * update "person"
471
+ * set "first_name" = "pet"."name"
472
+ * from "pet"
473
+ * where "pet"."owner_id" = "person"."id"
474
+ * ```
475
+ */
476
+ from<TE extends TableExpression<DB, TB>>(table: TE): UpdateQueryBuilder<From<DB, TE>, UT, FromTables<DB, TB, TE>, O>;
477
+ from<TE extends TableExpression<DB, TB>>(table: TE[]): UpdateQueryBuilder<From<DB, TE>, UT, FromTables<DB, TB, TE>, O>;
478
+ /**
479
+ * Joins another table to the query using an inner join.
480
+ *
481
+ * ### Examples
482
+ *
483
+ * Simple usage by providing a table name and two columns to join:
484
+ *
485
+ * ```ts
486
+ * const result = await db
487
+ * .selectFrom('person')
488
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
489
+ * // `select` needs to come after the call to `innerJoin` so
490
+ * // that you can select from the joined table.
491
+ * .select(['person.id', 'pet.name'])
492
+ * .execute()
493
+ *
494
+ * result[0].id
495
+ * result[0].name
496
+ * ```
497
+ *
498
+ * The generated SQL (PostgreSQL):
499
+ *
500
+ * ```sql
501
+ * select "person"."id", "pet"."name"
502
+ * from "person"
503
+ * inner join "pet"
504
+ * on "pet"."owner_id" = "person"."id"
505
+ * ```
506
+ *
507
+ * You can give an alias for the joined table like this:
508
+ *
509
+ * ```ts
510
+ * await db.selectFrom('person')
511
+ * .innerJoin('pet as p', 'p.owner_id', 'person.id')
512
+ * .where('p.name', '=', 'Doggo')
513
+ * .selectAll()
514
+ * .execute()
515
+ * ```
516
+ *
517
+ * The generated SQL (PostgreSQL):
518
+ *
519
+ * ```sql
520
+ * select *
521
+ * from "person"
522
+ * inner join "pet" as "p"
523
+ * on "p"."owner_id" = "person"."id"
524
+ * where "p".name" = $1
525
+ * ```
526
+ *
527
+ * You can provide a function as the second argument to get a join
528
+ * builder for creating more complex joins. The join builder has a
529
+ * bunch of `on*` methods for building the `on` clause of the join.
530
+ * There's basically an equivalent for every `where` method
531
+ * (`on`, `onRef`, `onExists` etc.). You can do all the same things
532
+ * with the `on` method that you can with the corresponding `where`
533
+ * method. See the `where` method documentation for more examples.
534
+ *
535
+ * ```ts
536
+ * await db.selectFrom('person')
537
+ * .innerJoin(
538
+ * 'pet',
539
+ * (join) => join
540
+ * .onRef('pet.owner_id', '=', 'person.id')
541
+ * .on('pet.name', '=', 'Doggo')
542
+ * )
543
+ * .selectAll()
544
+ * .execute()
545
+ * ```
546
+ *
547
+ * The generated SQL (PostgreSQL):
548
+ *
549
+ * ```sql
550
+ * select *
551
+ * from "person"
552
+ * inner join "pet"
553
+ * on "pet"."owner_id" = "person"."id"
554
+ * and "pet"."name" = $1
555
+ * ```
556
+ *
557
+ * You can join a subquery by providing a select query (or a callback)
558
+ * as the first argument:
559
+ *
560
+ * ```ts
561
+ * await db.selectFrom('person')
562
+ * .innerJoin(
563
+ * db.selectFrom('pet')
564
+ * .select(['owner_id', 'name'])
565
+ * .where('name', '=', 'Doggo')
566
+ * .as('doggos'),
567
+ * 'doggos.owner_id',
568
+ * 'person.id',
569
+ * )
570
+ * .selectAll()
571
+ * .execute()
572
+ * ```
573
+ *
574
+ * The generated SQL (PostgreSQL):
575
+ *
576
+ * ```sql
577
+ * select *
578
+ * from "person"
579
+ * inner join (
580
+ * select "owner_id", "name"
581
+ * from "pet"
582
+ * where "name" = $1
583
+ * ) as "doggos"
584
+ * on "doggos"."owner_id" = "person"."id"
585
+ * ```
586
+ */
587
+ innerJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): UpdateQueryBuilderWithInnerJoin<DB, UT, TB, O, TE>;
588
+ innerJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): UpdateQueryBuilderWithInnerJoin<DB, UT, TB, O, TE>;
589
+ /**
590
+ * Just like {@link innerJoin} but adds a left join instead of an inner join.
591
+ */
592
+ leftJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): UpdateQueryBuilderWithLeftJoin<DB, UT, TB, O, TE>;
593
+ leftJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): UpdateQueryBuilderWithLeftJoin<DB, UT, TB, O, TE>;
594
+ /**
595
+ * Just like {@link innerJoin} but adds a right join instead of an inner join.
596
+ */
597
+ rightJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): UpdateQueryBuilderWithRightJoin<DB, UT, TB, O, TE>;
598
+ rightJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): UpdateQueryBuilderWithRightJoin<DB, UT, TB, O, TE>;
599
+ /**
600
+ * Just like {@link innerJoin} but adds a full join instead of an inner join.
601
+ */
602
+ fullJoin<TE extends TableExpression<DB, TB>, K1 extends JoinReferenceExpression<DB, TB, TE>, K2 extends JoinReferenceExpression<DB, TB, TE>>(table: TE, k1: K1, k2: K2): UpdateQueryBuilderWithFullJoin<DB, UT, TB, O, TE>;
603
+ fullJoin<TE extends TableExpression<DB, TB>, FN extends JoinCallbackExpression<DB, TB, TE>>(table: TE, callback: FN): UpdateQueryBuilderWithFullJoin<DB, UT, TB, O, TE>;
604
+ /**
605
+ * @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
606
+ */
607
+ orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers?: OrderByModifiers): UpdateQueryBuilder<DB, UT, TB, O>;
608
+ /**
609
+ * @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
610
+ * @deprecated It does ~2-2.6x more compile-time instantiations compared to multiple chained `orderBy(expr, modifiers?)` calls (in `order by` clauses with reasonable item counts), and has broken autocompletion.
611
+ */
612
+ orderBy<OE extends OrderByExpression<DB, TB, {}> | DirectedOrderByStringReference<DB, TB, {}>>(exprs: ReadonlyArray<OE>): UpdateQueryBuilder<DB, UT, TB, O>;
613
+ /**
614
+ * @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
615
+ * @deprecated It does ~2.9x more compile-time instantiations compared to a `orderBy(expr, direction)` call.
616
+ */
617
+ orderBy<OE extends DirectedOrderByStringReference<DB, TB, {}>>(expr: OE): UpdateQueryBuilder<DB, UT, TB, O>;
618
+ /**
619
+ * @description This is only supported by some dialects like MySQL or SQLite with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.
620
+ * @deprecated Use `orderBy(expr, (ob) => ...)` instead.
621
+ */
622
+ orderBy<OE extends OrderByExpression<DB, TB, {}>>(expr: OE, modifiers: Expression<any>): UpdateQueryBuilder<DB, UT, TB, O>;
623
+ /**
624
+ * Clears the `order by` clause from the query.
625
+ *
626
+ * See {@link orderBy} for adding an `order by` clause or item to a query.
627
+ *
628
+ * ### Examples
629
+ *
630
+ * ```ts
631
+ * const query = db
632
+ * .selectFrom('person')
633
+ * .selectAll()
634
+ * .orderBy('id', 'desc')
635
+ *
636
+ * const results = await query
637
+ * .clearOrderBy()
638
+ * .execute()
639
+ * ```
640
+ *
641
+ * The generated SQL (PostgreSQL):
642
+ *
643
+ * ```sql
644
+ * select * from "person"
645
+ * ```
646
+ */
647
+ clearOrderBy(): UpdateQueryBuilder<DB, UT, TB, O>;
648
+ /**
649
+ * Adds a limit clause to the update query for supported databases, such as MySQL.
650
+ *
651
+ * ### Examples
652
+ *
653
+ * Update the first 2 rows in the 'person' table:
654
+ *
655
+ * ```ts
656
+ * await db
657
+ * .updateTable('person')
658
+ * .set({ first_name: 'Foo' })
659
+ * .limit(2)
660
+ * .execute()
661
+ * ```
662
+ *
663
+ * The generated SQL (MySQL):
664
+ *
665
+ * ```sql
666
+ * update `person` set `first_name` = ? limit ?
667
+ * ```
668
+ */
669
+ limit(limit: ValueExpression<DB, TB, number>): UpdateQueryBuilder<DB, UT, TB, O>;
670
+ /**
671
+ * Sets the values to update for an {@link Kysely.updateTable | update} query.
672
+ *
673
+ * This method takes an object whose keys are column names and values are
674
+ * values to update. In addition to the column's type, the values can be
675
+ * any expressions such as raw {@link sql} snippets or select queries.
676
+ *
677
+ * This method also accepts a callback that returns the update object. The
678
+ * callback takes an instance of {@link ExpressionBuilder} as its only argument.
679
+ * The expression builder can be used to create arbitrary update expressions.
680
+ *
681
+ * The return value of an update query is an instance of {@link UpdateResult}.
682
+ * You can use the {@link returning} method on supported databases to get out
683
+ * the updated rows.
684
+ *
685
+ * ### Examples
686
+ *
687
+ * <!-- siteExample("update", "Single row", 10) -->
688
+ *
689
+ * Update a row in `person` table:
690
+ *
691
+ * ```ts
692
+ * const result = await db
693
+ * .updateTable('person')
694
+ * .set({
695
+ * first_name: 'Jennifer',
696
+ * last_name: 'Aniston'
697
+ * })
698
+ * .where('id', '=', 1)
699
+ * .executeTakeFirst()
700
+ * ```
701
+ *
702
+ * The generated SQL (PostgreSQL):
703
+ *
704
+ * ```sql
705
+ * update "person" set "first_name" = $1, "last_name" = $2 where "id" = $3
706
+ * ```
707
+ *
708
+ * <!-- siteExample("update", "Complex values", 20) -->
709
+ *
710
+ * As always, you can provide a callback to the `set` method to get access
711
+ * to an expression builder:
712
+ *
713
+ * ```ts
714
+ * const result = await db
715
+ * .updateTable('person')
716
+ * .set((eb) => ({
717
+ * age: eb('age', '+', 1),
718
+ * first_name: eb.selectFrom('pet').select('name').limit(1),
719
+ * last_name: 'updated',
720
+ * }))
721
+ * .where('id', '=', 1)
722
+ * .executeTakeFirst()
723
+ * ```
724
+ *
725
+ * The generated SQL (PostgreSQL):
726
+ *
727
+ * ```sql
728
+ * update "person"
729
+ * set
730
+ * "first_name" = (select "name" from "pet" limit $1),
731
+ * "age" = "age" + $2,
732
+ * "last_name" = $3
733
+ * where
734
+ * "id" = $4
735
+ * ```
736
+ *
737
+ * If you provide two arguments the first one is interpreted as the column
738
+ * (or other target) and the second as the value:
739
+ *
740
+ * ```ts
741
+ * import { sql } from 'kysely'
742
+ *
743
+ * const result = await db
744
+ * .updateTable('person')
745
+ * .set('first_name', 'Foo')
746
+ * // As always, both arguments can be arbitrary expressions or
747
+ * // callbacks that give you access to an expression builder:
748
+ * .set(sql<string>`address['postalCode']`, (eb) => eb.val('61710'))
749
+ * .where('id', '=', 1)
750
+ * .executeTakeFirst()
751
+ * ```
752
+ *
753
+ * On PostgreSQL you can chain `returning` to the query to get
754
+ * the updated rows' columns (or any other expression) as the
755
+ * return value:
756
+ *
757
+ * ```ts
758
+ * const row = await db
759
+ * .updateTable('person')
760
+ * .set({
761
+ * first_name: 'Jennifer',
762
+ * last_name: 'Aniston'
763
+ * })
764
+ * .where('id', '=', 1)
765
+ * .returning('id')
766
+ * .executeTakeFirstOrThrow()
767
+ *
768
+ * row.id
769
+ * ```
770
+ *
771
+ * The generated SQL (PostgreSQL):
772
+ *
773
+ * ```sql
774
+ * update "person" set "first_name" = $1, "last_name" = $2 where "id" = $3 returning "id"
775
+ * ```
776
+ *
777
+ * In addition to primitives, the values can arbitrary expressions including
778
+ * raw `sql` snippets or subqueries:
779
+ *
780
+ * ```ts
781
+ * import { sql } from 'kysely'
782
+ *
783
+ * const result = await db
784
+ * .updateTable('person')
785
+ * .set(({ selectFrom, ref, fn, eb }) => ({
786
+ * first_name: selectFrom('person').select('first_name').limit(1),
787
+ * middle_name: ref('first_name'),
788
+ * age: eb('age', '+', 1),
789
+ * last_name: sql<string>`${'Ani'} || ${'ston'}`,
790
+ * }))
791
+ * .where('id', '=', 1)
792
+ * .executeTakeFirst()
793
+ *
794
+ * console.log(result.numUpdatedRows)
795
+ * ```
796
+ *
797
+ * The generated SQL (PostgreSQL):
798
+ *
799
+ * ```sql
800
+ * update "person" set
801
+ * "first_name" = (select "first_name" from "person" limit $1),
802
+ * "middle_name" = "first_name",
803
+ * "age" = "age" + $2,
804
+ * "last_name" = $3 || $4
805
+ * where "id" = $5
806
+ * ```
807
+ *
808
+ * <!-- siteExample("update", "MySQL joins", 30) -->
809
+ *
810
+ * MySQL allows you to join tables directly to the "main" table and update
811
+ * rows of all joined tables. This is possible by passing all tables to the
812
+ * `updateTable` method as a list and adding the `ON` conditions as `WHERE`
813
+ * statements. You can then use the `set(column, value)` variant to update
814
+ * columns using table qualified names.
815
+ *
816
+ * The `UpdateQueryBuilder` also has `innerJoin` etc. join methods, but those
817
+ * can only be used as part of a PostgreSQL `update set from join` query.
818
+ * Due to type complexity issues, we unfortunately can't make the same
819
+ * methods work in both cases.
820
+ *
821
+ * ```ts
822
+ * const result = await db
823
+ * .updateTable(['person', 'pet'])
824
+ * .set('person.first_name', 'Updated person')
825
+ * .set('pet.name', 'Updated doggo')
826
+ * .whereRef('person.id', '=', 'pet.owner_id')
827
+ * .where('person.id', '=', 1)
828
+ * .executeTakeFirst()
829
+ * ```
830
+ *
831
+ * The generated SQL (MySQL):
832
+ *
833
+ * ```sql
834
+ * update
835
+ * `person`,
836
+ * `pet`
837
+ * set
838
+ * `person`.`first_name` = ?,
839
+ * `pet`.`name` = ?
840
+ * where
841
+ * `person`.`id` = `pet`.`owner_id`
842
+ * and `person`.`id` = ?
843
+ * ```
844
+ */
845
+ set(update: UpdateObjectExpression<DB, TB, UT>): UpdateQueryBuilder<DB, UT, TB, O>;
846
+ set<RE extends ReferenceExpression<DB, UT>>(key: RE, value: ValueExpression<DB, TB, ExtractUpdateTypeFromReferenceExpression<DB, UT, RE>>): UpdateQueryBuilder<DB, UT, TB, O>;
847
+ /**
848
+ * Allows you to return data from modified rows.
849
+ *
850
+ * On supported databases like PostgreSQL, this method can be chained to
851
+ * `insert`, `update`, `delete` and `merge` queries to return data.
852
+ *
853
+ * Note that on SQLite you need to give aliases for the expressions to avoid
854
+ * [this bug](https://sqlite.org/forum/forumpost/033daf0b32) in SQLite.
855
+ * For example `.returning('id as id')`.
856
+ *
857
+ * Also see the {@link returningAll} method.
858
+ *
859
+ * ### Examples
860
+ *
861
+ * Return one column:
862
+ *
863
+ * ```ts
864
+ * const { id } = await db
865
+ * .insertInto('person')
866
+ * .values({
867
+ * first_name: 'Jennifer',
868
+ * last_name: 'Aniston'
869
+ * })
870
+ * .returning('id')
871
+ * .executeTakeFirstOrThrow()
872
+ * ```
873
+ *
874
+ * Return multiple columns:
875
+ *
876
+ * ```ts
877
+ * const { id, last_name } = await db
878
+ * .insertInto('person')
879
+ * .values({
880
+ * first_name: 'Jennifer',
881
+ * last_name: 'Aniston'
882
+ * })
883
+ * .returning(['id', 'last_name'])
884
+ * .executeTakeFirstOrThrow()
885
+ * ```
886
+ *
887
+ * Return arbitrary expressions:
888
+ *
889
+ * ```ts
890
+ * import { sql } from 'kysely'
891
+ *
892
+ * const { id, full_name, first_pet_id } = await db
893
+ * .insertInto('person')
894
+ * .values({
895
+ * first_name: 'Jennifer',
896
+ * last_name: 'Aniston'
897
+ * })
898
+ * .returning((eb) => [
899
+ * 'id as id',
900
+ * sql<string>`concat(first_name, ' ', last_name)`.as('full_name'),
901
+ * eb.selectFrom('pet').select('pet.id').limit(1).as('first_pet_id')
902
+ * ])
903
+ * .executeTakeFirstOrThrow()
904
+ * ```
905
+ */
906
+ returning<SE extends SelectExpression<DB, TB>>(selections: ReadonlyArray<SE>): UpdateQueryBuilder<DB, UT, TB, ReturningRow<DB, TB, O, SE>>;
907
+ returning<CB extends SelectCallback<DB, TB>>(callback: CB): UpdateQueryBuilder<DB, UT, TB, ReturningCallbackRow<DB, TB, O, CB>>;
908
+ returning<SE extends SelectExpression<DB, TB>>(selection: SE): UpdateQueryBuilder<DB, UT, TB, ReturningRow<DB, TB, O, SE>>;
909
+ /**
910
+ * Adds a `returning *` or `returning table.*` to an insert/update/delete/merge
911
+ * query on databases that support `returning` such as PostgreSQL.
912
+ *
913
+ * Also see the {@link returning} method.
914
+ */
915
+ returningAll<T extends TB>(tables: ReadonlyArray<T>): UpdateQueryBuilder<DB, UT, TB, ReturningAllRow<DB, T, O>>;
916
+ returningAll<T extends TB>(table: T): UpdateQueryBuilder<DB, UT, TB, ReturningAllRow<DB, T, O>>;
917
+ returningAll(): UpdateQueryBuilder<DB, UT, TB, ReturningAllRow<DB, TB, O>>;
918
+ /**
919
+ * Allows you to return data from modified rows.
920
+ *
921
+ * On supported databases like MS SQL Server (MSSQL), this method can be chained
922
+ * to `insert`, `update`, `delete` and `merge` queries to return data.
923
+ *
924
+ * Also see the {@link outputAll} method.
925
+ *
926
+ * ### Examples
927
+ *
928
+ * Return one column:
929
+ *
930
+ * ```ts
931
+ * const { id } = await db
932
+ * .insertInto('person')
933
+ * .output('inserted.id')
934
+ * .values({
935
+ * first_name: 'Jennifer',
936
+ * last_name: 'Aniston',
937
+ * gender: 'female',
938
+ * })
939
+ * .executeTakeFirstOrThrow()
940
+ * ```
941
+ *
942
+ * The generated SQL (MSSQL):
943
+ *
944
+ * ```sql
945
+ * insert into "person" ("first_name", "last_name", "gender")
946
+ * output "inserted"."id"
947
+ * values (@1, @2, @3)
948
+ * ```
949
+ *
950
+ * Return multiple columns:
951
+ *
952
+ * ```ts
953
+ * const { old_first_name, old_last_name, new_first_name, new_last_name } = await db
954
+ * .updateTable('person')
955
+ * .set({ first_name: 'John', last_name: 'Doe' })
956
+ * .output([
957
+ * 'deleted.first_name as old_first_name',
958
+ * 'deleted.last_name as old_last_name',
959
+ * 'inserted.first_name as new_first_name',
960
+ * 'inserted.last_name as new_last_name',
961
+ * ])
962
+ * .where('created_at', '<', new Date())
963
+ * .executeTakeFirstOrThrow()
964
+ * ```
965
+ *
966
+ * The generated SQL (MSSQL):
967
+ *
968
+ * ```sql
969
+ * update "person"
970
+ * set "first_name" = @1, "last_name" = @2
971
+ * output "deleted"."first_name" as "old_first_name",
972
+ * "deleted"."last_name" as "old_last_name",
973
+ * "inserted"."first_name" as "new_first_name",
974
+ * "inserted"."last_name" as "new_last_name"
975
+ * where "created_at" < @3
976
+ * ```
977
+ *
978
+ * Return arbitrary expressions:
979
+ *
980
+ * ```ts
981
+ * import { sql } from 'kysely'
982
+ *
983
+ * const { full_name } = await db
984
+ * .deleteFrom('person')
985
+ * .output((eb) => sql<string>`concat(${eb.ref('deleted.first_name')}, ' ', ${eb.ref('deleted.last_name')})`.as('full_name'))
986
+ * .where('created_at', '<', new Date())
987
+ * .executeTakeFirstOrThrow()
988
+ * ```
989
+ *
990
+ * The generated SQL (MSSQL):
991
+ *
992
+ * ```sql
993
+ * delete from "person"
994
+ * output concat("deleted"."first_name", ' ', "deleted"."last_name") as "full_name"
995
+ * where "created_at" < @1
996
+ * ```
997
+ *
998
+ * Return the action performed on the row:
999
+ *
1000
+ * ```ts
1001
+ * await db
1002
+ * .mergeInto('person')
1003
+ * .using('pet', 'pet.owner_id', 'person.id')
1004
+ * .whenMatched()
1005
+ * .thenDelete()
1006
+ * .whenNotMatched()
1007
+ * .thenInsertValues({
1008
+ * first_name: 'John',
1009
+ * last_name: 'Doe',
1010
+ * gender: 'male'
1011
+ * })
1012
+ * .output([
1013
+ * 'inserted.id as inserted_id',
1014
+ * 'deleted.id as deleted_id',
1015
+ * ])
1016
+ * .execute()
1017
+ * ```
1018
+ *
1019
+ * The generated SQL (MSSQL):
1020
+ *
1021
+ * ```sql
1022
+ * merge into "person"
1023
+ * using "pet" on "pet"."owner_id" = "person"."id"
1024
+ * when matched then delete
1025
+ * when not matched then
1026
+ * insert ("first_name", "last_name", "gender")
1027
+ * values (@1, @2, @3)
1028
+ * output "inserted"."id" as "inserted_id", "deleted"."id" as "deleted_id"
1029
+ * ```
1030
+ *
1031
+ */
1032
+ output<OE extends OutputExpression<DB, UT>>(selections: readonly OE[]): UpdateQueryBuilder<DB, UT, TB, ReturningRow<DB, TB, O, SelectExpressionFromOutputExpression<OE>>>;
1033
+ output<CB extends OutputCallback<DB, TB>>(callback: CB): UpdateQueryBuilder<DB, UT, TB, ReturningRow<DB, TB, O, SelectExpressionFromOutputCallback<CB>>>;
1034
+ output<OE extends OutputExpression<DB, TB>>(selection: OE): UpdateQueryBuilder<DB, UT, TB, ReturningRow<DB, TB, O, SelectExpressionFromOutputExpression<OE>>>;
1035
+ /**
1036
+ * Adds an `output {prefix}.*` to an `insert`/`update`/`delete`/`merge` query on databases
1037
+ * that support `output` such as MS SQL Server (MSSQL).
1038
+ *
1039
+ * Also see the {@link output} method.
1040
+ */
1041
+ outputAll(table: OutputPrefix): UpdateQueryBuilder<DB, UT, TB, ReturningAllRow<DB, TB, O>>;
1042
+ /**
1043
+ * This can be used to add any additional SQL to the end of the query.
1044
+ *
1045
+ * ### Examples
1046
+ *
1047
+ * ```ts
1048
+ * import { sql } from 'kysely'
1049
+ *
1050
+ * await db.updateTable('person')
1051
+ * .set({ age: 39 })
1052
+ * .where('first_name', '=', 'John')
1053
+ * .modifyEnd(sql.raw('-- This is a comment'))
1054
+ * .execute()
1055
+ * ```
1056
+ *
1057
+ * The generated SQL (MySQL):
1058
+ *
1059
+ * ```sql
1060
+ * update `person`
1061
+ * set `age` = 39
1062
+ * where `first_name` = "John" -- This is a comment
1063
+ * ```
1064
+ */
1065
+ modifyEnd(modifier: Expression<any>): UpdateQueryBuilder<DB, UT, TB, O>;
1066
+ /**
1067
+ * Clears all `returning` clauses from the query.
1068
+ *
1069
+ * ### Examples
1070
+ *
1071
+ * ```ts
1072
+ * db.updateTable('person')
1073
+ * .returningAll()
1074
+ * .set({ age: 39 })
1075
+ * .where('first_name', '=', 'John')
1076
+ * .clearReturning()
1077
+ * ```
1078
+ *
1079
+ * The generated SQL(PostgreSQL):
1080
+ *
1081
+ * ```sql
1082
+ * update "person" set "age" = 39 where "first_name" = "John"
1083
+ * ```
1084
+ */
1085
+ clearReturning(): UpdateQueryBuilder<DB, UT, TB, UpdateResult>;
1086
+ /**
1087
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
1088
+ * what the provided function returns.
1089
+ *
1090
+ * If you want to conditionally call a method on `this`, see
1091
+ * the {@link $if} method.
1092
+ *
1093
+ * ### Examples
1094
+ *
1095
+ * The next example uses a helper function `log` to log a query:
1096
+ *
1097
+ * ```ts
1098
+ * import type { Compilable } from 'kysely'
1099
+ * import type { PersonUpdate } from 'type-editor' // imaginary module
1100
+ *
1101
+ * function log<T extends Compilable>(qb: T): T {
1102
+ * console.log(qb.compile())
1103
+ * return qb
1104
+ * }
1105
+ *
1106
+ * const values = {
1107
+ * first_name: 'John',
1108
+ * } satisfies PersonUpdate
1109
+ *
1110
+ * db.updateTable('person')
1111
+ * .set(values)
1112
+ * .$call(log)
1113
+ * .execute()
1114
+ * ```
1115
+ */
1116
+ $call<T>(func: (qb: this) => T): T;
1117
+ /**
1118
+ * Call `func(this)` if `condition` is true.
1119
+ *
1120
+ * This method is especially handy with optional selects. Any `returning` or `returningAll`
1121
+ * method calls add columns as optional fields to the output type when called inside
1122
+ * the `func` callback. This is because we can't know if those selections were actually
1123
+ * made before running the code.
1124
+ *
1125
+ * You can also call any other methods inside the callback.
1126
+ *
1127
+ * ### Examples
1128
+ *
1129
+ * ```ts
1130
+ * import type { PersonUpdate } from 'type-editor' // imaginary module
1131
+ *
1132
+ * async function updatePerson(id: number, updates: PersonUpdate, returnLastName: boolean) {
1133
+ * return await db
1134
+ * .updateTable('person')
1135
+ * .set(updates)
1136
+ * .where('id', '=', id)
1137
+ * .returning(['id', 'first_name'])
1138
+ * .$if(returnLastName, (qb) => qb.returning('last_name'))
1139
+ * .executeTakeFirstOrThrow()
1140
+ * }
1141
+ * ```
1142
+ *
1143
+ * Any selections added inside the `if` callback will be added as optional fields to the
1144
+ * output type since we can't know if the selections were actually made before running
1145
+ * the code. In the example above the return type of the `updatePerson` function is:
1146
+ *
1147
+ * ```ts
1148
+ * Promise<{
1149
+ * id: number
1150
+ * first_name: string
1151
+ * last_name?: string
1152
+ * }>
1153
+ * ```
1154
+ */
1155
+ $if<O2>(condition: boolean, func: (qb: this) => UpdateQueryBuilder<any, any, any, O2>): O2 extends UpdateResult ? UpdateQueryBuilder<DB, UT, TB, UpdateResult> : O2 extends O & infer E ? UpdateQueryBuilder<DB, UT, TB, O & Partial<E>> : UpdateQueryBuilder<DB, UT, TB, Partial<O2>>;
1156
+ /**
1157
+ * Change the output type of the query.
1158
+ *
1159
+ * This method call doesn't change the SQL in any way. This methods simply
1160
+ * returns a copy of this `UpdateQueryBuilder` with a new output type.
1161
+ */
1162
+ $castTo<C>(): UpdateQueryBuilder<DB, UT, TB, C>;
1163
+ /**
1164
+ * Narrows (parts of) the output type of the query.
1165
+ *
1166
+ * Kysely tries to be as type-safe as possible, but in some cases we have to make
1167
+ * compromises for better maintainability and compilation performance. At present,
1168
+ * Kysely doesn't narrow the output type of the query based on {@link set} input
1169
+ * when using {@link where} and/or {@link returning} or {@link returningAll}.
1170
+ *
1171
+ * This utility method is very useful for these situations, as it removes unncessary
1172
+ * runtime assertion/guard code. Its input type is limited to the output type
1173
+ * of the query, so you can't add a column that doesn't exist, or change a column's
1174
+ * type to something that doesn't exist in its union type.
1175
+ *
1176
+ * ### Examples
1177
+ *
1178
+ * Turn this code:
1179
+ *
1180
+ * ```ts
1181
+ * import type { Person } from 'type-editor' // imaginary module
1182
+ *
1183
+ * const id = 1
1184
+ * const now = new Date().toISOString()
1185
+ *
1186
+ * const person = await db.updateTable('person')
1187
+ * .set({ deleted_at: now })
1188
+ * .where('id', '=', id)
1189
+ * .where('nullable_column', 'is not', null)
1190
+ * .returningAll()
1191
+ * .executeTakeFirstOrThrow()
1192
+ *
1193
+ * if (isWithNoNullValue(person)) {
1194
+ * functionThatExpectsPersonWithNonNullValue(person)
1195
+ * }
1196
+ *
1197
+ * function isWithNoNullValue(person: Person): person is Person & { nullable_column: string } {
1198
+ * return person.nullable_column != null
1199
+ * }
1200
+ * ```
1201
+ *
1202
+ * Into this:
1203
+ *
1204
+ * ```ts
1205
+ * import type { NotNull } from 'kysely'
1206
+ *
1207
+ * const id = 1
1208
+ * const now = new Date().toISOString()
1209
+ *
1210
+ * const person = await db.updateTable('person')
1211
+ * .set({ deleted_at: now })
1212
+ * .where('id', '=', id)
1213
+ * .where('nullable_column', 'is not', null)
1214
+ * .returningAll()
1215
+ * .$narrowType<{ deleted_at: Date; nullable_column: NotNull }>()
1216
+ * .executeTakeFirstOrThrow()
1217
+ *
1218
+ * functionThatExpectsPersonWithNonNullValue(person)
1219
+ * ```
1220
+ */
1221
+ $narrowType<T>(): UpdateQueryBuilder<DB, UT, TB, NarrowPartial<O, T>>;
1222
+ /**
1223
+ * Asserts that query's output row type equals the given type `T`.
1224
+ *
1225
+ * This method can be used to simplify excessively complex types to make TypeScript happy
1226
+ * and much faster.
1227
+ *
1228
+ * Kysely uses complex type magic to achieve its type safety. This complexity is sometimes too much
1229
+ * for TypeScript and you get errors like this:
1230
+ *
1231
+ * ```
1232
+ * error TS2589: Type instantiation is excessively deep and possibly infinite.
1233
+ * ```
1234
+ *
1235
+ * In these case you can often use this method to help TypeScript a little bit. When you use this
1236
+ * method to assert the output type of a query, Kysely can drop the complex output type that
1237
+ * consists of multiple nested helper types and replace it with the simple asserted type.
1238
+ *
1239
+ * Using this method doesn't reduce type safety at all. You have to pass in a type that is
1240
+ * structurally equal to the current type.
1241
+ *
1242
+ * ### Examples
1243
+ *
1244
+ * ```ts
1245
+ * import type { PersonUpdate, PetUpdate, Species } from 'type-editor' // imaginary module
1246
+ *
1247
+ * const person = {
1248
+ * id: 1,
1249
+ * gender: 'other',
1250
+ * } satisfies PersonUpdate
1251
+ *
1252
+ * const pet = {
1253
+ * name: 'Fluffy',
1254
+ * } satisfies PetUpdate
1255
+ *
1256
+ * const result = await db
1257
+ * .with('updated_person', (qb) => qb
1258
+ * .updateTable('person')
1259
+ * .set(person)
1260
+ * .where('id', '=', person.id)
1261
+ * .returning('first_name')
1262
+ * .$assertType<{ first_name: string }>()
1263
+ * )
1264
+ * .with('updated_pet', (qb) => qb
1265
+ * .updateTable('pet')
1266
+ * .set(pet)
1267
+ * .where('owner_id', '=', person.id)
1268
+ * .returning(['name as pet_name', 'species'])
1269
+ * .$assertType<{ pet_name: string, species: Species }>()
1270
+ * )
1271
+ * .selectFrom(['updated_person', 'updated_pet'])
1272
+ * .selectAll()
1273
+ * .executeTakeFirstOrThrow()
1274
+ * ```
1275
+ */
1276
+ $assertType<T extends O>(): O extends T ? UpdateQueryBuilder<DB, UT, TB, T> : KyselyTypeError<`$assertType() call failed: The type passed in is not equal to the output type of the query.`>;
1277
+ /**
1278
+ * Returns a copy of this UpdateQueryBuilder instance with the given plugin installed.
1279
+ */
1280
+ withPlugin(plugin: KyselyPlugin): UpdateQueryBuilder<DB, UT, TB, O>;
1281
+ toOperationNode(): UpdateQueryNode;
1282
+ compile(): CompiledQuery<SimplifyResult<O>>;
1283
+ /**
1284
+ * Executes the query and returns an array of rows.
1285
+ *
1286
+ * Also see the {@link executeTakeFirst} and {@link executeTakeFirstOrThrow} methods.
1287
+ */
1288
+ execute(): Promise<SimplifyResult<O>[]>;
1289
+ /**
1290
+ * Executes the query and returns the first result or undefined if
1291
+ * the query returned no result.
1292
+ */
1293
+ executeTakeFirst(): Promise<SimplifySingleResult<O>>;
1294
+ /**
1295
+ * Executes the query and returns the first result or throws if
1296
+ * the query returned no result.
1297
+ *
1298
+ * By default an instance of {@link NoResultError} is thrown, but you can
1299
+ * provide a custom error class, or callback as the only argument to throw a different
1300
+ * error.
1301
+ */
1302
+ executeTakeFirstOrThrow(errorConstructor?: NoResultErrorConstructor | ((node: QueryNode) => Error)): Promise<SimplifyResult<O>>;
1303
+ /**
1304
+ * Executes the query and streams the rows.
1305
+ *
1306
+ * The optional argument `chunkSize` defines how many rows to fetch from the database
1307
+ * at a time. It only affects some dialects like PostgreSQL that support it.
1308
+ *
1309
+ * ### Examples
1310
+ *
1311
+ * ```ts
1312
+ * const stream = db
1313
+ * .selectFrom('person')
1314
+ * .select(['first_name', 'last_name'])
1315
+ * .where('gender', '=', 'other')
1316
+ * .stream()
1317
+ *
1318
+ * for await (const person of stream) {
1319
+ * console.log(person.first_name)
1320
+ *
1321
+ * if (person.last_name === 'Something') {
1322
+ * // Breaking or returning before the stream has ended will release
1323
+ * // the database connection and invalidate the stream.
1324
+ * break
1325
+ * }
1326
+ * }
1327
+ * ```
1328
+ */
1329
+ stream(chunkSize?: number): AsyncIterableIterator<O>;
1330
+ /**
1331
+ * Executes query with `explain` statement before the main query.
1332
+ *
1333
+ * ```ts
1334
+ * const explained = await db
1335
+ * .selectFrom('person')
1336
+ * .where('gender', '=', 'female')
1337
+ * .selectAll()
1338
+ * .explain('json')
1339
+ * ```
1340
+ *
1341
+ * The generated SQL (MySQL):
1342
+ *
1343
+ * ```sql
1344
+ * explain format=json select * from `person` where `gender` = ?
1345
+ * ```
1346
+ *
1347
+ * You can also execute `explain analyze` statements.
1348
+ *
1349
+ * ```ts
1350
+ * import { sql } from 'kysely'
1351
+ *
1352
+ * const explained = await db
1353
+ * .selectFrom('person')
1354
+ * .where('gender', '=', 'female')
1355
+ * .selectAll()
1356
+ * .explain('json', sql`analyze`)
1357
+ * ```
1358
+ *
1359
+ * The generated SQL (PostgreSQL):
1360
+ *
1361
+ * ```sql
1362
+ * explain (analyze, format json) select * from "person" where "gender" = $1
1363
+ * ```
1364
+ */
1365
+ explain<ER extends Record<string, any> = Record<string, any>>(format?: ExplainFormat, options?: Expression<any>): Promise<ER[]>;
1366
+ }
1367
+ export interface UpdateQueryBuilderProps {
1368
+ readonly queryId: QueryId;
1369
+ readonly queryNode: UpdateQueryNode;
1370
+ readonly executor: QueryExecutor;
1371
+ }
1372
+ export type UpdateQueryBuilderWithInnerJoin<DB, UT extends keyof DB, TB extends keyof DB, O, TE extends TableExpression<DB, TB>> = TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? InnerJoinedBuilder<DB, UT, TB, O, A, DB[T]> : never : TE extends keyof DB ? UpdateQueryBuilder<DB, UT, TB | TE, O> : TE extends AliasedExpression<infer QO, infer QA> ? InnerJoinedBuilder<DB, UT, TB, O, QA, QO> : TE extends (qb: any) => AliasedExpression<infer QO, infer QA> ? InnerJoinedBuilder<DB, UT, TB, O, QA, QO> : never;
1373
+ type InnerJoinedBuilder<DB, UT extends keyof DB, TB extends keyof DB, O, A extends string, R> = A extends keyof DB ? UpdateQueryBuilder<InnerJoinedDB<DB, A, R>, UT, TB | A, O> : UpdateQueryBuilder<DB & ShallowRecord<A, R>, UT, TB | A, O>;
1374
+ type InnerJoinedDB<DB, A extends string, R> = DrainOuterGeneric<{
1375
+ [C in keyof DB | A]: C extends A ? R : C extends keyof DB ? DB[C] : never;
1376
+ }>;
1377
+ export type UpdateQueryBuilderWithLeftJoin<DB, UT extends keyof DB, TB extends keyof DB, O, TE extends TableExpression<DB, TB>> = TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? LeftJoinedBuilder<DB, UT, TB, O, A, DB[T]> : never : TE extends keyof DB ? LeftJoinedBuilder<DB, UT, TB, O, TE, DB[TE]> : TE extends AliasedExpression<infer QO, infer QA> ? LeftJoinedBuilder<DB, UT, TB, O, QA, QO> : TE extends (qb: any) => AliasedExpression<infer QO, infer QA> ? LeftJoinedBuilder<DB, UT, TB, O, QA, QO> : never;
1378
+ type LeftJoinedBuilder<DB, UT extends keyof DB, TB extends keyof DB, O, A extends keyof any, R> = A extends keyof DB ? UpdateQueryBuilder<LeftJoinedDB<DB, A, R>, UT, TB | A, O> : UpdateQueryBuilder<DB & ShallowRecord<A, Nullable<R>>, UT, TB | A, O>;
1379
+ type LeftJoinedDB<DB, A extends keyof any, R> = DrainOuterGeneric<{
1380
+ [C in keyof DB | A]: C extends A ? Nullable<R> : C extends keyof DB ? DB[C] : never;
1381
+ }>;
1382
+ export type UpdateQueryBuilderWithRightJoin<DB, UT extends keyof DB, TB extends keyof DB, O, TE extends TableExpression<DB, TB>> = TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? RightJoinedBuilder<DB, UT, TB, O, A, DB[T]> : never : TE extends keyof DB ? RightJoinedBuilder<DB, UT, TB, O, TE, DB[TE]> : TE extends AliasedExpression<infer QO, infer QA> ? RightJoinedBuilder<DB, UT, TB, O, QA, QO> : TE extends (qb: any) => AliasedExpression<infer QO, infer QA> ? RightJoinedBuilder<DB, UT, TB, O, QA, QO> : never;
1383
+ type RightJoinedBuilder<DB, UT extends keyof DB, TB extends keyof DB, O, A extends keyof any, R> = UpdateQueryBuilder<RightJoinedDB<DB, TB, A, R>, UT, TB | A, O>;
1384
+ type RightJoinedDB<DB, TB extends keyof DB, A extends keyof any, R> = DrainOuterGeneric<{
1385
+ [C in keyof DB | A]: C extends A ? R : C extends TB ? Nullable<DB[C]> : C extends keyof DB ? DB[C] : never;
1386
+ }>;
1387
+ export type UpdateQueryBuilderWithFullJoin<DB, UT extends keyof DB, TB extends keyof DB, O, TE extends TableExpression<DB, TB>> = TE extends `${infer T} as ${infer A}` ? T extends keyof DB ? OuterJoinedBuilder<DB, UT, TB, O, A, DB[T]> : never : TE extends keyof DB ? OuterJoinedBuilder<DB, UT, TB, O, TE, DB[TE]> : TE extends AliasedExpression<infer QO, infer QA> ? OuterJoinedBuilder<DB, UT, TB, O, QA, QO> : TE extends (qb: any) => AliasedExpression<infer QO, infer QA> ? OuterJoinedBuilder<DB, UT, TB, O, QA, QO> : never;
1388
+ type OuterJoinedBuilder<DB, UT extends keyof DB, TB extends keyof DB, O, A extends keyof any, R> = UpdateQueryBuilder<OuterJoinedBuilderDB<DB, TB, A, R>, UT, TB | A, O>;
1389
+ type OuterJoinedBuilderDB<DB, TB extends keyof DB, A extends keyof any, R> = DrainOuterGeneric<{
1390
+ [C in keyof DB | A]: C extends A ? Nullable<R> : C extends TB ? Nullable<DB[C]> : C extends keyof DB ? DB[C] : never;
1391
+ }>;
1392
+ export {};