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