drizzle-orm 0.39.2-8628c8a → 0.39.2-a5d12b4

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 (1001) hide show
  1. package/_relations.cjs +328 -0
  2. package/_relations.cjs.map +1 -0
  3. package/_relations.d.cts +215 -0
  4. package/_relations.d.ts +215 -0
  5. package/_relations.js +316 -0
  6. package/_relations.js.map +1 -0
  7. package/alias.cjs.map +1 -1
  8. package/alias.d.cts +3 -3
  9. package/alias.d.ts +3 -3
  10. package/alias.js.map +1 -1
  11. package/aws-data-api/pg/driver.cjs +19 -5
  12. package/aws-data-api/pg/driver.cjs.map +1 -1
  13. package/aws-data-api/pg/driver.d.cts +9 -8
  14. package/aws-data-api/pg/driver.d.ts +9 -8
  15. package/aws-data-api/pg/driver.js +9 -8
  16. package/aws-data-api/pg/driver.js.map +1 -1
  17. package/aws-data-api/pg/migrator.cjs.map +1 -1
  18. package/aws-data-api/pg/migrator.d.cts +2 -1
  19. package/aws-data-api/pg/migrator.d.ts +2 -1
  20. package/aws-data-api/pg/migrator.js.map +1 -1
  21. package/aws-data-api/pg/session.cjs +67 -4
  22. package/aws-data-api/pg/session.cjs.map +1 -1
  23. package/aws-data-api/pg/session.d.cts +13 -8
  24. package/aws-data-api/pg/session.d.ts +13 -8
  25. package/aws-data-api/pg/session.js +67 -4
  26. package/aws-data-api/pg/session.js.map +1 -1
  27. package/better-sqlite3/driver.cjs +12 -5
  28. package/better-sqlite3/driver.cjs.map +1 -1
  29. package/better-sqlite3/driver.d.cts +7 -6
  30. package/better-sqlite3/driver.d.ts +7 -6
  31. package/better-sqlite3/driver.js +12 -8
  32. package/better-sqlite3/driver.js.map +1 -1
  33. package/better-sqlite3/migrator.cjs.map +1 -1
  34. package/better-sqlite3/migrator.d.cts +2 -1
  35. package/better-sqlite3/migrator.d.ts +2 -1
  36. package/better-sqlite3/migrator.js.map +1 -1
  37. package/better-sqlite3/session.cjs +49 -4
  38. package/better-sqlite3/session.cjs.map +1 -1
  39. package/better-sqlite3/session.d.cts +14 -8
  40. package/better-sqlite3/session.d.ts +14 -8
  41. package/better-sqlite3/session.js +49 -4
  42. package/better-sqlite3/session.js.map +1 -1
  43. package/bun-sql/driver.cjs +16 -5
  44. package/bun-sql/driver.cjs.map +1 -1
  45. package/bun-sql/driver.d.cts +7 -6
  46. package/bun-sql/driver.d.ts +7 -6
  47. package/bun-sql/driver.js +6 -8
  48. package/bun-sql/driver.js.map +1 -1
  49. package/bun-sql/migrator.cjs.map +1 -1
  50. package/bun-sql/migrator.d.cts +2 -1
  51. package/bun-sql/migrator.d.ts +2 -1
  52. package/bun-sql/migrator.js.map +1 -1
  53. package/bun-sql/session.cjs +50 -6
  54. package/bun-sql/session.cjs.map +1 -1
  55. package/bun-sql/session.d.cts +14 -9
  56. package/bun-sql/session.d.ts +14 -9
  57. package/bun-sql/session.js +50 -6
  58. package/bun-sql/session.js.map +1 -1
  59. package/bun-sqlite/driver.cjs +22 -5
  60. package/bun-sqlite/driver.cjs.map +1 -1
  61. package/bun-sqlite/driver.d.cts +7 -6
  62. package/bun-sqlite/driver.d.ts +7 -6
  63. package/bun-sqlite/driver.js +12 -8
  64. package/bun-sqlite/driver.js.map +1 -1
  65. package/bun-sqlite/migrator.cjs.map +1 -1
  66. package/bun-sqlite/migrator.d.cts +2 -1
  67. package/bun-sqlite/migrator.d.ts +2 -1
  68. package/bun-sqlite/migrator.js.map +1 -1
  69. package/bun-sqlite/session.cjs +49 -4
  70. package/bun-sqlite/session.cjs.map +1 -1
  71. package/bun-sqlite/session.d.cts +14 -8
  72. package/bun-sqlite/session.d.ts +14 -8
  73. package/bun-sqlite/session.js +49 -4
  74. package/bun-sqlite/session.js.map +1 -1
  75. package/column-builder.cjs.map +1 -1
  76. package/column-builder.d.cts +5 -6
  77. package/column-builder.d.ts +5 -6
  78. package/column-builder.js.map +1 -1
  79. package/d1/driver.cjs +22 -5
  80. package/d1/driver.cjs.map +1 -1
  81. package/d1/driver.d.cts +3 -2
  82. package/d1/driver.d.ts +3 -2
  83. package/d1/driver.js +12 -8
  84. package/d1/driver.js.map +1 -1
  85. package/d1/migrator.cjs.map +1 -1
  86. package/d1/migrator.d.cts +2 -1
  87. package/d1/migrator.d.ts +2 -1
  88. package/d1/migrator.js.map +1 -1
  89. package/d1/session.cjs +50 -8
  90. package/d1/session.cjs.map +1 -1
  91. package/d1/session.d.cts +15 -8
  92. package/d1/session.d.ts +15 -8
  93. package/d1/session.js +50 -8
  94. package/d1/session.js.map +1 -1
  95. package/durable-sqlite/driver.cjs +16 -5
  96. package/durable-sqlite/driver.cjs.map +1 -1
  97. package/durable-sqlite/driver.d.cts +3 -2
  98. package/durable-sqlite/driver.d.ts +3 -2
  99. package/durable-sqlite/driver.js +6 -8
  100. package/durable-sqlite/driver.js.map +1 -1
  101. package/durable-sqlite/migrator.cjs.map +1 -1
  102. package/durable-sqlite/migrator.d.cts +2 -1
  103. package/durable-sqlite/migrator.d.ts +2 -1
  104. package/durable-sqlite/migrator.js.map +1 -1
  105. package/durable-sqlite/session.cjs +46 -4
  106. package/durable-sqlite/session.cjs.map +1 -1
  107. package/durable-sqlite/session.d.cts +14 -8
  108. package/durable-sqlite/session.d.ts +14 -8
  109. package/durable-sqlite/session.js +46 -4
  110. package/durable-sqlite/session.js.map +1 -1
  111. package/expo-sqlite/driver.cjs +22 -5
  112. package/expo-sqlite/driver.cjs.map +1 -1
  113. package/expo-sqlite/driver.d.cts +3 -2
  114. package/expo-sqlite/driver.d.ts +3 -2
  115. package/expo-sqlite/driver.js +12 -8
  116. package/expo-sqlite/driver.js.map +1 -1
  117. package/expo-sqlite/migrator.cjs.map +1 -1
  118. package/expo-sqlite/migrator.d.cts +3 -2
  119. package/expo-sqlite/migrator.d.ts +3 -2
  120. package/expo-sqlite/migrator.js.map +1 -1
  121. package/expo-sqlite/query.cjs +13 -2
  122. package/expo-sqlite/query.cjs.map +1 -1
  123. package/expo-sqlite/query.d.cts +2 -1
  124. package/expo-sqlite/query.d.ts +2 -1
  125. package/expo-sqlite/query.js +3 -2
  126. package/expo-sqlite/query.js.map +1 -1
  127. package/expo-sqlite/session.cjs +47 -4
  128. package/expo-sqlite/session.cjs.map +1 -1
  129. package/expo-sqlite/session.d.cts +14 -8
  130. package/expo-sqlite/session.d.ts +14 -8
  131. package/expo-sqlite/session.js +47 -4
  132. package/expo-sqlite/session.js.map +1 -1
  133. package/libsql/driver-core.cjs +22 -5
  134. package/libsql/driver-core.cjs.map +1 -1
  135. package/libsql/driver-core.d.cts +2 -1
  136. package/libsql/driver-core.d.ts +2 -1
  137. package/libsql/driver-core.js +12 -8
  138. package/libsql/driver-core.js.map +1 -1
  139. package/libsql/driver.cjs.map +1 -1
  140. package/libsql/driver.d.cts +6 -5
  141. package/libsql/driver.d.ts +6 -5
  142. package/libsql/driver.js.map +1 -1
  143. package/libsql/http/index.cjs.map +1 -1
  144. package/libsql/http/index.d.cts +6 -5
  145. package/libsql/http/index.d.ts +6 -5
  146. package/libsql/http/index.js.map +1 -1
  147. package/libsql/migrator.cjs.map +1 -1
  148. package/libsql/migrator.d.cts +2 -1
  149. package/libsql/migrator.d.ts +2 -1
  150. package/libsql/migrator.js.map +1 -1
  151. package/libsql/node/index.cjs.map +1 -1
  152. package/libsql/node/index.d.cts +6 -5
  153. package/libsql/node/index.d.ts +6 -5
  154. package/libsql/node/index.js.map +1 -1
  155. package/libsql/session.cjs +56 -4
  156. package/libsql/session.cjs.map +1 -1
  157. package/libsql/session.d.cts +15 -9
  158. package/libsql/session.d.ts +15 -9
  159. package/libsql/session.js +56 -4
  160. package/libsql/session.js.map +1 -1
  161. package/libsql/sqlite3/index.cjs.map +1 -1
  162. package/libsql/sqlite3/index.d.cts +6 -5
  163. package/libsql/sqlite3/index.d.ts +6 -5
  164. package/libsql/sqlite3/index.js.map +1 -1
  165. package/libsql/wasm/index.cjs.map +1 -1
  166. package/libsql/wasm/index.d.cts +6 -5
  167. package/libsql/wasm/index.d.ts +6 -5
  168. package/libsql/wasm/index.js.map +1 -1
  169. package/libsql/web/index.cjs.map +1 -1
  170. package/libsql/web/index.d.cts +6 -5
  171. package/libsql/web/index.d.ts +6 -5
  172. package/libsql/web/index.js.map +1 -1
  173. package/libsql/ws/index.cjs.map +1 -1
  174. package/libsql/ws/index.d.cts +6 -5
  175. package/libsql/ws/index.d.ts +6 -5
  176. package/libsql/ws/index.js.map +1 -1
  177. package/mysql-core/db.cjs +30 -6
  178. package/mysql-core/db.cjs.map +1 -1
  179. package/mysql-core/db.d.cts +15 -8
  180. package/mysql-core/db.d.ts +15 -8
  181. package/mysql-core/db.js +29 -5
  182. package/mysql-core/db.js.map +1 -1
  183. package/mysql-core/dialect.cjs +191 -15
  184. package/mysql-core/dialect.cjs.map +1 -1
  185. package/mysql-core/dialect.d.cts +36 -13
  186. package/mysql-core/dialect.d.ts +36 -13
  187. package/mysql-core/dialect.js +189 -22
  188. package/mysql-core/dialect.js.map +1 -1
  189. package/mysql-core/query-builders/_query.cjs +149 -0
  190. package/mysql-core/query-builders/_query.cjs.map +1 -0
  191. package/mysql-core/query-builders/_query.d.cts +44 -0
  192. package/mysql-core/query-builders/_query.d.ts +44 -0
  193. package/mysql-core/query-builders/_query.js +114 -0
  194. package/mysql-core/query-builders/_query.js.map +1 -0
  195. package/mysql-core/query-builders/count.cjs.map +1 -1
  196. package/mysql-core/query-builders/count.d.cts +1 -1
  197. package/mysql-core/query-builders/count.d.ts +1 -1
  198. package/mysql-core/query-builders/count.js.map +1 -1
  199. package/mysql-core/query-builders/query.cjs +18 -31
  200. package/mysql-core/query-builders/query.cjs.map +1 -1
  201. package/mysql-core/query-builders/query.d.cts +8 -10
  202. package/mysql-core/query-builders/query.d.ts +8 -10
  203. package/mysql-core/query-builders/query.js +18 -31
  204. package/mysql-core/query-builders/query.js.map +1 -1
  205. package/mysql-core/session.cjs +3 -2
  206. package/mysql-core/session.cjs.map +1 -1
  207. package/mysql-core/session.d.cts +10 -7
  208. package/mysql-core/session.d.ts +10 -7
  209. package/mysql-core/session.js +3 -2
  210. package/mysql-core/session.js.map +1 -1
  211. package/mysql-proxy/driver.cjs +22 -5
  212. package/mysql-proxy/driver.cjs.map +1 -1
  213. package/mysql-proxy/driver.d.cts +3 -2
  214. package/mysql-proxy/driver.d.ts +3 -2
  215. package/mysql-proxy/driver.js +12 -8
  216. package/mysql-proxy/driver.js.map +1 -1
  217. package/mysql-proxy/migrator.cjs.map +1 -1
  218. package/mysql-proxy/migrator.d.cts +2 -1
  219. package/mysql-proxy/migrator.d.ts +2 -1
  220. package/mysql-proxy/migrator.js.map +1 -1
  221. package/mysql-proxy/session.cjs +27 -2
  222. package/mysql-proxy/session.cjs.map +1 -1
  223. package/mysql-proxy/session.d.cts +13 -8
  224. package/mysql-proxy/session.d.ts +13 -8
  225. package/mysql-proxy/session.js +27 -2
  226. package/mysql-proxy/session.js.map +1 -1
  227. package/mysql2/driver.cjs +24 -7
  228. package/mysql2/driver.cjs.map +1 -1
  229. package/mysql2/driver.d.cts +10 -9
  230. package/mysql2/driver.d.ts +10 -9
  231. package/mysql2/driver.js +14 -10
  232. package/mysql2/driver.js.map +1 -1
  233. package/mysql2/migrator.cjs.map +1 -1
  234. package/mysql2/migrator.d.cts +2 -1
  235. package/mysql2/migrator.d.ts +2 -1
  236. package/mysql2/migrator.js.map +1 -1
  237. package/mysql2/session.cjs +30 -2
  238. package/mysql2/session.cjs.map +1 -1
  239. package/mysql2/session.d.cts +13 -8
  240. package/mysql2/session.d.ts +13 -8
  241. package/mysql2/session.js +30 -2
  242. package/mysql2/session.js.map +1 -1
  243. package/neon-http/driver.cjs +21 -7
  244. package/neon-http/driver.cjs.map +1 -1
  245. package/neon-http/driver.d.cts +10 -9
  246. package/neon-http/driver.d.ts +10 -9
  247. package/neon-http/driver.js +11 -7
  248. package/neon-http/driver.js.map +1 -1
  249. package/neon-http/migrator.cjs.map +1 -1
  250. package/neon-http/migrator.d.cts +2 -1
  251. package/neon-http/migrator.d.ts +2 -1
  252. package/neon-http/migrator.js.map +1 -1
  253. package/neon-http/session.cjs +32 -2
  254. package/neon-http/session.cjs.map +1 -1
  255. package/neon-http/session.d.cts +13 -8
  256. package/neon-http/session.d.ts +13 -8
  257. package/neon-http/session.js +32 -2
  258. package/neon-http/session.js.map +1 -1
  259. package/neon-serverless/driver.cjs +18 -7
  260. package/neon-serverless/driver.cjs.map +1 -1
  261. package/neon-serverless/driver.d.cts +9 -8
  262. package/neon-serverless/driver.d.ts +9 -8
  263. package/neon-serverless/driver.js +8 -10
  264. package/neon-serverless/driver.js.map +1 -1
  265. package/neon-serverless/migrator.cjs.map +1 -1
  266. package/neon-serverless/migrator.d.cts +2 -1
  267. package/neon-serverless/migrator.d.ts +2 -1
  268. package/neon-serverless/migrator.js.map +1 -1
  269. package/neon-serverless/session.cjs +40 -5
  270. package/neon-serverless/session.cjs.map +1 -1
  271. package/neon-serverless/session.d.cts +13 -8
  272. package/neon-serverless/session.d.ts +13 -8
  273. package/neon-serverless/session.js +40 -5
  274. package/neon-serverless/session.js.map +1 -1
  275. package/node-postgres/driver.cjs +13 -7
  276. package/node-postgres/driver.cjs.map +1 -1
  277. package/node-postgres/driver.d.cts +9 -8
  278. package/node-postgres/driver.d.ts +9 -8
  279. package/node-postgres/driver.js +13 -10
  280. package/node-postgres/driver.js.map +1 -1
  281. package/node-postgres/migrator.cjs.map +1 -1
  282. package/node-postgres/migrator.d.cts +2 -1
  283. package/node-postgres/migrator.d.ts +2 -1
  284. package/node-postgres/migrator.js.map +1 -1
  285. package/node-postgres/session.cjs +45 -4
  286. package/node-postgres/session.cjs.map +1 -1
  287. package/node-postgres/session.d.cts +13 -8
  288. package/node-postgres/session.d.ts +13 -8
  289. package/node-postgres/session.js +45 -4
  290. package/node-postgres/session.js.map +1 -1
  291. package/op-sqlite/driver.cjs +22 -5
  292. package/op-sqlite/driver.cjs.map +1 -1
  293. package/op-sqlite/driver.d.cts +3 -2
  294. package/op-sqlite/driver.d.ts +3 -2
  295. package/op-sqlite/driver.js +12 -8
  296. package/op-sqlite/driver.js.map +1 -1
  297. package/op-sqlite/migrator.cjs.map +1 -1
  298. package/op-sqlite/migrator.d.cts +3 -2
  299. package/op-sqlite/migrator.d.ts +3 -2
  300. package/op-sqlite/migrator.js.map +1 -1
  301. package/op-sqlite/session.cjs +47 -4
  302. package/op-sqlite/session.cjs.map +1 -1
  303. package/op-sqlite/session.d.cts +14 -8
  304. package/op-sqlite/session.d.ts +14 -8
  305. package/op-sqlite/session.js +47 -4
  306. package/op-sqlite/session.js.map +1 -1
  307. package/package.json +367 -1052
  308. package/pg-core/db.cjs +32 -5
  309. package/pg-core/db.cjs.map +1 -1
  310. package/pg-core/db.d.cts +16 -9
  311. package/pg-core/db.d.ts +16 -9
  312. package/pg-core/db.js +31 -4
  313. package/pg-core/db.js.map +1 -1
  314. package/pg-core/dialect.cjs +166 -488
  315. package/pg-core/dialect.cjs.map +1 -1
  316. package/pg-core/dialect.d.cts +27 -8
  317. package/pg-core/dialect.d.ts +27 -8
  318. package/pg-core/dialect.js +164 -495
  319. package/pg-core/dialect.js.map +1 -1
  320. package/{gel-core/query-builders/query.cjs → pg-core/query-builders/_query.cjs} +31 -15
  321. package/pg-core/query-builders/_query.cjs.map +1 -0
  322. package/pg-core/query-builders/_query.d.cts +47 -0
  323. package/pg-core/query-builders/_query.d.ts +47 -0
  324. package/{gel-core/query-builders/query.js → pg-core/query-builders/_query.js} +19 -15
  325. package/pg-core/query-builders/_query.js.map +1 -0
  326. package/pg-core/query-builders/count.cjs.map +1 -1
  327. package/pg-core/query-builders/count.d.cts +1 -1
  328. package/pg-core/query-builders/count.d.ts +1 -1
  329. package/pg-core/query-builders/count.js.map +1 -1
  330. package/pg-core/query-builders/query.cjs +15 -18
  331. package/pg-core/query-builders/query.cjs.map +1 -1
  332. package/pg-core/query-builders/query.d.cts +6 -6
  333. package/pg-core/query-builders/query.d.ts +6 -6
  334. package/pg-core/query-builders/query.js +15 -18
  335. package/pg-core/query-builders/query.js.map +1 -1
  336. package/pg-core/session.cjs +3 -2
  337. package/pg-core/session.cjs.map +1 -1
  338. package/pg-core/session.d.cts +9 -6
  339. package/pg-core/session.d.ts +9 -6
  340. package/pg-core/session.js +3 -2
  341. package/pg-core/session.js.map +1 -1
  342. package/pg-core/table.cjs +0 -2
  343. package/pg-core/table.cjs.map +1 -1
  344. package/pg-core/table.js +0 -2
  345. package/pg-core/table.js.map +1 -1
  346. package/pg-proxy/driver.cjs +21 -5
  347. package/pg-proxy/driver.cjs.map +1 -1
  348. package/pg-proxy/driver.d.cts +3 -2
  349. package/pg-proxy/driver.d.ts +3 -2
  350. package/pg-proxy/driver.js +11 -8
  351. package/pg-proxy/driver.js.map +1 -1
  352. package/pg-proxy/migrator.cjs.map +1 -1
  353. package/pg-proxy/migrator.d.cts +2 -1
  354. package/pg-proxy/migrator.d.ts +2 -1
  355. package/pg-proxy/migrator.js.map +1 -1
  356. package/pg-proxy/session.cjs +37 -2
  357. package/pg-proxy/session.cjs.map +1 -1
  358. package/pg-proxy/session.d.cts +13 -8
  359. package/pg-proxy/session.d.ts +13 -8
  360. package/pg-proxy/session.js +37 -2
  361. package/pg-proxy/session.js.map +1 -1
  362. package/pglite/driver.cjs +23 -7
  363. package/pglite/driver.cjs.map +1 -1
  364. package/pglite/driver.d.cts +9 -8
  365. package/pglite/driver.d.ts +9 -8
  366. package/pglite/driver.js +13 -10
  367. package/pglite/driver.js.map +1 -1
  368. package/pglite/migrator.cjs.map +1 -1
  369. package/pglite/migrator.d.cts +2 -1
  370. package/pglite/migrator.d.ts +2 -1
  371. package/pglite/migrator.js.map +1 -1
  372. package/pglite/session.cjs +34 -3
  373. package/pglite/session.cjs.map +1 -1
  374. package/pglite/session.d.cts +13 -8
  375. package/pglite/session.d.ts +13 -8
  376. package/pglite/session.js +34 -3
  377. package/pglite/session.js.map +1 -1
  378. package/planetscale-serverless/driver.cjs +22 -5
  379. package/planetscale-serverless/driver.cjs.map +1 -1
  380. package/planetscale-serverless/driver.d.cts +7 -6
  381. package/planetscale-serverless/driver.d.ts +7 -6
  382. package/planetscale-serverless/driver.js +12 -8
  383. package/planetscale-serverless/driver.js.map +1 -1
  384. package/planetscale-serverless/migrator.cjs.map +1 -1
  385. package/planetscale-serverless/migrator.d.cts +2 -1
  386. package/planetscale-serverless/migrator.d.ts +2 -1
  387. package/planetscale-serverless/migrator.js.map +1 -1
  388. package/planetscale-serverless/session.cjs +45 -5
  389. package/planetscale-serverless/session.cjs.map +1 -1
  390. package/planetscale-serverless/session.d.cts +14 -9
  391. package/planetscale-serverless/session.d.ts +14 -9
  392. package/planetscale-serverless/session.js +45 -5
  393. package/planetscale-serverless/session.js.map +1 -1
  394. package/postgres-js/driver.cjs +6 -5
  395. package/postgres-js/driver.cjs.map +1 -1
  396. package/postgres-js/driver.d.cts +7 -6
  397. package/postgres-js/driver.d.ts +7 -6
  398. package/postgres-js/driver.js +6 -8
  399. package/postgres-js/driver.js.map +1 -1
  400. package/postgres-js/migrator.cjs.map +1 -1
  401. package/postgres-js/migrator.d.cts +2 -1
  402. package/postgres-js/migrator.d.ts +2 -1
  403. package/postgres-js/migrator.js.map +1 -1
  404. package/postgres-js/session.cjs +51 -6
  405. package/postgres-js/session.cjs.map +1 -1
  406. package/postgres-js/session.d.cts +15 -9
  407. package/postgres-js/session.d.ts +15 -9
  408. package/postgres-js/session.js +51 -6
  409. package/postgres-js/session.js.map +1 -1
  410. package/prisma/mysql/driver.cjs +1 -1
  411. package/prisma/mysql/driver.cjs.map +1 -1
  412. package/prisma/mysql/driver.js +1 -1
  413. package/prisma/mysql/driver.js.map +1 -1
  414. package/prisma/mysql/session.cjs +3 -0
  415. package/prisma/mysql/session.cjs.map +1 -1
  416. package/prisma/mysql/session.d.cts +3 -1
  417. package/prisma/mysql/session.d.ts +3 -1
  418. package/prisma/mysql/session.js +3 -0
  419. package/prisma/mysql/session.js.map +1 -1
  420. package/prisma/pg/driver.cjs +1 -1
  421. package/prisma/pg/driver.cjs.map +1 -1
  422. package/prisma/pg/driver.js +1 -1
  423. package/prisma/pg/driver.js.map +1 -1
  424. package/prisma/pg/session.cjs +3 -0
  425. package/prisma/pg/session.cjs.map +1 -1
  426. package/prisma/pg/session.d.cts +3 -1
  427. package/prisma/pg/session.d.ts +3 -1
  428. package/prisma/pg/session.js +3 -0
  429. package/prisma/pg/session.js.map +1 -1
  430. package/prisma/sqlite/driver.cjs +1 -1
  431. package/prisma/sqlite/driver.cjs.map +1 -1
  432. package/prisma/sqlite/driver.js +1 -1
  433. package/prisma/sqlite/driver.js.map +1 -1
  434. package/prisma/sqlite/session.cjs +3 -0
  435. package/prisma/sqlite/session.cjs.map +1 -1
  436. package/prisma/sqlite/session.d.cts +4 -2
  437. package/prisma/sqlite/session.d.ts +4 -2
  438. package/prisma/sqlite/session.js +3 -0
  439. package/prisma/sqlite/session.js.map +1 -1
  440. package/relations.cjs +637 -245
  441. package/relations.cjs.map +1 -1
  442. package/relations.d.cts +307 -140
  443. package/relations.d.ts +307 -140
  444. package/relations.js +630 -240
  445. package/relations.js.map +1 -1
  446. package/singlestore/driver.cjs +1 -1
  447. package/singlestore/driver.cjs.map +1 -1
  448. package/singlestore/driver.d.cts +1 -1
  449. package/singlestore/driver.d.ts +1 -1
  450. package/singlestore/driver.js +3 -3
  451. package/singlestore/driver.js.map +1 -1
  452. package/singlestore/session.cjs.map +1 -1
  453. package/singlestore/session.d.cts +4 -4
  454. package/singlestore/session.d.ts +4 -4
  455. package/singlestore/session.js.map +1 -1
  456. package/singlestore-core/db.cjs.map +1 -1
  457. package/singlestore-core/db.d.cts +3 -3
  458. package/singlestore-core/db.d.ts +3 -3
  459. package/singlestore-core/db.js.map +1 -1
  460. package/singlestore-core/dialect.cjs +16 -6
  461. package/singlestore-core/dialect.cjs.map +1 -1
  462. package/singlestore-core/dialect.d.cts +6 -6
  463. package/singlestore-core/dialect.d.ts +6 -6
  464. package/singlestore-core/dialect.js +6 -12
  465. package/singlestore-core/dialect.js.map +1 -1
  466. package/singlestore-core/query-builders/query.cjs +12 -2
  467. package/singlestore-core/query-builders/query.cjs.map +1 -1
  468. package/singlestore-core/query-builders/query.d.cts +6 -6
  469. package/singlestore-core/query-builders/query.d.ts +6 -6
  470. package/singlestore-core/query-builders/query.js +2 -4
  471. package/singlestore-core/query-builders/query.js.map +1 -1
  472. package/singlestore-core/session.cjs.map +1 -1
  473. package/singlestore-core/session.d.cts +5 -5
  474. package/singlestore-core/session.d.ts +5 -5
  475. package/singlestore-core/session.js.map +1 -1
  476. package/singlestore-proxy/driver.cjs +1 -1
  477. package/singlestore-proxy/driver.cjs.map +1 -1
  478. package/singlestore-proxy/driver.js +3 -3
  479. package/singlestore-proxy/driver.js.map +1 -1
  480. package/singlestore-proxy/session.cjs.map +1 -1
  481. package/singlestore-proxy/session.d.cts +4 -4
  482. package/singlestore-proxy/session.d.ts +4 -4
  483. package/singlestore-proxy/session.js.map +1 -1
  484. package/sql/expressions/conditions.cjs.map +1 -1
  485. package/sql/expressions/conditions.d.cts +4 -4
  486. package/sql/expressions/conditions.d.ts +4 -4
  487. package/sql/expressions/conditions.js.map +1 -1
  488. package/sql/sql.cjs +21 -0
  489. package/sql/sql.cjs.map +1 -1
  490. package/sql/sql.d.cts +8 -8
  491. package/sql/sql.d.ts +8 -8
  492. package/sql/sql.js +22 -1
  493. package/sql/sql.js.map +1 -1
  494. package/sql-js/driver.cjs +16 -5
  495. package/sql-js/driver.cjs.map +1 -1
  496. package/sql-js/driver.d.cts +3 -2
  497. package/sql-js/driver.d.ts +3 -2
  498. package/sql-js/driver.js +6 -8
  499. package/sql-js/driver.js.map +1 -1
  500. package/sql-js/migrator.cjs.map +1 -1
  501. package/sql-js/migrator.d.cts +2 -1
  502. package/sql-js/migrator.d.ts +2 -1
  503. package/sql-js/migrator.js.map +1 -1
  504. package/sql-js/session.cjs +71 -36
  505. package/sql-js/session.cjs.map +1 -1
  506. package/sql-js/session.d.cts +16 -13
  507. package/sql-js/session.d.ts +16 -13
  508. package/sql-js/session.js +71 -36
  509. package/sql-js/session.js.map +1 -1
  510. package/sqlite-core/db.cjs +39 -12
  511. package/sqlite-core/db.cjs.map +1 -1
  512. package/sqlite-core/db.d.cts +16 -8
  513. package/sqlite-core/db.d.ts +16 -8
  514. package/sqlite-core/db.js +38 -11
  515. package/sqlite-core/db.js.map +1 -1
  516. package/sqlite-core/dialect.cjs +180 -7
  517. package/sqlite-core/dialect.cjs.map +1 -1
  518. package/sqlite-core/dialect.d.cts +31 -9
  519. package/sqlite-core/dialect.d.ts +31 -9
  520. package/sqlite-core/dialect.js +178 -14
  521. package/sqlite-core/dialect.js.map +1 -1
  522. package/sqlite-core/query-builders/_query.cjs +187 -0
  523. package/sqlite-core/query-builders/_query.cjs.map +1 -0
  524. package/sqlite-core/query-builders/_query.d.cts +55 -0
  525. package/sqlite-core/query-builders/_query.d.ts +55 -0
  526. package/sqlite-core/query-builders/_query.js +151 -0
  527. package/sqlite-core/query-builders/_query.js.map +1 -0
  528. package/sqlite-core/query-builders/count.cjs.map +1 -1
  529. package/sqlite-core/query-builders/count.d.cts +1 -1
  530. package/sqlite-core/query-builders/count.d.ts +1 -1
  531. package/sqlite-core/query-builders/count.js.map +1 -1
  532. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  533. package/sqlite-core/query-builders/delete.d.cts +1 -1
  534. package/sqlite-core/query-builders/delete.d.ts +1 -1
  535. package/sqlite-core/query-builders/delete.js.map +1 -1
  536. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  537. package/sqlite-core/query-builders/insert.d.cts +3 -3
  538. package/sqlite-core/query-builders/insert.d.ts +3 -3
  539. package/sqlite-core/query-builders/insert.js.map +1 -1
  540. package/sqlite-core/query-builders/query.cjs +56 -35
  541. package/sqlite-core/query-builders/query.cjs.map +1 -1
  542. package/sqlite-core/query-builders/query.d.cts +18 -17
  543. package/sqlite-core/query-builders/query.d.ts +18 -17
  544. package/sqlite-core/query-builders/query.js +56 -35
  545. package/sqlite-core/query-builders/query.js.map +1 -1
  546. package/sqlite-core/query-builders/select.cjs.map +1 -1
  547. package/sqlite-core/query-builders/select.d.cts +3 -3
  548. package/sqlite-core/query-builders/select.d.ts +3 -3
  549. package/sqlite-core/query-builders/select.js.map +1 -1
  550. package/sqlite-core/query-builders/update.cjs.map +1 -1
  551. package/sqlite-core/query-builders/update.d.cts +3 -3
  552. package/sqlite-core/query-builders/update.d.ts +3 -3
  553. package/sqlite-core/query-builders/update.js.map +1 -1
  554. package/sqlite-core/session.cjs +6 -2
  555. package/sqlite-core/session.cjs.map +1 -1
  556. package/sqlite-core/session.d.cts +15 -7
  557. package/sqlite-core/session.d.ts +15 -7
  558. package/sqlite-core/session.js +6 -2
  559. package/sqlite-core/session.js.map +1 -1
  560. package/sqlite-proxy/driver.cjs +23 -5
  561. package/sqlite-proxy/driver.cjs.map +1 -1
  562. package/sqlite-proxy/driver.d.cts +4 -3
  563. package/sqlite-proxy/driver.d.ts +4 -3
  564. package/sqlite-proxy/driver.js +13 -5
  565. package/sqlite-proxy/driver.js.map +1 -1
  566. package/sqlite-proxy/migrator.cjs.map +1 -1
  567. package/sqlite-proxy/migrator.d.cts +2 -1
  568. package/sqlite-proxy/migrator.d.ts +2 -1
  569. package/sqlite-proxy/migrator.js.map +1 -1
  570. package/sqlite-proxy/session.cjs +50 -6
  571. package/sqlite-proxy/session.cjs.map +1 -1
  572. package/sqlite-proxy/session.d.cts +14 -8
  573. package/sqlite-proxy/session.d.ts +14 -8
  574. package/sqlite-proxy/session.js +50 -6
  575. package/sqlite-proxy/session.js.map +1 -1
  576. package/table.cjs.map +1 -1
  577. package/table.d.cts +2 -2
  578. package/table.d.ts +2 -2
  579. package/table.js.map +1 -1
  580. package/tidb-serverless/driver.cjs +22 -5
  581. package/tidb-serverless/driver.cjs.map +1 -1
  582. package/tidb-serverless/driver.d.cts +7 -6
  583. package/tidb-serverless/driver.d.ts +7 -6
  584. package/tidb-serverless/driver.js +12 -8
  585. package/tidb-serverless/driver.js.map +1 -1
  586. package/tidb-serverless/migrator.cjs.map +1 -1
  587. package/tidb-serverless/migrator.d.cts +2 -1
  588. package/tidb-serverless/migrator.d.ts +2 -1
  589. package/tidb-serverless/migrator.js.map +1 -1
  590. package/tidb-serverless/session.cjs +62 -5
  591. package/tidb-serverless/session.cjs.map +1 -1
  592. package/tidb-serverless/session.d.cts +14 -9
  593. package/tidb-serverless/session.d.ts +14 -9
  594. package/tidb-serverless/session.js +62 -5
  595. package/tidb-serverless/session.js.map +1 -1
  596. package/utils.cjs +2 -2
  597. package/utils.cjs.map +1 -1
  598. package/utils.d.cts +3 -1
  599. package/utils.d.ts +3 -1
  600. package/utils.js +2 -2
  601. package/utils.js.map +1 -1
  602. package/vercel-postgres/driver.cjs +23 -7
  603. package/vercel-postgres/driver.cjs.map +1 -1
  604. package/vercel-postgres/driver.d.cts +9 -8
  605. package/vercel-postgres/driver.d.ts +9 -8
  606. package/vercel-postgres/driver.js +13 -10
  607. package/vercel-postgres/driver.js.map +1 -1
  608. package/vercel-postgres/migrator.cjs.map +1 -1
  609. package/vercel-postgres/migrator.d.cts +2 -1
  610. package/vercel-postgres/migrator.d.ts +2 -1
  611. package/vercel-postgres/migrator.js.map +1 -1
  612. package/vercel-postgres/session.cjs +34 -4
  613. package/vercel-postgres/session.cjs.map +1 -1
  614. package/vercel-postgres/session.d.cts +13 -8
  615. package/vercel-postgres/session.d.ts +13 -8
  616. package/vercel-postgres/session.js +34 -4
  617. package/vercel-postgres/session.js.map +1 -1
  618. package/version.cjs +1 -1
  619. package/version.d.cts +1 -1
  620. package/version.d.ts +1 -1
  621. package/version.js +1 -1
  622. package/xata-http/driver.cjs +17 -5
  623. package/xata-http/driver.cjs.map +1 -1
  624. package/xata-http/driver.d.cts +5 -4
  625. package/xata-http/driver.d.ts +5 -4
  626. package/xata-http/driver.js +7 -5
  627. package/xata-http/driver.js.map +1 -1
  628. package/xata-http/migrator.cjs.map +1 -1
  629. package/xata-http/migrator.d.cts +2 -1
  630. package/xata-http/migrator.d.ts +2 -1
  631. package/xata-http/migrator.js.map +1 -1
  632. package/xata-http/session.cjs +30 -2
  633. package/xata-http/session.cjs.map +1 -1
  634. package/xata-http/session.d.cts +13 -8
  635. package/xata-http/session.d.ts +13 -8
  636. package/xata-http/session.js +30 -2
  637. package/xata-http/session.js.map +1 -1
  638. package/gel/driver.cjs +0 -97
  639. package/gel/driver.cjs.map +0 -1
  640. package/gel/driver.d.cts +0 -38
  641. package/gel/driver.d.ts +0 -38
  642. package/gel/driver.js +0 -74
  643. package/gel/driver.js.map +0 -1
  644. package/gel/index.cjs +0 -25
  645. package/gel/index.cjs.map +0 -1
  646. package/gel/index.d.cts +0 -2
  647. package/gel/index.d.ts +0 -2
  648. package/gel/index.js +0 -3
  649. package/gel/index.js.map +0 -1
  650. package/gel/migrator.cjs +0 -5
  651. package/gel/migrator.cjs.map +0 -1
  652. package/gel/migrator.d.cts +0 -1
  653. package/gel/migrator.d.ts +0 -1
  654. package/gel/migrator.js +0 -4
  655. package/gel/migrator.js.map +0 -1
  656. package/gel/session.cjs +0 -139
  657. package/gel/session.cjs.map +0 -1
  658. package/gel/session.d.cts +0 -47
  659. package/gel/session.d.ts +0 -47
  660. package/gel/session.js +0 -113
  661. package/gel/session.js.map +0 -1
  662. package/gel-core/alias.cjs +0 -32
  663. package/gel-core/alias.cjs.map +0 -1
  664. package/gel-core/alias.d.cts +0 -4
  665. package/gel-core/alias.d.ts +0 -4
  666. package/gel-core/alias.js +0 -8
  667. package/gel-core/alias.js.map +0 -1
  668. package/gel-core/checks.cjs +0 -58
  669. package/gel-core/checks.cjs.map +0 -1
  670. package/gel-core/checks.d.cts +0 -18
  671. package/gel-core/checks.d.ts +0 -18
  672. package/gel-core/checks.js +0 -32
  673. package/gel-core/checks.js.map +0 -1
  674. package/gel-core/columns/all.cjs +0 -72
  675. package/gel-core/columns/all.cjs.map +0 -1
  676. package/gel-core/columns/all.d.cts +0 -43
  677. package/gel-core/columns/all.d.ts +0 -43
  678. package/gel-core/columns/all.js +0 -48
  679. package/gel-core/columns/all.js.map +0 -1
  680. package/gel-core/columns/bigint.cjs +0 -54
  681. package/gel-core/columns/bigint.cjs.map +0 -1
  682. package/gel-core/columns/bigint.d.cts +0 -23
  683. package/gel-core/columns/bigint.d.ts +0 -23
  684. package/gel-core/columns/bigint.js +0 -28
  685. package/gel-core/columns/bigint.js.map +0 -1
  686. package/gel-core/columns/bigintT.cjs +0 -60
  687. package/gel-core/columns/bigintT.cjs.map +0 -1
  688. package/gel-core/columns/bigintT.d.cts +0 -24
  689. package/gel-core/columns/bigintT.d.ts +0 -24
  690. package/gel-core/columns/bigintT.js +0 -34
  691. package/gel-core/columns/bigintT.js.map +0 -1
  692. package/gel-core/columns/boolean.cjs +0 -53
  693. package/gel-core/columns/boolean.cjs.map +0 -1
  694. package/gel-core/columns/boolean.d.cts +0 -22
  695. package/gel-core/columns/boolean.d.ts +0 -22
  696. package/gel-core/columns/boolean.js +0 -27
  697. package/gel-core/columns/boolean.js.map +0 -1
  698. package/gel-core/columns/bytes.cjs +0 -56
  699. package/gel-core/columns/bytes.cjs.map +0 -1
  700. package/gel-core/columns/bytes.d.cts +0 -22
  701. package/gel-core/columns/bytes.d.ts +0 -22
  702. package/gel-core/columns/bytes.js +0 -30
  703. package/gel-core/columns/bytes.js.map +0 -1
  704. package/gel-core/columns/common.cjs +0 -213
  705. package/gel-core/columns/common.cjs.map +0 -1
  706. package/gel-core/columns/common.d.cts +0 -147
  707. package/gel-core/columns/common.d.ts +0 -147
  708. package/gel-core/columns/common.js +0 -184
  709. package/gel-core/columns/common.js.map +0 -1
  710. package/gel-core/columns/custom.cjs +0 -77
  711. package/gel-core/columns/custom.cjs.map +0 -1
  712. package/gel-core/columns/custom.d.cts +0 -155
  713. package/gel-core/columns/custom.d.ts +0 -155
  714. package/gel-core/columns/custom.js +0 -51
  715. package/gel-core/columns/custom.js.map +0 -1
  716. package/gel-core/columns/date-duration.cjs +0 -56
  717. package/gel-core/columns/date-duration.cjs.map +0 -1
  718. package/gel-core/columns/date-duration.d.cts +0 -23
  719. package/gel-core/columns/date-duration.d.ts +0 -23
  720. package/gel-core/columns/date-duration.js +0 -30
  721. package/gel-core/columns/date-duration.js.map +0 -1
  722. package/gel-core/columns/date.common.cjs +0 -37
  723. package/gel-core/columns/date.common.cjs.map +0 -1
  724. package/gel-core/columns/date.common.d.cts +0 -7
  725. package/gel-core/columns/date.common.d.ts +0 -7
  726. package/gel-core/columns/date.common.js +0 -13
  727. package/gel-core/columns/date.common.js.map +0 -1
  728. package/gel-core/columns/decimal.cjs +0 -56
  729. package/gel-core/columns/decimal.cjs.map +0 -1
  730. package/gel-core/columns/decimal.d.cts +0 -26
  731. package/gel-core/columns/decimal.d.ts +0 -26
  732. package/gel-core/columns/decimal.js +0 -30
  733. package/gel-core/columns/decimal.js.map +0 -1
  734. package/gel-core/columns/double-precision.cjs +0 -62
  735. package/gel-core/columns/double-precision.cjs.map +0 -1
  736. package/gel-core/columns/double-precision.d.cts +0 -23
  737. package/gel-core/columns/double-precision.d.ts +0 -23
  738. package/gel-core/columns/double-precision.js +0 -36
  739. package/gel-core/columns/double-precision.js.map +0 -1
  740. package/gel-core/columns/duration.cjs +0 -53
  741. package/gel-core/columns/duration.cjs.map +0 -1
  742. package/gel-core/columns/duration.d.cts +0 -23
  743. package/gel-core/columns/duration.d.ts +0 -23
  744. package/gel-core/columns/duration.js +0 -27
  745. package/gel-core/columns/duration.js.map +0 -1
  746. package/gel-core/columns/index.cjs +0 -65
  747. package/gel-core/columns/index.cjs.map +0 -1
  748. package/gel-core/columns/index.d.cts +0 -22
  749. package/gel-core/columns/index.d.ts +0 -22
  750. package/gel-core/columns/index.js +0 -23
  751. package/gel-core/columns/index.js.map +0 -1
  752. package/gel-core/columns/int.common.cjs +0 -67
  753. package/gel-core/columns/int.common.cjs.map +0 -1
  754. package/gel-core/columns/int.common.d.cts +0 -15
  755. package/gel-core/columns/int.common.d.ts +0 -15
  756. package/gel-core/columns/int.common.js +0 -43
  757. package/gel-core/columns/int.common.js.map +0 -1
  758. package/gel-core/columns/integer.cjs +0 -54
  759. package/gel-core/columns/integer.cjs.map +0 -1
  760. package/gel-core/columns/integer.d.cts +0 -23
  761. package/gel-core/columns/integer.d.ts +0 -23
  762. package/gel-core/columns/integer.js +0 -28
  763. package/gel-core/columns/integer.js.map +0 -1
  764. package/gel-core/columns/json.cjs +0 -56
  765. package/gel-core/columns/json.cjs.map +0 -1
  766. package/gel-core/columns/json.d.cts +0 -26
  767. package/gel-core/columns/json.d.ts +0 -26
  768. package/gel-core/columns/json.js +0 -30
  769. package/gel-core/columns/json.js.map +0 -1
  770. package/gel-core/columns/localdate.cjs +0 -57
  771. package/gel-core/columns/localdate.cjs.map +0 -1
  772. package/gel-core/columns/localdate.d.cts +0 -24
  773. package/gel-core/columns/localdate.d.ts +0 -24
  774. package/gel-core/columns/localdate.js +0 -31
  775. package/gel-core/columns/localdate.js.map +0 -1
  776. package/gel-core/columns/localtime.cjs +0 -57
  777. package/gel-core/columns/localtime.cjs.map +0 -1
  778. package/gel-core/columns/localtime.d.cts +0 -24
  779. package/gel-core/columns/localtime.d.ts +0 -24
  780. package/gel-core/columns/localtime.js +0 -31
  781. package/gel-core/columns/localtime.js.map +0 -1
  782. package/gel-core/columns/real.cjs +0 -57
  783. package/gel-core/columns/real.cjs.map +0 -1
  784. package/gel-core/columns/real.d.cts +0 -28
  785. package/gel-core/columns/real.d.ts +0 -28
  786. package/gel-core/columns/real.js +0 -31
  787. package/gel-core/columns/real.js.map +0 -1
  788. package/gel-core/columns/relative-duration.cjs +0 -56
  789. package/gel-core/columns/relative-duration.cjs.map +0 -1
  790. package/gel-core/columns/relative-duration.d.cts +0 -23
  791. package/gel-core/columns/relative-duration.d.ts +0 -23
  792. package/gel-core/columns/relative-duration.js +0 -30
  793. package/gel-core/columns/relative-duration.js.map +0 -1
  794. package/gel-core/columns/smallint.cjs +0 -54
  795. package/gel-core/columns/smallint.cjs.map +0 -1
  796. package/gel-core/columns/smallint.d.cts +0 -23
  797. package/gel-core/columns/smallint.d.ts +0 -23
  798. package/gel-core/columns/smallint.js +0 -28
  799. package/gel-core/columns/smallint.js.map +0 -1
  800. package/gel-core/columns/text.cjs +0 -54
  801. package/gel-core/columns/text.cjs.map +0 -1
  802. package/gel-core/columns/text.d.cts +0 -26
  803. package/gel-core/columns/text.d.ts +0 -26
  804. package/gel-core/columns/text.js +0 -28
  805. package/gel-core/columns/text.js.map +0 -1
  806. package/gel-core/columns/timestamp.cjs +0 -60
  807. package/gel-core/columns/timestamp.cjs.map +0 -1
  808. package/gel-core/columns/timestamp.d.cts +0 -28
  809. package/gel-core/columns/timestamp.d.ts +0 -28
  810. package/gel-core/columns/timestamp.js +0 -34
  811. package/gel-core/columns/timestamp.js.map +0 -1
  812. package/gel-core/columns/timestamptz.cjs +0 -60
  813. package/gel-core/columns/timestamptz.cjs.map +0 -1
  814. package/gel-core/columns/timestamptz.d.cts +0 -27
  815. package/gel-core/columns/timestamptz.d.ts +0 -27
  816. package/gel-core/columns/timestamptz.js +0 -34
  817. package/gel-core/columns/timestamptz.js.map +0 -1
  818. package/gel-core/columns/uuid.cjs +0 -53
  819. package/gel-core/columns/uuid.cjs.map +0 -1
  820. package/gel-core/columns/uuid.d.cts +0 -22
  821. package/gel-core/columns/uuid.d.ts +0 -22
  822. package/gel-core/columns/uuid.js +0 -27
  823. package/gel-core/columns/uuid.js.map +0 -1
  824. package/gel-core/db.cjs +0 -338
  825. package/gel-core/db.cjs.map +0 -1
  826. package/gel-core/db.d.cts +0 -281
  827. package/gel-core/db.d.ts +0 -281
  828. package/gel-core/db.js +0 -319
  829. package/gel-core/db.js.map +0 -1
  830. package/gel-core/dialect.cjs +0 -1142
  831. package/gel-core/dialect.cjs.map +0 -1
  832. package/gel-core/dialect.d.cts +0 -62
  833. package/gel-core/dialect.d.ts +0 -62
  834. package/gel-core/dialect.js +0 -1128
  835. package/gel-core/dialect.js.map +0 -1
  836. package/gel-core/expressions.cjs +0 -49
  837. package/gel-core/expressions.cjs.map +0 -1
  838. package/gel-core/expressions.d.cts +0 -8
  839. package/gel-core/expressions.d.ts +0 -8
  840. package/gel-core/expressions.js +0 -22
  841. package/gel-core/expressions.js.map +0 -1
  842. package/gel-core/foreign-keys.cjs +0 -100
  843. package/gel-core/foreign-keys.cjs.map +0 -1
  844. package/gel-core/foreign-keys.d.cts +0 -48
  845. package/gel-core/foreign-keys.d.ts +0 -48
  846. package/gel-core/foreign-keys.js +0 -74
  847. package/gel-core/foreign-keys.js.map +0 -1
  848. package/gel-core/index.cjs +0 -61
  849. package/gel-core/index.cjs.map +0 -1
  850. package/gel-core/index.d.cts +0 -20
  851. package/gel-core/index.d.ts +0 -20
  852. package/gel-core/index.js +0 -21
  853. package/gel-core/index.js.map +0 -1
  854. package/gel-core/indexes.cjs +0 -149
  855. package/gel-core/indexes.cjs.map +0 -1
  856. package/gel-core/indexes.d.cts +0 -79
  857. package/gel-core/indexes.d.ts +0 -79
  858. package/gel-core/indexes.js +0 -121
  859. package/gel-core/indexes.js.map +0 -1
  860. package/gel-core/policies.cjs +0 -58
  861. package/gel-core/policies.cjs.map +0 -1
  862. package/gel-core/policies.d.cts +0 -24
  863. package/gel-core/policies.d.ts +0 -24
  864. package/gel-core/policies.js +0 -33
  865. package/gel-core/policies.js.map +0 -1
  866. package/gel-core/primary-keys.cjs +0 -68
  867. package/gel-core/primary-keys.cjs.map +0 -1
  868. package/gel-core/primary-keys.d.cts +0 -30
  869. package/gel-core/primary-keys.d.ts +0 -30
  870. package/gel-core/primary-keys.js +0 -42
  871. package/gel-core/primary-keys.js.map +0 -1
  872. package/gel-core/query-builders/count.cjs +0 -73
  873. package/gel-core/query-builders/count.cjs.map +0 -1
  874. package/gel-core/query-builders/count.d.cts +0 -25
  875. package/gel-core/query-builders/count.d.ts +0 -25
  876. package/gel-core/query-builders/count.js +0 -49
  877. package/gel-core/query-builders/count.js.map +0 -1
  878. package/gel-core/query-builders/delete.cjs +0 -105
  879. package/gel-core/query-builders/delete.cjs.map +0 -1
  880. package/gel-core/query-builders/delete.d.cts +0 -99
  881. package/gel-core/query-builders/delete.d.ts +0 -99
  882. package/gel-core/query-builders/delete.js +0 -81
  883. package/gel-core/query-builders/delete.js.map +0 -1
  884. package/gel-core/query-builders/index.cjs +0 -35
  885. package/gel-core/query-builders/index.cjs.map +0 -1
  886. package/gel-core/query-builders/index.d.cts +0 -7
  887. package/gel-core/query-builders/index.d.ts +0 -7
  888. package/gel-core/query-builders/index.js +0 -8
  889. package/gel-core/query-builders/index.js.map +0 -1
  890. package/gel-core/query-builders/insert.cjs +0 -218
  891. package/gel-core/query-builders/insert.cjs.map +0 -1
  892. package/gel-core/query-builders/insert.d.cts +0 -116
  893. package/gel-core/query-builders/insert.d.ts +0 -116
  894. package/gel-core/query-builders/insert.js +0 -193
  895. package/gel-core/query-builders/insert.js.map +0 -1
  896. package/gel-core/query-builders/query-builder.cjs +0 -114
  897. package/gel-core/query-builders/query-builder.cjs.map +0 -1
  898. package/gel-core/query-builders/query-builder.d.cts +0 -40
  899. package/gel-core/query-builders/query-builder.d.ts +0 -40
  900. package/gel-core/query-builders/query-builder.js +0 -90
  901. package/gel-core/query-builders/query-builder.js.map +0 -1
  902. package/gel-core/query-builders/query.cjs.map +0 -1
  903. package/gel-core/query-builders/query.d.cts +0 -46
  904. package/gel-core/query-builders/query.d.ts +0 -46
  905. package/gel-core/query-builders/query.js.map +0 -1
  906. package/gel-core/query-builders/raw.cjs +0 -57
  907. package/gel-core/query-builders/raw.cjs.map +0 -1
  908. package/gel-core/query-builders/raw.d.cts +0 -22
  909. package/gel-core/query-builders/raw.d.ts +0 -22
  910. package/gel-core/query-builders/raw.js +0 -33
  911. package/gel-core/query-builders/raw.js.map +0 -1
  912. package/gel-core/query-builders/refresh-materialized-view.cjs +0 -77
  913. package/gel-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  914. package/gel-core/query-builders/refresh-materialized-view.d.cts +0 -27
  915. package/gel-core/query-builders/refresh-materialized-view.d.ts +0 -27
  916. package/gel-core/query-builders/refresh-materialized-view.js +0 -53
  917. package/gel-core/query-builders/refresh-materialized-view.js.map +0 -1
  918. package/gel-core/query-builders/select.cjs +0 -775
  919. package/gel-core/query-builders/select.cjs.map +0 -1
  920. package/gel-core/query-builders/select.d.cts +0 -721
  921. package/gel-core/query-builders/select.d.ts +0 -721
  922. package/gel-core/query-builders/select.js +0 -748
  923. package/gel-core/query-builders/select.js.map +0 -1
  924. package/gel-core/query-builders/select.types.cjs +0 -17
  925. package/gel-core/query-builders/select.types.cjs.map +0 -1
  926. package/gel-core/query-builders/select.types.d.cts +0 -138
  927. package/gel-core/query-builders/select.types.d.ts +0 -138
  928. package/gel-core/query-builders/select.types.js +0 -1
  929. package/gel-core/query-builders/select.types.js.map +0 -1
  930. package/gel-core/query-builders/update.cjs +0 -226
  931. package/gel-core/query-builders/update.cjs.map +0 -1
  932. package/gel-core/query-builders/update.d.cts +0 -166
  933. package/gel-core/query-builders/update.d.ts +0 -166
  934. package/gel-core/query-builders/update.js +0 -205
  935. package/gel-core/query-builders/update.js.map +0 -1
  936. package/gel-core/roles.cjs +0 -57
  937. package/gel-core/roles.cjs.map +0 -1
  938. package/gel-core/roles.d.cts +0 -13
  939. package/gel-core/roles.d.ts +0 -13
  940. package/gel-core/roles.js +0 -32
  941. package/gel-core/roles.js.map +0 -1
  942. package/gel-core/schema.cjs +0 -74
  943. package/gel-core/schema.cjs.map +0 -1
  944. package/gel-core/schema.d.cts +0 -15
  945. package/gel-core/schema.d.ts +0 -15
  946. package/gel-core/schema.js +0 -48
  947. package/gel-core/schema.js.map +0 -1
  948. package/gel-core/sequence.cjs +0 -52
  949. package/gel-core/sequence.cjs.map +0 -1
  950. package/gel-core/sequence.d.cts +0 -18
  951. package/gel-core/sequence.d.ts +0 -18
  952. package/gel-core/sequence.js +0 -25
  953. package/gel-core/sequence.js.map +0 -1
  954. package/gel-core/session.cjs +0 -94
  955. package/gel-core/session.cjs.map +0 -1
  956. package/gel-core/session.d.cts +0 -56
  957. package/gel-core/session.d.ts +0 -56
  958. package/gel-core/session.js +0 -68
  959. package/gel-core/session.js.map +0 -1
  960. package/gel-core/subquery.cjs +0 -17
  961. package/gel-core/subquery.cjs.map +0 -1
  962. package/gel-core/subquery.d.cts +0 -5
  963. package/gel-core/subquery.d.ts +0 -5
  964. package/gel-core/subquery.js +0 -1
  965. package/gel-core/subquery.js.map +0 -1
  966. package/gel-core/table.cjs +0 -100
  967. package/gel-core/table.cjs.map +0 -1
  968. package/gel-core/table.d.cts +0 -95
  969. package/gel-core/table.d.ts +0 -95
  970. package/gel-core/table.js +0 -71
  971. package/gel-core/table.js.map +0 -1
  972. package/gel-core/unique-constraint.cjs +0 -89
  973. package/gel-core/unique-constraint.cjs.map +0 -1
  974. package/gel-core/unique-constraint.d.cts +0 -25
  975. package/gel-core/unique-constraint.d.ts +0 -25
  976. package/gel-core/unique-constraint.js +0 -61
  977. package/gel-core/unique-constraint.js.map +0 -1
  978. package/gel-core/utils.cjs +0 -100
  979. package/gel-core/utils.cjs.map +0 -1
  980. package/gel-core/utils.d.cts +0 -51
  981. package/gel-core/utils.d.ts +0 -51
  982. package/gel-core/utils.js +0 -74
  983. package/gel-core/utils.js.map +0 -1
  984. package/gel-core/view-base.cjs +0 -33
  985. package/gel-core/view-base.cjs.map +0 -1
  986. package/gel-core/view-base.d.cts +0 -8
  987. package/gel-core/view-base.d.ts +0 -8
  988. package/gel-core/view-base.js +0 -9
  989. package/gel-core/view-base.js.map +0 -1
  990. package/gel-core/view-common.cjs +0 -29
  991. package/gel-core/view-common.cjs.map +0 -1
  992. package/gel-core/view-common.d.cts +0 -1
  993. package/gel-core/view-common.d.ts +0 -1
  994. package/gel-core/view-common.js +0 -5
  995. package/gel-core/view-common.js.map +0 -1
  996. package/gel-core/view.cjs +0 -302
  997. package/gel-core/view.cjs.map +0 -1
  998. package/gel-core/view.d.cts +0 -150
  999. package/gel-core/view.d.ts +0 -150
  1000. package/gel-core/view.js +0 -268
  1001. package/gel-core/view.js.map +0 -1
