@depup/kysely 0.28.11-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/cjs/dialect/database-introspector.d.ts +62 -0
  4. package/dist/cjs/dialect/database-introspector.js +2 -0
  5. package/dist/cjs/dialect/dialect-adapter-base.d.ts +94 -0
  6. package/dist/cjs/dialect/dialect-adapter-base.js +24 -0
  7. package/dist/cjs/dialect/dialect-adapter.d.ts +115 -0
  8. package/dist/cjs/dialect/dialect-adapter.js +2 -0
  9. package/dist/cjs/dialect/dialect.d.ts +34 -0
  10. package/dist/cjs/dialect/dialect.js +2 -0
  11. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +83 -0
  12. package/dist/cjs/dialect/mssql/mssql-adapter.js +28 -0
  13. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +181 -0
  14. package/dist/cjs/dialect/mssql/mssql-dialect-config.js +2 -0
  15. package/dist/cjs/dialect/mssql/mssql-dialect.d.ts +70 -0
  16. package/dist/cjs/dialect/mssql/mssql-dialect.js +65 -0
  17. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +59 -0
  18. package/dist/cjs/dialect/mssql/mssql-driver.js +359 -0
  19. package/dist/cjs/dialect/mssql/mssql-introspector.d.ts +20 -0
  20. package/dist/cjs/dialect/mssql/mssql-introspector.js +110 -0
  21. package/dist/cjs/dialect/mssql/mssql-query-compiler.d.ts +17 -0
  22. package/dist/cjs/dialect/mssql/mssql-query-compiler.js +83 -0
  23. package/dist/cjs/dialect/mysql/mysql-adapter.d.ts +80 -0
  24. package/dist/cjs/dialect/mysql/mysql-adapter.js +28 -0
  25. package/dist/cjs/dialect/mysql/mysql-dialect-config.d.ts +56 -0
  26. package/dist/cjs/dialect/mysql/mysql-dialect-config.js +2 -0
  27. package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +61 -0
  28. package/dist/cjs/dialect/mysql/mysql-dialect.js +56 -0
  29. package/dist/cjs/dialect/mysql/mysql-driver.d.ts +52 -0
  30. package/dist/cjs/dialect/mysql/mysql-driver.js +180 -0
  31. package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +20 -0
  32. package/dist/cjs/dialect/mysql/mysql-introspector.js +79 -0
  33. package/dist/cjs/dialect/mysql/mysql-query-compiler.d.ts +13 -0
  34. package/dist/cjs/dialect/mysql/mysql-query-compiler.js +60 -0
  35. package/dist/cjs/dialect/postgres/postgres-adapter.d.ts +80 -0
  36. package/dist/cjs/dialect/postgres/postgres-adapter.js +25 -0
  37. package/dist/cjs/dialect/postgres/postgres-dialect-config.d.ts +68 -0
  38. package/dist/cjs/dialect/postgres/postgres-dialect-config.js +2 -0
  39. package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +61 -0
  40. package/dist/cjs/dialect/postgres/postgres-dialect.js +56 -0
  41. package/dist/cjs/dialect/postgres/postgres-driver.d.ts +55 -0
  42. package/dist/cjs/dialect/postgres/postgres-driver.js +134 -0
  43. package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +20 -0
  44. package/dist/cjs/dialect/postgres/postgres-introspector.js +100 -0
  45. package/dist/cjs/dialect/postgres/postgres-query-compiler.d.ts +4 -0
  46. package/dist/cjs/dialect/postgres/postgres-query-compiler.js +11 -0
  47. package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +80 -0
  48. package/dist/cjs/dialect/sqlite/sqlite-adapter.js +23 -0
  49. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
  50. package/dist/cjs/dialect/sqlite/sqlite-dialect-config.js +2 -0
  51. package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +55 -0
  52. package/dist/cjs/dialect/sqlite/sqlite-dialect.js +51 -0
  53. package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +42 -0
  54. package/dist/cjs/dialect/sqlite/sqlite-driver.js +113 -0
  55. package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +20 -0
  56. package/dist/cjs/dialect/sqlite/sqlite-introspector.js +94 -0
  57. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
  58. package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +37 -0
  59. package/dist/cjs/driver/connection-provider.d.ts +8 -0
  60. package/dist/cjs/driver/connection-provider.js +2 -0
  61. package/dist/cjs/driver/database-connection.d.ts +35 -0
  62. package/dist/cjs/driver/database-connection.js +2 -0
  63. package/dist/cjs/driver/default-connection-provider.d.ts +12 -0
  64. package/dist/cjs/driver/default-connection-provider.js +19 -0
  65. package/dist/cjs/driver/driver.d.ts +61 -0
  66. package/dist/cjs/driver/driver.js +22 -0
  67. package/dist/cjs/driver/dummy-driver.d.ts +75 -0
  68. package/dist/cjs/driver/dummy-driver.js +83 -0
  69. package/dist/cjs/driver/runtime-driver.d.ts +47 -0
  70. package/dist/cjs/driver/runtime-driver.js +165 -0
  71. package/dist/cjs/driver/single-connection-provider.d.ts +11 -0
  72. package/dist/cjs/driver/single-connection-provider.js +29 -0
  73. package/dist/cjs/dynamic/dynamic-reference-builder.d.ts +18 -0
  74. package/dist/cjs/dynamic/dynamic-reference-builder.js +36 -0
  75. package/dist/cjs/dynamic/dynamic-table-builder.d.ts +16 -0
  76. package/dist/cjs/dynamic/dynamic-table-builder.js +46 -0
  77. package/dist/cjs/dynamic/dynamic.d.ts +124 -0
  78. package/dist/cjs/dynamic/dynamic.js +132 -0
  79. package/dist/cjs/expression/expression-builder.d.ts +920 -0
  80. package/dist/cjs/expression/expression-builder.js +128 -0
  81. package/dist/cjs/expression/expression-wrapper.d.ts +631 -0
  82. package/dist/cjs/expression/expression-wrapper.js +134 -0
  83. package/dist/cjs/expression/expression.d.ts +198 -0
  84. package/dist/cjs/expression/expression.js +15 -0
  85. package/dist/cjs/helpers/mssql.d.ts +212 -0
  86. package/dist/cjs/helpers/mssql.js +219 -0
  87. package/dist/cjs/helpers/mysql.d.ts +147 -0
  88. package/dist/cjs/helpers/mysql.js +162 -0
  89. package/dist/cjs/helpers/postgres.d.ts +199 -0
  90. package/dist/cjs/helpers/postgres.js +208 -0
  91. package/dist/cjs/helpers/sqlite.d.ts +189 -0
  92. package/dist/cjs/helpers/sqlite.js +204 -0
  93. package/dist/cjs/index.d.ts +226 -0
  94. package/dist/cjs/index.js +231 -0
  95. package/dist/cjs/kysely.d.ts +848 -0
  96. package/dist/cjs/kysely.js +927 -0
  97. package/dist/cjs/migration/file-migration-provider.d.ts +48 -0
  98. package/dist/cjs/migration/file-migration-provider.js +52 -0
  99. package/dist/cjs/migration/migrator.d.ts +395 -0
  100. package/dist/cjs/migration/migrator.js +611 -0
  101. package/dist/cjs/operation-node/add-column-node.d.ts +15 -0
  102. package/dist/cjs/operation-node/add-column-node.js +18 -0
  103. package/dist/cjs/operation-node/add-constraint-node.d.ts +15 -0
  104. package/dist/cjs/operation-node/add-constraint-node.js +18 -0
  105. package/dist/cjs/operation-node/add-index-node.d.ts +23 -0
  106. package/dist/cjs/operation-node/add-index-node.js +31 -0
  107. package/dist/cjs/operation-node/aggregate-function-node.d.ts +29 -0
  108. package/dist/cjs/operation-node/aggregate-function-node.js +58 -0
  109. package/dist/cjs/operation-node/alias-node.d.ts +15 -0
  110. package/dist/cjs/operation-node/alias-node.js +19 -0
  111. package/dist/cjs/operation-node/alter-column-node.d.ts +23 -0
  112. package/dist/cjs/operation-node/alter-column-node.js +20 -0
  113. package/dist/cjs/operation-node/alter-table-node.d.ts +38 -0
  114. package/dist/cjs/operation-node/alter-table-node.js +32 -0
  115. package/dist/cjs/operation-node/and-node.d.ts +15 -0
  116. package/dist/cjs/operation-node/and-node.js +19 -0
  117. package/dist/cjs/operation-node/binary-operation-node.d.ts +16 -0
  118. package/dist/cjs/operation-node/binary-operation-node.js +20 -0
  119. package/dist/cjs/operation-node/case-node.d.ts +21 -0
  120. package/dist/cjs/operation-node/case-node.js +42 -0
  121. package/dist/cjs/operation-node/cast-node.d.ts +15 -0
  122. package/dist/cjs/operation-node/cast-node.js +19 -0
  123. package/dist/cjs/operation-node/check-constraint-node.d.ts +16 -0
  124. package/dist/cjs/operation-node/check-constraint-node.js +22 -0
  125. package/dist/cjs/operation-node/collate-node.d.ts +15 -0
  126. package/dist/cjs/operation-node/collate-node.js +19 -0
  127. package/dist/cjs/operation-node/column-definition-node.d.ts +38 -0
  128. package/dist/cjs/operation-node/column-definition-node.js +42 -0
  129. package/dist/cjs/operation-node/column-node.d.ts +15 -0
  130. package/dist/cjs/operation-node/column-node.js +19 -0
  131. package/dist/cjs/operation-node/column-update-node.d.ts +15 -0
  132. package/dist/cjs/operation-node/column-update-node.js +19 -0
  133. package/dist/cjs/operation-node/common-table-expression-name-node.d.ts +17 -0
  134. package/dist/cjs/operation-node/common-table-expression-name-node.js +23 -0
  135. package/dist/cjs/operation-node/common-table-expression-node.d.ts +19 -0
  136. package/dist/cjs/operation-node/common-table-expression-node.js +25 -0
  137. package/dist/cjs/operation-node/constraint-node.d.ts +5 -0
  138. package/dist/cjs/operation-node/constraint-node.js +2 -0
  139. package/dist/cjs/operation-node/create-index-node.d.ts +29 -0
  140. package/dist/cjs/operation-node/create-index-node.js +31 -0
  141. package/dist/cjs/operation-node/create-schema-node.d.ts +18 -0
  142. package/dist/cjs/operation-node/create-schema-node.js +26 -0
  143. package/dist/cjs/operation-node/create-table-node.d.ts +34 -0
  144. package/dist/cjs/operation-node/create-table-node.js +56 -0
  145. package/dist/cjs/operation-node/create-type-node.d.ts +19 -0
  146. package/dist/cjs/operation-node/create-type-node.js +26 -0
  147. package/dist/cjs/operation-node/create-view-node.d.ts +26 -0
  148. package/dist/cjs/operation-node/create-view-node.js +25 -0
  149. package/dist/cjs/operation-node/data-type-node.d.ts +19 -0
  150. package/dist/cjs/operation-node/data-type-node.js +86 -0
  151. package/dist/cjs/operation-node/default-insert-value-node.d.ts +13 -0
  152. package/dist/cjs/operation-node/default-insert-value-node.js +17 -0
  153. package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
  154. package/dist/cjs/operation-node/default-value-node.js +18 -0
  155. package/dist/cjs/operation-node/delete-query-node.d.ts +42 -0
  156. package/dist/cjs/operation-node/delete-query-node.js +52 -0
  157. package/dist/cjs/operation-node/drop-column-node.d.ts +15 -0
  158. package/dist/cjs/operation-node/drop-column-node.js +19 -0
  159. package/dist/cjs/operation-node/drop-constraint-node.d.ts +19 -0
  160. package/dist/cjs/operation-node/drop-constraint-node.js +25 -0
  161. package/dist/cjs/operation-node/drop-index-node.d.ts +21 -0
  162. package/dist/cjs/operation-node/drop-index-node.js +26 -0
  163. package/dist/cjs/operation-node/drop-schema-node.d.ts +19 -0
  164. package/dist/cjs/operation-node/drop-schema-node.js +26 -0
  165. package/dist/cjs/operation-node/drop-table-node.d.ts +19 -0
  166. package/dist/cjs/operation-node/drop-table-node.js +25 -0
  167. package/dist/cjs/operation-node/drop-type-node.d.ts +18 -0
  168. package/dist/cjs/operation-node/drop-type-node.js +24 -0
  169. package/dist/cjs/operation-node/drop-view-node.d.ts +20 -0
  170. package/dist/cjs/operation-node/drop-view-node.js +25 -0
  171. package/dist/cjs/operation-node/explain-node.d.ts +16 -0
  172. package/dist/cjs/operation-node/explain-node.js +19 -0
  173. package/dist/cjs/operation-node/fetch-node.d.ts +17 -0
  174. package/dist/cjs/operation-node/fetch-node.js +20 -0
  175. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +26 -0
  176. package/dist/cjs/operation-node/foreign-key-constraint-node.js +30 -0
  177. package/dist/cjs/operation-node/from-node.d.ts +15 -0
  178. package/dist/cjs/operation-node/from-node.js +24 -0
  179. package/dist/cjs/operation-node/function-node.d.ts +15 -0
  180. package/dist/cjs/operation-node/function-node.js +19 -0
  181. package/dist/cjs/operation-node/generated-node.d.ts +21 -0
  182. package/dist/cjs/operation-node/generated-node.js +31 -0
  183. package/dist/cjs/operation-node/group-by-item-node.d.ts +14 -0
  184. package/dist/cjs/operation-node/group-by-item-node.js +18 -0
  185. package/dist/cjs/operation-node/group-by-node.d.ts +16 -0
  186. package/dist/cjs/operation-node/group-by-node.js +24 -0
  187. package/dist/cjs/operation-node/having-node.d.ts +15 -0
  188. package/dist/cjs/operation-node/having-node.js +28 -0
  189. package/dist/cjs/operation-node/identifier-node.d.ts +14 -0
  190. package/dist/cjs/operation-node/identifier-node.js +18 -0
  191. package/dist/cjs/operation-node/insert-query-node.d.ts +42 -0
  192. package/dist/cjs/operation-node/insert-query-node.js +31 -0
  193. package/dist/cjs/operation-node/join-node.d.ts +20 -0
  194. package/dist/cjs/operation-node/join-node.js +37 -0
  195. package/dist/cjs/operation-node/json-operator-chain-node.d.ts +18 -0
  196. package/dist/cjs/operation-node/json-operator-chain-node.js +25 -0
  197. package/dist/cjs/operation-node/json-path-leg-node.d.ts +16 -0
  198. package/dist/cjs/operation-node/json-path-leg-node.js +19 -0
  199. package/dist/cjs/operation-node/json-path-node.d.ts +18 -0
  200. package/dist/cjs/operation-node/json-path-node.js +25 -0
  201. package/dist/cjs/operation-node/json-reference-node.d.ts +19 -0
  202. package/dist/cjs/operation-node/json-reference-node.js +25 -0
  203. package/dist/cjs/operation-node/limit-node.d.ts +14 -0
  204. package/dist/cjs/operation-node/limit-node.js +18 -0
  205. package/dist/cjs/operation-node/list-node.d.ts +14 -0
  206. package/dist/cjs/operation-node/list-node.js +18 -0
  207. package/dist/cjs/operation-node/matched-node.d.ts +15 -0
  208. package/dist/cjs/operation-node/matched-node.js +19 -0
  209. package/dist/cjs/operation-node/merge-query-node.d.ts +32 -0
  210. package/dist/cjs/operation-node/merge-query-node.js +45 -0
  211. package/dist/cjs/operation-node/modify-column-node.d.ts +15 -0
  212. package/dist/cjs/operation-node/modify-column-node.js +18 -0
  213. package/dist/cjs/operation-node/offset-node.d.ts +14 -0
  214. package/dist/cjs/operation-node/offset-node.js +18 -0
  215. package/dist/cjs/operation-node/on-conflict-node.d.ts +32 -0
  216. package/dist/cjs/operation-node/on-conflict-node.js +68 -0
  217. package/dist/cjs/operation-node/on-duplicate-key-node.d.ts +16 -0
  218. package/dist/cjs/operation-node/on-duplicate-key-node.js +18 -0
  219. package/dist/cjs/operation-node/on-node.d.ts +15 -0
  220. package/dist/cjs/operation-node/on-node.js +28 -0
  221. package/dist/cjs/operation-node/operation-node-source.d.ts +5 -0
  222. package/dist/cjs/operation-node/operation-node-source.js +7 -0
  223. package/dist/cjs/operation-node/operation-node-transformer.d.ts +238 -0
  224. package/dist/cjs/operation-node/operation-node-transformer.js +929 -0
  225. package/dist/cjs/operation-node/operation-node-visitor.d.ts +201 -0
  226. package/dist/cjs/operation-node/operation-node-visitor.js +115 -0
  227. package/dist/cjs/operation-node/operation-node.d.ts +4 -0
  228. package/dist/cjs/operation-node/operation-node.js +2 -0
  229. package/dist/cjs/operation-node/operator-node.d.ts +34 -0
  230. package/dist/cjs/operation-node/operator-node.js +107 -0
  231. package/dist/cjs/operation-node/or-action-node.d.ts +14 -0
  232. package/dist/cjs/operation-node/or-action-node.js +18 -0
  233. package/dist/cjs/operation-node/or-node.d.ts +15 -0
  234. package/dist/cjs/operation-node/or-node.js +19 -0
  235. package/dist/cjs/operation-node/order-by-item-node.d.ts +20 -0
  236. package/dist/cjs/operation-node/order-by-item-node.js +25 -0
  237. package/dist/cjs/operation-node/order-by-node.d.ts +16 -0
  238. package/dist/cjs/operation-node/order-by-node.js +24 -0
  239. package/dist/cjs/operation-node/output-node.d.ts +15 -0
  240. package/dist/cjs/operation-node/output-node.js +26 -0
  241. package/dist/cjs/operation-node/over-node.d.ts +21 -0
  242. package/dist/cjs/operation-node/over-node.js +35 -0
  243. package/dist/cjs/operation-node/parens-node.d.ts +14 -0
  244. package/dist/cjs/operation-node/parens-node.js +18 -0
  245. package/dist/cjs/operation-node/partition-by-item-node.d.ts +15 -0
  246. package/dist/cjs/operation-node/partition-by-item-node.js +18 -0
  247. package/dist/cjs/operation-node/partition-by-node.d.ts +16 -0
  248. package/dist/cjs/operation-node/partition-by-node.js +24 -0
  249. package/dist/cjs/operation-node/primary-key-constraint-node.d.ts +31 -0
  250. package/dist/cjs/operation-node/primary-key-constraint-node.js +32 -0
  251. package/dist/cjs/operation-node/primitive-value-list-node.d.ts +19 -0
  252. package/dist/cjs/operation-node/primitive-value-list-node.js +18 -0
  253. package/dist/cjs/operation-node/query-node.d.ts +61 -0
  254. package/dist/cjs/operation-node/query-node.js +102 -0
  255. package/dist/cjs/operation-node/raw-node.d.ts +18 -0
  256. package/dist/cjs/operation-node/raw-node.js +28 -0
  257. package/dist/cjs/operation-node/reference-node.d.ts +19 -0
  258. package/dist/cjs/operation-node/reference-node.js +27 -0
  259. package/dist/cjs/operation-node/references-node.d.ts +24 -0
  260. package/dist/cjs/operation-node/references-node.js +38 -0
  261. package/dist/cjs/operation-node/refresh-materialized-view-node.d.ts +19 -0
  262. package/dist/cjs/operation-node/refresh-materialized-view-node.js +25 -0
  263. package/dist/cjs/operation-node/rename-column-node.d.ts +16 -0
  264. package/dist/cjs/operation-node/rename-column-node.js +20 -0
  265. package/dist/cjs/operation-node/rename-constraint-node.d.ts +16 -0
  266. package/dist/cjs/operation-node/rename-constraint-node.js +20 -0
  267. package/dist/cjs/operation-node/returning-node.d.ts +16 -0
  268. package/dist/cjs/operation-node/returning-node.js +26 -0
  269. package/dist/cjs/operation-node/schemable-identifier-node.d.ts +17 -0
  270. package/dist/cjs/operation-node/schemable-identifier-node.js +26 -0
  271. package/dist/cjs/operation-node/select-all-node.d.ts +13 -0
  272. package/dist/cjs/operation-node/select-all-node.js +17 -0
  273. package/dist/cjs/operation-node/select-modifier-node.d.ts +18 -0
  274. package/dist/cjs/operation-node/select-modifier-node.js +25 -0
  275. package/dist/cjs/operation-node/select-query-node.d.ts +63 -0
  276. package/dist/cjs/operation-node/select-query-node.js +129 -0
  277. package/dist/cjs/operation-node/selection-node.d.ts +21 -0
  278. package/dist/cjs/operation-node/selection-node.js +32 -0
  279. package/dist/cjs/operation-node/set-operation-node.d.ts +17 -0
  280. package/dist/cjs/operation-node/set-operation-node.js +20 -0
  281. package/dist/cjs/operation-node/simple-reference-expression-node.d.ts +3 -0
  282. package/dist/cjs/operation-node/simple-reference-expression-node.js +2 -0
  283. package/dist/cjs/operation-node/table-node.d.ts +16 -0
  284. package/dist/cjs/operation-node/table-node.js +25 -0
  285. package/dist/cjs/operation-node/top-node.d.ts +16 -0
  286. package/dist/cjs/operation-node/top-node.js +19 -0
  287. package/dist/cjs/operation-node/tuple-node.d.ts +14 -0
  288. package/dist/cjs/operation-node/tuple-node.js +18 -0
  289. package/dist/cjs/operation-node/unary-operation-node.d.ts +15 -0
  290. package/dist/cjs/operation-node/unary-operation-node.js +19 -0
  291. package/dist/cjs/operation-node/unique-constraint-node.d.ts +22 -0
  292. package/dist/cjs/operation-node/unique-constraint-node.js +30 -0
  293. package/dist/cjs/operation-node/update-query-node.d.ts +41 -0
  294. package/dist/cjs/operation-node/update-query-node.js +50 -0
  295. package/dist/cjs/operation-node/using-node.d.ts +15 -0
  296. package/dist/cjs/operation-node/using-node.js +24 -0
  297. package/dist/cjs/operation-node/value-list-node.d.ts +14 -0
  298. package/dist/cjs/operation-node/value-list-node.js +18 -0
  299. package/dist/cjs/operation-node/value-node.d.ts +16 -0
  300. package/dist/cjs/operation-node/value-node.js +25 -0
  301. package/dist/cjs/operation-node/values-node.d.ts +17 -0
  302. package/dist/cjs/operation-node/values-node.js +18 -0
  303. package/dist/cjs/operation-node/when-node.d.ts +16 -0
  304. package/dist/cjs/operation-node/when-node.js +24 -0
  305. package/dist/cjs/operation-node/where-node.d.ts +15 -0
  306. package/dist/cjs/operation-node/where-node.js +28 -0
  307. package/dist/cjs/operation-node/with-node.d.ts +18 -0
  308. package/dist/cjs/operation-node/with-node.js +25 -0
  309. package/dist/cjs/package.json +1 -0
  310. package/dist/cjs/parser/binary-operation-parser.d.ts +21 -0
  311. package/dist/cjs/parser/binary-operation-parser.js +74 -0
  312. package/dist/cjs/parser/coalesce-parser.d.ts +12 -0
  313. package/dist/cjs/parser/coalesce-parser.js +2 -0
  314. package/dist/cjs/parser/collate-parser.d.ts +1 -0
  315. package/dist/cjs/parser/collate-parser.js +2 -0
  316. package/dist/cjs/parser/data-type-parser.d.ts +5 -0
  317. package/dist/cjs/parser/data-type-parser.js +14 -0
  318. package/dist/cjs/parser/default-value-parser.d.ts +4 -0
  319. package/dist/cjs/parser/default-value-parser.js +10 -0
  320. package/dist/cjs/parser/delete-from-parser.d.ts +9 -0
  321. package/dist/cjs/parser/delete-from-parser.js +2 -0
  322. package/dist/cjs/parser/expression-parser.d.ts +20 -0
  323. package/dist/cjs/parser/expression-parser.js +30 -0
  324. package/dist/cjs/parser/fetch-parser.d.ts +2 -0
  325. package/dist/cjs/parser/fetch-parser.js +17 -0
  326. package/dist/cjs/parser/group-by-parser.d.ts +6 -0
  327. package/dist/cjs/parser/group-by-parser.js +11 -0
  328. package/dist/cjs/parser/identifier-parser.d.ts +2 -0
  329. package/dist/cjs/parser/identifier-parser.js +22 -0
  330. package/dist/cjs/parser/insert-values-parser.d.ts +14 -0
  331. package/dist/cjs/parser/insert-values-parser.js +64 -0
  332. package/dist/cjs/parser/join-parser.d.ts +10 -0
  333. package/dist/cjs/parser/join-parser.js +30 -0
  334. package/dist/cjs/parser/merge-into-parser.d.ts +7 -0
  335. package/dist/cjs/parser/merge-into-parser.js +2 -0
  336. package/dist/cjs/parser/merge-parser.d.ts +9 -0
  337. package/dist/cjs/parser/merge-parser.js +31 -0
  338. package/dist/cjs/parser/on-commit-action-parse.d.ts +2 -0
  339. package/dist/cjs/parser/on-commit-action-parse.js +10 -0
  340. package/dist/cjs/parser/on-modify-action-parser.d.ts +2 -0
  341. package/dist/cjs/parser/on-modify-action-parser.js +10 -0
  342. package/dist/cjs/parser/order-by-parser.d.ts +25 -0
  343. package/dist/cjs/parser/order-by-parser.js +71 -0
  344. package/dist/cjs/parser/parse-utils.d.ts +10 -0
  345. package/dist/cjs/parser/parse-utils.js +38 -0
  346. package/dist/cjs/parser/partition-by-parser.d.ts +6 -0
  347. package/dist/cjs/parser/partition-by-parser.js +8 -0
  348. package/dist/cjs/parser/reference-parser.d.ts +31 -0
  349. package/dist/cjs/parser/reference-parser.js +104 -0
  350. package/dist/cjs/parser/returning-parser.d.ts +8 -0
  351. package/dist/cjs/parser/returning-parser.js +2 -0
  352. package/dist/cjs/parser/savepoint-parser.d.ts +4 -0
  353. package/dist/cjs/parser/savepoint-parser.js +11 -0
  354. package/dist/cjs/parser/select-from-parser.d.ts +6 -0
  355. package/dist/cjs/parser/select-from-parser.js +2 -0
  356. package/dist/cjs/parser/select-parser.d.ts +36 -0
  357. package/dist/cjs/parser/select-parser.js +50 -0
  358. package/dist/cjs/parser/set-operation-parser.d.ts +5 -0
  359. package/dist/cjs/parser/set-operation-parser.js +16 -0
  360. package/dist/cjs/parser/table-parser.d.ts +24 -0
  361. package/dist/cjs/parser/table-parser.js +54 -0
  362. package/dist/cjs/parser/top-parser.d.ts +2 -0
  363. package/dist/cjs/parser/top-parser.js +19 -0
  364. package/dist/cjs/parser/tuple-parser.d.ts +47 -0
  365. package/dist/cjs/parser/tuple-parser.js +2 -0
  366. package/dist/cjs/parser/unary-operation-parser.d.ts +8 -0
  367. package/dist/cjs/parser/unary-operation-parser.js +17 -0
  368. package/dist/cjs/parser/update-parser.d.ts +9 -0
  369. package/dist/cjs/parser/update-parser.js +2 -0
  370. package/dist/cjs/parser/update-set-parser.d.ts +16 -0
  371. package/dist/cjs/parser/update-set-parser.js +26 -0
  372. package/dist/cjs/parser/value-parser.d.ts +13 -0
  373. package/dist/cjs/parser/value-parser.js +38 -0
  374. package/dist/cjs/parser/with-parser.d.ts +45 -0
  375. package/dist/cjs/parser/with-parser.js +33 -0
  376. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +170 -0
  377. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +122 -0
  378. package/dist/cjs/plugin/camel-case/camel-case-transformer.d.ts +9 -0
  379. package/dist/cjs/plugin/camel-case/camel-case-transformer.js +19 -0
  380. package/dist/cjs/plugin/camel-case/camel-case.d.ts +15 -0
  381. package/dist/cjs/plugin/camel-case/camel-case.js +111 -0
  382. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
  383. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-plugin.js +19 -0
  384. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
  385. package/dist/cjs/plugin/deduplicate-joins/deduplicate-joins-transformer.js +42 -0
  386. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
  387. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +162 -0
  388. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
  389. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +29 -0
  390. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
  391. package/dist/cjs/plugin/handle-empty-in-lists/handle-empty-in-lists.js +66 -0
  392. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
  393. package/dist/cjs/plugin/immediate-value/immediate-value-plugin.js +22 -0
  394. package/dist/cjs/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
  395. package/dist/cjs/plugin/immediate-value/immediate-value-transformer.js +23 -0
  396. package/dist/cjs/plugin/kysely-plugin.d.ts +72 -0
  397. package/dist/cjs/plugin/kysely-plugin.js +2 -0
  398. package/dist/cjs/plugin/noop-plugin.d.ts +64 -0
  399. package/dist/cjs/plugin/noop-plugin.js +12 -0
  400. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
  401. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +107 -0
  402. package/dist/cjs/plugin/with-schema/with-schema-plugin.d.ts +66 -0
  403. package/dist/cjs/plugin/with-schema/with-schema-plugin.js +17 -0
  404. package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +18 -0
  405. package/dist/cjs/plugin/with-schema/with-schema-transformer.js +200 -0
  406. package/dist/cjs/query-builder/aggregate-function-builder.d.ts +379 -0
  407. package/dist/cjs/query-builder/aggregate-function-builder.js +242 -0
  408. package/dist/cjs/query-builder/case-builder.d.ts +112 -0
  409. package/dist/cjs/query-builder/case-builder.js +79 -0
  410. package/dist/cjs/query-builder/cte-builder.d.ts +20 -0
  411. package/dist/cjs/query-builder/cte-builder.js +37 -0
  412. package/dist/cjs/query-builder/delete-query-builder.d.ts +1348 -0
  413. package/dist/cjs/query-builder/delete-query-builder.js +504 -0
  414. package/dist/cjs/query-builder/delete-result.d.ts +4 -0
  415. package/dist/cjs/query-builder/delete-result.js +10 -0
  416. package/dist/cjs/query-builder/function-module.d.ts +592 -0
  417. package/dist/cjs/query-builder/function-module.js +62 -0
  418. package/dist/cjs/query-builder/having-interface.d.ts +15 -0
  419. package/dist/cjs/query-builder/having-interface.js +2 -0
  420. package/dist/cjs/query-builder/insert-query-builder.d.ts +1235 -0
  421. package/dist/cjs/query-builder/insert-query-builder.js +1160 -0
  422. package/dist/cjs/query-builder/insert-result.d.ts +46 -0
  423. package/dist/cjs/query-builder/insert-result.js +53 -0
  424. package/dist/cjs/query-builder/join-builder.d.ts +38 -0
  425. package/dist/cjs/query-builder/join-builder.js +51 -0
  426. package/dist/cjs/query-builder/json-path-builder.d.ts +294 -0
  427. package/dist/cjs/query-builder/json-path-builder.js +200 -0
  428. package/dist/cjs/query-builder/merge-query-builder.d.ts +1001 -0
  429. package/dist/cjs/query-builder/merge-query-builder.js +630 -0
  430. package/dist/cjs/query-builder/merge-result.d.ts +4 -0
  431. package/dist/cjs/query-builder/merge-result.js +10 -0
  432. package/dist/cjs/query-builder/no-result-error.d.ts +10 -0
  433. package/dist/cjs/query-builder/no-result-error.js +18 -0
  434. package/dist/cjs/query-builder/on-conflict-builder.d.ts +872 -0
  435. package/dist/cjs/query-builder/on-conflict-builder.js +259 -0
  436. package/dist/cjs/query-builder/order-by-interface.d.ts +158 -0
  437. package/dist/cjs/query-builder/order-by-interface.js +2 -0
  438. package/dist/cjs/query-builder/order-by-item-builder.d.ts +43 -0
  439. package/dist/cjs/query-builder/order-by-item-builder.js +75 -0
  440. package/dist/cjs/query-builder/output-interface.d.ts +138 -0
  441. package/dist/cjs/query-builder/output-interface.js +2 -0
  442. package/dist/cjs/query-builder/over-builder.d.ts +101 -0
  443. package/dist/cjs/query-builder/over-builder.js +40 -0
  444. package/dist/cjs/query-builder/returning-interface.d.ts +91 -0
  445. package/dist/cjs/query-builder/returning-interface.js +2 -0
  446. package/dist/cjs/query-builder/select-query-builder-expression.d.ts +28 -0
  447. package/dist/cjs/query-builder/select-query-builder-expression.js +2 -0
  448. package/dist/cjs/query-builder/select-query-builder.d.ts +2391 -0
  449. package/dist/cjs/query-builder/select-query-builder.js +376 -0
  450. package/dist/cjs/query-builder/update-query-builder.d.ts +1392 -0
  451. package/dist/cjs/query-builder/update-query-builder.js +513 -0
  452. package/dist/cjs/query-builder/update-result.d.ts +14 -0
  453. package/dist/cjs/query-builder/update-result.js +21 -0
  454. package/dist/cjs/query-builder/where-interface.d.ts +382 -0
  455. package/dist/cjs/query-builder/where-interface.js +2 -0
  456. package/dist/cjs/query-compiler/compiled-query.d.ts +13 -0
  457. package/dist/cjs/query-compiler/compiled-query.js +16 -0
  458. package/dist/cjs/query-compiler/default-query-compiler.d.ts +235 -0
  459. package/dist/cjs/query-compiler/default-query-compiler.js +1396 -0
  460. package/dist/cjs/query-compiler/query-compiler.d.ts +24 -0
  461. package/dist/cjs/query-compiler/query-compiler.js +2 -0
  462. package/dist/cjs/query-creator.d.ts +592 -0
  463. package/dist/cjs/query-creator.js +622 -0
  464. package/dist/cjs/query-executor/default-query-executor.d.ts +50 -0
  465. package/dist/cjs/query-executor/default-query-executor.js +40 -0
  466. package/dist/cjs/query-executor/noop-query-executor.d.ts +50 -0
  467. package/dist/cjs/query-executor/noop-query-executor.js +37 -0
  468. package/dist/cjs/query-executor/query-executor-base.d.ts +68 -0
  469. package/dist/cjs/query-executor/query-executor-base.js +62 -0
  470. package/dist/cjs/query-executor/query-executor-provider.d.ts +8 -0
  471. package/dist/cjs/query-executor/query-executor-provider.js +2 -0
  472. package/dist/cjs/query-executor/query-executor.d.ts +74 -0
  473. package/dist/cjs/query-executor/query-executor.js +2 -0
  474. package/dist/cjs/raw-builder/raw-builder.d.ts +218 -0
  475. package/dist/cjs/raw-builder/raw-builder.js +86 -0
  476. package/dist/cjs/raw-builder/sql.d.ts +366 -0
  477. package/dist/cjs/raw-builder/sql.js +84 -0
  478. package/dist/cjs/schema/alter-column-builder.d.ts +53 -0
  479. package/dist/cjs/schema/alter-column-builder.js +74 -0
  480. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
  481. package/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js +67 -0
  482. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +138 -0
  483. package/dist/cjs/schema/alter-table-add-index-builder.js +165 -0
  484. package/dist/cjs/schema/alter-table-builder.d.ts +148 -0
  485. package/dist/cjs/schema/alter-table-builder.js +267 -0
  486. package/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts +26 -0
  487. package/dist/cjs/schema/alter-table-drop-constraint-builder.js +59 -0
  488. package/dist/cjs/schema/alter-table-executor.d.ts +18 -0
  489. package/dist/cjs/schema/alter-table-executor.js +20 -0
  490. package/dist/cjs/schema/check-constraint-builder.d.ts +13 -0
  491. package/dist/cjs/schema/check-constraint-builder.js +20 -0
  492. package/dist/cjs/schema/column-definition-builder.d.ts +514 -0
  493. package/dist/cjs/schema/column-definition-builder.js +600 -0
  494. package/dist/cjs/schema/create-index-builder.d.ts +173 -0
  495. package/dist/cjs/schema/create-index-builder.js +202 -0
  496. package/dist/cjs/schema/create-schema-builder.d.ts +24 -0
  497. package/dist/cjs/schema/create-schema-builder.js +34 -0
  498. package/dist/cjs/schema/create-table-builder.d.ts +331 -0
  499. package/dist/cjs/schema/create-table-builder.js +411 -0
  500. package/dist/cjs/schema/create-type-builder.d.ts +33 -0
  501. package/dist/cjs/schema/create-type-builder.js +43 -0
  502. package/dist/cjs/schema/create-view-builder.d.ts +48 -0
  503. package/dist/cjs/schema/create-view-builder.js +98 -0
  504. package/dist/cjs/schema/drop-index-builder.d.ts +30 -0
  505. package/dist/cjs/schema/drop-index-builder.js +57 -0
  506. package/dist/cjs/schema/drop-schema-builder.d.ts +25 -0
  507. package/dist/cjs/schema/drop-schema-builder.js +44 -0
  508. package/dist/cjs/schema/drop-table-builder.d.ts +25 -0
  509. package/dist/cjs/schema/drop-table-builder.js +44 -0
  510. package/dist/cjs/schema/drop-type-builder.d.ts +24 -0
  511. package/dist/cjs/schema/drop-type-builder.js +36 -0
  512. package/dist/cjs/schema/drop-view-builder.d.ts +26 -0
  513. package/dist/cjs/schema/drop-view-builder.js +52 -0
  514. package/dist/cjs/schema/foreign-key-constraint-builder.d.ts +28 -0
  515. package/dist/cjs/schema/foreign-key-constraint-builder.js +48 -0
  516. package/dist/cjs/schema/primary-key-constraint-builder.d.ts +17 -0
  517. package/dist/cjs/schema/primary-key-constraint-builder.js +37 -0
  518. package/dist/cjs/schema/refresh-materialized-view-builder.d.ts +47 -0
  519. package/dist/cjs/schema/refresh-materialized-view-builder.js +75 -0
  520. package/dist/cjs/schema/schema.d.ts +230 -0
  521. package/dist/cjs/schema/schema.js +328 -0
  522. package/dist/cjs/schema/unique-constraint-builder.d.ts +23 -0
  523. package/dist/cjs/schema/unique-constraint-builder.js +45 -0
  524. package/dist/cjs/util/assert.d.ts +2 -0
  525. package/dist/cjs/util/assert.js +14 -0
  526. package/dist/cjs/util/column-type.d.ts +175 -0
  527. package/dist/cjs/util/column-type.js +2 -0
  528. package/dist/cjs/util/compilable.d.ts +5 -0
  529. package/dist/cjs/util/compilable.js +7 -0
  530. package/dist/cjs/util/deferred.d.ts +7 -0
  531. package/dist/cjs/util/deferred.js +28 -0
  532. package/dist/cjs/util/explainable.d.ts +40 -0
  533. package/dist/cjs/util/explainable.js +2 -0
  534. package/dist/cjs/util/infer-result.d.ts +48 -0
  535. package/dist/cjs/util/infer-result.js +2 -0
  536. package/dist/cjs/util/json-object-args.d.ts +3 -0
  537. package/dist/cjs/util/json-object-args.js +34 -0
  538. package/dist/cjs/util/log-once.d.ts +5 -0
  539. package/dist/cjs/util/log-once.js +15 -0
  540. package/dist/cjs/util/log.d.ts +28 -0
  541. package/dist/cjs/util/log.js +59 -0
  542. package/dist/cjs/util/object-utils.d.ts +23 -0
  543. package/dist/cjs/util/object-utils.js +162 -0
  544. package/dist/cjs/util/performance-now.d.ts +1 -0
  545. package/dist/cjs/util/performance-now.js +12 -0
  546. package/dist/cjs/util/provide-controlled-connection.d.ts +7 -0
  547. package/dist/cjs/util/provide-controlled-connection.js +24 -0
  548. package/dist/cjs/util/query-id.d.ts +4 -0
  549. package/dist/cjs/util/query-id.js +16 -0
  550. package/dist/cjs/util/random-string.d.ts +1 -0
  551. package/dist/cjs/util/random-string.js +77 -0
  552. package/dist/cjs/util/require-all-props.d.ts +45 -0
  553. package/dist/cjs/util/require-all-props.js +41 -0
  554. package/dist/cjs/util/stack-trace-utils.d.ts +1 -0
  555. package/dist/cjs/util/stack-trace-utils.js +16 -0
  556. package/dist/cjs/util/streamable.d.ts +29 -0
  557. package/dist/cjs/util/streamable.js +2 -0
  558. package/dist/cjs/util/type-error.d.ts +3 -0
  559. package/dist/cjs/util/type-error.js +2 -0
  560. package/dist/cjs/util/type-utils.d.ts +189 -0
  561. package/dist/cjs/util/type-utils.js +2 -0
  562. package/dist/esm/dialect/database-introspector.d.ts +62 -0
  563. package/dist/esm/dialect/database-introspector.js +2 -0
  564. package/dist/esm/dialect/dialect-adapter-base.d.ts +94 -0
  565. package/dist/esm/dialect/dialect-adapter-base.js +21 -0
  566. package/dist/esm/dialect/dialect-adapter.d.ts +115 -0
  567. package/dist/esm/dialect/dialect-adapter.js +2 -0
  568. package/dist/esm/dialect/dialect.d.ts +34 -0
  569. package/dist/esm/dialect/dialect.js +2 -0
  570. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +83 -0
  571. package/dist/esm/dialect/mssql/mssql-adapter.js +25 -0
  572. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +181 -0
  573. package/dist/esm/dialect/mssql/mssql-dialect-config.js +2 -0
  574. package/dist/esm/dialect/mssql/mssql-dialect.d.ts +70 -0
  575. package/dist/esm/dialect/mssql/mssql-dialect.js +62 -0
  576. package/dist/esm/dialect/mssql/mssql-driver.d.ts +59 -0
  577. package/dist/esm/dialect/mssql/mssql-driver.js +356 -0
  578. package/dist/esm/dialect/mssql/mssql-introspector.d.ts +20 -0
  579. package/dist/esm/dialect/mssql/mssql-introspector.js +107 -0
  580. package/dist/esm/dialect/mssql/mssql-query-compiler.d.ts +17 -0
  581. package/dist/esm/dialect/mssql/mssql-query-compiler.js +80 -0
  582. package/dist/esm/dialect/mysql/mysql-adapter.d.ts +80 -0
  583. package/dist/esm/dialect/mysql/mysql-adapter.js +25 -0
  584. package/dist/esm/dialect/mysql/mysql-dialect-config.d.ts +56 -0
  585. package/dist/esm/dialect/mysql/mysql-dialect-config.js +2 -0
  586. package/dist/esm/dialect/mysql/mysql-dialect.d.ts +61 -0
  587. package/dist/esm/dialect/mysql/mysql-dialect.js +53 -0
  588. package/dist/esm/dialect/mysql/mysql-driver.d.ts +52 -0
  589. package/dist/esm/dialect/mysql/mysql-driver.js +177 -0
  590. package/dist/esm/dialect/mysql/mysql-introspector.d.ts +20 -0
  591. package/dist/esm/dialect/mysql/mysql-introspector.js +76 -0
  592. package/dist/esm/dialect/mysql/mysql-query-compiler.d.ts +13 -0
  593. package/dist/esm/dialect/mysql/mysql-query-compiler.js +57 -0
  594. package/dist/esm/dialect/postgres/postgres-adapter.d.ts +80 -0
  595. package/dist/esm/dialect/postgres/postgres-adapter.js +22 -0
  596. package/dist/esm/dialect/postgres/postgres-dialect-config.d.ts +68 -0
  597. package/dist/esm/dialect/postgres/postgres-dialect-config.js +2 -0
  598. package/dist/esm/dialect/postgres/postgres-dialect.d.ts +61 -0
  599. package/dist/esm/dialect/postgres/postgres-dialect.js +53 -0
  600. package/dist/esm/dialect/postgres/postgres-driver.d.ts +55 -0
  601. package/dist/esm/dialect/postgres/postgres-driver.js +131 -0
  602. package/dist/esm/dialect/postgres/postgres-introspector.d.ts +20 -0
  603. package/dist/esm/dialect/postgres/postgres-introspector.js +97 -0
  604. package/dist/esm/dialect/postgres/postgres-query-compiler.d.ts +4 -0
  605. package/dist/esm/dialect/postgres/postgres-query-compiler.js +8 -0
  606. package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +80 -0
  607. package/dist/esm/dialect/sqlite/sqlite-adapter.js +20 -0
  608. package/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts +41 -0
  609. package/dist/esm/dialect/sqlite/sqlite-dialect-config.js +2 -0
  610. package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +55 -0
  611. package/dist/esm/dialect/sqlite/sqlite-dialect.js +48 -0
  612. package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +42 -0
  613. package/dist/esm/dialect/sqlite/sqlite-driver.js +110 -0
  614. package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +20 -0
  615. package/dist/esm/dialect/sqlite/sqlite-introspector.js +91 -0
  616. package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +14 -0
  617. package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +34 -0
  618. package/dist/esm/driver/connection-provider.d.ts +8 -0
  619. package/dist/esm/driver/connection-provider.js +2 -0
  620. package/dist/esm/driver/database-connection.d.ts +35 -0
  621. package/dist/esm/driver/database-connection.js +2 -0
  622. package/dist/esm/driver/default-connection-provider.d.ts +12 -0
  623. package/dist/esm/driver/default-connection-provider.js +16 -0
  624. package/dist/esm/driver/driver.d.ts +61 -0
  625. package/dist/esm/driver/driver.js +19 -0
  626. package/dist/esm/driver/dummy-driver.d.ts +75 -0
  627. package/dist/esm/driver/dummy-driver.js +80 -0
  628. package/dist/esm/driver/runtime-driver.d.ts +47 -0
  629. package/dist/esm/driver/runtime-driver.js +162 -0
  630. package/dist/esm/driver/single-connection-provider.d.ts +11 -0
  631. package/dist/esm/driver/single-connection-provider.js +26 -0
  632. package/dist/esm/dynamic/dynamic-reference-builder.d.ts +18 -0
  633. package/dist/esm/dynamic/dynamic-reference-builder.js +32 -0
  634. package/dist/esm/dynamic/dynamic-table-builder.d.ts +16 -0
  635. package/dist/esm/dynamic/dynamic-table-builder.js +41 -0
  636. package/dist/esm/dynamic/dynamic.d.ts +124 -0
  637. package/dist/esm/dynamic/dynamic.js +129 -0
  638. package/dist/esm/expression/expression-builder.d.ts +920 -0
  639. package/dist/esm/expression/expression-builder.js +125 -0
  640. package/dist/esm/expression/expression-wrapper.d.ts +631 -0
  641. package/dist/esm/expression/expression-wrapper.js +128 -0
  642. package/dist/esm/expression/expression.d.ts +198 -0
  643. package/dist/esm/expression/expression.js +12 -0
  644. package/dist/esm/helpers/mssql.d.ts +212 -0
  645. package/dist/esm/helpers/mssql.js +215 -0
  646. package/dist/esm/helpers/mysql.d.ts +147 -0
  647. package/dist/esm/helpers/mysql.js +158 -0
  648. package/dist/esm/helpers/postgres.d.ts +199 -0
  649. package/dist/esm/helpers/postgres.js +203 -0
  650. package/dist/esm/helpers/sqlite.d.ts +189 -0
  651. package/dist/esm/helpers/sqlite.js +200 -0
  652. package/dist/esm/index.d.ts +226 -0
  653. package/dist/esm/index.js +212 -0
  654. package/dist/esm/kysely.d.ts +848 -0
  655. package/dist/esm/kysely.js +917 -0
  656. package/dist/esm/migration/file-migration-provider.d.ts +48 -0
  657. package/dist/esm/migration/file-migration-provider.js +49 -0
  658. package/dist/esm/migration/migrator.d.ts +395 -0
  659. package/dist/esm/migration/migrator.js +608 -0
  660. package/dist/esm/operation-node/add-column-node.d.ts +15 -0
  661. package/dist/esm/operation-node/add-column-node.js +16 -0
  662. package/dist/esm/operation-node/add-constraint-node.d.ts +15 -0
  663. package/dist/esm/operation-node/add-constraint-node.js +16 -0
  664. package/dist/esm/operation-node/add-index-node.d.ts +23 -0
  665. package/dist/esm/operation-node/add-index-node.js +29 -0
  666. package/dist/esm/operation-node/aggregate-function-node.d.ts +29 -0
  667. package/dist/esm/operation-node/aggregate-function-node.js +56 -0
  668. package/dist/esm/operation-node/alias-node.d.ts +15 -0
  669. package/dist/esm/operation-node/alias-node.js +17 -0
  670. package/dist/esm/operation-node/alter-column-node.d.ts +23 -0
  671. package/dist/esm/operation-node/alter-column-node.js +18 -0
  672. package/dist/esm/operation-node/alter-table-node.d.ts +38 -0
  673. package/dist/esm/operation-node/alter-table-node.js +30 -0
  674. package/dist/esm/operation-node/and-node.d.ts +15 -0
  675. package/dist/esm/operation-node/and-node.js +17 -0
  676. package/dist/esm/operation-node/binary-operation-node.d.ts +16 -0
  677. package/dist/esm/operation-node/binary-operation-node.js +18 -0
  678. package/dist/esm/operation-node/case-node.d.ts +21 -0
  679. package/dist/esm/operation-node/case-node.js +40 -0
  680. package/dist/esm/operation-node/cast-node.d.ts +15 -0
  681. package/dist/esm/operation-node/cast-node.js +17 -0
  682. package/dist/esm/operation-node/check-constraint-node.d.ts +16 -0
  683. package/dist/esm/operation-node/check-constraint-node.js +20 -0
  684. package/dist/esm/operation-node/collate-node.d.ts +15 -0
  685. package/dist/esm/operation-node/collate-node.js +17 -0
  686. package/dist/esm/operation-node/column-definition-node.d.ts +38 -0
  687. package/dist/esm/operation-node/column-definition-node.js +40 -0
  688. package/dist/esm/operation-node/column-node.d.ts +15 -0
  689. package/dist/esm/operation-node/column-node.js +17 -0
  690. package/dist/esm/operation-node/column-update-node.d.ts +15 -0
  691. package/dist/esm/operation-node/column-update-node.js +17 -0
  692. package/dist/esm/operation-node/common-table-expression-name-node.d.ts +17 -0
  693. package/dist/esm/operation-node/common-table-expression-name-node.js +21 -0
  694. package/dist/esm/operation-node/common-table-expression-node.d.ts +19 -0
  695. package/dist/esm/operation-node/common-table-expression-node.js +23 -0
  696. package/dist/esm/operation-node/constraint-node.d.ts +5 -0
  697. package/dist/esm/operation-node/constraint-node.js +2 -0
  698. package/dist/esm/operation-node/create-index-node.d.ts +29 -0
  699. package/dist/esm/operation-node/create-index-node.js +29 -0
  700. package/dist/esm/operation-node/create-schema-node.d.ts +18 -0
  701. package/dist/esm/operation-node/create-schema-node.js +24 -0
  702. package/dist/esm/operation-node/create-table-node.d.ts +34 -0
  703. package/dist/esm/operation-node/create-table-node.js +54 -0
  704. package/dist/esm/operation-node/create-type-node.d.ts +19 -0
  705. package/dist/esm/operation-node/create-type-node.js +24 -0
  706. package/dist/esm/operation-node/create-view-node.d.ts +26 -0
  707. package/dist/esm/operation-node/create-view-node.js +23 -0
  708. package/dist/esm/operation-node/data-type-node.d.ts +19 -0
  709. package/dist/esm/operation-node/data-type-node.js +83 -0
  710. package/dist/esm/operation-node/default-insert-value-node.d.ts +13 -0
  711. package/dist/esm/operation-node/default-insert-value-node.js +15 -0
  712. package/dist/esm/operation-node/default-value-node.d.ts +14 -0
  713. package/dist/esm/operation-node/default-value-node.js +16 -0
  714. package/dist/esm/operation-node/delete-query-node.d.ts +42 -0
  715. package/dist/esm/operation-node/delete-query-node.js +50 -0
  716. package/dist/esm/operation-node/drop-column-node.d.ts +15 -0
  717. package/dist/esm/operation-node/drop-column-node.js +17 -0
  718. package/dist/esm/operation-node/drop-constraint-node.d.ts +19 -0
  719. package/dist/esm/operation-node/drop-constraint-node.js +23 -0
  720. package/dist/esm/operation-node/drop-index-node.d.ts +21 -0
  721. package/dist/esm/operation-node/drop-index-node.js +24 -0
  722. package/dist/esm/operation-node/drop-schema-node.d.ts +19 -0
  723. package/dist/esm/operation-node/drop-schema-node.js +24 -0
  724. package/dist/esm/operation-node/drop-table-node.d.ts +19 -0
  725. package/dist/esm/operation-node/drop-table-node.js +23 -0
  726. package/dist/esm/operation-node/drop-type-node.d.ts +18 -0
  727. package/dist/esm/operation-node/drop-type-node.js +22 -0
  728. package/dist/esm/operation-node/drop-view-node.d.ts +20 -0
  729. package/dist/esm/operation-node/drop-view-node.js +23 -0
  730. package/dist/esm/operation-node/explain-node.d.ts +16 -0
  731. package/dist/esm/operation-node/explain-node.js +17 -0
  732. package/dist/esm/operation-node/fetch-node.d.ts +17 -0
  733. package/dist/esm/operation-node/fetch-node.js +18 -0
  734. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +26 -0
  735. package/dist/esm/operation-node/foreign-key-constraint-node.js +28 -0
  736. package/dist/esm/operation-node/from-node.d.ts +15 -0
  737. package/dist/esm/operation-node/from-node.js +22 -0
  738. package/dist/esm/operation-node/function-node.d.ts +15 -0
  739. package/dist/esm/operation-node/function-node.js +17 -0
  740. package/dist/esm/operation-node/generated-node.d.ts +21 -0
  741. package/dist/esm/operation-node/generated-node.js +29 -0
  742. package/dist/esm/operation-node/group-by-item-node.d.ts +14 -0
  743. package/dist/esm/operation-node/group-by-item-node.js +16 -0
  744. package/dist/esm/operation-node/group-by-node.d.ts +16 -0
  745. package/dist/esm/operation-node/group-by-node.js +22 -0
  746. package/dist/esm/operation-node/having-node.d.ts +15 -0
  747. package/dist/esm/operation-node/having-node.js +26 -0
  748. package/dist/esm/operation-node/identifier-node.d.ts +14 -0
  749. package/dist/esm/operation-node/identifier-node.js +16 -0
  750. package/dist/esm/operation-node/insert-query-node.d.ts +42 -0
  751. package/dist/esm/operation-node/insert-query-node.js +29 -0
  752. package/dist/esm/operation-node/join-node.d.ts +20 -0
  753. package/dist/esm/operation-node/join-node.js +35 -0
  754. package/dist/esm/operation-node/json-operator-chain-node.d.ts +18 -0
  755. package/dist/esm/operation-node/json-operator-chain-node.js +23 -0
  756. package/dist/esm/operation-node/json-path-leg-node.d.ts +16 -0
  757. package/dist/esm/operation-node/json-path-leg-node.js +17 -0
  758. package/dist/esm/operation-node/json-path-node.d.ts +18 -0
  759. package/dist/esm/operation-node/json-path-node.js +23 -0
  760. package/dist/esm/operation-node/json-reference-node.d.ts +19 -0
  761. package/dist/esm/operation-node/json-reference-node.js +23 -0
  762. package/dist/esm/operation-node/limit-node.d.ts +14 -0
  763. package/dist/esm/operation-node/limit-node.js +16 -0
  764. package/dist/esm/operation-node/list-node.d.ts +14 -0
  765. package/dist/esm/operation-node/list-node.js +16 -0
  766. package/dist/esm/operation-node/matched-node.d.ts +15 -0
  767. package/dist/esm/operation-node/matched-node.js +17 -0
  768. package/dist/esm/operation-node/merge-query-node.d.ts +32 -0
  769. package/dist/esm/operation-node/merge-query-node.js +43 -0
  770. package/dist/esm/operation-node/modify-column-node.d.ts +15 -0
  771. package/dist/esm/operation-node/modify-column-node.js +16 -0
  772. package/dist/esm/operation-node/offset-node.d.ts +14 -0
  773. package/dist/esm/operation-node/offset-node.js +16 -0
  774. package/dist/esm/operation-node/on-conflict-node.d.ts +32 -0
  775. package/dist/esm/operation-node/on-conflict-node.js +66 -0
  776. package/dist/esm/operation-node/on-duplicate-key-node.d.ts +16 -0
  777. package/dist/esm/operation-node/on-duplicate-key-node.js +16 -0
  778. package/dist/esm/operation-node/on-node.d.ts +15 -0
  779. package/dist/esm/operation-node/on-node.js +26 -0
  780. package/dist/esm/operation-node/operation-node-source.d.ts +5 -0
  781. package/dist/esm/operation-node/operation-node-source.js +5 -0
  782. package/dist/esm/operation-node/operation-node-transformer.d.ts +238 -0
  783. package/dist/esm/operation-node/operation-node-transformer.js +926 -0
  784. package/dist/esm/operation-node/operation-node-visitor.d.ts +201 -0
  785. package/dist/esm/operation-node/operation-node-visitor.js +112 -0
  786. package/dist/esm/operation-node/operation-node.d.ts +4 -0
  787. package/dist/esm/operation-node/operation-node.js +2 -0
  788. package/dist/esm/operation-node/operator-node.d.ts +34 -0
  789. package/dist/esm/operation-node/operator-node.js +100 -0
  790. package/dist/esm/operation-node/or-action-node.d.ts +14 -0
  791. package/dist/esm/operation-node/or-action-node.js +16 -0
  792. package/dist/esm/operation-node/or-node.d.ts +15 -0
  793. package/dist/esm/operation-node/or-node.js +17 -0
  794. package/dist/esm/operation-node/order-by-item-node.d.ts +20 -0
  795. package/dist/esm/operation-node/order-by-item-node.js +23 -0
  796. package/dist/esm/operation-node/order-by-node.d.ts +16 -0
  797. package/dist/esm/operation-node/order-by-node.js +22 -0
  798. package/dist/esm/operation-node/output-node.d.ts +15 -0
  799. package/dist/esm/operation-node/output-node.js +24 -0
  800. package/dist/esm/operation-node/over-node.d.ts +21 -0
  801. package/dist/esm/operation-node/over-node.js +33 -0
  802. package/dist/esm/operation-node/parens-node.d.ts +14 -0
  803. package/dist/esm/operation-node/parens-node.js +16 -0
  804. package/dist/esm/operation-node/partition-by-item-node.d.ts +15 -0
  805. package/dist/esm/operation-node/partition-by-item-node.js +16 -0
  806. package/dist/esm/operation-node/partition-by-node.d.ts +16 -0
  807. package/dist/esm/operation-node/partition-by-node.js +22 -0
  808. package/dist/esm/operation-node/primary-key-constraint-node.d.ts +31 -0
  809. package/dist/esm/operation-node/primary-key-constraint-node.js +30 -0
  810. package/dist/esm/operation-node/primitive-value-list-node.d.ts +19 -0
  811. package/dist/esm/operation-node/primitive-value-list-node.js +16 -0
  812. package/dist/esm/operation-node/query-node.d.ts +61 -0
  813. package/dist/esm/operation-node/query-node.js +100 -0
  814. package/dist/esm/operation-node/raw-node.d.ts +18 -0
  815. package/dist/esm/operation-node/raw-node.js +26 -0
  816. package/dist/esm/operation-node/reference-node.d.ts +19 -0
  817. package/dist/esm/operation-node/reference-node.js +25 -0
  818. package/dist/esm/operation-node/references-node.d.ts +24 -0
  819. package/dist/esm/operation-node/references-node.js +36 -0
  820. package/dist/esm/operation-node/refresh-materialized-view-node.d.ts +19 -0
  821. package/dist/esm/operation-node/refresh-materialized-view-node.js +23 -0
  822. package/dist/esm/operation-node/rename-column-node.d.ts +16 -0
  823. package/dist/esm/operation-node/rename-column-node.js +18 -0
  824. package/dist/esm/operation-node/rename-constraint-node.d.ts +16 -0
  825. package/dist/esm/operation-node/rename-constraint-node.js +18 -0
  826. package/dist/esm/operation-node/returning-node.d.ts +16 -0
  827. package/dist/esm/operation-node/returning-node.js +24 -0
  828. package/dist/esm/operation-node/schemable-identifier-node.d.ts +17 -0
  829. package/dist/esm/operation-node/schemable-identifier-node.js +24 -0
  830. package/dist/esm/operation-node/select-all-node.d.ts +13 -0
  831. package/dist/esm/operation-node/select-all-node.js +15 -0
  832. package/dist/esm/operation-node/select-modifier-node.d.ts +18 -0
  833. package/dist/esm/operation-node/select-modifier-node.js +23 -0
  834. package/dist/esm/operation-node/select-query-node.d.ts +63 -0
  835. package/dist/esm/operation-node/select-query-node.js +127 -0
  836. package/dist/esm/operation-node/selection-node.d.ts +21 -0
  837. package/dist/esm/operation-node/selection-node.js +30 -0
  838. package/dist/esm/operation-node/set-operation-node.d.ts +17 -0
  839. package/dist/esm/operation-node/set-operation-node.js +18 -0
  840. package/dist/esm/operation-node/simple-reference-expression-node.d.ts +3 -0
  841. package/dist/esm/operation-node/simple-reference-expression-node.js +2 -0
  842. package/dist/esm/operation-node/table-node.d.ts +16 -0
  843. package/dist/esm/operation-node/table-node.js +23 -0
  844. package/dist/esm/operation-node/top-node.d.ts +16 -0
  845. package/dist/esm/operation-node/top-node.js +17 -0
  846. package/dist/esm/operation-node/tuple-node.d.ts +14 -0
  847. package/dist/esm/operation-node/tuple-node.js +16 -0
  848. package/dist/esm/operation-node/unary-operation-node.d.ts +15 -0
  849. package/dist/esm/operation-node/unary-operation-node.js +17 -0
  850. package/dist/esm/operation-node/unique-constraint-node.d.ts +22 -0
  851. package/dist/esm/operation-node/unique-constraint-node.js +28 -0
  852. package/dist/esm/operation-node/update-query-node.d.ts +41 -0
  853. package/dist/esm/operation-node/update-query-node.js +48 -0
  854. package/dist/esm/operation-node/using-node.d.ts +15 -0
  855. package/dist/esm/operation-node/using-node.js +22 -0
  856. package/dist/esm/operation-node/value-list-node.d.ts +14 -0
  857. package/dist/esm/operation-node/value-list-node.js +16 -0
  858. package/dist/esm/operation-node/value-node.d.ts +16 -0
  859. package/dist/esm/operation-node/value-node.js +23 -0
  860. package/dist/esm/operation-node/values-node.d.ts +17 -0
  861. package/dist/esm/operation-node/values-node.js +16 -0
  862. package/dist/esm/operation-node/when-node.d.ts +16 -0
  863. package/dist/esm/operation-node/when-node.js +22 -0
  864. package/dist/esm/operation-node/where-node.d.ts +15 -0
  865. package/dist/esm/operation-node/where-node.js +26 -0
  866. package/dist/esm/operation-node/with-node.d.ts +18 -0
  867. package/dist/esm/operation-node/with-node.js +23 -0
  868. package/dist/esm/package.json +1 -0
  869. package/dist/esm/parser/binary-operation-parser.d.ts +21 -0
  870. package/dist/esm/parser/binary-operation-parser.js +68 -0
  871. package/dist/esm/parser/coalesce-parser.d.ts +12 -0
  872. package/dist/esm/parser/coalesce-parser.js +2 -0
  873. package/dist/esm/parser/collate-parser.d.ts +1 -0
  874. package/dist/esm/parser/collate-parser.js +2 -0
  875. package/dist/esm/parser/data-type-parser.d.ts +5 -0
  876. package/dist/esm/parser/data-type-parser.js +12 -0
  877. package/dist/esm/parser/default-value-parser.d.ts +4 -0
  878. package/dist/esm/parser/default-value-parser.js +8 -0
  879. package/dist/esm/parser/delete-from-parser.d.ts +9 -0
  880. package/dist/esm/parser/delete-from-parser.js +2 -0
  881. package/dist/esm/parser/expression-parser.d.ts +20 -0
  882. package/dist/esm/parser/expression-parser.js +26 -0
  883. package/dist/esm/parser/fetch-parser.d.ts +2 -0
  884. package/dist/esm/parser/fetch-parser.js +15 -0
  885. package/dist/esm/parser/group-by-parser.d.ts +6 -0
  886. package/dist/esm/parser/group-by-parser.js +9 -0
  887. package/dist/esm/parser/identifier-parser.d.ts +2 -0
  888. package/dist/esm/parser/identifier-parser.js +20 -0
  889. package/dist/esm/parser/insert-values-parser.d.ts +14 -0
  890. package/dist/esm/parser/insert-values-parser.js +62 -0
  891. package/dist/esm/parser/join-parser.d.ts +10 -0
  892. package/dist/esm/parser/join-parser.js +28 -0
  893. package/dist/esm/parser/merge-into-parser.d.ts +7 -0
  894. package/dist/esm/parser/merge-into-parser.js +2 -0
  895. package/dist/esm/parser/merge-parser.d.ts +9 -0
  896. package/dist/esm/parser/merge-parser.js +28 -0
  897. package/dist/esm/parser/on-commit-action-parse.d.ts +2 -0
  898. package/dist/esm/parser/on-commit-action-parse.js +8 -0
  899. package/dist/esm/parser/on-modify-action-parser.d.ts +2 -0
  900. package/dist/esm/parser/on-modify-action-parser.js +8 -0
  901. package/dist/esm/parser/order-by-parser.d.ts +25 -0
  902. package/dist/esm/parser/order-by-parser.js +67 -0
  903. package/dist/esm/parser/parse-utils.d.ts +10 -0
  904. package/dist/esm/parser/parse-utils.js +33 -0
  905. package/dist/esm/parser/partition-by-parser.d.ts +6 -0
  906. package/dist/esm/parser/partition-by-parser.js +6 -0
  907. package/dist/esm/parser/reference-parser.d.ts +31 -0
  908. package/dist/esm/parser/reference-parser.js +95 -0
  909. package/dist/esm/parser/returning-parser.d.ts +8 -0
  910. package/dist/esm/parser/returning-parser.js +2 -0
  911. package/dist/esm/parser/savepoint-parser.d.ts +4 -0
  912. package/dist/esm/parser/savepoint-parser.js +9 -0
  913. package/dist/esm/parser/select-from-parser.d.ts +6 -0
  914. package/dist/esm/parser/select-from-parser.js +2 -0
  915. package/dist/esm/parser/select-parser.d.ts +36 -0
  916. package/dist/esm/parser/select-parser.js +47 -0
  917. package/dist/esm/parser/set-operation-parser.d.ts +5 -0
  918. package/dist/esm/parser/set-operation-parser.js +14 -0
  919. package/dist/esm/parser/table-parser.d.ts +24 -0
  920. package/dist/esm/parser/table-parser.js +49 -0
  921. package/dist/esm/parser/top-parser.d.ts +2 -0
  922. package/dist/esm/parser/top-parser.js +17 -0
  923. package/dist/esm/parser/tuple-parser.d.ts +47 -0
  924. package/dist/esm/parser/tuple-parser.js +2 -0
  925. package/dist/esm/parser/unary-operation-parser.d.ts +8 -0
  926. package/dist/esm/parser/unary-operation-parser.js +13 -0
  927. package/dist/esm/parser/update-parser.d.ts +9 -0
  928. package/dist/esm/parser/update-parser.js +2 -0
  929. package/dist/esm/parser/update-set-parser.d.ts +16 -0
  930. package/dist/esm/parser/update-set-parser.js +23 -0
  931. package/dist/esm/parser/value-parser.d.ts +13 -0
  932. package/dist/esm/parser/value-parser.js +33 -0
  933. package/dist/esm/parser/with-parser.d.ts +45 -0
  934. package/dist/esm/parser/with-parser.js +31 -0
  935. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +170 -0
  936. package/dist/esm/plugin/camel-case/camel-case-plugin.js +119 -0
  937. package/dist/esm/plugin/camel-case/camel-case-transformer.d.ts +9 -0
  938. package/dist/esm/plugin/camel-case/camel-case-transformer.js +16 -0
  939. package/dist/esm/plugin/camel-case/camel-case.d.ts +15 -0
  940. package/dist/esm/plugin/camel-case/camel-case.js +108 -0
  941. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts +70 -0
  942. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.js +16 -0
  943. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.d.ts +11 -0
  944. package/dist/esm/plugin/deduplicate-joins/deduplicate-joins-transformer.js +39 -0
  945. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts +211 -0
  946. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.js +159 -0
  947. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.d.ts +8 -0
  948. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-transformer.js +26 -0
  949. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts +44 -0
  950. package/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.js +63 -0
  951. package/dist/esm/plugin/immediate-value/immediate-value-plugin.d.ts +73 -0
  952. package/dist/esm/plugin/immediate-value/immediate-value-plugin.js +19 -0
  953. package/dist/esm/plugin/immediate-value/immediate-value-transformer.d.ts +15 -0
  954. package/dist/esm/plugin/immediate-value/immediate-value-transformer.js +20 -0
  955. package/dist/esm/plugin/kysely-plugin.d.ts +72 -0
  956. package/dist/esm/plugin/kysely-plugin.js +2 -0
  957. package/dist/esm/plugin/noop-plugin.d.ts +64 -0
  958. package/dist/esm/plugin/noop-plugin.js +9 -0
  959. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +126 -0
  960. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +104 -0
  961. package/dist/esm/plugin/with-schema/with-schema-plugin.d.ts +66 -0
  962. package/dist/esm/plugin/with-schema/with-schema-plugin.js +14 -0
  963. package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +18 -0
  964. package/dist/esm/plugin/with-schema/with-schema-transformer.js +197 -0
  965. package/dist/esm/query-builder/aggregate-function-builder.d.ts +379 -0
  966. package/dist/esm/query-builder/aggregate-function-builder.js +238 -0
  967. package/dist/esm/query-builder/case-builder.d.ts +112 -0
  968. package/dist/esm/query-builder/case-builder.js +73 -0
  969. package/dist/esm/query-builder/cte-builder.d.ts +20 -0
  970. package/dist/esm/query-builder/cte-builder.js +34 -0
  971. package/dist/esm/query-builder/delete-query-builder.d.ts +1348 -0
  972. package/dist/esm/query-builder/delete-query-builder.js +501 -0
  973. package/dist/esm/query-builder/delete-result.d.ts +4 -0
  974. package/dist/esm/query-builder/delete-result.js +7 -0
  975. package/dist/esm/query-builder/function-module.d.ts +592 -0
  976. package/dist/esm/query-builder/function-module.js +60 -0
  977. package/dist/esm/query-builder/having-interface.d.ts +15 -0
  978. package/dist/esm/query-builder/having-interface.js +2 -0
  979. package/dist/esm/query-builder/insert-query-builder.d.ts +1235 -0
  980. package/dist/esm/query-builder/insert-query-builder.js +1157 -0
  981. package/dist/esm/query-builder/insert-result.d.ts +46 -0
  982. package/dist/esm/query-builder/insert-result.js +50 -0
  983. package/dist/esm/query-builder/join-builder.d.ts +38 -0
  984. package/dist/esm/query-builder/join-builder.js +48 -0
  985. package/dist/esm/query-builder/json-path-builder.d.ts +294 -0
  986. package/dist/esm/query-builder/json-path-builder.js +195 -0
  987. package/dist/esm/query-builder/merge-query-builder.d.ts +1001 -0
  988. package/dist/esm/query-builder/merge-query-builder.js +624 -0
  989. package/dist/esm/query-builder/merge-result.d.ts +4 -0
  990. package/dist/esm/query-builder/merge-result.js +7 -0
  991. package/dist/esm/query-builder/no-result-error.d.ts +10 -0
  992. package/dist/esm/query-builder/no-result-error.js +14 -0
  993. package/dist/esm/query-builder/on-conflict-builder.d.ts +872 -0
  994. package/dist/esm/query-builder/on-conflict-builder.js +254 -0
  995. package/dist/esm/query-builder/order-by-interface.d.ts +158 -0
  996. package/dist/esm/query-builder/order-by-interface.js +2 -0
  997. package/dist/esm/query-builder/order-by-item-builder.d.ts +43 -0
  998. package/dist/esm/query-builder/order-by-item-builder.js +72 -0
  999. package/dist/esm/query-builder/output-interface.d.ts +138 -0
  1000. package/dist/esm/query-builder/output-interface.js +2 -0
  1001. package/dist/esm/query-builder/over-builder.d.ts +101 -0
  1002. package/dist/esm/query-builder/over-builder.js +37 -0
  1003. package/dist/esm/query-builder/returning-interface.d.ts +91 -0
  1004. package/dist/esm/query-builder/returning-interface.js +2 -0
  1005. package/dist/esm/query-builder/select-query-builder-expression.d.ts +28 -0
  1006. package/dist/esm/query-builder/select-query-builder-expression.js +2 -0
  1007. package/dist/esm/query-builder/select-query-builder.d.ts +2391 -0
  1008. package/dist/esm/query-builder/select-query-builder.js +374 -0
  1009. package/dist/esm/query-builder/update-query-builder.d.ts +1392 -0
  1010. package/dist/esm/query-builder/update-query-builder.js +510 -0
  1011. package/dist/esm/query-builder/update-result.d.ts +14 -0
  1012. package/dist/esm/query-builder/update-result.js +18 -0
  1013. package/dist/esm/query-builder/where-interface.d.ts +382 -0
  1014. package/dist/esm/query-builder/where-interface.js +2 -0
  1015. package/dist/esm/query-compiler/compiled-query.d.ts +13 -0
  1016. package/dist/esm/query-compiler/compiled-query.js +14 -0
  1017. package/dist/esm/query-compiler/default-query-compiler.d.ts +235 -0
  1018. package/dist/esm/query-compiler/default-query-compiler.js +1393 -0
  1019. package/dist/esm/query-compiler/query-compiler.d.ts +24 -0
  1020. package/dist/esm/query-compiler/query-compiler.js +2 -0
  1021. package/dist/esm/query-creator.d.ts +592 -0
  1022. package/dist/esm/query-creator.js +619 -0
  1023. package/dist/esm/query-executor/default-query-executor.d.ts +50 -0
  1024. package/dist/esm/query-executor/default-query-executor.js +37 -0
  1025. package/dist/esm/query-executor/noop-query-executor.d.ts +50 -0
  1026. package/dist/esm/query-executor/noop-query-executor.js +34 -0
  1027. package/dist/esm/query-executor/query-executor-base.d.ts +68 -0
  1028. package/dist/esm/query-executor/query-executor-base.js +59 -0
  1029. package/dist/esm/query-executor/query-executor-provider.d.ts +8 -0
  1030. package/dist/esm/query-executor/query-executor-provider.js +2 -0
  1031. package/dist/esm/query-executor/query-executor.d.ts +74 -0
  1032. package/dist/esm/query-executor/query-executor.js +2 -0
  1033. package/dist/esm/raw-builder/raw-builder.d.ts +218 -0
  1034. package/dist/esm/raw-builder/raw-builder.js +84 -0
  1035. package/dist/esm/raw-builder/sql.d.ts +366 -0
  1036. package/dist/esm/raw-builder/sql.js +82 -0
  1037. package/dist/esm/schema/alter-column-builder.d.ts +53 -0
  1038. package/dist/esm/schema/alter-column-builder.js +70 -0
  1039. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts +32 -0
  1040. package/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.js +64 -0
  1041. package/dist/esm/schema/alter-table-add-index-builder.d.ts +138 -0
  1042. package/dist/esm/schema/alter-table-add-index-builder.js +162 -0
  1043. package/dist/esm/schema/alter-table-builder.d.ts +148 -0
  1044. package/dist/esm/schema/alter-table-builder.js +263 -0
  1045. package/dist/esm/schema/alter-table-drop-constraint-builder.d.ts +26 -0
  1046. package/dist/esm/schema/alter-table-drop-constraint-builder.js +56 -0
  1047. package/dist/esm/schema/alter-table-executor.d.ts +18 -0
  1048. package/dist/esm/schema/alter-table-executor.js +17 -0
  1049. package/dist/esm/schema/check-constraint-builder.d.ts +13 -0
  1050. package/dist/esm/schema/check-constraint-builder.js +17 -0
  1051. package/dist/esm/schema/column-definition-builder.d.ts +514 -0
  1052. package/dist/esm/schema/column-definition-builder.js +597 -0
  1053. package/dist/esm/schema/create-index-builder.d.ts +173 -0
  1054. package/dist/esm/schema/create-index-builder.js +199 -0
  1055. package/dist/esm/schema/create-schema-builder.d.ts +24 -0
  1056. package/dist/esm/schema/create-schema-builder.js +31 -0
  1057. package/dist/esm/schema/create-table-builder.d.ts +331 -0
  1058. package/dist/esm/schema/create-table-builder.js +408 -0
  1059. package/dist/esm/schema/create-type-builder.d.ts +33 -0
  1060. package/dist/esm/schema/create-type-builder.js +40 -0
  1061. package/dist/esm/schema/create-view-builder.d.ts +48 -0
  1062. package/dist/esm/schema/create-view-builder.js +95 -0
  1063. package/dist/esm/schema/drop-index-builder.d.ts +30 -0
  1064. package/dist/esm/schema/drop-index-builder.js +54 -0
  1065. package/dist/esm/schema/drop-schema-builder.d.ts +25 -0
  1066. package/dist/esm/schema/drop-schema-builder.js +41 -0
  1067. package/dist/esm/schema/drop-table-builder.d.ts +25 -0
  1068. package/dist/esm/schema/drop-table-builder.js +41 -0
  1069. package/dist/esm/schema/drop-type-builder.d.ts +24 -0
  1070. package/dist/esm/schema/drop-type-builder.js +33 -0
  1071. package/dist/esm/schema/drop-view-builder.d.ts +26 -0
  1072. package/dist/esm/schema/drop-view-builder.js +49 -0
  1073. package/dist/esm/schema/foreign-key-constraint-builder.d.ts +28 -0
  1074. package/dist/esm/schema/foreign-key-constraint-builder.js +45 -0
  1075. package/dist/esm/schema/primary-key-constraint-builder.d.ts +17 -0
  1076. package/dist/esm/schema/primary-key-constraint-builder.js +34 -0
  1077. package/dist/esm/schema/refresh-materialized-view-builder.d.ts +47 -0
  1078. package/dist/esm/schema/refresh-materialized-view-builder.js +72 -0
  1079. package/dist/esm/schema/schema.d.ts +230 -0
  1080. package/dist/esm/schema/schema.js +325 -0
  1081. package/dist/esm/schema/unique-constraint-builder.d.ts +23 -0
  1082. package/dist/esm/schema/unique-constraint-builder.js +42 -0
  1083. package/dist/esm/util/assert.d.ts +2 -0
  1084. package/dist/esm/util/assert.js +11 -0
  1085. package/dist/esm/util/column-type.d.ts +175 -0
  1086. package/dist/esm/util/column-type.js +2 -0
  1087. package/dist/esm/util/compilable.d.ts +5 -0
  1088. package/dist/esm/util/compilable.js +5 -0
  1089. package/dist/esm/util/deferred.d.ts +7 -0
  1090. package/dist/esm/util/deferred.js +25 -0
  1091. package/dist/esm/util/explainable.d.ts +40 -0
  1092. package/dist/esm/util/explainable.js +2 -0
  1093. package/dist/esm/util/infer-result.d.ts +48 -0
  1094. package/dist/esm/util/infer-result.js +2 -0
  1095. package/dist/esm/util/json-object-args.d.ts +3 -0
  1096. package/dist/esm/util/json-object-args.js +32 -0
  1097. package/dist/esm/util/log-once.d.ts +5 -0
  1098. package/dist/esm/util/log-once.js +13 -0
  1099. package/dist/esm/util/log.d.ts +28 -0
  1100. package/dist/esm/util/log.js +56 -0
  1101. package/dist/esm/util/object-utils.d.ts +23 -0
  1102. package/dist/esm/util/object-utils.js +141 -0
  1103. package/dist/esm/util/performance-now.d.ts +1 -0
  1104. package/dist/esm/util/performance-now.js +10 -0
  1105. package/dist/esm/util/provide-controlled-connection.d.ts +7 -0
  1106. package/dist/esm/util/provide-controlled-connection.js +22 -0
  1107. package/dist/esm/util/query-id.d.ts +4 -0
  1108. package/dist/esm/util/query-id.js +14 -0
  1109. package/dist/esm/util/random-string.d.ts +1 -0
  1110. package/dist/esm/util/random-string.js +75 -0
  1111. package/dist/esm/util/require-all-props.d.ts +45 -0
  1112. package/dist/esm/util/require-all-props.js +39 -0
  1113. package/dist/esm/util/stack-trace-utils.d.ts +1 -0
  1114. package/dist/esm/util/stack-trace-utils.js +14 -0
  1115. package/dist/esm/util/streamable.d.ts +29 -0
  1116. package/dist/esm/util/streamable.js +2 -0
  1117. package/dist/esm/util/type-error.d.ts +3 -0
  1118. package/dist/esm/util/type-error.js +2 -0
  1119. package/dist/esm/util/type-utils.d.ts +189 -0
  1120. package/dist/esm/util/type-utils.js +2 -0
  1121. package/helpers/mssql.d.ts +1 -0
  1122. package/helpers/mssql.js +1 -0
  1123. package/helpers/mysql.d.ts +1 -0
  1124. package/helpers/mysql.js +1 -0
  1125. package/helpers/postgres.d.ts +1 -0
  1126. package/helpers/postgres.js +1 -0
  1127. package/helpers/sqlite.d.ts +1 -0
  1128. package/helpers/sqlite.js +1 -0
  1129. package/outdated-typescript.d.ts +5 -0
  1130. package/package.json +155 -0
