@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,917 @@
1
+ /// <reference types="./kysely.d.ts" />
2
+ import { SchemaModule } from './schema/schema.js';
3
+ import { DynamicModule } from './dynamic/dynamic.js';
4
+ import { DefaultConnectionProvider } from './driver/default-connection-provider.js';
5
+ import { QueryCreator } from './query-creator.js';
6
+ import { DefaultQueryExecutor } from './query-executor/default-query-executor.js';
7
+ import { freeze, isObject, isUndefined } from './util/object-utils.js';
8
+ import { RuntimeDriver } from './driver/runtime-driver.js';
9
+ import { SingleConnectionProvider } from './driver/single-connection-provider.js';
10
+ import { validateTransactionSettings, } from './driver/driver.js';
11
+ import { createFunctionModule, } from './query-builder/function-module.js';
12
+ import { Log } from './util/log.js';
13
+ import { createQueryId } from './util/query-id.js';
14
+ import { isCompilable } from './util/compilable.js';
15
+ import { CaseBuilder } from './query-builder/case-builder.js';
16
+ import { CaseNode } from './operation-node/case-node.js';
17
+ import { parseExpression } from './parser/expression-parser.js';
18
+ import { WithSchemaPlugin } from './plugin/with-schema/with-schema-plugin.js';
19
+ import { provideControlledConnection, } from './util/provide-controlled-connection.js';
20
+ import { logOnce } from './util/log-once.js';
21
+ // @ts-ignore
22
+ Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
23
+ /**
24
+ * The main Kysely class.
25
+ *
26
+ * You should create one instance of `Kysely` per database using the {@link Kysely}
27
+ * constructor. Each `Kysely` instance maintains its own connection pool.
28
+ *
29
+ * ### Examples
30
+ *
31
+ * This example assumes your database has a "person" table:
32
+ *
33
+ * ```ts
34
+ * import * as Sqlite from 'better-sqlite3'
35
+ * import { type Generated, Kysely, SqliteDialect } from 'kysely'
36
+ *
37
+ * interface Database {
38
+ * person: {
39
+ * id: Generated<number>
40
+ * first_name: string
41
+ * last_name: string | null
42
+ * }
43
+ * }
44
+ *
45
+ * const db = new Kysely<Database>({
46
+ * dialect: new SqliteDialect({
47
+ * database: new Sqlite(':memory:'),
48
+ * })
49
+ * })
50
+ * ```
51
+ *
52
+ * @typeParam DB - The database interface type. Keys of this type must be table names
53
+ * in the database and values must be interfaces that describe the rows in those
54
+ * tables. See the examples above.
55
+ */
56
+ export class Kysely extends QueryCreator {
57
+ #props;
58
+ constructor(args) {
59
+ let superProps;
60
+ let props;
61
+ if (isKyselyProps(args)) {
62
+ superProps = { executor: args.executor };
63
+ props = { ...args };
64
+ }
65
+ else {
66
+ const dialect = args.dialect;
67
+ const driver = dialect.createDriver();
68
+ const compiler = dialect.createQueryCompiler();
69
+ const adapter = dialect.createAdapter();
70
+ const log = new Log(args.log ?? []);
71
+ const runtimeDriver = new RuntimeDriver(driver, log);
72
+ const connectionProvider = new DefaultConnectionProvider(runtimeDriver);
73
+ const executor = new DefaultQueryExecutor(compiler, adapter, connectionProvider, args.plugins ?? []);
74
+ superProps = { executor };
75
+ props = {
76
+ config: args,
77
+ executor,
78
+ dialect,
79
+ driver: runtimeDriver,
80
+ };
81
+ }
82
+ super(superProps);
83
+ this.#props = freeze(props);
84
+ }
85
+ /**
86
+ * Returns the {@link SchemaModule} module for building database schema.
87
+ */
88
+ get schema() {
89
+ return new SchemaModule(this.#props.executor);
90
+ }
91
+ /**
92
+ * Returns a the {@link DynamicModule} module.
93
+ *
94
+ * The {@link DynamicModule} module can be used to bypass strict typing and
95
+ * passing in dynamic values for the queries.
96
+ */
97
+ get dynamic() {
98
+ return new DynamicModule();
99
+ }
100
+ /**
101
+ * Returns a {@link DatabaseIntrospector | database introspector}.
102
+ */
103
+ get introspection() {
104
+ return this.#props.dialect.createIntrospector(this.withoutPlugins());
105
+ }
106
+ case(value) {
107
+ return new CaseBuilder({
108
+ node: CaseNode.create(isUndefined(value) ? undefined : parseExpression(value)),
109
+ });
110
+ }
111
+ /**
112
+ * Returns a {@link FunctionModule} that can be used to write somewhat type-safe function
113
+ * calls.
114
+ *
115
+ * ```ts
116
+ * const { count } = db.fn
117
+ *
118
+ * await db.selectFrom('person')
119
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
120
+ * .select([
121
+ * 'id',
122
+ * count('pet.id').as('person_count'),
123
+ * ])
124
+ * .groupBy('person.id')
125
+ * .having(count('pet.id'), '>', 10)
126
+ * .execute()
127
+ * ```
128
+ *
129
+ * The generated SQL (PostgreSQL):
130
+ *
131
+ * ```sql
132
+ * select "person"."id", count("pet"."id") as "person_count"
133
+ * from "person"
134
+ * inner join "pet" on "pet"."owner_id" = "person"."id"
135
+ * group by "person"."id"
136
+ * having count("pet"."id") > $1
137
+ * ```
138
+ *
139
+ * Why "somewhat" type-safe? Because the function calls are not bound to the
140
+ * current query context. They allow you to reference columns and tables that
141
+ * are not in the current query. E.g. remove the `innerJoin` from the previous
142
+ * query and TypeScript won't even complain.
143
+ *
144
+ * If you want to make the function calls fully type-safe, you can use the
145
+ * {@link ExpressionBuilder.fn} getter for a query context-aware, stricter {@link FunctionModule}.
146
+ *
147
+ * ```ts
148
+ * await db.selectFrom('person')
149
+ * .innerJoin('pet', 'pet.owner_id', 'person.id')
150
+ * .select((eb) => [
151
+ * 'person.id',
152
+ * eb.fn.count('pet.id').as('pet_count')
153
+ * ])
154
+ * .groupBy('person.id')
155
+ * .having((eb) => eb.fn.count('pet.id'), '>', 10)
156
+ * .execute()
157
+ * ```
158
+ */
159
+ get fn() {
160
+ return createFunctionModule();
161
+ }
162
+ /**
163
+ * Creates a {@link TransactionBuilder} that can be used to run queries inside a transaction.
164
+ *
165
+ * The returned {@link TransactionBuilder} can be used to configure the transaction. The
166
+ * {@link TransactionBuilder.execute} method can then be called to run the transaction.
167
+ * {@link TransactionBuilder.execute} takes a function that is run inside the
168
+ * transaction. If the function throws an exception,
169
+ * 1. the exception is caught,
170
+ * 2. the transaction is rolled back, and
171
+ * 3. the exception is thrown again.
172
+ * Otherwise the transaction is committed.
173
+ *
174
+ * The callback function passed to the {@link TransactionBuilder.execute | execute}
175
+ * method gets the transaction object as its only argument. The transaction is
176
+ * of type {@link Transaction} which inherits {@link Kysely}. Any query
177
+ * started through the transaction object is executed inside the transaction.
178
+ *
179
+ * To run a controlled transaction, allowing you to commit and rollback manually,
180
+ * use {@link startTransaction} instead.
181
+ *
182
+ * ### Examples
183
+ *
184
+ * <!-- siteExample("transactions", "Simple transaction", 10) -->
185
+ *
186
+ * This example inserts two rows in a transaction. If an exception is thrown inside
187
+ * the callback passed to the `execute` method,
188
+ * 1. the exception is caught,
189
+ * 2. the transaction is rolled back, and
190
+ * 3. the exception is thrown again.
191
+ * Otherwise the transaction is committed.
192
+ *
193
+ * ```ts
194
+ * const catto = await db.transaction().execute(async (trx) => {
195
+ * const jennifer = await trx.insertInto('person')
196
+ * .values({
197
+ * first_name: 'Jennifer',
198
+ * last_name: 'Aniston',
199
+ * age: 40,
200
+ * })
201
+ * .returning('id')
202
+ * .executeTakeFirstOrThrow()
203
+ *
204
+ * return await trx.insertInto('pet')
205
+ * .values({
206
+ * owner_id: jennifer.id,
207
+ * name: 'Catto',
208
+ * species: 'cat',
209
+ * is_favorite: false,
210
+ * })
211
+ * .returningAll()
212
+ * .executeTakeFirst()
213
+ * })
214
+ * ```
215
+ *
216
+ * Setting the isolation level:
217
+ *
218
+ * ```ts
219
+ * import type { Kysely } from 'kysely'
220
+ *
221
+ * await db
222
+ * .transaction()
223
+ * .setIsolationLevel('serializable')
224
+ * .execute(async (trx) => {
225
+ * await doStuff(trx)
226
+ * })
227
+ *
228
+ * async function doStuff(kysely: typeof db) {
229
+ * // ...
230
+ * }
231
+ * ```
232
+ */
233
+ transaction() {
234
+ return new TransactionBuilder({ ...this.#props });
235
+ }
236
+ /**
237
+ * Creates a {@link ControlledTransactionBuilder} that can be used to run queries inside a controlled transaction.
238
+ *
239
+ * The returned {@link ControlledTransactionBuilder} can be used to configure the transaction.
240
+ * The {@link ControlledTransactionBuilder.execute} method can then be called
241
+ * to start the transaction and return a {@link ControlledTransaction}.
242
+ *
243
+ * A {@link ControlledTransaction} allows you to commit and rollback manually,
244
+ * execute savepoint commands. It extends {@link Transaction} which extends {@link Kysely},
245
+ * so you can run queries inside the transaction. Once the transaction is committed,
246
+ * or rolled back, it can't be used anymore - all queries will throw an error.
247
+ * This is to prevent accidentally running queries outside the transaction - where
248
+ * atomicity is not guaranteed anymore.
249
+ *
250
+ * ### Examples
251
+ *
252
+ * <!-- siteExample("transactions", "Controlled transaction", 11) -->
253
+ *
254
+ * A controlled transaction allows you to commit and rollback manually, execute
255
+ * savepoint commands, and queries in general.
256
+ *
257
+ * In this example we start a transaction, use it to insert two rows and then commit
258
+ * the transaction. If an error is thrown, we catch it and rollback the transaction.
259
+ *
260
+ * ```ts
261
+ * const trx = await db.startTransaction().execute()
262
+ *
263
+ * try {
264
+ * const jennifer = await trx.insertInto('person')
265
+ * .values({
266
+ * first_name: 'Jennifer',
267
+ * last_name: 'Aniston',
268
+ * age: 40,
269
+ * })
270
+ * .returning('id')
271
+ * .executeTakeFirstOrThrow()
272
+ *
273
+ * const catto = await trx.insertInto('pet')
274
+ * .values({
275
+ * owner_id: jennifer.id,
276
+ * name: 'Catto',
277
+ * species: 'cat',
278
+ * is_favorite: false,
279
+ * })
280
+ * .returningAll()
281
+ * .executeTakeFirstOrThrow()
282
+ *
283
+ * await trx.commit().execute()
284
+ *
285
+ * // ...
286
+ * } catch (error) {
287
+ * await trx.rollback().execute()
288
+ * }
289
+ * ```
290
+ *
291
+ * <!-- siteExample("transactions", "Controlled transaction /w savepoints", 12) -->
292
+ *
293
+ * A controlled transaction allows you to commit and rollback manually, execute
294
+ * savepoint commands, and queries in general.
295
+ *
296
+ * In this example we start a transaction, insert a person, create a savepoint,
297
+ * try inserting a toy and a pet, and if an error is thrown, we rollback to the
298
+ * savepoint. Eventually we release the savepoint, insert an audit record and
299
+ * commit the transaction. If an error is thrown, we catch it and rollback the
300
+ * transaction.
301
+ *
302
+ * ```ts
303
+ * const trx = await db.startTransaction().execute()
304
+ *
305
+ * try {
306
+ * const jennifer = await trx
307
+ * .insertInto('person')
308
+ * .values({
309
+ * first_name: 'Jennifer',
310
+ * last_name: 'Aniston',
311
+ * age: 40,
312
+ * })
313
+ * .returning('id')
314
+ * .executeTakeFirstOrThrow()
315
+ *
316
+ * const trxAfterJennifer = await trx.savepoint('after_jennifer').execute()
317
+ *
318
+ * try {
319
+ * const catto = await trxAfterJennifer
320
+ * .insertInto('pet')
321
+ * .values({
322
+ * owner_id: jennifer.id,
323
+ * name: 'Catto',
324
+ * species: 'cat',
325
+ * })
326
+ * .returning('id')
327
+ * .executeTakeFirstOrThrow()
328
+ *
329
+ * await trxAfterJennifer
330
+ * .insertInto('toy')
331
+ * .values({ name: 'Bone', price: 1.99, pet_id: catto.id })
332
+ * .execute()
333
+ * } catch (error) {
334
+ * await trxAfterJennifer.rollbackToSavepoint('after_jennifer').execute()
335
+ * }
336
+ *
337
+ * await trxAfterJennifer.releaseSavepoint('after_jennifer').execute()
338
+ *
339
+ * await trx.insertInto('audit').values({ action: 'added Jennifer' }).execute()
340
+ *
341
+ * await trx.commit().execute()
342
+ * } catch (error) {
343
+ * await trx.rollback().execute()
344
+ * }
345
+ * ```
346
+ */
347
+ startTransaction() {
348
+ return new ControlledTransactionBuilder({ ...this.#props });
349
+ }
350
+ /**
351
+ * Provides a kysely instance bound to a single database connection.
352
+ *
353
+ * ### Examples
354
+ *
355
+ * ```ts
356
+ * await db
357
+ * .connection()
358
+ * .execute(async (db) => {
359
+ * // `db` is an instance of `Kysely` that's bound to a single
360
+ * // database connection. All queries executed through `db` use
361
+ * // the same connection.
362
+ * await doStuff(db)
363
+ * })
364
+ *
365
+ * async function doStuff(kysely: typeof db) {
366
+ * // ...
367
+ * }
368
+ * ```
369
+ */
370
+ connection() {
371
+ return new ConnectionBuilder({ ...this.#props });
372
+ }
373
+ /**
374
+ * Returns a copy of this Kysely instance with the given plugin installed.
375
+ */
376
+ withPlugin(plugin) {
377
+ return new Kysely({
378
+ ...this.#props,
379
+ executor: this.#props.executor.withPlugin(plugin),
380
+ });
381
+ }
382
+ /**
383
+ * Returns a copy of this Kysely instance without any plugins.
384
+ */
385
+ withoutPlugins() {
386
+ return new Kysely({
387
+ ...this.#props,
388
+ executor: this.#props.executor.withoutPlugins(),
389
+ });
390
+ }
391
+ /**
392
+ * @override
393
+ */
394
+ withSchema(schema) {
395
+ return new Kysely({
396
+ ...this.#props,
397
+ executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
398
+ });
399
+ }
400
+ /**
401
+ * Returns a copy of this Kysely instance with tables added to its
402
+ * database type.
403
+ *
404
+ * This method only modifies the types and doesn't affect any of the
405
+ * executed queries in any way.
406
+ *
407
+ * ### Examples
408
+ *
409
+ * The following example adds and uses a temporary table:
410
+ *
411
+ * ```ts
412
+ * await db.schema
413
+ * .createTable('temp_table')
414
+ * .temporary()
415
+ * .addColumn('some_column', 'integer')
416
+ * .execute()
417
+ *
418
+ * const tempDb = db.withTables<{
419
+ * temp_table: {
420
+ * some_column: number
421
+ * }
422
+ * }>()
423
+ *
424
+ * await tempDb
425
+ * .insertInto('temp_table')
426
+ * .values({ some_column: 100 })
427
+ * .execute()
428
+ * ```
429
+ */
430
+ withTables() {
431
+ return new Kysely({ ...this.#props });
432
+ }
433
+ /**
434
+ * Releases all resources and disconnects from the database.
435
+ *
436
+ * You need to call this when you are done using the `Kysely` instance.
437
+ */
438
+ async destroy() {
439
+ await this.#props.driver.destroy();
440
+ }
441
+ /**
442
+ * Returns true if this `Kysely` instance is a transaction.
443
+ *
444
+ * You can also use `db instanceof Transaction`.
445
+ */
446
+ get isTransaction() {
447
+ return false;
448
+ }
449
+ /**
450
+ * @internal
451
+ * @private
452
+ */
453
+ getExecutor() {
454
+ return this.#props.executor;
455
+ }
456
+ /**
457
+ * Executes a given compiled query or query builder.
458
+ *
459
+ * See {@link https://github.com/kysely-org/kysely/blob/master/site/docs/recipes/0004-splitting-query-building-and-execution.md#execute-compiled-queries splitting build, compile and execute code recipe} for more information.
460
+ */
461
+ executeQuery(query,
462
+ // TODO: remove this in the future. deprecated in 0.28.x
463
+ queryId) {
464
+ if (queryId !== undefined) {
465
+ logOnce('Passing `queryId` in `db.executeQuery` is deprecated and will result in a compile-time error in the future.');
466
+ }
467
+ const compiledQuery = isCompilable(query) ? query.compile() : query;
468
+ return this.getExecutor().executeQuery(compiledQuery);
469
+ }
470
+ async [Symbol.asyncDispose]() {
471
+ await this.destroy();
472
+ }
473
+ }
474
+ export class Transaction extends Kysely {
475
+ #props;
476
+ constructor(props) {
477
+ super(props);
478
+ this.#props = props;
479
+ }
480
+ // The return type is `true` instead of `boolean` to make Kysely<DB>
481
+ // unassignable to Transaction<DB> while allowing assignment the
482
+ // other way around.
483
+ get isTransaction() {
484
+ return true;
485
+ }
486
+ transaction() {
487
+ throw new Error('calling the transaction method for a Transaction is not supported');
488
+ }
489
+ connection() {
490
+ throw new Error('calling the connection method for a Transaction is not supported');
491
+ }
492
+ async destroy() {
493
+ throw new Error('calling the destroy method for a Transaction is not supported');
494
+ }
495
+ withPlugin(plugin) {
496
+ return new Transaction({
497
+ ...this.#props,
498
+ executor: this.#props.executor.withPlugin(plugin),
499
+ });
500
+ }
501
+ withoutPlugins() {
502
+ return new Transaction({
503
+ ...this.#props,
504
+ executor: this.#props.executor.withoutPlugins(),
505
+ });
506
+ }
507
+ withSchema(schema) {
508
+ return new Transaction({
509
+ ...this.#props,
510
+ executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
511
+ });
512
+ }
513
+ withTables() {
514
+ return new Transaction({ ...this.#props });
515
+ }
516
+ }
517
+ export function isKyselyProps(obj) {
518
+ return (isObject(obj) &&
519
+ isObject(obj.config) &&
520
+ isObject(obj.driver) &&
521
+ isObject(obj.executor) &&
522
+ isObject(obj.dialect));
523
+ }
524
+ export class ConnectionBuilder {
525
+ #props;
526
+ constructor(props) {
527
+ this.#props = freeze(props);
528
+ }
529
+ async execute(callback) {
530
+ return this.#props.executor.provideConnection(async (connection) => {
531
+ const executor = this.#props.executor.withConnectionProvider(new SingleConnectionProvider(connection));
532
+ const db = new Kysely({
533
+ ...this.#props,
534
+ executor,
535
+ });
536
+ return await callback(db);
537
+ });
538
+ }
539
+ }
540
+ export class TransactionBuilder {
541
+ #props;
542
+ constructor(props) {
543
+ this.#props = freeze(props);
544
+ }
545
+ setAccessMode(accessMode) {
546
+ return new TransactionBuilder({
547
+ ...this.#props,
548
+ accessMode,
549
+ });
550
+ }
551
+ setIsolationLevel(isolationLevel) {
552
+ return new TransactionBuilder({
553
+ ...this.#props,
554
+ isolationLevel,
555
+ });
556
+ }
557
+ async execute(callback) {
558
+ const { isolationLevel, accessMode, ...kyselyProps } = this.#props;
559
+ const settings = { isolationLevel, accessMode };
560
+ validateTransactionSettings(settings);
561
+ return this.#props.executor.provideConnection(async (connection) => {
562
+ const state = { isCommitted: false, isRolledBack: false };
563
+ const executor = new NotCommittedOrRolledBackAssertingExecutor(this.#props.executor.withConnectionProvider(new SingleConnectionProvider(connection)), state);
564
+ const transaction = new Transaction({
565
+ ...kyselyProps,
566
+ executor,
567
+ });
568
+ let transactionBegun = false;
569
+ try {
570
+ await this.#props.driver.beginTransaction(connection, settings);
571
+ transactionBegun = true;
572
+ const result = await callback(transaction);
573
+ await this.#props.driver.commitTransaction(connection);
574
+ state.isCommitted = true;
575
+ return result;
576
+ }
577
+ catch (error) {
578
+ if (transactionBegun) {
579
+ await this.#props.driver.rollbackTransaction(connection);
580
+ state.isRolledBack = true;
581
+ }
582
+ throw error;
583
+ }
584
+ });
585
+ }
586
+ }
587
+ export class ControlledTransactionBuilder {
588
+ #props;
589
+ constructor(props) {
590
+ this.#props = freeze(props);
591
+ }
592
+ setAccessMode(accessMode) {
593
+ return new ControlledTransactionBuilder({
594
+ ...this.#props,
595
+ accessMode,
596
+ });
597
+ }
598
+ setIsolationLevel(isolationLevel) {
599
+ return new ControlledTransactionBuilder({
600
+ ...this.#props,
601
+ isolationLevel,
602
+ });
603
+ }
604
+ async execute() {
605
+ const { isolationLevel, accessMode, ...props } = this.#props;
606
+ const settings = { isolationLevel, accessMode };
607
+ validateTransactionSettings(settings);
608
+ const connection = await provideControlledConnection(this.#props.executor);
609
+ await this.#props.driver.beginTransaction(connection.connection, settings);
610
+ return new ControlledTransaction({
611
+ ...props,
612
+ connection,
613
+ executor: this.#props.executor.withConnectionProvider(new SingleConnectionProvider(connection.connection)),
614
+ });
615
+ }
616
+ }
617
+ export class ControlledTransaction extends Transaction {
618
+ #props;
619
+ #compileQuery;
620
+ #state;
621
+ constructor(props) {
622
+ const state = { isCommitted: false, isRolledBack: false };
623
+ props = {
624
+ ...props,
625
+ executor: new NotCommittedOrRolledBackAssertingExecutor(props.executor, state),
626
+ };
627
+ const { connection, ...transactionProps } = props;
628
+ super(transactionProps);
629
+ this.#props = freeze(props);
630
+ this.#state = state;
631
+ const queryId = createQueryId();
632
+ this.#compileQuery = (node) => props.executor.compileQuery(node, queryId);
633
+ }
634
+ get isCommitted() {
635
+ return this.#state.isCommitted;
636
+ }
637
+ get isRolledBack() {
638
+ return this.#state.isRolledBack;
639
+ }
640
+ /**
641
+ * Commits the transaction.
642
+ *
643
+ * See {@link rollback}.
644
+ *
645
+ * ### Examples
646
+ *
647
+ * ```ts
648
+ * import type { Kysely } from 'kysely'
649
+ * import type { Database } from 'type-editor' // imaginary module
650
+ *
651
+ * const trx = await db.startTransaction().execute()
652
+ *
653
+ * try {
654
+ * await doSomething(trx)
655
+ *
656
+ * await trx.commit().execute()
657
+ * } catch (error) {
658
+ * await trx.rollback().execute()
659
+ * }
660
+ *
661
+ * async function doSomething(kysely: Kysely<Database>) {}
662
+ * ```
663
+ */
664
+ commit() {
665
+ assertNotCommittedOrRolledBack(this.#state);
666
+ return new Command(async () => {
667
+ await this.#props.driver.commitTransaction(this.#props.connection.connection);
668
+ this.#state.isCommitted = true;
669
+ this.#props.connection.release();
670
+ });
671
+ }
672
+ /**
673
+ * Rolls back the transaction.
674
+ *
675
+ * See {@link commit} and {@link rollbackToSavepoint}.
676
+ *
677
+ * ### Examples
678
+ *
679
+ * ```ts
680
+ * import type { Kysely } from 'kysely'
681
+ * import type { Database } from 'type-editor' // imaginary module
682
+ *
683
+ * const trx = await db.startTransaction().execute()
684
+ *
685
+ * try {
686
+ * await doSomething(trx)
687
+ *
688
+ * await trx.commit().execute()
689
+ * } catch (error) {
690
+ * await trx.rollback().execute()
691
+ * }
692
+ *
693
+ * async function doSomething(kysely: Kysely<Database>) {}
694
+ * ```
695
+ */
696
+ rollback() {
697
+ assertNotCommittedOrRolledBack(this.#state);
698
+ return new Command(async () => {
699
+ await this.#props.driver.rollbackTransaction(this.#props.connection.connection);
700
+ this.#state.isRolledBack = true;
701
+ this.#props.connection.release();
702
+ });
703
+ }
704
+ /**
705
+ * Creates a savepoint with a given name.
706
+ *
707
+ * See {@link rollbackToSavepoint} and {@link releaseSavepoint}.
708
+ *
709
+ * For a type-safe experience, you should use the returned instance from now on.
710
+ *
711
+ * ### Examples
712
+ *
713
+ * ```ts
714
+ * import type { Kysely } from 'kysely'
715
+ * import type { Database } from 'type-editor' // imaginary module
716
+ *
717
+ * const trx = await db.startTransaction().execute()
718
+ *
719
+ * await insertJennifer(trx)
720
+ *
721
+ * const trxAfterJennifer = await trx.savepoint('after_jennifer').execute()
722
+ *
723
+ * try {
724
+ * await doSomething(trxAfterJennifer)
725
+ * } catch (error) {
726
+ * await trxAfterJennifer.rollbackToSavepoint('after_jennifer').execute()
727
+ * }
728
+ *
729
+ * async function insertJennifer(kysely: Kysely<Database>) {}
730
+ * async function doSomething(kysely: Kysely<Database>) {}
731
+ * ```
732
+ */
733
+ savepoint(savepointName) {
734
+ assertNotCommittedOrRolledBack(this.#state);
735
+ return new Command(async () => {
736
+ await this.#props.driver.savepoint?.(this.#props.connection.connection, savepointName, this.#compileQuery);
737
+ return new ControlledTransaction({ ...this.#props });
738
+ });
739
+ }
740
+ /**
741
+ * Rolls back to a savepoint with a given name.
742
+ *
743
+ * See {@link savepoint} and {@link releaseSavepoint}.
744
+ *
745
+ * You must use the same instance returned by {@link savepoint}, or
746
+ * escape the type-check by using `as any`.
747
+ *
748
+ * ### Examples
749
+ *
750
+ * ```ts
751
+ * import type { Kysely } from 'kysely'
752
+ * import type { Database } from 'type-editor' // imaginary module
753
+ *
754
+ * const trx = await db.startTransaction().execute()
755
+ *
756
+ * await insertJennifer(trx)
757
+ *
758
+ * const trxAfterJennifer = await trx.savepoint('after_jennifer').execute()
759
+ *
760
+ * try {
761
+ * await doSomething(trxAfterJennifer)
762
+ * } catch (error) {
763
+ * await trxAfterJennifer.rollbackToSavepoint('after_jennifer').execute()
764
+ * }
765
+ *
766
+ * async function insertJennifer(kysely: Kysely<Database>) {}
767
+ * async function doSomething(kysely: Kysely<Database>) {}
768
+ * ```
769
+ */
770
+ rollbackToSavepoint(savepointName) {
771
+ assertNotCommittedOrRolledBack(this.#state);
772
+ return new Command(async () => {
773
+ await this.#props.driver.rollbackToSavepoint?.(this.#props.connection.connection, savepointName, this.#compileQuery);
774
+ return new ControlledTransaction({ ...this.#props });
775
+ });
776
+ }
777
+ /**
778
+ * Releases a savepoint with a given name.
779
+ *
780
+ * See {@link savepoint} and {@link rollbackToSavepoint}.
781
+ *
782
+ * You must use the same instance returned by {@link savepoint}, or
783
+ * escape the type-check by using `as any`.
784
+ *
785
+ * ### Examples
786
+ *
787
+ * ```ts
788
+ * import type { Kysely } from 'kysely'
789
+ * import type { Database } from 'type-editor' // imaginary module
790
+ *
791
+ * const trx = await db.startTransaction().execute()
792
+ *
793
+ * await insertJennifer(trx)
794
+ *
795
+ * const trxAfterJennifer = await trx.savepoint('after_jennifer').execute()
796
+ *
797
+ * try {
798
+ * await doSomething(trxAfterJennifer)
799
+ * } catch (error) {
800
+ * await trxAfterJennifer.rollbackToSavepoint('after_jennifer').execute()
801
+ * }
802
+ *
803
+ * await trxAfterJennifer.releaseSavepoint('after_jennifer').execute()
804
+ *
805
+ * await doSomethingElse(trx)
806
+ *
807
+ * async function insertJennifer(kysely: Kysely<Database>) {}
808
+ * async function doSomething(kysely: Kysely<Database>) {}
809
+ * async function doSomethingElse(kysely: Kysely<Database>) {}
810
+ * ```
811
+ */
812
+ releaseSavepoint(savepointName) {
813
+ assertNotCommittedOrRolledBack(this.#state);
814
+ return new Command(async () => {
815
+ await this.#props.driver.releaseSavepoint?.(this.#props.connection.connection, savepointName, this.#compileQuery);
816
+ return new ControlledTransaction({ ...this.#props });
817
+ });
818
+ }
819
+ withPlugin(plugin) {
820
+ return new ControlledTransaction({
821
+ ...this.#props,
822
+ executor: this.#props.executor.withPlugin(plugin),
823
+ });
824
+ }
825
+ withoutPlugins() {
826
+ return new ControlledTransaction({
827
+ ...this.#props,
828
+ executor: this.#props.executor.withoutPlugins(),
829
+ });
830
+ }
831
+ withSchema(schema) {
832
+ return new ControlledTransaction({
833
+ ...this.#props,
834
+ executor: this.#props.executor.withPluginAtFront(new WithSchemaPlugin(schema)),
835
+ });
836
+ }
837
+ withTables() {
838
+ return new ControlledTransaction({ ...this.#props });
839
+ }
840
+ }
841
+ export class Command {
842
+ #cb;
843
+ constructor(cb) {
844
+ this.#cb = cb;
845
+ }
846
+ /**
847
+ * Executes the command.
848
+ */
849
+ async execute() {
850
+ return await this.#cb();
851
+ }
852
+ }
853
+ function assertNotCommittedOrRolledBack(state) {
854
+ if (state.isCommitted) {
855
+ throw new Error('Transaction is already committed');
856
+ }
857
+ if (state.isRolledBack) {
858
+ throw new Error('Transaction is already rolled back');
859
+ }
860
+ }
861
+ /**
862
+ * An executor wrapper that asserts that the transaction state is not committed
863
+ * or rolled back when a query is executed.
864
+ *
865
+ * @internal
866
+ */
867
+ class NotCommittedOrRolledBackAssertingExecutor {
868
+ #executor;
869
+ #state;
870
+ constructor(executor, state) {
871
+ if (executor instanceof NotCommittedOrRolledBackAssertingExecutor) {
872
+ this.#executor = executor.#executor;
873
+ }
874
+ else {
875
+ this.#executor = executor;
876
+ }
877
+ this.#state = state;
878
+ }
879
+ get adapter() {
880
+ return this.#executor.adapter;
881
+ }
882
+ get plugins() {
883
+ return this.#executor.plugins;
884
+ }
885
+ transformQuery(node, queryId) {
886
+ return this.#executor.transformQuery(node, queryId);
887
+ }
888
+ compileQuery(node, queryId) {
889
+ return this.#executor.compileQuery(node, queryId);
890
+ }
891
+ provideConnection(consumer) {
892
+ return this.#executor.provideConnection(consumer);
893
+ }
894
+ executeQuery(compiledQuery) {
895
+ assertNotCommittedOrRolledBack(this.#state);
896
+ return this.#executor.executeQuery(compiledQuery);
897
+ }
898
+ stream(compiledQuery, chunkSize) {
899
+ assertNotCommittedOrRolledBack(this.#state);
900
+ return this.#executor.stream(compiledQuery, chunkSize);
901
+ }
902
+ withConnectionProvider(connectionProvider) {
903
+ return new NotCommittedOrRolledBackAssertingExecutor(this.#executor.withConnectionProvider(connectionProvider), this.#state);
904
+ }
905
+ withPlugin(plugin) {
906
+ return new NotCommittedOrRolledBackAssertingExecutor(this.#executor.withPlugin(plugin), this.#state);
907
+ }
908
+ withPlugins(plugins) {
909
+ return new NotCommittedOrRolledBackAssertingExecutor(this.#executor.withPlugins(plugins), this.#state);
910
+ }
911
+ withPluginAtFront(plugin) {
912
+ return new NotCommittedOrRolledBackAssertingExecutor(this.#executor.withPluginAtFront(plugin), this.#state);
913
+ }
914
+ withoutPlugins() {
915
+ return new NotCommittedOrRolledBackAssertingExecutor(this.#executor.withoutPlugins(), this.#state);
916
+ }
917
+ }