package/relations.d.ts CHANGED
@@ -1,71 +1,90 @@
1
1
  import { type AnyTable, type InferModelFromColumns, Table } from "./table.js";
2
+ import type { CasingCache } from "./casing.js";
2
3
  import { type AnyColumn, Column } from "./column.js";
3
4
  import { entityKind } from "./entity.js";
4
5
  import { and, asc, between, desc, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/index.js";
5
- import { type Placeholder, SQL, sql } from "./sql/sql.js";
6
- import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.js";
7
- export declare abstract class Relation<TTableName extends string = string> {
8
- readonly sourceTable: Table;
9
- readonly referencedTable: AnyTable<{
10
- name: TTableName;
11
- }>;
12
- readonly relationName: string | undefined;
6
+ import { type Placeholder, SQL, sql, type SQLWrapper, View } from "./sql/sql.js";
7
+ import type { Assume, DrizzleTypeError, Equal, Simplify, ValueOrArray, Writable } from "./utils.js";
8
+ export type FieldValue = Column | SQLWrapper | SQL.Aliased | SQL;
9
+ export type FieldSelection = Record<string, FieldValue>;
10
+ export declare class Relations<TSchema extends Record<string, unknown> = Record<string, unknown>, TTables extends Record<string, Table | View> = Record<string, Table | View>, TConfig extends RelationsBuilderConfig<TTables> = RelationsBuilderConfig<TTables>> {
11
+ readonly schema: TSchema;
12
+ readonly tables: TTables;
13
+ readonly config: TConfig;
14
+ static readonly [entityKind]: string;
15
+ readonly $brand: 'RelationsV2';
16
+ /** table DB name -> schema table key */
17
+ readonly tableNamesMap: Record<string, string>;
18
+ readonly tablesConfig: TablesRelationalConfig;
19
+ constructor(schema: TSchema, tables: TTables, config: TConfig);
20
+ }
21
+ export type EmptyRelations = Relations<Record<string, never>, Record<string, never>, Record<string, never>>;
22
+ export type AnyRelations = Relations<Record<string, any>, Record<string, any>, Record<string, any>>;
23
+ export declare abstract class Relation<TSourceTableName extends string = string, TTargetTableName extends string = string> {
24
+ readonly targetTable: AnyTable<{
25
+ name: TTargetTableName;
26
+ }> | View<TTargetTableName>;
13
27
  static readonly [entityKind]: string;
14
- readonly $brand: 'Relation';
15
- readonly referencedTableName: TTableName;
28
+ readonly $brand: 'RelationV2';
16
29
  fieldName: string;
17
- constructor(sourceTable: Table, referencedTable: AnyTable<{
18
- name: TTableName;
19
- }>, relationName: string | undefined);
20
- abstract withFieldName(fieldName: string): Relation<TTableName>;
30
+ sourceColumns: AnyColumn<{
31
+ tableName: TSourceTableName;
32
+ }>[];
33
+ targetColumns: AnyColumn<{
34
+ tableName: TTargetTableName;
35
+ }>[];
36
+ alias: string | undefined;
37
+ where: AnyTableFilter | undefined;
38
+ sourceTable: AnyTable<{
39
+ name: TSourceTableName;
40
+ }> | View<TSourceTableName>;
41
+ through?: {
42
+ source: RelationsBuilderColumnBase[];
43
+ target: RelationsBuilderColumnBase[];
44
+ };
45
+ throughTable?: Table | View;
46
+ isReversed?: boolean;
47
+ constructor(targetTable: AnyTable<{
48
+ name: TTargetTableName;
49
+ }> | View<TTargetTableName>);
21
50
  }
22
- export declare class Relations<TTableName extends string = string, TConfig extends Record<string, Relation> = Record<string, Relation>> {
23
- readonly table: AnyTable<{
24
- name: TTableName;
25
- }>;
26
- readonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig;
51
+ export declare class One<TSourceTableName extends string, TTargetTableName extends string, TOptional extends boolean = boolean> extends Relation<TSourceTableName, TTargetTableName> {
27
52
  static readonly [entityKind]: string;
28
- readonly $brand: 'Relations';
29
- constructor(table: AnyTable<{
30
- name: TTableName;
31
- }>, config: (helpers: TableRelationsHelpers<TTableName>) => TConfig);
53
+ protected $relationBrand: 'OneV2';
54
+ readonly optional: TOptional;
55
+ constructor(tables: Record<string, Table | View>, targetTable: AnyTable<{
56
+ name: TTargetTableName;
57
+ }> | View<TTargetTableName>, config: AnyOneConfig | undefined);
32
58
  }
33
- export declare class One<TTableName extends string = string, TIsNullable extends boolean = boolean> extends Relation<TTableName> {
34
- readonly config: RelationConfig<TTableName, string, AnyColumn<{
35
- tableName: TTableName;
36
- }>[]> | undefined;
37
- readonly isNullable: TIsNullable;
59
+ export declare class Many<TSourceTableName extends string, TTargetTableName extends string> extends Relation<TSourceTableName, TTargetTableName> {
60
+ readonly config: AnyManyConfig | undefined;
38
61
  static readonly [entityKind]: string;
39
- protected $relationBrand: 'One';
40
- constructor(sourceTable: Table, referencedTable: AnyTable<{
41
- name: TTableName;
42
- }>, config: RelationConfig<TTableName, string, AnyColumn<{
43
- tableName: TTableName;
44
- }>[]> | undefined, isNullable: TIsNullable);
45
- withFieldName(fieldName: string): One<TTableName>;
62
+ protected $relationBrand: 'ManyV2';
63
+ constructor(tables: Record<string, Table | View>, targetTable: AnyTable<{
64
+ name: TTargetTableName;
65
+ }> | View<TTargetTableName>, config: AnyManyConfig | undefined);
46
66
  }
47
- export declare class Many<TTableName extends string> extends Relation<TTableName> {
48
- readonly config: {
49
- relationName: string;
50
- } | undefined;
67
+ export declare abstract class AggregatedField<T = unknown> implements SQLWrapper<T> {
51
68
  static readonly [entityKind]: string;
52
- protected $relationBrand: 'Many';
53
- constructor(sourceTable: Table, referencedTable: AnyTable<{
54
- name: TTableName;
55
- }>, config: {
56
- relationName: string;
57
- } | undefined);
58
- withFieldName(fieldName: string): Many<TTableName>;
59
- }
60
- export type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
61
- export type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{
62
- [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;
63
- }>;
69
+ readonly $brand: 'AggregatedField';
70
+ readonly _: {
71
+ readonly data: T;
72
+ };
73
+ protected table: Table | View | undefined;
74
+ onTable(table: Table | View): this;
75
+ abstract getSQL(): SQL<T>;
76
+ }
77
+ export declare class Count extends AggregatedField<number> {
78
+ static readonly [entityKind]: string;
79
+ protected $aggregatedFieldBrand: 'Count';
80
+ private query;
81
+ getSQL(): SQL<number>;
82
+ }
64
83
  export type ExtractObjectValues<T> = T[keyof T];
65
84
  export type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{
66
85
  [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never;
67
86
  }>;
68
- export declare function getOperators(): {
87
+ export declare const operators: {
69
88
  and: typeof and;
70
89
  between: typeof between;
71
90
  eq: import("./expressions.js").BinaryOperator;
@@ -89,127 +108,275 @@ export declare function getOperators(): {
89
108
  or: typeof or;
90
109
  sql: typeof sql;
91
110
  };
92
- export type Operators = ReturnType<typeof getOperators>;
111
+ export type Operators = typeof operators;
112
+ export declare const orderByOperators: {
113
+ sql: typeof sql;
114
+ asc: typeof asc;
115
+ desc: typeof desc;
116
+ };
93
117
  export declare function getOrderByOperators(): {
94
118
  sql: typeof sql;
95
119
  asc: typeof asc;
96
120
  desc: typeof desc;
97
121
  };
98
122
  export type OrderByOperators = ReturnType<typeof getOrderByOperators>;
99
- export type FindTableByDBName<TSchema extends TablesRelationalConfig, TTableName extends string> = ExtractObjectValues<{
100
- [K in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K : never]: TSchema[K];
123
+ export type FindTableInRelationalConfig<TSchema extends TablesRelationalConfig, TTargetTable extends Table | View, TTableName extends string = TTargetTable['_']['name']> = ExtractObjectValues<{
124
+ [K in keyof TSchema as TSchema[K]['tsName'] extends TTableName ? K : never]: TSchema[K];
101
125
  }>;
102
- export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
126
+ export type SQLOperator = {
127
+ sql: Operators['sql'];
128
+ };
129
+ export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
103
130
  columns?: {
104
- [K in keyof TTableConfig['columns']]?: boolean;
131
+ [K in keyof TTableConfig['columns']]?: boolean | undefined;
105
132
  } | undefined;
106
133
  with?: {
107
- [K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>> | undefined;
134
+ [K in keyof TTableConfig['relations']]?: boolean | (TTableConfig['relations'][K] extends Relation ? DBQueryConfig<TTableConfig['relations'][K] extends One<string, string> ? 'one' : 'many', TSchema, FindTableInRelationalConfig<TSchema, TTableConfig['relations'][K]['targetTable']>> : never) | undefined;
108
135
  } | undefined;
109
- extras?: Record<string, SQL.Aliased> | ((fields: Simplify<[
110
- TTableConfig['columns']
111
- ] extends [never] ? {} : TTableConfig['columns']>, operators: {
112
- sql: Operators['sql'];
113
- }) => Record<string, SQL.Aliased>) | undefined;
136
+ extras?: Record<string, SQLWrapper> | ((table: TTableConfig['table'], operators: SQLOperator) => Record<string, SQLWrapper>) | undefined;
137
+ where?: RelationsFilter<TTableConfig, TSchema> | undefined;
138
+ orderBy?: {
139
+ [K in keyof TTableConfig['columns']]?: 'asc' | 'desc' | undefined;
140
+ } | ((table: TTableConfig['table'], operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined;
141
+ offset?: number | Placeholder | undefined;
114
142
  } & (TRelationType extends 'many' ? {
115
- where?: SQL | undefined | ((fields: Simplify<[
116
- TTableConfig['columns']
117
- ] extends [never] ? {} : TTableConfig['columns']>, operators: Operators) => SQL | undefined);
118
- orderBy?: ValueOrArray<AnyColumn | SQL> | ((fields: Simplify<[
119
- TTableConfig['columns']
120
- ] extends [never] ? {} : TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined;
121
143
  limit?: number | Placeholder | undefined;
122
- } & (TIsRoot extends true ? {
123
- offset?: number | Placeholder | undefined;
124
- } : {}) : {});
144
+ } : {});
125
145
  export interface TableRelationalConfig {
146
+ table: Table | View;
126
147
  tsName: string;
127
148
  dbName: string;
128
- columns: Record<string, Column>;
129
- relations: Record<string, Relation>;
130
- primaryKey: AnyColumn[];
131
- schema?: string;
149
+ schema: string | undefined;
150
+ columns: FieldSelection;
151
+ relations: Record<string, RelationsBuilderEntry>;
132
152
  }
133
153
  export type TablesRelationalConfig = Record<string, TableRelationalConfig>;
134
- export interface RelationalSchemaConfig<TSchema extends TablesRelationalConfig> {
135
- fullSchema: Record<string, unknown>;
136
- schema: TSchema;
154
+ export interface RelationalSchemaConfig<TTablesConfig extends TablesRelationalConfig> {
155
+ tables: Record<string, Table>;
156
+ tablesConfig: TTablesConfig;
137
157
  tableNamesMap: Record<string, string>;
138
158
  }
139
- export type ExtractTablesWithRelations<TSchema extends Record<string, unknown>> = {
140
- [K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? {
159
+ type NonUndefinedRecord<TRecord extends Record<string, any>> = {
160
+ [K in keyof TRecord as K extends undefined ? never : K]: TRecord[K];
161
+ };
162
+ export type ExtractTablesWithRelations<TRelations extends Relations, TTables extends Record<string, Table | View> = TRelations['tables']> = {
163
+ [K in keyof TTables]: {
164
+ table: TTables[K];
141
165
  tsName: K & string;
142
- dbName: TSchema[K]['_']['name'];
143
- columns: TSchema[K]['_']['columns'];
144
- relations: ExtractTableRelationsFromSchema<TSchema, TSchema[K]['_']['name']>;
145
- primaryKey: AnyColumn[];
146
- } : never;
166
+ dbName: TTables[K]['_']['name'];
167
+ columns: TTables[K] extends Table ? TTables[K]['_']['columns'] : Assume<TTables[K], View>['_']['selectedFields'];
168
+ relations: K extends keyof TRelations['config'] ? TRelations['config'][K] extends Record<string, any> ? NonUndefinedRecord<TRelations['config'][K]> : Record<string, never> : Record<string, never>;
169
+ schema: TTables[K] extends Table ? TTables[K]['_']['schema'] : string | undefined;
170
+ };
147
171
  };
148
172
  export type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R : T;
149
- export type BuildRelationResult<TSchema extends TablesRelationalConfig, TInclude, TRelations extends Record<string, Relation>> = {
150
- [K in NonUndefinedKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<TSchema, FindTableByDBName<TSchema, TRel['referencedTableName']>, Assume<TInclude[K], true | Record<string, unknown>>> extends infer TResult ? TRel extends One ? TResult | (Equal<TRel['isNullable'], false> extends true ? null : never) : TResult[] : never : never;
173
+ export type BuildRelationResult<TConfig extends TablesRelationalConfig, TInclude, TRelations extends Record<string, RelationsBuilderEntry>> = {
174
+ [K in TruthyKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<TConfig, FindTableInRelationalConfig<TConfig, TRel['targetTable']>, Assume<TInclude[K], true | Record<string, unknown>>> extends infer TResult ? TRel extends One<string, string> ? TResult | (Equal<TRel['optional'], true> extends true ? null : TInclude[K] extends Record<string, unknown> ? TInclude[K]['where'] extends Record<string, any> ? null : never : never) : TResult[] : never : TRelations[K] extends AggregatedField<infer TData> ? TData : never;
151
175
  };
152
176
  export type NonUndefinedKeysOnly<T> = ExtractObjectValues<{
153
177
  [K in keyof T as T[K] extends undefined ? never : K]: K;
154
178
  }> & keyof T;
155
- export type BuildQueryResult<TSchema extends TablesRelationalConfig, TTableConfig extends TableRelationalConfig, TFullSelection extends true | Record<string, unknown>> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']> : TFullSelection extends Record<string, unknown> ? Simplify<(TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<{
156
- [K in Equal<Exclude<TFullSelection['columns'][keyof TFullSelection['columns'] & keyof TTableConfig['columns']], undefined>, false> extends true ? Exclude<keyof TTableConfig['columns'], NonUndefinedKeysOnly<TFullSelection['columns']>> : {
157
- [K in keyof TFullSelection['columns']]: Equal<TFullSelection['columns'][K], true> extends true ? K : never;
158
- }[keyof TFullSelection['columns']] & keyof TTableConfig['columns']]: TTableConfig['columns'][K];
159
- }> : InferModelFromColumns<TTableConfig['columns']>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? {
160
- [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQL.Aliased>['_']['type'];
161
- } : {}) & (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<TSchema, TFullSelection['with'], TTableConfig['relations']> : {})> : never;
162
- export interface RelationConfig<TTableName extends string, TForeignTableName extends string, TColumns extends AnyColumn<{
163
- tableName: TTableName;
164
- }>[]> {
165
- relationName?: string;
166
- fields: TColumns;
167
- references: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;
168
- }
169
- export declare function extractTablesRelationalConfig<TTables extends TablesRelationalConfig>(schema: Record<string, unknown>, configHelpers: (table: Table) => any): {
170
- tables: TTables;
171
- tableNamesMap: Record<string, string>;
179
+ export type TruthyKeysOnly<T> = ExtractObjectValues<{
180
+ [K in keyof T as T[K] extends undefined | false ? never : K]: K;
181
+ }> & keyof T;
182
+ export type ExtractSelectionColumns<TSelection extends Record<string, unknown>> = {
183
+ [K in keyof TSelection as TSelection[K] extends Column ? K : never]: TSelection[K];
184
+ };
185
+ export type ExtractSelectionNonColumns<TSelection extends Record<string, unknown>> = {
186
+ [K in keyof TSelection as TSelection[K] extends Column ? never : K]: TSelection[K];
172
187
  };
173
- export declare function relations<TTableName extends string, TRelations extends Record<string, Relation<any>>>(table: AnyTable<{
174
- name: TTableName;
175
- }>, relations: (helpers: TableRelationsHelpers<TTableName>) => TRelations): Relations<TTableName, TRelations>;
176
- export declare function createOne<TTableName extends string>(sourceTable: Table): <TForeignTable extends Table, TColumns extends [AnyColumn<{
177
- tableName: TTableName;
178
- }>, ...AnyColumn<{
179
- tableName: TTableName;
180
- }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns>) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
181
- export declare function createMany(sourceTable: Table): <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
182
- relationName: string;
183
- }) => Many<TForeignTable["_"]["name"]>;
188
+ export type InferRelationalQueryTableResult<TRawSelection extends Record<string, unknown>, TSelectedFields extends Record<string, unknown> | 'Full' = 'Full', TFilteredSelection extends Record<string, unknown> = TSelectedFields extends 'Full' ? TRawSelection : {
189
+ [K in Equal<Exclude<TSelectedFields[keyof TSelectedFields & keyof TRawSelection], undefined>, false> extends true ? Exclude<keyof TRawSelection, NonUndefinedKeysOnly<TSelectedFields>> : {
190
+ [K in keyof TSelectedFields]: Equal<TSelectedFields[K], true> extends true ? K : never;
191
+ }[keyof TSelectedFields] & keyof TRawSelection]: TRawSelection[K];
192
+ }, TColumns extends Record<string, unknown> = ExtractSelectionColumns<TFilteredSelection>, TSubqueries extends Record<string, unknown> = ExtractSelectionNonColumns<TFilteredSelection>> = (TColumns extends Record<string, Column> ? InferModelFromColumns<TColumns> : {}) & (TSubqueries extends Record<string, Exclude<FieldValue, Column>> ? {
193
+ [K in keyof TSubqueries as TSubqueries[K] extends FieldValue ? K : never]: ReturnType<Assume<TSubqueries[K], SQLWrapper>['getSQL']>['_']['type'];
194
+ } : {});
195
+ export type BuildQueryResult<TSchema extends TablesRelationalConfig, TTableConfig extends TableRelationalConfig, TFullSelection extends true | Record<string, unknown>> = Equal<TFullSelection, true> extends true ? Simplify<InferRelationalQueryTableResult<TTableConfig['columns']>> : TFullSelection extends Record<string, unknown> ? Simplify<(InferRelationalQueryTableResult<TTableConfig['columns'], TFullSelection['columns'] extends Record<string, unknown> ? TFullSelection['columns'] : 'Full'>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? {
196
+ [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: ReturnType<Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQLWrapper>['getSQL']>['_']['type'];
197
+ } : {}) & (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<TSchema, TFullSelection['with'], TTableConfig['relations']> : {})> : never;
184
198
  export interface NormalizedRelation {
185
199
  fields: AnyColumn[];
186
200
  references: AnyColumn[];
187
201
  }
188
- export declare function normalizeRelation(schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, relation: Relation): NormalizedRelation;
189
- export declare function createTableRelationsHelpers<TTableName extends string>(sourceTable: AnyTable<{
190
- name: TTableName;
191
- }>): {
192
- one: <TForeignTable extends Table, TColumns extends [AnyColumn<{
202
+ export interface BuildRelationalQueryResult {
203
+ selection: {
204
+ key: string;
205
+ field: Column | Table | SQL | SQL.Aliased | SQLWrapper | AggregatedField;
206
+ isArray?: boolean;
207
+ selection?: BuildRelationalQueryResult['selection'];
208
+ isOptional?: boolean;
209
+ }[];
210
+ sql: SQL;
211
+ }
212
+ export declare function mapRelationalRow(row: Record<string, unknown>, buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown,
213
+ /** Needed for SQLite as it returns JSON values as strings */
214
+ parseJson?: boolean, path?: string): Record<string, unknown>;
215
+ export declare class RelationsBuilderTable<TTableName extends string = string> implements SQLWrapper {
216
+ static readonly [entityKind]: string;
217
+ readonly _: {
218
+ readonly name: TTableName;
219
+ readonly table: AnyTable<{
220
+ name: TTableName;
221
+ }> | View<TTableName>;
222
+ };
223
+ constructor(table: AnyTable<{
224
+ name: TTableName;
225
+ }> | View<TTableName>, key: string);
226
+ getSQL(): SQL;
227
+ }
228
+ export type RelationsBuilderColumnConfig<TTableName extends string = string, TData = unknown> = {
229
+ readonly tableName: TTableName;
230
+ readonly data: TData;
231
+ readonly column: AnyColumn<{
193
232
  tableName: TTableName;
194
- }>, ...AnyColumn<{
233
+ }> | SQL<TData> | SQLWrapper<TData> | SQL.Aliased<TData>;
234
+ readonly through?: RelationsBuilderColumnBase;
235
+ readonly key: string;
236
+ };
237
+ export type RelationsBuilderColumnBase<TTableName extends string = string, TData = unknown> = {
238
+ _: RelationsBuilderColumnConfig<TTableName, TData>;
239
+ } & SQLWrapper;
240
+ export declare class RelationsBuilderColumn<TTableName extends string = string, TData = unknown> implements SQLWrapper, RelationsBuilderColumnBase<TTableName, TData> {
241
+ static readonly [entityKind]: string;
242
+ readonly _: {
243
+ readonly tableName: TTableName;
244
+ readonly data: TData;
245
+ readonly column: AnyColumn<{
246
+ tableName: TTableName;
247
+ }> | SQL<TData> | SQLWrapper<TData> | SQL.Aliased<TData>;
248
+ readonly through?: RelationsBuilderColumnBase;
249
+ readonly key: string;
250
+ };
251
+ constructor(column: AnyColumn<{
195
252
  tableName: TTableName;
196
- }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns> | undefined) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
197
- many: <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
198
- relationName: string;
199
- }) => Many<TForeignTable["_"]["name"]>;
200
- };
201
- export type TableRelationsHelpers<TTableName extends string> = ReturnType<typeof createTableRelationsHelpers<TTableName>>;
202
- export interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn extends Column = Column> {
203
- tableTsKey: string;
253
+ }> | SQL<TData> | SQLWrapper<TData> | SQL.Aliased<TData>, tableName: TTableName, key: string, through?: RelationsBuilderColumn);
254
+ through(column: RelationsBuilderColumn): RelationsBuilderColumnBase<TTableName, TData>;
255
+ getSQL(): SQL;
256
+ }
257
+ export type RelationFieldsFilterInternals<T> = {
258
+ eq?: T | Placeholder;
259
+ ne?: T | Placeholder;
260
+ gt?: T | Placeholder;
261
+ gte?: T | Placeholder;
262
+ lt?: T | Placeholder;
263
+ lte?: T | Placeholder;
264
+ in?: (T | Placeholder)[] | Placeholder;
265
+ notIn?: (T | Placeholder)[] | Placeholder;
266
+ like?: string | Placeholder;
267
+ ilike?: string | Placeholder;
268
+ notLike?: string | Placeholder;
269
+ notIlike?: string | Placeholder;
270
+ isNull?: true;
271
+ isNotNull?: true;
272
+ NOT?: RelationsFieldFilter<T>;
273
+ OR?: RelationsFieldFilter<T>[];
274
+ };
275
+ export type RelationsFieldFilter<T = unknown> = RelationFieldsFilterInternals<T> | (unknown extends T ? never : T extends object ? never : T);
276
+ export type RelationsFilterCommons<TTable extends TableRelationalConfig = TableRelationalConfig, TSchema extends TablesRelationalConfig = TablesRelationalConfig> = {
277
+ OR?: RelationsFilter<TTable, TSchema>[];
278
+ NOT?: RelationsFilter<TTable, TSchema>;
279
+ RAW?: (table: TTable['table'], operators: Operators) => SQL;
280
+ };
281
+ export type RelationsFilter<TTable extends TableRelationalConfig, TSchema extends TablesRelationalConfig, TRelations extends Record<string, Relation> = TTable['relations'], TColumns extends FieldSelection = TTable['columns']> = {
282
+ [K in keyof TColumns as K extends keyof RelationsFilterCommons ? never : K]?: TColumns[K] extends Column ? RelationsFieldFilter<TColumns[K]['_']['data']> : RelationsFieldFilter<unknown>;
283
+ } & {
284
+ [K in keyof TRelations as K extends keyof TColumns | keyof RelationsFilterCommons ? never : K]?: boolean | RelationsFilter<FindTableInRelationalConfig<TSchema, TRelations[K]['targetTable']>, TSchema>;
285
+ } & RelationsFilterCommons<TTable, TSchema>;
286
+ export type TableFilterCommons<TTable extends Table | View = Table | View, TColumns extends FieldSelection = TTable extends View ? Assume<TTable['_']['selectedFields'], FieldSelection> : Assume<TTable, Table>['_']['columns']> = {
287
+ OR?: TableFilter<TTable, TColumns>[];
288
+ NOT?: TableFilter<TTable, TColumns>;
289
+ RAW?: (table: TTable, operators: Operators) => SQL;
290
+ };
291
+ export type TableFilter<TTable extends Table | View = Table | View, TColumns extends FieldSelection = TTable extends View ? Assume<TTable['_']['selectedFields'], FieldSelection> : Assume<TTable, Table>['_']['columns']> = {
292
+ [K in keyof TColumns as K extends keyof TableFilterCommons ? never : K]?: TColumns[K] extends Column ? RelationsFieldFilter<TColumns[K]['_']['data']> : RelationsFieldFilter<unknown>;
293
+ } & TableFilterCommons<TTable, TColumns>;
294
+ export type AnyRelationsFilter = RelationsFilter<TableRelationalConfig, TablesRelationalConfig, Record<string, Relation>, FieldSelection>;
295
+ export type AnyTableFilter = TableFilter<Table | View, FieldSelection>;
296
+ export interface OneConfig<TSchema extends Record<string, Table | View>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string, TOptional extends boolean> {
297
+ from?: TSourceColumns | Writable<TSourceColumns>;
298
+ to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
299
+ [K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
300
+ } : RelationsBuilderColumnBase<TTargetTableName>;
301
+ where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TableFilter<TSchema[TSourceColumns[number]['_']['tableName']]> : TableFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]>;
302
+ optional?: TOptional;
303
+ alias?: string;
304
+ }
305
+ export type AnyOneConfig = OneConfig<Record<string, Table | View>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] | RelationsBuilderColumnBase<string, unknown>>, string, boolean>;
306
+ export interface ManyConfig<TSchema extends Record<string, Table | View>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string> {
307
+ from?: TSourceColumns;
308
+ to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
309
+ [K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
310
+ } : RelationsBuilderColumnBase<TTargetTableName>;
311
+ where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TableFilter<TSchema[TSourceColumns[number]['_']['tableName']]> : TableFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]>;
312
+ alias?: string;
313
+ }
314
+ export type AnyManyConfig = ManyConfig<Record<string, Table | View>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, string>;
315
+ export interface OneFn<TTables extends Record<string, Table | View>, TTargetTableName extends string> {
316
+ <TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | RelationsBuilderColumnBase = any, TOptional extends boolean = true>(config?: OneConfig<TTables, TSourceColumns, TTargetTableName, TOptional>): One<TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TSourceColumns[number]['_']['tableName'] : Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName'], TTargetTableName, TOptional>;
317
+ }
318
+ export interface ManyFn<TTables extends Record<string, Table | View>, TTargetTableName extends string> {
319
+ <TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | RelationsBuilderColumnBase = any>(config?: ManyConfig<TTables, TSourceColumns, TTargetTableName>): Many<TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TSourceColumns[number]['_']['tableName'] : Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName'], TTargetTableName>;
320
+ }
321
+ export declare class RelationsHelperStatic<TTables extends Record<string, Table | View>> {
322
+ static readonly [entityKind]: string;
323
+ readonly $brand: 'RelationsHelperStatic';
324
+ readonly _: {
325
+ readonly tables: TTables;
326
+ };
327
+ constructor(tables: TTables);
328
+ one: {
329
+ [K in keyof TTables]: OneFn<TTables, K & string>;
330
+ };
331
+ many: {
332
+ [K in keyof TTables]: ManyFn<TTables, K & string>;
333
+ };
334
+ }
335
+ export type RelationsBuilder<TSchema extends Record<string, Table | View>> = {
336
+ [TTableName in keyof TSchema & string]: TSchema[TTableName] extends Table | View<string, boolean, FieldSelection> ? ({
337
+ [TColumnName in keyof (TSchema[TTableName] extends Table ? TSchema[TTableName]['_']['columns'] : Assume<TSchema[TTableName], View>['_']['selectedFields'])]: RelationsBuilderColumn<TTableName, (TSchema[TTableName] extends Table ? TSchema[TTableName]['_']['columns'] : Assume<Assume<TSchema[TTableName], View>['_']['selectedFields'], FieldSelection>)[TColumnName] extends infer Field ? Field extends Column ? Field['_']['data'] : Field extends SQLWrapper<infer Data> | SQL<infer Data> | SQL.Aliased<infer Data> ? Data : never : never>;
338
+ } & RelationsBuilderTable<TTableName>) : DrizzleTypeError<'Views with nested selections are not supported by the relational query builder'>;
339
+ } & RelationsHelperStatic<TSchema>;
340
+ export type RelationsBuilderConfig<TTables extends Record<string, Table | View>> = {
341
+ [TTableName in keyof TTables & string]?: TTables[TTableName] extends Table | View<string, boolean, FieldSelection> ? Record<string, RelationsBuilderEntry<TTables, TTableName>> : DrizzleTypeError<'Views with nested selections are not supported by the relational query builder'>;
342
+ };
343
+ export type RelationsBuilderEntry<TTables extends Record<string, Table | View> = Record<string, Table | View>, TSourceTableName extends string = string> = Relation<TSourceTableName, keyof TTables & string>;
344
+ export type ExtractTablesFromSchema<TSchema extends Record<string, unknown>> = {
345
+ [K in keyof TSchema as TSchema[K] extends Table | View ? K : never]: TSchema[K] extends Table | View ? TSchema[K] : never;
346
+ };
347
+ export declare function createRelationsHelper<TSchema extends Record<string, unknown>, TTables extends Record<string, Table | View>>(schema: TSchema): RelationsBuilder<TTables>;
348
+ export declare function defineRelations<TSchema extends Record<string, unknown>, TConfig extends RelationsBuilderConfig<TTables>, TTables extends Record<string, Table | View> = ExtractTablesFromSchema<TSchema>>(schema: TSchema, relations: (helpers: RelationsBuilder<TTables>) => TConfig): Relations<TSchema, TTables, TConfig>;
349
+ export type WithContainer<TRelatedTables extends Record<string, Table> = Record<string, Table>> = {
350
+ with?: {
351
+ [K in keyof TRelatedTables]?: boolean | DBQueryConfig;
352
+ };
353
+ };
354
+ export type ColumnWithTSName = {
355
+ column: Column | SQL | SQLWrapper | SQL.Aliased;
356
+ tsName: string;
357
+ };
358
+ export type RelationsOrder<TColumns extends FieldSelection> = {
359
+ [K in keyof TColumns]?: 'asc' | 'desc';
360
+ };
361
+ export type OrderBy = Exclude<DBQueryConfig['orderBy'], undefined>;
362
+ export type Extras = Exclude<DBQueryConfig['extras'], undefined>;
363
+ export declare function relationsFilterToSQL(table: Table | View, filter: AnyRelationsFilter | AnyTableFilter): SQL | undefined;
364
+ export declare function relationsFilterToSQL(table: Table | View, filter: AnyRelationsFilter | AnyTableFilter, tableRelations: Record<string, Relation>, tablesRelations: TablesRelationalConfig, tableNamesMap: Record<string, string>, casing: CasingCache, depth?: number): SQL | undefined;
365
+ export declare function relationsOrderToSQL(table: Table | View, orders: OrderBy): SQL | undefined;
366
+ export declare function relationExtrasToSQL(table: Table | View, extras: Extras): {
367
+ sql: SQL<unknown> | undefined;
204
368
  selection: {
205
- dbKey: string;
206
- tsKey: string;
207
- field: TColumn | SQL | SQL.Aliased;
208
- relationTableTsKey: string | undefined;
209
- isJson: boolean;
210
- isExtra?: boolean;
211
- selection: BuildRelationalQueryResult<TTable>['selection'];
369
+ key: string;
370
+ field: Column | Table | SQL | SQL.Aliased | SQLWrapper | AggregatedField;
371
+ isArray?: boolean;
372
+ selection?: BuildRelationalQueryResult["selection"];
373
+ isOptional?: boolean;
212
374
  }[];
213
- sql: TTable | SQL;
214
- }
215
- export declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
375
+ };
376
+ export type BuiltRelationFilters = {
377
+ filter?: SQL;
378
+ joinCondition?: SQL;
379
+ };
380
+ export declare function relationToSQL(casing: CasingCache, relation: Relation, sourceTable: Table | View, targetTable: Table | View, throughTable?: Table | View): BuiltRelationFilters;
381
+ export declare function getTableAsAliasSQL(table: Table | View): SQL<unknown>;
382
+ export {};