@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,1157 @@
1
+ /// <reference types="./insert-query-builder.d.ts" />
2
+ import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js';
3
+ import { parseInsertExpression, } from '../parser/insert-values-parser.js';
4
+ import { InsertQueryNode } from '../operation-node/insert-query-node.js';
5
+ import { QueryNode } from '../operation-node/query-node.js';
6
+ import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js';
7
+ import { freeze } from '../util/object-utils.js';
8
+ import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js';
9
+ import { InsertResult } from './insert-result.js';
10
+ import { isNoResultErrorConstructor, NoResultError, } from './no-result-error.js';
11
+ import { parseExpression, } from '../parser/expression-parser.js';
12
+ import { ColumnNode } from '../operation-node/column-node.js';
13
+ import { OnConflictBuilder, } from './on-conflict-builder.js';
14
+ import { OnConflictNode } from '../operation-node/on-conflict-node.js';
15
+ import { parseTop } from '../parser/top-parser.js';
16
+ import { OrActionNode } from '../operation-node/or-action-node.js';
17
+ export class InsertQueryBuilder {
18
+ #props;
19
+ constructor(props) {
20
+ this.#props = freeze(props);
21
+ }
22
+ /**
23
+ * Sets the values to insert for an {@link Kysely.insertInto | insert} query.
24
+ *
25
+ * This method takes an object whose keys are column names and values are
26
+ * values to insert. In addition to the column's type, the values can be
27
+ * raw {@link sql} snippets or select queries.
28
+ *
29
+ * You must provide all fields you haven't explicitly marked as nullable
30
+ * or optional using {@link Generated} or {@link ColumnType}.
31
+ *
32
+ * The return value of an `insert` query is an instance of {@link InsertResult}. The
33
+ * {@link InsertResult.insertId | insertId} field holds the auto incremented primary
34
+ * key if the database returned one.
35
+ *
36
+ * On PostgreSQL and some other dialects, you need to call `returning` to get
37
+ * something out of the query.
38
+ *
39
+ * Also see the {@link expression} method for inserting the result of a select
40
+ * query or any other expression.
41
+ *
42
+ * ### Examples
43
+ *
44
+ * <!-- siteExample("insert", "Single row", 10) -->
45
+ *
46
+ * Insert a single row:
47
+ *
48
+ * ```ts
49
+ * const result = await db
50
+ * .insertInto('person')
51
+ * .values({
52
+ * first_name: 'Jennifer',
53
+ * last_name: 'Aniston',
54
+ * age: 40
55
+ * })
56
+ * .executeTakeFirst()
57
+ *
58
+ * // `insertId` is only available on dialects that
59
+ * // automatically return the id of the inserted row
60
+ * // such as MySQL and SQLite. On PostgreSQL, for example,
61
+ * // you need to add a `returning` clause to the query to
62
+ * // get anything out. See the "returning data" example.
63
+ * console.log(result.insertId)
64
+ * ```
65
+ *
66
+ * The generated SQL (MySQL):
67
+ *
68
+ * ```sql
69
+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?)
70
+ * ```
71
+ *
72
+ * <!-- siteExample("insert", "Multiple rows", 20) -->
73
+ *
74
+ * On dialects that support it (for example PostgreSQL) you can insert multiple
75
+ * rows by providing an array. Note that the return value is once again very
76
+ * dialect-specific. Some databases may only return the id of the *last* inserted
77
+ * row and some return nothing at all unless you call `returning`.
78
+ *
79
+ * ```ts
80
+ * await db
81
+ * .insertInto('person')
82
+ * .values([{
83
+ * first_name: 'Jennifer',
84
+ * last_name: 'Aniston',
85
+ * age: 40,
86
+ * }, {
87
+ * first_name: 'Arnold',
88
+ * last_name: 'Schwarzenegger',
89
+ * age: 70,
90
+ * }])
91
+ * .execute()
92
+ * ```
93
+ *
94
+ * The generated SQL (PostgreSQL):
95
+ *
96
+ * ```sql
97
+ * insert into "person" ("first_name", "last_name", "age") values (($1, $2, $3), ($4, $5, $6))
98
+ * ```
99
+ *
100
+ * <!-- siteExample("insert", "Returning data", 30) -->
101
+ *
102
+ * On supported dialects like PostgreSQL you need to chain `returning` to the query to get
103
+ * the inserted row's columns (or any other expression) as the return value. `returning`
104
+ * works just like `select`. Refer to `select` method's examples and documentation for
105
+ * more info.
106
+ *
107
+ * ```ts
108
+ * const result = await db
109
+ * .insertInto('person')
110
+ * .values({
111
+ * first_name: 'Jennifer',
112
+ * last_name: 'Aniston',
113
+ * age: 40,
114
+ * })
115
+ * .returning(['id', 'first_name as name'])
116
+ * .executeTakeFirstOrThrow()
117
+ * ```
118
+ *
119
+ * The generated SQL (PostgreSQL):
120
+ *
121
+ * ```sql
122
+ * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) returning "id", "first_name" as "name"
123
+ * ```
124
+ *
125
+ * <!-- siteExample("insert", "Complex values", 40) -->
126
+ *
127
+ * In addition to primitives, the values can also be arbitrary expressions.
128
+ * You can build the expressions by using a callback and calling the methods
129
+ * on the expression builder passed to it:
130
+ *
131
+ * ```ts
132
+ * import { sql } from 'kysely'
133
+ *
134
+ * const ani = "Ani"
135
+ * const ston = "ston"
136
+ *
137
+ * const result = await db
138
+ * .insertInto('person')
139
+ * .values(({ ref, selectFrom, fn }) => ({
140
+ * first_name: 'Jennifer',
141
+ * last_name: sql<string>`concat(${ani}, ${ston})`,
142
+ * middle_name: ref('first_name'),
143
+ * age: selectFrom('person')
144
+ * .select(fn.avg<number>('age').as('avg_age')),
145
+ * }))
146
+ * .executeTakeFirst()
147
+ * ```
148
+ *
149
+ * The generated SQL (PostgreSQL):
150
+ *
151
+ * ```sql
152
+ * insert into "person" (
153
+ * "first_name",
154
+ * "last_name",
155
+ * "middle_name",
156
+ * "age"
157
+ * )
158
+ * values (
159
+ * $1,
160
+ * concat($2, $3),
161
+ * "first_name",
162
+ * (select avg("age") as "avg_age" from "person")
163
+ * )
164
+ * ```
165
+ *
166
+ * You can also use the callback version of subqueries or raw expressions:
167
+ *
168
+ * ```ts
169
+ * await db.with('jennifer', (db) => db
170
+ * .selectFrom('person')
171
+ * .where('first_name', '=', 'Jennifer')
172
+ * .select(['id', 'first_name', 'gender'])
173
+ * .limit(1)
174
+ * ).insertInto('pet').values((eb) => ({
175
+ * owner_id: eb.selectFrom('jennifer').select('id'),
176
+ * name: eb.selectFrom('jennifer').select('first_name'),
177
+ * species: 'cat',
178
+ * }))
179
+ * .execute()
180
+ * ```
181
+ *
182
+ * The generated SQL (PostgreSQL):
183
+ *
184
+ * ```sql
185
+ * with "jennifer" as (
186
+ * select "id", "first_name", "gender"
187
+ * from "person"
188
+ * where "first_name" = $1
189
+ * limit $2
190
+ * )
191
+ * insert into "pet" ("owner_id", "name", "species")
192
+ * values (
193
+ * (select "id" from "jennifer"),
194
+ * (select "first_name" from "jennifer"),
195
+ * $3
196
+ * )
197
+ * ```
198
+ */
199
+ values(insert) {
200
+ const [columns, values] = parseInsertExpression(insert);
201
+ return new InsertQueryBuilder({
202
+ ...this.#props,
203
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
204
+ columns,
205
+ values,
206
+ }),
207
+ });
208
+ }
209
+ /**
210
+ * Sets the columns to insert.
211
+ *
212
+ * The {@link values} method sets both the columns and the values and this method
213
+ * is not needed. But if you are using the {@link expression} method, you can use
214
+ * this method to set the columns to insert.
215
+ *
216
+ * ### Examples
217
+ *
218
+ * ```ts
219
+ * await db.insertInto('person')
220
+ * .columns(['first_name'])
221
+ * .expression((eb) => eb.selectFrom('pet').select('pet.name'))
222
+ * .execute()
223
+ * ```
224
+ *
225
+ * The generated SQL (PostgreSQL):
226
+ *
227
+ * ```sql
228
+ * insert into "person" ("first_name")
229
+ * select "pet"."name" from "pet"
230
+ * ```
231
+ */
232
+ columns(columns) {
233
+ return new InsertQueryBuilder({
234
+ ...this.#props,
235
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
236
+ columns: freeze(columns.map(ColumnNode.create)),
237
+ }),
238
+ });
239
+ }
240
+ /**
241
+ * Insert an arbitrary expression. For example the result of a select query.
242
+ *
243
+ * ### Examples
244
+ *
245
+ * <!-- siteExample("insert", "Insert subquery", 50) -->
246
+ *
247
+ * You can create an `INSERT INTO SELECT FROM` query using the `expression` method.
248
+ * This API doesn't follow our WYSIWYG principles and might be a bit difficult to
249
+ * remember. The reasons for this design stem from implementation difficulties.
250
+ *
251
+ * ```ts
252
+ * const result = await db.insertInto('person')
253
+ * .columns(['first_name', 'last_name', 'age'])
254
+ * .expression((eb) => eb
255
+ * .selectFrom('pet')
256
+ * .select((eb) => [
257
+ * 'pet.name',
258
+ * eb.val('Petson').as('last_name'),
259
+ * eb.lit(7).as('age'),
260
+ * ])
261
+ * )
262
+ * .execute()
263
+ * ```
264
+ *
265
+ * The generated SQL (PostgreSQL):
266
+ *
267
+ * ```sql
268
+ * insert into "person" ("first_name", "last_name", "age")
269
+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet"
270
+ * ```
271
+ */
272
+ expression(expression) {
273
+ return new InsertQueryBuilder({
274
+ ...this.#props,
275
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
276
+ values: parseExpression(expression),
277
+ }),
278
+ });
279
+ }
280
+ /**
281
+ * Creates an `insert into "person" default values` query.
282
+ *
283
+ * ### Examples
284
+ *
285
+ * ```ts
286
+ * await db.insertInto('person')
287
+ * .defaultValues()
288
+ * .execute()
289
+ * ```
290
+ *
291
+ * The generated SQL (PostgreSQL):
292
+ *
293
+ * ```sql
294
+ * insert into "person" default values
295
+ * ```
296
+ */
297
+ defaultValues() {
298
+ return new InsertQueryBuilder({
299
+ ...this.#props,
300
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
301
+ defaultValues: true,
302
+ }),
303
+ });
304
+ }
305
+ /**
306
+ * This can be used to add any additional SQL to the end of the query.
307
+ *
308
+ * ### Examples
309
+ *
310
+ * ```ts
311
+ * import { sql } from 'kysely'
312
+ *
313
+ * await db.insertInto('person')
314
+ * .values({
315
+ * first_name: 'John',
316
+ * last_name: 'Doe',
317
+ * gender: 'male',
318
+ * })
319
+ * .modifyEnd(sql`-- This is a comment`)
320
+ * .execute()
321
+ * ```
322
+ *
323
+ * The generated SQL (MySQL):
324
+ *
325
+ * ```sql
326
+ * insert into `person` ("first_name", "last_name", "gender")
327
+ * values (?, ?, ?) -- This is a comment
328
+ * ```
329
+ */
330
+ modifyEnd(modifier) {
331
+ return new InsertQueryBuilder({
332
+ ...this.#props,
333
+ queryNode: QueryNode.cloneWithEndModifier(this.#props.queryNode, modifier.toOperationNode()),
334
+ });
335
+ }
336
+ /**
337
+ * Changes an `insert into` query to an `insert ignore into` query.
338
+ *
339
+ * This is only supported by some dialects like MySQL.
340
+ *
341
+ * To avoid a footgun, when invoked with the SQLite dialect, this method will
342
+ * be handled like {@link orIgnore}. See also, {@link orAbort}, {@link orFail},
343
+ * {@link orReplace}, and {@link orRollback}.
344
+ *
345
+ * If you use the ignore modifier, ignorable errors that occur while executing the
346
+ * insert statement are ignored. For example, without ignore, a row that duplicates
347
+ * an existing unique index or primary key value in the table causes a duplicate-key
348
+ * error and the statement is aborted. With ignore, the row is discarded and no error
349
+ * occurs.
350
+ *
351
+ * ### Examples
352
+ *
353
+ * ```ts
354
+ * await db.insertInto('person')
355
+ * .ignore()
356
+ * .values({
357
+ * first_name: 'John',
358
+ * last_name: 'Doe',
359
+ * gender: 'female',
360
+ * })
361
+ * .execute()
362
+ * ```
363
+ *
364
+ * The generated SQL (MySQL):
365
+ *
366
+ * ```sql
367
+ * insert ignore into `person` (`first_name`, `last_name`, `gender`) values (?, ?, ?)
368
+ * ```
369
+ *
370
+ * The generated SQL (SQLite):
371
+ *
372
+ * ```sql
373
+ * insert or ignore into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
374
+ * ```
375
+ */
376
+ ignore() {
377
+ return new InsertQueryBuilder({
378
+ ...this.#props,
379
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
380
+ orAction: OrActionNode.create('ignore'),
381
+ }),
382
+ });
383
+ }
384
+ /**
385
+ * Changes an `insert into` query to an `insert or ignore into` query.
386
+ *
387
+ * This is only supported by some dialects like SQLite.
388
+ *
389
+ * To avoid a footgun, when invoked with the MySQL dialect, this method will
390
+ * be handled like {@link ignore}.
391
+ *
392
+ * See also, {@link orAbort}, {@link orFail}, {@link orReplace}, and {@link orRollback}.
393
+ *
394
+ * ### Examples
395
+ *
396
+ * ```ts
397
+ * await db.insertInto('person')
398
+ * .orIgnore()
399
+ * .values({
400
+ * first_name: 'John',
401
+ * last_name: 'Doe',
402
+ * gender: 'female',
403
+ * })
404
+ * .execute()
405
+ * ```
406
+ *
407
+ * The generated SQL (SQLite):
408
+ *
409
+ * ```sql
410
+ * insert or ignore into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
411
+ * ```
412
+ *
413
+ * The generated SQL (MySQL):
414
+ *
415
+ * ```sql
416
+ * insert ignore into `person` (`first_name`, `last_name`, `gender`) values (?, ?, ?)
417
+ * ```
418
+ */
419
+ orIgnore() {
420
+ return new InsertQueryBuilder({
421
+ ...this.#props,
422
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
423
+ orAction: OrActionNode.create('ignore'),
424
+ }),
425
+ });
426
+ }
427
+ /**
428
+ * Changes an `insert into` query to an `insert or abort into` query.
429
+ *
430
+ * This is only supported by some dialects like SQLite.
431
+ *
432
+ * See also, {@link orIgnore}, {@link orFail}, {@link orReplace}, and {@link orRollback}.
433
+ *
434
+ * ### Examples
435
+ *
436
+ * ```ts
437
+ * await db.insertInto('person')
438
+ * .orAbort()
439
+ * .values({
440
+ * first_name: 'John',
441
+ * last_name: 'Doe',
442
+ * gender: 'female',
443
+ * })
444
+ * .execute()
445
+ * ```
446
+ *
447
+ * The generated SQL (SQLite):
448
+ *
449
+ * ```sql
450
+ * insert or abort into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
451
+ * ```
452
+ */
453
+ orAbort() {
454
+ return new InsertQueryBuilder({
455
+ ...this.#props,
456
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
457
+ orAction: OrActionNode.create('abort'),
458
+ }),
459
+ });
460
+ }
461
+ /**
462
+ * Changes an `insert into` query to an `insert or fail into` query.
463
+ *
464
+ * This is only supported by some dialects like SQLite.
465
+ *
466
+ * See also, {@link orIgnore}, {@link orAbort}, {@link orReplace}, and {@link orRollback}.
467
+ *
468
+ * ### Examples
469
+ *
470
+ * ```ts
471
+ * await db.insertInto('person')
472
+ * .orFail()
473
+ * .values({
474
+ * first_name: 'John',
475
+ * last_name: 'Doe',
476
+ * gender: 'female',
477
+ * })
478
+ * .execute()
479
+ * ```
480
+ *
481
+ * The generated SQL (SQLite):
482
+ *
483
+ * ```sql
484
+ * insert or fail into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
485
+ * ```
486
+ */
487
+ orFail() {
488
+ return new InsertQueryBuilder({
489
+ ...this.#props,
490
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
491
+ orAction: OrActionNode.create('fail'),
492
+ }),
493
+ });
494
+ }
495
+ /**
496
+ * Changes an `insert into` query to an `insert or replace into` query.
497
+ *
498
+ * This is only supported by some dialects like SQLite.
499
+ *
500
+ * You can also use {@link Kysely.replaceInto} to achieve the same result.
501
+ *
502
+ * See also, {@link orIgnore}, {@link orAbort}, {@link orFail}, and {@link orRollback}.
503
+ *
504
+ * ### Examples
505
+ *
506
+ * ```ts
507
+ * await db.insertInto('person')
508
+ * .orReplace()
509
+ * .values({
510
+ * first_name: 'John',
511
+ * last_name: 'Doe',
512
+ * gender: 'female',
513
+ * })
514
+ * .execute()
515
+ * ```
516
+ *
517
+ * The generated SQL (SQLite):
518
+ *
519
+ * ```sql
520
+ * insert or replace into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
521
+ * ```
522
+ */
523
+ orReplace() {
524
+ return new InsertQueryBuilder({
525
+ ...this.#props,
526
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
527
+ orAction: OrActionNode.create('replace'),
528
+ }),
529
+ });
530
+ }
531
+ /**
532
+ * Changes an `insert into` query to an `insert or rollback into` query.
533
+ *
534
+ * This is only supported by some dialects like SQLite.
535
+ *
536
+ * See also, {@link orIgnore}, {@link orAbort}, {@link orFail}, and {@link orReplace}.
537
+ *
538
+ * ### Examples
539
+ *
540
+ * ```ts
541
+ * await db.insertInto('person')
542
+ * .orRollback()
543
+ * .values({
544
+ * first_name: 'John',
545
+ * last_name: 'Doe',
546
+ * gender: 'female',
547
+ * })
548
+ * .execute()
549
+ * ```
550
+ *
551
+ * The generated SQL (SQLite):
552
+ *
553
+ * ```sql
554
+ * insert or rollback into "person" ("first_name", "last_name", "gender") values (?, ?, ?)
555
+ * ```
556
+ */
557
+ orRollback() {
558
+ return new InsertQueryBuilder({
559
+ ...this.#props,
560
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
561
+ orAction: OrActionNode.create('rollback'),
562
+ }),
563
+ });
564
+ }
565
+ /**
566
+ * Changes an `insert into` query to an `insert top into` query.
567
+ *
568
+ * `top` clause is only supported by some dialects like MS SQL Server.
569
+ *
570
+ * ### Examples
571
+ *
572
+ * Insert the first 5 rows:
573
+ *
574
+ * ```ts
575
+ * import { sql } from 'kysely'
576
+ *
577
+ * await db.insertInto('person')
578
+ * .top(5)
579
+ * .columns(['first_name', 'gender'])
580
+ * .expression(
581
+ * (eb) => eb.selectFrom('pet').select(['name', sql.lit('other').as('gender')])
582
+ * )
583
+ * .execute()
584
+ * ```
585
+ *
586
+ * The generated SQL (MS SQL Server):
587
+ *
588
+ * ```sql
589
+ * insert top(5) into "person" ("first_name", "gender") select "name", 'other' as "gender" from "pet"
590
+ * ```
591
+ *
592
+ * Insert the first 50 percent of rows:
593
+ *
594
+ * ```ts
595
+ * import { sql } from 'kysely'
596
+ *
597
+ * await db.insertInto('person')
598
+ * .top(50, 'percent')
599
+ * .columns(['first_name', 'gender'])
600
+ * .expression(
601
+ * (eb) => eb.selectFrom('pet').select(['name', sql.lit('other').as('gender')])
602
+ * )
603
+ * .execute()
604
+ * ```
605
+ *
606
+ * The generated SQL (MS SQL Server):
607
+ *
608
+ * ```sql
609
+ * insert top(50) percent into "person" ("first_name", "gender") select "name", 'other' as "gender" from "pet"
610
+ * ```
611
+ */
612
+ top(expression, modifiers) {
613
+ return new InsertQueryBuilder({
614
+ ...this.#props,
615
+ queryNode: QueryNode.cloneWithTop(this.#props.queryNode, parseTop(expression, modifiers)),
616
+ });
617
+ }
618
+ /**
619
+ * Adds an `on conflict` clause to the query.
620
+ *
621
+ * `on conflict` is only supported by some dialects like PostgreSQL and SQLite. On MySQL
622
+ * you can use {@link ignore} and {@link onDuplicateKeyUpdate} to achieve similar results.
623
+ *
624
+ * ### Examples
625
+ *
626
+ * ```ts
627
+ * await db
628
+ * .insertInto('pet')
629
+ * .values({
630
+ * name: 'Catto',
631
+ * species: 'cat',
632
+ * owner_id: 3,
633
+ * })
634
+ * .onConflict((oc) => oc
635
+ * .column('name')
636
+ * .doUpdateSet({ species: 'hamster' })
637
+ * )
638
+ * .execute()
639
+ * ```
640
+ *
641
+ * The generated SQL (PostgreSQL):
642
+ *
643
+ * ```sql
644
+ * insert into "pet" ("name", "species", "owner_id")
645
+ * values ($1, $2, $3)
646
+ * on conflict ("name")
647
+ * do update set "species" = $4
648
+ * ```
649
+ *
650
+ * You can provide the name of the constraint instead of a column name:
651
+ *
652
+ * ```ts
653
+ * await db
654
+ * .insertInto('pet')
655
+ * .values({
656
+ * name: 'Catto',
657
+ * species: 'cat',
658
+ * owner_id: 3,
659
+ * })
660
+ * .onConflict((oc) => oc
661
+ * .constraint('pet_name_key')
662
+ * .doUpdateSet({ species: 'hamster' })
663
+ * )
664
+ * .execute()
665
+ * ```
666
+ *
667
+ * The generated SQL (PostgreSQL):
668
+ *
669
+ * ```sql
670
+ * insert into "pet" ("name", "species", "owner_id")
671
+ * values ($1, $2, $3)
672
+ * on conflict on constraint "pet_name_key"
673
+ * do update set "species" = $4
674
+ * ```
675
+ *
676
+ * You can also specify an expression as the conflict target in case
677
+ * the unique index is an expression index:
678
+ *
679
+ * ```ts
680
+ * import { sql } from 'kysely'
681
+ *
682
+ * await db
683
+ * .insertInto('pet')
684
+ * .values({
685
+ * name: 'Catto',
686
+ * species: 'cat',
687
+ * owner_id: 3,
688
+ * })
689
+ * .onConflict((oc) => oc
690
+ * .expression(sql<string>`lower(name)`)
691
+ * .doUpdateSet({ species: 'hamster' })
692
+ * )
693
+ * .execute()
694
+ * ```
695
+ *
696
+ * The generated SQL (PostgreSQL):
697
+ *
698
+ * ```sql
699
+ * insert into "pet" ("name", "species", "owner_id")
700
+ * values ($1, $2, $3)
701
+ * on conflict (lower(name))
702
+ * do update set "species" = $4
703
+ * ```
704
+ *
705
+ * You can add a filter for the update statement like this:
706
+ *
707
+ * ```ts
708
+ * await db
709
+ * .insertInto('pet')
710
+ * .values({
711
+ * name: 'Catto',
712
+ * species: 'cat',
713
+ * owner_id: 3,
714
+ * })
715
+ * .onConflict((oc) => oc
716
+ * .column('name')
717
+ * .doUpdateSet({ species: 'hamster' })
718
+ * .where('excluded.name', '!=', 'Catto')
719
+ * )
720
+ * .execute()
721
+ * ```
722
+ *
723
+ * The generated SQL (PostgreSQL):
724
+ *
725
+ * ```sql
726
+ * insert into "pet" ("name", "species", "owner_id")
727
+ * values ($1, $2, $3)
728
+ * on conflict ("name")
729
+ * do update set "species" = $4
730
+ * where "excluded"."name" != $5
731
+ * ```
732
+ *
733
+ * You can create an `on conflict do nothing` clauses like this:
734
+ *
735
+ * ```ts
736
+ * await db
737
+ * .insertInto('pet')
738
+ * .values({
739
+ * name: 'Catto',
740
+ * species: 'cat',
741
+ * owner_id: 3,
742
+ * })
743
+ * .onConflict((oc) => oc
744
+ * .column('name')
745
+ * .doNothing()
746
+ * )
747
+ * .execute()
748
+ * ```
749
+ *
750
+ * The generated SQL (PostgreSQL):
751
+ *
752
+ * ```sql
753
+ * insert into "pet" ("name", "species", "owner_id")
754
+ * values ($1, $2, $3)
755
+ * on conflict ("name") do nothing
756
+ * ```
757
+ *
758
+ * You can refer to the columns of the virtual `excluded` table
759
+ * in a type-safe way using a callback and the `ref` method of
760
+ * `ExpressionBuilder`:
761
+ *
762
+ * ```ts
763
+ * await db.insertInto('person')
764
+ * .values({
765
+ * id: 1,
766
+ * first_name: 'John',
767
+ * last_name: 'Doe',
768
+ * gender: 'male',
769
+ * })
770
+ * .onConflict(oc => oc
771
+ * .column('id')
772
+ * .doUpdateSet({
773
+ * first_name: (eb) => eb.ref('excluded.first_name'),
774
+ * last_name: (eb) => eb.ref('excluded.last_name')
775
+ * })
776
+ * )
777
+ * .execute()
778
+ * ```
779
+ *
780
+ * The generated SQL (PostgreSQL):
781
+ *
782
+ * ```sql
783
+ * insert into "person" ("id", "first_name", "last_name", "gender")
784
+ * values ($1, $2, $3, $4)
785
+ * on conflict ("id")
786
+ * do update set
787
+ * "first_name" = "excluded"."first_name",
788
+ * "last_name" = "excluded"."last_name"
789
+ * ```
790
+ */
791
+ onConflict(callback) {
792
+ return new InsertQueryBuilder({
793
+ ...this.#props,
794
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
795
+ onConflict: callback(new OnConflictBuilder({
796
+ onConflictNode: OnConflictNode.create(),
797
+ })).toOperationNode(),
798
+ }),
799
+ });
800
+ }
801
+ /**
802
+ * Adds `on duplicate key update` to the query.
803
+ *
804
+ * If you specify `on duplicate key update`, and a row is inserted that would cause
805
+ * a duplicate value in a unique index or primary key, an update of the old row occurs.
806
+ *
807
+ * This is only implemented by some dialects like MySQL. On most dialects you should
808
+ * use {@link onConflict} instead.
809
+ *
810
+ * ### Examples
811
+ *
812
+ * ```ts
813
+ * await db
814
+ * .insertInto('person')
815
+ * .values({
816
+ * id: 1,
817
+ * first_name: 'John',
818
+ * last_name: 'Doe',
819
+ * gender: 'male',
820
+ * })
821
+ * .onDuplicateKeyUpdate({ updated_at: new Date().toISOString() })
822
+ * .execute()
823
+ * ```
824
+ *
825
+ * The generated SQL (MySQL):
826
+ *
827
+ * ```sql
828
+ * insert into `person` (`id`, `first_name`, `last_name`, `gender`)
829
+ * values (?, ?, ?, ?)
830
+ * on duplicate key update `updated_at` = ?
831
+ * ```
832
+ */
833
+ onDuplicateKeyUpdate(update) {
834
+ return new InsertQueryBuilder({
835
+ ...this.#props,
836
+ queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, {
837
+ onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateObjectExpression(update)),
838
+ }),
839
+ });
840
+ }
841
+ returning(selection) {
842
+ return new InsertQueryBuilder({
843
+ ...this.#props,
844
+ queryNode: QueryNode.cloneWithReturning(this.#props.queryNode, parseSelectArg(selection)),
845
+ });
846
+ }
847
+ returningAll() {
848
+ return new InsertQueryBuilder({
849
+ ...this.#props,
850
+ queryNode: QueryNode.cloneWithReturning(this.#props.queryNode, parseSelectAll()),
851
+ });
852
+ }
853
+ output(args) {
854
+ return new InsertQueryBuilder({
855
+ ...this.#props,
856
+ queryNode: QueryNode.cloneWithOutput(this.#props.queryNode, parseSelectArg(args)),
857
+ });
858
+ }
859
+ outputAll(table) {
860
+ return new InsertQueryBuilder({
861
+ ...this.#props,
862
+ queryNode: QueryNode.cloneWithOutput(this.#props.queryNode, parseSelectAll(table)),
863
+ });
864
+ }
865
+ /**
866
+ * Clears all `returning` clauses from the query.
867
+ *
868
+ * ### Examples
869
+ *
870
+ * ```ts
871
+ * await db.insertInto('person')
872
+ * .values({ first_name: 'James', last_name: 'Smith', gender: 'male' })
873
+ * .returning(['first_name'])
874
+ * .clearReturning()
875
+ * .execute()
876
+ * ```
877
+ *
878
+ * The generated SQL(PostgreSQL):
879
+ *
880
+ * ```sql
881
+ * insert into "person" ("first_name", "last_name", "gender") values ($1, $2, $3)
882
+ * ```
883
+ */
884
+ clearReturning() {
885
+ return new InsertQueryBuilder({
886
+ ...this.#props,
887
+ queryNode: QueryNode.cloneWithoutReturning(this.#props.queryNode),
888
+ });
889
+ }
890
+ /**
891
+ * Simply calls the provided function passing `this` as the only argument. `$call` returns
892
+ * what the provided function returns.
893
+ *
894
+ * If you want to conditionally call a method on `this`, see
895
+ * the {@link $if} method.
896
+ *
897
+ * ### Examples
898
+ *
899
+ * The next example uses a helper function `log` to log a query:
900
+ *
901
+ * ```ts
902
+ * import type { Compilable } from 'kysely'
903
+ *
904
+ * function log<T extends Compilable>(qb: T): T {
905
+ * console.log(qb.compile())
906
+ * return qb
907
+ * }
908
+ *
909
+ * await db.insertInto('person')
910
+ * .values({ first_name: 'John', last_name: 'Doe', gender: 'male' })
911
+ * .$call(log)
912
+ * .execute()
913
+ * ```
914
+ */
915
+ $call(func) {
916
+ return func(this);
917
+ }
918
+ /**
919
+ * Call `func(this)` if `condition` is true.
920
+ *
921
+ * This method is especially handy with optional selects. Any `returning` or `returningAll`
922
+ * method calls add columns as optional fields to the output type when called inside
923
+ * the `func` callback. This is because we can't know if those selections were actually
924
+ * made before running the code.
925
+ *
926
+ * You can also call any other methods inside the callback.
927
+ *
928
+ * ### Examples
929
+ *
930
+ * ```ts
931
+ * import type { NewPerson } from 'type-editor' // imaginary module
932
+ *
933
+ * async function insertPerson(values: NewPerson, returnLastName: boolean) {
934
+ * return await db
935
+ * .insertInto('person')
936
+ * .values(values)
937
+ * .returning(['id', 'first_name'])
938
+ * .$if(returnLastName, (qb) => qb.returning('last_name'))
939
+ * .executeTakeFirstOrThrow()
940
+ * }
941
+ * ```
942
+ *
943
+ * Any selections added inside the `if` callback will be added as optional fields to the
944
+ * output type since we can't know if the selections were actually made before running
945
+ * the code. In the example above the return type of the `insertPerson` function is:
946
+ *
947
+ * ```ts
948
+ * Promise<{
949
+ * id: number
950
+ * first_name: string
951
+ * last_name?: string
952
+ * }>
953
+ * ```
954
+ */
955
+ $if(condition, func) {
956
+ if (condition) {
957
+ return func(this);
958
+ }
959
+ return new InsertQueryBuilder({
960
+ ...this.#props,
961
+ });
962
+ }
963
+ /**
964
+ * Change the output type of the query.
965
+ *
966
+ * This method call doesn't change the SQL in any way. This methods simply
967
+ * returns a copy of this `InsertQueryBuilder` with a new output type.
968
+ */
969
+ $castTo() {
970
+ return new InsertQueryBuilder(this.#props);
971
+ }
972
+ /**
973
+ * Narrows (parts of) the output type of the query.
974
+ *
975
+ * Kysely tries to be as type-safe as possible, but in some cases we have to make
976
+ * compromises for better maintainability and compilation performance. At present,
977
+ * Kysely doesn't narrow the output type of the query based on {@link values} input
978
+ * when using {@link returning} or {@link returningAll}.
979
+ *
980
+ * This utility method is very useful for these situations, as it removes unncessary
981
+ * runtime assertion/guard code. Its input type is limited to the output type
982
+ * of the query, so you can't add a column that doesn't exist, or change a column's
983
+ * type to something that doesn't exist in its union type.
984
+ *
985
+ * ### Examples
986
+ *
987
+ * Turn this code:
988
+ *
989
+ * ```ts
990
+ * import type { Person } from 'type-editor' // imaginary module
991
+ *
992
+ * const person = await db.insertInto('person')
993
+ * .values({
994
+ * first_name: 'John',
995
+ * last_name: 'Doe',
996
+ * gender: 'male',
997
+ * nullable_column: 'hell yeah!'
998
+ * })
999
+ * .returningAll()
1000
+ * .executeTakeFirstOrThrow()
1001
+ *
1002
+ * if (isWithNoNullValue(person)) {
1003
+ * functionThatExpectsPersonWithNonNullValue(person)
1004
+ * }
1005
+ *
1006
+ * function isWithNoNullValue(person: Person): person is Person & { nullable_column: string } {
1007
+ * return person.nullable_column != null
1008
+ * }
1009
+ * ```
1010
+ *
1011
+ * Into this:
1012
+ *
1013
+ * ```ts
1014
+ * import type { NotNull } from 'kysely'
1015
+ *
1016
+ * const person = await db.insertInto('person')
1017
+ * .values({
1018
+ * first_name: 'John',
1019
+ * last_name: 'Doe',
1020
+ * gender: 'male',
1021
+ * nullable_column: 'hell yeah!'
1022
+ * })
1023
+ * .returningAll()
1024
+ * .$narrowType<{ nullable_column: NotNull }>()
1025
+ * .executeTakeFirstOrThrow()
1026
+ *
1027
+ * functionThatExpectsPersonWithNonNullValue(person)
1028
+ * ```
1029
+ */
1030
+ $narrowType() {
1031
+ return new InsertQueryBuilder(this.#props);
1032
+ }
1033
+ /**
1034
+ * Asserts that query's output row type equals the given type `T`.
1035
+ *
1036
+ * This method can be used to simplify excessively complex types to make TypeScript happy
1037
+ * and much faster.
1038
+ *
1039
+ * Kysely uses complex type magic to achieve its type safety. This complexity is sometimes too much
1040
+ * for TypeScript and you get errors like this:
1041
+ *
1042
+ * ```
1043
+ * error TS2589: Type instantiation is excessively deep and possibly infinite.
1044
+ * ```
1045
+ *
1046
+ * In these case you can often use this method to help TypeScript a little bit. When you use this
1047
+ * method to assert the output type of a query, Kysely can drop the complex output type that
1048
+ * consists of multiple nested helper types and replace it with the simple asserted type.
1049
+ *
1050
+ * Using this method doesn't reduce type safety at all. You have to pass in a type that is
1051
+ * structurally equal to the current type.
1052
+ *
1053
+ * ### Examples
1054
+ *
1055
+ * ```ts
1056
+ * import type { NewPerson, NewPet, Species } from 'type-editor' // imaginary module
1057
+ *
1058
+ * async function insertPersonAndPet(person: NewPerson, pet: Omit<NewPet, 'owner_id'>) {
1059
+ * return await db
1060
+ * .with('new_person', (qb) => qb
1061
+ * .insertInto('person')
1062
+ * .values(person)
1063
+ * .returning('id')
1064
+ * .$assertType<{ id: number }>()
1065
+ * )
1066
+ * .with('new_pet', (qb) => qb
1067
+ * .insertInto('pet')
1068
+ * .values((eb) => ({
1069
+ * owner_id: eb.selectFrom('new_person').select('id'),
1070
+ * ...pet
1071
+ * }))
1072
+ * .returning(['name as pet_name', 'species'])
1073
+ * .$assertType<{ pet_name: string, species: Species }>()
1074
+ * )
1075
+ * .selectFrom(['new_person', 'new_pet'])
1076
+ * .selectAll()
1077
+ * .executeTakeFirstOrThrow()
1078
+ * }
1079
+ * ```
1080
+ */
1081
+ $assertType() {
1082
+ return new InsertQueryBuilder(this.#props);
1083
+ }
1084
+ /**
1085
+ * Returns a copy of this InsertQueryBuilder instance with the given plugin installed.
1086
+ */
1087
+ withPlugin(plugin) {
1088
+ return new InsertQueryBuilder({
1089
+ ...this.#props,
1090
+ executor: this.#props.executor.withPlugin(plugin),
1091
+ });
1092
+ }
1093
+ toOperationNode() {
1094
+ return this.#props.executor.transformQuery(this.#props.queryNode, this.#props.queryId);
1095
+ }
1096
+ compile() {
1097
+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId);
1098
+ }
1099
+ /**
1100
+ * Executes the query and returns an array of rows.
1101
+ *
1102
+ * Also see the {@link executeTakeFirst} and {@link executeTakeFirstOrThrow} methods.
1103
+ */
1104
+ async execute() {
1105
+ const compiledQuery = this.compile();
1106
+ const result = await this.#props.executor.executeQuery(compiledQuery);
1107
+ const { adapter } = this.#props.executor;
1108
+ const query = compiledQuery.query;
1109
+ if ((query.returning && adapter.supportsReturning) ||
1110
+ (query.output && adapter.supportsOutput)) {
1111
+ return result.rows;
1112
+ }
1113
+ return [
1114
+ new InsertResult(result.insertId, result.numAffectedRows ?? BigInt(0)),
1115
+ ];
1116
+ }
1117
+ /**
1118
+ * Executes the query and returns the first result or undefined if
1119
+ * the query returned no result.
1120
+ */
1121
+ async executeTakeFirst() {
1122
+ const [result] = await this.execute();
1123
+ return result;
1124
+ }
1125
+ /**
1126
+ * Executes the query and returns the first result or throws if
1127
+ * the query returned no result.
1128
+ *
1129
+ * By default an instance of {@link NoResultError} is thrown, but you can
1130
+ * provide a custom error class, or callback as the only argument to throw a different
1131
+ * error.
1132
+ */
1133
+ async executeTakeFirstOrThrow(errorConstructor = NoResultError) {
1134
+ const result = await this.executeTakeFirst();
1135
+ if (result === undefined) {
1136
+ const error = isNoResultErrorConstructor(errorConstructor)
1137
+ ? new errorConstructor(this.toOperationNode())
1138
+ : errorConstructor(this.toOperationNode());
1139
+ throw error;
1140
+ }
1141
+ return result;
1142
+ }
1143
+ async *stream(chunkSize = 100) {
1144
+ const compiledQuery = this.compile();
1145
+ const stream = this.#props.executor.stream(compiledQuery, chunkSize);
1146
+ for await (const item of stream) {
1147
+ yield* item.rows;
1148
+ }
1149
+ }
1150
+ async explain(format, options) {
1151
+ const builder = new InsertQueryBuilder({
1152
+ ...this.#props,
1153
+ queryNode: QueryNode.cloneWithExplain(this.#props.queryNode, format, options),
1154
+ });
1155
+ return await builder.execute();
1156
+ }
1157
+ }