@@ -0,0 +1,211 @@
1
+ import type { QueryResult } from '../../driver/database-connection.js';
2
+ import type { RootOperationNode } from '../../query-compiler/query-compiler.js';
3
+ import type { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
4
+ import type { UnknownRow } from '../../util/type-utils.js';
5
+ import type { HandleEmptyInListsOptions } from './handle-empty-in-lists.js';
6
+ /**
7
+ * A plugin that allows handling `in ()` and `not in ()` expressions.
8
+ *
9
+ * These expressions are invalid SQL syntax for many databases, and result in runtime
10
+ * database errors.
11
+ *
12
+ * The workarounds used by other libraries always involve modifying the query under
13
+ * the hood, which is not aligned with Kysely's philosophy of WYSIWYG. We recommend manually checking
14
+ * for empty arrays before passing them as arguments to `in` and `not in` expressions
15
+ * instead, but understand that this can be cumbersome. Hence we're going with an
16
+ * opt-in approach where you can choose if and how to handle these cases. We do
17
+ * not want to make this the default behavior, as it can lead to unexpected behavior.
18
+ * Use it at your own risk. Test it. Make sure it works as expected for you.
19
+ *
20
+ * Using this plugin also allows you to throw an error (thus avoiding unnecessary
21
+ * requests to the database) or print a warning in these cases.
22
+ *
23
+ * ### Examples
24
+ *
25
+ * The following strategy replaces the `in`/`not in` expression with a noncontingent
26
+ * expression. A contradiction (falsy) `1 = 0` for `in`, and a tautology (truthy) `1 = 1` for `not in`),
27
+ * similarily to how {@link https://github.com/knex/knex/blob/176151d8048b2a7feeb89a3d649a5580786d4f4e/docs/src/guide/query-builder.md#L1763 | Knex.js},
28
+ * {@link https://github.com/prisma/prisma-engines/blob/99168c54187178484dae45d9478aa40cfd1866d2/quaint/src/visitor.rs#L804-L823 | PrismaORM},
29
+ * {@link https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Query/Grammars/Grammar.php#L284-L291 | Laravel},
30
+ * {@link https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine.params.empty_in_strategy | SQLAlchemy}
31
+ * handle this.
32
+ *
33
+ * ```ts
34
+ * import Sqlite from 'better-sqlite3'
35
+ * import {
36
+ * HandleEmptyInListsPlugin,
37
+ * Kysely,
38
+ * replaceWithNoncontingentExpression,
39
+ * SqliteDialect,
40
+ * } from 'kysely'
41
+ * import type { Database } from 'type-editor' // imaginary module
42
+ *
43
+ * const db = new Kysely<Database>({
44
+ * dialect: new SqliteDialect({
45
+ * database: new Sqlite(':memory:'),
46
+ * }),
47
+ * plugins: [
48
+ * new HandleEmptyInListsPlugin({
49
+ * strategy: replaceWithNoncontingentExpression
50
+ * })
51
+ * ],
52
+ * })
53
+ *
54
+ * const results = await db
55
+ * .selectFrom('person')
56
+ * .where('id', 'in', [])
57
+ * .where('first_name', 'not in', [])
58
+ * .selectAll()
59
+ * .execute()
60
+ * ```
61
+ *
62
+ * The generated SQL (SQLite):
63
+ *
64
+ * ```sql
65
+ * select * from "person" where 1 = 0 and 1 = 1
66
+ * ```
67
+ *
68
+ * The following strategy does the following:
69
+ *
70
+ * When `in`, pushes a `null` value into the empty list resulting in `in (null)`,
71
+ * similiarly to how {@link https://github.com/typeorm/typeorm/blob/0280cdc451c35ef73c830eb1191c95d34f6ce06e/src/query-builder/QueryBuilder.ts#L919-L922 | TypeORM}
72
+ * and {@link https://github.com/sequelize/sequelize/blob/0f2891c6897e12bf9bf56df344aae5b698f58c7d/packages/core/src/abstract-dialect/where-sql-builder.ts#L368-L379 | Sequelize}
73
+ * handle `in ()`. `in (null)` is logically the equivalent of `= null`, which returns
74
+ * `null`, which is a falsy expression in most SQL databases. We recommend NOT
75
+ * using this strategy if you plan to use `in` in `select`, `returning`, or `output`
76
+ * clauses, as the return type differs from the `SqlBool` default type for comparisons.
77
+ *
78
+ * When `not in`, casts the left operand as `char` and pushes a unique value into
79
+ * the empty list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
80
+ * is required to avoid database errors with non-string values.
81
+ *
82
+ * ```ts
83
+ * import Sqlite from 'better-sqlite3'
84
+ * import {
85
+ * HandleEmptyInListsPlugin,
86
+ * Kysely,
87
+ * pushValueIntoList,
88
+ * SqliteDialect
89
+ * } from 'kysely'
90
+ * import type { Database } from 'type-editor' // imaginary module
91
+ *
92
+ * const db = new Kysely<Database>({
93
+ * dialect: new SqliteDialect({
94
+ * database: new Sqlite(':memory:'),
95
+ * }),
96
+ * plugins: [
97
+ * new HandleEmptyInListsPlugin({
98
+ * strategy: pushValueIntoList('__kysely_no_values_were_provided__') // choose a unique value for not in. has to be something with zero chance being in the data.
99
+ * })
100
+ * ],
101
+ * })
102
+ *
103
+ * const results = await db
104
+ * .selectFrom('person')
105
+ * .where('id', 'in', [])
106
+ * .where('first_name', 'not in', [])
107
+ * .selectAll()
108
+ * .execute()
109
+ * ```
110
+ *
111
+ * The generated SQL (SQLite):
112
+ *
113
+ * ```sql
114
+ * select * from "person" where "id" in (null) and cast("first_name" as char) not in ('__kysely_no_values_were_provided__')
115
+ * ```
116
+ *
117
+ * The following custom strategy throws an error when an empty list is encountered
118
+ * to avoid unnecessary requests to the database:
119
+ *
120
+ * ```ts
121
+ * import Sqlite from 'better-sqlite3'
122
+ * import {
123
+ * HandleEmptyInListsPlugin,
124
+ * Kysely,
125
+ * SqliteDialect
126
+ * } from 'kysely'
127
+ * import type { Database } from 'type-editor' // imaginary module
128
+ *
129
+ * const db = new Kysely<Database>({
130
+ * dialect: new SqliteDialect({
131
+ * database: new Sqlite(':memory:'),
132
+ * }),
133
+ * plugins: [
134
+ * new HandleEmptyInListsPlugin({
135
+ * strategy: () => {
136
+ * throw new Error('Empty in/not-in is not allowed')
137
+ * }
138
+ * })
139
+ * ],
140
+ * })
141
+ *
142
+ * const results = await db
143
+ * .selectFrom('person')
144
+ * .where('id', 'in', [])
145
+ * .selectAll()
146
+ * .execute() // throws an error with 'Empty in/not-in is not allowed' message!
147
+ * ```
148
+ */
149
+ export declare class HandleEmptyInListsPlugin implements KyselyPlugin {
150
+ #private;
151
+ readonly opt: HandleEmptyInListsOptions;
152
+ constructor(opt: HandleEmptyInListsOptions);
153
+ /**
154
+ * This is called for each query before it is executed. You can modify the query by
155
+ * transforming its {@link OperationNode} tree provided in {@link PluginTransformQueryArgs.node | args.node}
156
+ * and returning the transformed tree. You'd usually want to use an {@link OperationNodeTransformer}
157
+ * for this.
158
+ *
159
+ * If you need to pass some query-related data between this method and `transformResult` you
160
+ * can use a `WeakMap` with {@link PluginTransformQueryArgs.queryId | args.queryId} as the key:
161
+ *
162
+ * ```ts
163
+ * import type {
164
+ * KyselyPlugin,
165
+ * QueryResult,
166
+ * RootOperationNode,
167
+ * UnknownRow
168
+ * } from 'kysely'
169
+ *
170
+ * interface MyData {
171
+ * // ...
172
+ * }
173
+ * const data = new WeakMap<any, MyData>()
174
+ *
175
+ * const plugin = {
176
+ * transformQuery(args: PluginTransformQueryArgs): RootOperationNode {
177
+ * const something: MyData = {}
178
+ *
179
+ * // ...
180
+ *
181
+ * data.set(args.queryId, something)
182
+ *
183
+ * // ...
184
+ *
185
+ * return args.node
186
+ * },
187
+ *
188
+ * async transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>> {
189
+ * // ...
190
+ *
191
+ * const something = data.get(args.queryId)
192
+ *
193
+ * // ...
194
+ *
195
+ * return args.result
196
+ * }
197
+ * } satisfies KyselyPlugin
198
+ * ```
199
+ *
200
+ * You should use a `WeakMap` instead of a `Map` or some other strong references because `transformQuery`
201
+ * is not always matched by a call to `transformResult` which would leave orphaned items in the map
202
+ * and cause a memory leak.
203
+ */
204
+ transformQuery(args: PluginTransformQueryArgs): RootOperationNode;
205
+ /**
206
+ * This method is called for each query after it has been executed. The result
207
+ * of the query can be accessed through {@link PluginTransformResultArgs.result | args.result}.
208
+ * You can modify the result and return the modifier result.
209
+ */
210
+ transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
211
+ }
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HandleEmptyInListsPlugin = void 0;
4
+ const handle_empty_in_lists_transformer_js_1 = require("./handle-empty-in-lists-transformer.js");
5
+ /**
6
+ * A plugin that allows handling `in ()` and `not in ()` expressions.
7
+ *
8
+ * These expressions are invalid SQL syntax for many databases, and result in runtime
9
+ * database errors.
10
+ *
11
+ * The workarounds used by other libraries always involve modifying the query under
12
+ * the hood, which is not aligned with Kysely's philosophy of WYSIWYG. We recommend manually checking
13
+ * for empty arrays before passing them as arguments to `in` and `not in` expressions
14
+ * instead, but understand that this can be cumbersome. Hence we're going with an
15
+ * opt-in approach where you can choose if and how to handle these cases. We do
16
+ * not want to make this the default behavior, as it can lead to unexpected behavior.
17
+ * Use it at your own risk. Test it. Make sure it works as expected for you.
18
+ *
19
+ * Using this plugin also allows you to throw an error (thus avoiding unnecessary
20
+ * requests to the database) or print a warning in these cases.
21
+ *
22
+ * ### Examples
23
+ *
24
+ * The following strategy replaces the `in`/`not in` expression with a noncontingent
25
+ * expression. A contradiction (falsy) `1 = 0` for `in`, and a tautology (truthy) `1 = 1` for `not in`),
26
+ * similarily to how {@link https://github.com/knex/knex/blob/176151d8048b2a7feeb89a3d649a5580786d4f4e/docs/src/guide/query-builder.md#L1763 | Knex.js},
27
+ * {@link https://github.com/prisma/prisma-engines/blob/99168c54187178484dae45d9478aa40cfd1866d2/quaint/src/visitor.rs#L804-L823 | PrismaORM},
28
+ * {@link https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Query/Grammars/Grammar.php#L284-L291 | Laravel},
29
+ * {@link https://docs.sqlalchemy.org/en/13/core/engines.html#sqlalchemy.create_engine.params.empty_in_strategy | SQLAlchemy}
30
+ * handle this.
31
+ *
32
+ * ```ts
33
+ * import Sqlite from 'better-sqlite3'
34
+ * import {
35
+ * HandleEmptyInListsPlugin,
36
+ * Kysely,
37
+ * replaceWithNoncontingentExpression,
38
+ * SqliteDialect,
39
+ * } from 'kysely'
40
+ * import type { Database } from 'type-editor' // imaginary module
41
+ *
42
+ * const db = new Kysely<Database>({
43
+ * dialect: new SqliteDialect({
44
+ * database: new Sqlite(':memory:'),
45
+ * }),
46
+ * plugins: [
47
+ * new HandleEmptyInListsPlugin({
48
+ * strategy: replaceWithNoncontingentExpression
49
+ * })
50
+ * ],
51
+ * })
52
+ *
53
+ * const results = await db
54
+ * .selectFrom('person')
55
+ * .where('id', 'in', [])
56
+ * .where('first_name', 'not in', [])
57
+ * .selectAll()
58
+ * .execute()
59
+ * ```
60
+ *
61
+ * The generated SQL (SQLite):
62
+ *
63
+ * ```sql
64
+ * select * from "person" where 1 = 0 and 1 = 1
65
+ * ```
66
+ *
67
+ * The following strategy does the following:
68
+ *
69
+ * When `in`, pushes a `null` value into the empty list resulting in `in (null)`,
70
+ * similiarly to how {@link https://github.com/typeorm/typeorm/blob/0280cdc451c35ef73c830eb1191c95d34f6ce06e/src/query-builder/QueryBuilder.ts#L919-L922 | TypeORM}
71
+ * and {@link https://github.com/sequelize/sequelize/blob/0f2891c6897e12bf9bf56df344aae5b698f58c7d/packages/core/src/abstract-dialect/where-sql-builder.ts#L368-L379 | Sequelize}
72
+ * handle `in ()`. `in (null)` is logically the equivalent of `= null`, which returns
73
+ * `null`, which is a falsy expression in most SQL databases. We recommend NOT
74
+ * using this strategy if you plan to use `in` in `select`, `returning`, or `output`
75
+ * clauses, as the return type differs from the `SqlBool` default type for comparisons.
76
+ *
77
+ * When `not in`, casts the left operand as `char` and pushes a unique value into
78
+ * the empty list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
79
+ * is required to avoid database errors with non-string values.
80
+ *
81
+ * ```ts
82
+ * import Sqlite from 'better-sqlite3'
83
+ * import {
84
+ * HandleEmptyInListsPlugin,
85
+ * Kysely,
86
+ * pushValueIntoList,
87
+ * SqliteDialect
88
+ * } from 'kysely'
89
+ * import type { Database } from 'type-editor' // imaginary module
90
+ *
91
+ * const db = new Kysely<Database>({
92
+ * dialect: new SqliteDialect({
93
+ * database: new Sqlite(':memory:'),
94
+ * }),
95
+ * plugins: [
96
+ * new HandleEmptyInListsPlugin({
97
+ * strategy: pushValueIntoList('__kysely_no_values_were_provided__') // choose a unique value for not in. has to be something with zero chance being in the data.
98
+ * })
99
+ * ],
100
+ * })
101
+ *
102
+ * const results = await db
103
+ * .selectFrom('person')
104
+ * .where('id', 'in', [])
105
+ * .where('first_name', 'not in', [])
106
+ * .selectAll()
107
+ * .execute()
108
+ * ```
109
+ *
110
+ * The generated SQL (SQLite):
111
+ *
112
+ * ```sql
113
+ * select * from "person" where "id" in (null) and cast("first_name" as char) not in ('__kysely_no_values_were_provided__')
114
+ * ```
115
+ *
116
+ * The following custom strategy throws an error when an empty list is encountered
117
+ * to avoid unnecessary requests to the database:
118
+ *
119
+ * ```ts
120
+ * import Sqlite from 'better-sqlite3'
121
+ * import {
122
+ * HandleEmptyInListsPlugin,
123
+ * Kysely,
124
+ * SqliteDialect
125
+ * } from 'kysely'
126
+ * import type { Database } from 'type-editor' // imaginary module
127
+ *
128
+ * const db = new Kysely<Database>({
129
+ * dialect: new SqliteDialect({
130
+ * database: new Sqlite(':memory:'),
131
+ * }),
132
+ * plugins: [
133
+ * new HandleEmptyInListsPlugin({
134
+ * strategy: () => {
135
+ * throw new Error('Empty in/not-in is not allowed')
136
+ * }
137
+ * })
138
+ * ],
139
+ * })
140
+ *
141
+ * const results = await db
142
+ * .selectFrom('person')
143
+ * .where('id', 'in', [])
144
+ * .selectAll()
145
+ * .execute() // throws an error with 'Empty in/not-in is not allowed' message!
146
+ * ```
147
+ */
148
+ class HandleEmptyInListsPlugin {
149
+ opt;
150
+ #transformer;
151
+ constructor(opt) {
152
+ this.opt = opt;
153
+ this.#transformer = new handle_empty_in_lists_transformer_js_1.HandleEmptyInListsTransformer(opt.strategy);
154
+ }
155
+ transformQuery(args) {
156
+ return this.#transformer.transformNode(args.node, args.queryId);
157
+ }
158
+ async transformResult(args) {
159
+ return args.result;
160
+ }
161
+ }
162
+ exports.HandleEmptyInListsPlugin = HandleEmptyInListsPlugin;
@@ -0,0 +1,8 @@
1
+ import type { BinaryOperationNode } from '../../operation-node/binary-operation-node.js';
2
+ import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
3
+ import type { EmptyInListsStrategy } from './handle-empty-in-lists.js';
4
+ export declare class HandleEmptyInListsTransformer extends OperationNodeTransformer {
5
+ #private;
6
+ constructor(strategy: EmptyInListsStrategy);
7
+ protected transformBinaryOperation(node: BinaryOperationNode): BinaryOperationNode;
8
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HandleEmptyInListsTransformer = void 0;
4
+ const operation_node_transformer_js_1 = require("../../operation-node/operation-node-transformer.js");
5
+ const primitive_value_list_node_js_1 = require("../../operation-node/primitive-value-list-node.js");
6
+ const operator_node_js_1 = require("../../operation-node/operator-node.js");
7
+ const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
8
+ class HandleEmptyInListsTransformer extends operation_node_transformer_js_1.OperationNodeTransformer {
9
+ #strategy;
10
+ constructor(strategy) {
11
+ super();
12
+ this.#strategy = strategy;
13
+ }
14
+ transformBinaryOperation(node) {
15
+ if (this.#isEmptyInListNode(node)) {
16
+ return this.#strategy(node);
17
+ }
18
+ return node;
19
+ }
20
+ #isEmptyInListNode(node) {
21
+ const { operator, rightOperand } = node;
22
+ return ((primitive_value_list_node_js_1.PrimitiveValueListNode.is(rightOperand) ||
23
+ value_list_node_js_1.ValueListNode.is(rightOperand)) &&
24
+ rightOperand.values.length === 0 &&
25
+ operator_node_js_1.OperatorNode.is(operator) &&
26
+ (operator.operator === 'in' || operator.operator === 'not in'));
27
+ }
28
+ }
29
+ exports.HandleEmptyInListsTransformer = HandleEmptyInListsTransformer;
@@ -0,0 +1,44 @@
1
+ import { BinaryOperationNode } from '../../operation-node/binary-operation-node.js';
2
+ import { OperatorNode } from '../../operation-node/operator-node.js';
3
+ import type { PrimitiveValueListNode } from '../../operation-node/primitive-value-list-node.js';
4
+ import { ValueListNode } from '../../operation-node/value-list-node.js';
5
+ export interface HandleEmptyInListsOptions {
6
+ /**
7
+ * The strategy to use when handling `in ()` and `not in ()`.
8
+ *
9
+ * See {@link HandleEmptyInListsPlugin} for examples.
10
+ */
11
+ strategy: EmptyInListsStrategy;
12
+ }
13
+ export type EmptyInListNode = BinaryOperationNode & {
14
+ operator: OperatorNode & {
15
+ operator: 'in' | 'not in';
16
+ };
17
+ rightOperand: (ValueListNode | PrimitiveValueListNode) & {
18
+ values: Readonly<[]>;
19
+ };
20
+ };
21
+ export type EmptyInListsStrategy = (node: EmptyInListNode) => BinaryOperationNode;
22
+ /**
23
+ * Replaces the `in`/`not in` expression with a noncontingent expression (always true or always
24
+ * false) depending on the original operator.
25
+ *
26
+ * This is how Knex.js, PrismaORM, Laravel, and SQLAlchemy handle `in ()` and `not in ()`.
27
+ *
28
+ * See {@link pushValueIntoList} for an alternative strategy.
29
+ */
30
+ export declare function replaceWithNoncontingentExpression(node: EmptyInListNode): BinaryOperationNode;
31
+ /**
32
+ * When `in`, pushes a `null` value into the list resulting in `in (null)`. This
33
+ * is how TypeORM and Sequelize handle `in ()`. `in (null)` is logically the equivalent
34
+ * of `= null`, which returns `null`, which is a falsy expression in most SQL databases.
35
+ * We recommend NOT using this strategy if you plan to use `in` in `select`, `returning`,
36
+ * or `output` clauses, as the return type differs from the `SqlBool` default type.
37
+ *
38
+ * When `not in`, casts the left operand as `char` and pushes a literal value into
39
+ * the list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
40
+ * is required to avoid database errors with non-string columns.
41
+ *
42
+ * See {@link replaceWithNoncontingentExpression} for an alternative strategy.
43
+ */
44
+ export declare function pushValueIntoList(uniqueNotInLiteral: '__kysely_no_values_were_provided__' | (string & {})): EmptyInListsStrategy;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.replaceWithNoncontingentExpression = replaceWithNoncontingentExpression;
4
+ exports.pushValueIntoList = pushValueIntoList;
5
+ const binary_operation_node_js_1 = require("../../operation-node/binary-operation-node.js");
6
+ const cast_node_js_1 = require("../../operation-node/cast-node.js");
7
+ const data_type_node_js_1 = require("../../operation-node/data-type-node.js");
8
+ const operator_node_js_1 = require("../../operation-node/operator-node.js");
9
+ const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
10
+ const value_node_js_1 = require("../../operation-node/value-node.js");
11
+ const object_utils_js_1 = require("../../util/object-utils.js");
12
+ let contradiction;
13
+ let eq;
14
+ let one;
15
+ let tautology;
16
+ /**
17
+ * Replaces the `in`/`not in` expression with a noncontingent expression (always true or always
18
+ * false) depending on the original operator.
19
+ *
20
+ * This is how Knex.js, PrismaORM, Laravel, and SQLAlchemy handle `in ()` and `not in ()`.
21
+ *
22
+ * See {@link pushValueIntoList} for an alternative strategy.
23
+ */
24
+ function replaceWithNoncontingentExpression(node) {
25
+ const _one = (one ||= value_node_js_1.ValueNode.createImmediate(1));
26
+ const _eq = (eq ||= operator_node_js_1.OperatorNode.create('='));
27
+ if (node.operator.operator === 'in') {
28
+ return (contradiction ||= binary_operation_node_js_1.BinaryOperationNode.create(_one, _eq, value_node_js_1.ValueNode.createImmediate(0)));
29
+ }
30
+ return (tautology ||= binary_operation_node_js_1.BinaryOperationNode.create(_one, _eq, _one));
31
+ }
32
+ let char;
33
+ let listNull;
34
+ let listVal;
35
+ /**
36
+ * When `in`, pushes a `null` value into the list resulting in `in (null)`. This
37
+ * is how TypeORM and Sequelize handle `in ()`. `in (null)` is logically the equivalent
38
+ * of `= null`, which returns `null`, which is a falsy expression in most SQL databases.
39
+ * We recommend NOT using this strategy if you plan to use `in` in `select`, `returning`,
40
+ * or `output` clauses, as the return type differs from the `SqlBool` default type.
41
+ *
42
+ * When `not in`, casts the left operand as `char` and pushes a literal value into
43
+ * the list resulting in `cast({{lhs}} as char) not in ({{VALUE}})`. Casting
44
+ * is required to avoid database errors with non-string columns.
45
+ *
46
+ * See {@link replaceWithNoncontingentExpression} for an alternative strategy.
47
+ */
48
+ function pushValueIntoList(uniqueNotInLiteral) {
49
+ return function pushValueIntoList(node) {
50
+ if (node.operator.operator === 'in') {
51
+ return (0, object_utils_js_1.freeze)({
52
+ ...node,
53
+ rightOperand: (listNull ||= value_list_node_js_1.ValueListNode.create([
54
+ value_node_js_1.ValueNode.createImmediate(null),
55
+ ])),
56
+ });
57
+ }
58
+ return (0, object_utils_js_1.freeze)({
59
+ ...node,
60
+ leftOperand: cast_node_js_1.CastNode.create(node.leftOperand, (char ||= data_type_node_js_1.DataTypeNode.create('char'))),
61
+ rightOperand: (listVal ||= value_list_node_js_1.ValueListNode.create([
62
+ value_node_js_1.ValueNode.createImmediate(uniqueNotInLiteral),
63
+ ])),
64
+ });
65
+ };
66
+ }
@@ -0,0 +1,73 @@
1
+ import type { QueryResult } from '../../driver/database-connection.js';
2
+ import type { RootOperationNode } from '../../query-compiler/query-compiler.js';
3
+ import type { UnknownRow } from '../../util/type-utils.js';
4
+ import type { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs } from '../kysely-plugin.js';
5
+ /**
6
+ * Transforms all ValueNodes to immediate.
7
+ *
8
+ * WARNING! This should never be part of the public API. Users should never use this.
9
+ * This is an internal helper.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare class ImmediateValuePlugin implements KyselyPlugin {
14
+ #private;
15
+ /**
16
+ * This is called for each query before it is executed. You can modify the query by
17
+ * transforming its {@link OperationNode} tree provided in {@link PluginTransformQueryArgs.node | args.node}
18
+ * and returning the transformed tree. You'd usually want to use an {@link OperationNodeTransformer}
19
+ * for this.
20
+ *
21
+ * If you need to pass some query-related data between this method and `transformResult` you
22
+ * can use a `WeakMap` with {@link PluginTransformQueryArgs.queryId | args.queryId} as the key:
23
+ *
24
+ * ```ts
25
+ * import type {
26
+ * KyselyPlugin,
27
+ * QueryResult,
28
+ * RootOperationNode,
29
+ * UnknownRow
30
+ * } from 'kysely'
31
+ *
32
+ * interface MyData {
33
+ * // ...
34
+ * }
35
+ * const data = new WeakMap<any, MyData>()
36
+ *
37
+ * const plugin = {
38
+ * transformQuery(args: PluginTransformQueryArgs): RootOperationNode {
39
+ * const something: MyData = {}
40
+ *
41
+ * // ...
42
+ *
43
+ * data.set(args.queryId, something)
44
+ *
45
+ * // ...
46
+ *
47
+ * return args.node
48
+ * },
49
+ *
50
+ * async transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>> {
51
+ * // ...
52
+ *
53
+ * const something = data.get(args.queryId)
54
+ *
55
+ * // ...
56
+ *
57
+ * return args.result
58
+ * }
59
+ * } satisfies KyselyPlugin
60
+ * ```
61
+ *
62
+ * You should use a `WeakMap` instead of a `Map` or some other strong references because `transformQuery`
63
+ * is not always matched by a call to `transformResult` which would leave orphaned items in the map
64
+ * and cause a memory leak.
65
+ */
66
+ transformQuery(args: PluginTransformQueryArgs): RootOperationNode;
67
+ /**
68
+ * This method is called for each query after it has been executed. The result
69
+ * of the query can be accessed through {@link PluginTransformResultArgs.result | args.result}.
70
+ * You can modify the result and return the modifier result.
71
+ */
72
+ transformResult(args: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
73
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmediateValuePlugin = void 0;
4
+ const immediate_value_transformer_js_1 = require("./immediate-value-transformer.js");
5
+ /**
6
+ * Transforms all ValueNodes to immediate.
7
+ *
8
+ * WARNING! This should never be part of the public API. Users should never use this.
9
+ * This is an internal helper.
10
+ *
11
+ * @internal
12
+ */
13
+ class ImmediateValuePlugin {
14
+ #transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer();
15
+ transformQuery(args) {
16
+ return this.#transformer.transformNode(args.node, args.queryId);
17
+ }
18
+ transformResult(args) {
19
+ return Promise.resolve(args.result);
20
+ }
21
+ }
22
+ exports.ImmediateValuePlugin = ImmediateValuePlugin;
@@ -0,0 +1,15 @@
1
+ import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js';
2
+ import type { PrimitiveValueListNode } from '../../operation-node/primitive-value-list-node.js';
3
+ import { ValueNode } from '../../operation-node/value-node.js';
4
+ /**
5
+ * Transforms all ValueNodes to immediate.
6
+ *
7
+ * WARNING! This should never be part of the public API. Users should never use this.
8
+ * This is an internal helper.
9
+ *
10
+ * @internal
11
+ */
12
+ export declare class ImmediateValueTransformer extends OperationNodeTransformer {
13
+ transformPrimitiveValueList(node: PrimitiveValueListNode): PrimitiveValueListNode;
14
+ transformValue(node: ValueNode): ValueNode;
15
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmediateValueTransformer = void 0;
4
+ const operation_node_transformer_js_1 = require("../../operation-node/operation-node-transformer.js");
5
+ const value_list_node_js_1 = require("../../operation-node/value-list-node.js");
6
+ const value_node_js_1 = require("../../operation-node/value-node.js");
7
+ /**
8
+ * Transforms all ValueNodes to immediate.
9
+ *
10
+ * WARNING! This should never be part of the public API. Users should never use this.
11
+ * This is an internal helper.
12
+ *
13
+ * @internal
14
+ */
15
+ class ImmediateValueTransformer extends operation_node_transformer_js_1.OperationNodeTransformer {
16
+ transformPrimitiveValueList(node) {
17
+ return value_list_node_js_1.ValueListNode.create(node.values.map(value_node_js_1.ValueNode.createImmediate));
18
+ }
19
+ transformValue(node) {
20
+ return value_node_js_1.ValueNode.createImmediate(node.value);
21
+ }
22
+ }
23
+ exports.ImmediateValueTransformer = ImmediateValueTransformer;