drizzle-orm 0.39.0-19ccabb → 0.39.0-2c67783

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 (723) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +3 -3
  3. package/alias.d.ts +3 -3
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sql/driver.cjs +96 -0
  38. package/bun-sql/driver.cjs.map +1 -0
  39. package/bun-sql/driver.d.cts +30 -0
  40. package/bun-sql/driver.d.ts +30 -0
  41. package/bun-sql/driver.js +74 -0
  42. package/bun-sql/driver.js.map +1 -0
  43. package/bun-sql/index.cjs +25 -0
  44. package/bun-sql/index.cjs.map +1 -0
  45. package/bun-sql/index.d.cts +2 -0
  46. package/bun-sql/index.d.ts +2 -0
  47. package/bun-sql/index.js +3 -0
  48. package/bun-sql/index.js.map +1 -0
  49. package/bun-sql/migrator.cjs +33 -0
  50. package/bun-sql/migrator.cjs.map +1 -0
  51. package/bun-sql/migrator.d.cts +3 -0
  52. package/bun-sql/migrator.d.ts +3 -0
  53. package/bun-sql/migrator.js +9 -0
  54. package/bun-sql/migrator.js.map +1 -0
  55. package/bun-sql/session.cjs +162 -0
  56. package/bun-sql/session.cjs.map +1 -0
  57. package/bun-sql/session.d.cts +50 -0
  58. package/bun-sql/session.d.ts +50 -0
  59. package/bun-sql/session.js +136 -0
  60. package/bun-sql/session.js.map +1 -0
  61. package/bun-sqlite/driver.cjs +5 -22
  62. package/bun-sqlite/driver.cjs.map +1 -1
  63. package/bun-sqlite/driver.d.cts +6 -7
  64. package/bun-sqlite/driver.d.ts +6 -7
  65. package/bun-sqlite/driver.js +8 -12
  66. package/bun-sqlite/driver.js.map +1 -1
  67. package/bun-sqlite/migrator.cjs.map +1 -1
  68. package/bun-sqlite/migrator.d.cts +1 -2
  69. package/bun-sqlite/migrator.d.ts +1 -2
  70. package/bun-sqlite/migrator.js.map +1 -1
  71. package/bun-sqlite/session.cjs +4 -49
  72. package/bun-sqlite/session.cjs.map +1 -1
  73. package/bun-sqlite/session.d.cts +9 -15
  74. package/bun-sqlite/session.d.ts +9 -15
  75. package/bun-sqlite/session.js +4 -49
  76. package/bun-sqlite/session.js.map +1 -1
  77. package/d1/driver.cjs +5 -22
  78. package/d1/driver.cjs.map +1 -1
  79. package/d1/driver.d.cts +2 -3
  80. package/d1/driver.d.ts +2 -3
  81. package/d1/driver.js +8 -12
  82. package/d1/driver.js.map +1 -1
  83. package/d1/migrator.cjs.map +1 -1
  84. package/d1/migrator.d.cts +1 -2
  85. package/d1/migrator.d.ts +1 -2
  86. package/d1/migrator.js.map +1 -1
  87. package/d1/session.cjs +6 -48
  88. package/d1/session.cjs.map +1 -1
  89. package/d1/session.d.cts +8 -15
  90. package/d1/session.d.ts +8 -15
  91. package/d1/session.js +6 -48
  92. package/d1/session.js.map +1 -1
  93. package/durable-sqlite/driver.cjs +5 -16
  94. package/durable-sqlite/driver.cjs.map +1 -1
  95. package/durable-sqlite/driver.d.cts +2 -3
  96. package/durable-sqlite/driver.d.ts +2 -3
  97. package/durable-sqlite/driver.js +8 -6
  98. package/durable-sqlite/driver.js.map +1 -1
  99. package/durable-sqlite/migrator.cjs.map +1 -1
  100. package/durable-sqlite/migrator.d.cts +1 -2
  101. package/durable-sqlite/migrator.d.ts +1 -2
  102. package/durable-sqlite/migrator.js.map +1 -1
  103. package/durable-sqlite/session.cjs +4 -46
  104. package/durable-sqlite/session.cjs.map +1 -1
  105. package/durable-sqlite/session.d.cts +8 -14
  106. package/durable-sqlite/session.d.ts +8 -14
  107. package/durable-sqlite/session.js +4 -46
  108. package/durable-sqlite/session.js.map +1 -1
  109. package/expo-sqlite/driver.cjs +5 -22
  110. package/expo-sqlite/driver.cjs.map +1 -1
  111. package/expo-sqlite/driver.d.cts +2 -3
  112. package/expo-sqlite/driver.d.ts +2 -3
  113. package/expo-sqlite/driver.js +8 -12
  114. package/expo-sqlite/driver.js.map +1 -1
  115. package/expo-sqlite/migrator.cjs.map +1 -1
  116. package/expo-sqlite/migrator.d.cts +2 -3
  117. package/expo-sqlite/migrator.d.ts +2 -3
  118. package/expo-sqlite/migrator.js.map +1 -1
  119. package/expo-sqlite/query.cjs +2 -13
  120. package/expo-sqlite/query.cjs.map +1 -1
  121. package/expo-sqlite/query.d.cts +1 -2
  122. package/expo-sqlite/query.d.ts +1 -2
  123. package/expo-sqlite/query.js +2 -3
  124. package/expo-sqlite/query.js.map +1 -1
  125. package/expo-sqlite/session.cjs +4 -47
  126. package/expo-sqlite/session.cjs.map +1 -1
  127. package/expo-sqlite/session.d.cts +8 -14
  128. package/expo-sqlite/session.d.ts +8 -14
  129. package/expo-sqlite/session.js +4 -47
  130. package/expo-sqlite/session.js.map +1 -1
  131. package/libsql/driver-core.cjs +5 -22
  132. package/libsql/driver-core.cjs.map +1 -1
  133. package/libsql/driver-core.d.cts +1 -2
  134. package/libsql/driver-core.d.ts +1 -2
  135. package/libsql/driver-core.js +8 -12
  136. package/libsql/driver-core.js.map +1 -1
  137. package/libsql/driver.cjs.map +1 -1
  138. package/libsql/driver.d.cts +5 -6
  139. package/libsql/driver.d.ts +5 -6
  140. package/libsql/driver.js.map +1 -1
  141. package/libsql/http/index.cjs.map +1 -1
  142. package/libsql/http/index.d.cts +5 -6
  143. package/libsql/http/index.d.ts +5 -6
  144. package/libsql/http/index.js.map +1 -1
  145. package/libsql/migrator.cjs.map +1 -1
  146. package/libsql/migrator.d.cts +1 -2
  147. package/libsql/migrator.d.ts +1 -2
  148. package/libsql/migrator.js.map +1 -1
  149. package/libsql/node/index.cjs.map +1 -1
  150. package/libsql/node/index.d.cts +5 -6
  151. package/libsql/node/index.d.ts +5 -6
  152. package/libsql/node/index.js.map +1 -1
  153. package/libsql/session.cjs +4 -56
  154. package/libsql/session.cjs.map +1 -1
  155. package/libsql/session.d.cts +9 -15
  156. package/libsql/session.d.ts +9 -15
  157. package/libsql/session.js +4 -56
  158. package/libsql/session.js.map +1 -1
  159. package/libsql/sqlite3/index.cjs.map +1 -1
  160. package/libsql/sqlite3/index.d.cts +5 -6
  161. package/libsql/sqlite3/index.d.ts +5 -6
  162. package/libsql/sqlite3/index.js.map +1 -1
  163. package/libsql/wasm/index.cjs.map +1 -1
  164. package/libsql/wasm/index.d.cts +5 -6
  165. package/libsql/wasm/index.d.ts +5 -6
  166. package/libsql/wasm/index.js.map +1 -1
  167. package/libsql/web/index.cjs.map +1 -1
  168. package/libsql/web/index.d.cts +5 -6
  169. package/libsql/web/index.d.ts +5 -6
  170. package/libsql/web/index.js.map +1 -1
  171. package/libsql/ws/index.cjs.map +1 -1
  172. package/libsql/ws/index.d.cts +5 -6
  173. package/libsql/ws/index.d.ts +5 -6
  174. package/libsql/ws/index.js.map +1 -1
  175. package/mysql-core/db.cjs +25 -40
  176. package/mysql-core/db.cjs.map +1 -1
  177. package/mysql-core/db.d.cts +12 -22
  178. package/mysql-core/db.d.ts +12 -22
  179. package/mysql-core/db.js +24 -39
  180. package/mysql-core/db.js.map +1 -1
  181. package/mysql-core/dialect.cjs +15 -194
  182. package/mysql-core/dialect.cjs.map +1 -1
  183. package/mysql-core/dialect.d.cts +13 -33
  184. package/mysql-core/dialect.d.ts +13 -33
  185. package/mysql-core/dialect.js +21 -191
  186. package/mysql-core/dialect.js.map +1 -1
  187. package/mysql-core/query-builders/count.cjs.map +1 -1
  188. package/mysql-core/query-builders/count.d.cts +1 -1
  189. package/mysql-core/query-builders/count.d.ts +1 -1
  190. package/mysql-core/query-builders/count.js.map +1 -1
  191. package/mysql-core/query-builders/query-builder.cjs +15 -11
  192. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  193. package/mysql-core/query-builders/query-builder.d.cts +2 -6
  194. package/mysql-core/query-builders/query-builder.d.ts +2 -6
  195. package/mysql-core/query-builders/query-builder.js +15 -11
  196. package/mysql-core/query-builders/query-builder.js.map +1 -1
  197. package/mysql-core/query-builders/query.cjs +31 -18
  198. package/mysql-core/query-builders/query.cjs.map +1 -1
  199. package/mysql-core/query-builders/query.d.cts +10 -8
  200. package/mysql-core/query-builders/query.d.ts +10 -8
  201. package/mysql-core/query-builders/query.js +31 -18
  202. package/mysql-core/query-builders/query.js.map +1 -1
  203. package/mysql-core/session.cjs +2 -3
  204. package/mysql-core/session.cjs.map +1 -1
  205. package/mysql-core/session.d.cts +7 -10
  206. package/mysql-core/session.d.ts +7 -10
  207. package/mysql-core/session.js +2 -3
  208. package/mysql-core/session.js.map +1 -1
  209. package/mysql-core/subquery.cjs.map +1 -1
  210. package/mysql-core/subquery.d.cts +15 -2
  211. package/mysql-core/subquery.d.ts +15 -2
  212. package/mysql-proxy/driver.cjs +5 -22
  213. package/mysql-proxy/driver.cjs.map +1 -1
  214. package/mysql-proxy/driver.d.cts +2 -3
  215. package/mysql-proxy/driver.d.ts +2 -3
  216. package/mysql-proxy/driver.js +8 -12
  217. package/mysql-proxy/driver.js.map +1 -1
  218. package/mysql-proxy/migrator.cjs.map +1 -1
  219. package/mysql-proxy/migrator.d.cts +1 -2
  220. package/mysql-proxy/migrator.d.ts +1 -2
  221. package/mysql-proxy/migrator.js.map +1 -1
  222. package/mysql-proxy/session.cjs +2 -27
  223. package/mysql-proxy/session.cjs.map +1 -1
  224. package/mysql-proxy/session.d.cts +8 -13
  225. package/mysql-proxy/session.d.ts +8 -13
  226. package/mysql-proxy/session.js +2 -27
  227. package/mysql-proxy/session.js.map +1 -1
  228. package/mysql2/driver.cjs +7 -24
  229. package/mysql2/driver.cjs.map +1 -1
  230. package/mysql2/driver.d.cts +9 -10
  231. package/mysql2/driver.d.ts +9 -10
  232. package/mysql2/driver.js +10 -14
  233. package/mysql2/driver.js.map +1 -1
  234. package/mysql2/migrator.cjs.map +1 -1
  235. package/mysql2/migrator.d.cts +1 -2
  236. package/mysql2/migrator.d.ts +1 -2
  237. package/mysql2/migrator.js.map +1 -1
  238. package/mysql2/session.cjs +2 -30
  239. package/mysql2/session.cjs.map +1 -1
  240. package/mysql2/session.d.cts +8 -13
  241. package/mysql2/session.d.ts +8 -13
  242. package/mysql2/session.js +2 -30
  243. package/mysql2/session.js.map +1 -1
  244. package/neon/index.cjs +2 -0
  245. package/neon/index.cjs.map +1 -1
  246. package/neon/index.d.cts +1 -0
  247. package/neon/index.d.ts +1 -0
  248. package/neon/index.js +1 -0
  249. package/neon/index.js.map +1 -1
  250. package/neon/neon-identity.cjs +38 -0
  251. package/neon/neon-identity.cjs.map +1 -0
  252. package/neon/neon-identity.d.cts +116 -0
  253. package/neon/neon-identity.d.ts +116 -0
  254. package/neon/neon-identity.js +14 -0
  255. package/neon/neon-identity.js.map +1 -0
  256. package/neon-http/driver.cjs +7 -21
  257. package/neon-http/driver.cjs.map +1 -1
  258. package/neon-http/driver.d.cts +9 -10
  259. package/neon-http/driver.d.ts +9 -10
  260. package/neon-http/driver.js +7 -11
  261. package/neon-http/driver.js.map +1 -1
  262. package/neon-http/migrator.cjs.map +1 -1
  263. package/neon-http/migrator.d.cts +1 -2
  264. package/neon-http/migrator.d.ts +1 -2
  265. package/neon-http/migrator.js.map +1 -1
  266. package/neon-http/session.cjs +2 -32
  267. package/neon-http/session.cjs.map +1 -1
  268. package/neon-http/session.d.cts +8 -13
  269. package/neon-http/session.d.ts +8 -13
  270. package/neon-http/session.js +2 -32
  271. package/neon-http/session.js.map +1 -1
  272. package/neon-serverless/driver.cjs +7 -18
  273. package/neon-serverless/driver.cjs.map +1 -1
  274. package/neon-serverless/driver.d.cts +8 -9
  275. package/neon-serverless/driver.d.ts +8 -9
  276. package/neon-serverless/driver.js +10 -8
  277. package/neon-serverless/driver.js.map +1 -1
  278. package/neon-serverless/migrator.cjs.map +1 -1
  279. package/neon-serverless/migrator.d.cts +1 -2
  280. package/neon-serverless/migrator.d.ts +1 -2
  281. package/neon-serverless/migrator.js.map +1 -1
  282. package/neon-serverless/session.cjs +5 -40
  283. package/neon-serverless/session.cjs.map +1 -1
  284. package/neon-serverless/session.d.cts +8 -13
  285. package/neon-serverless/session.d.ts +8 -13
  286. package/neon-serverless/session.js +5 -40
  287. package/neon-serverless/session.js.map +1 -1
  288. package/node-postgres/driver.cjs +7 -13
  289. package/node-postgres/driver.cjs.map +1 -1
  290. package/node-postgres/driver.d.cts +8 -9
  291. package/node-postgres/driver.d.ts +8 -9
  292. package/node-postgres/driver.js +10 -13
  293. package/node-postgres/driver.js.map +1 -1
  294. package/node-postgres/migrator.cjs.map +1 -1
  295. package/node-postgres/migrator.d.cts +1 -2
  296. package/node-postgres/migrator.d.ts +1 -2
  297. package/node-postgres/migrator.js.map +1 -1
  298. package/node-postgres/session.cjs +4 -45
  299. package/node-postgres/session.cjs.map +1 -1
  300. package/node-postgres/session.d.cts +8 -13
  301. package/node-postgres/session.d.ts +8 -13
  302. package/node-postgres/session.js +4 -45
  303. package/node-postgres/session.js.map +1 -1
  304. package/op-sqlite/driver.cjs +5 -22
  305. package/op-sqlite/driver.cjs.map +1 -1
  306. package/op-sqlite/driver.d.cts +2 -3
  307. package/op-sqlite/driver.d.ts +2 -3
  308. package/op-sqlite/driver.js +8 -12
  309. package/op-sqlite/driver.js.map +1 -1
  310. package/op-sqlite/migrator.cjs.map +1 -1
  311. package/op-sqlite/migrator.d.cts +2 -3
  312. package/op-sqlite/migrator.d.ts +2 -3
  313. package/op-sqlite/migrator.js.map +1 -1
  314. package/op-sqlite/session.cjs +4 -47
  315. package/op-sqlite/session.cjs.map +1 -1
  316. package/op-sqlite/session.d.cts +8 -14
  317. package/op-sqlite/session.d.ts +8 -14
  318. package/op-sqlite/session.js +4 -47
  319. package/op-sqlite/session.js.map +1 -1
  320. package/package.json +64 -52
  321. package/pg-core/db.cjs +24 -42
  322. package/pg-core/db.cjs.map +1 -1
  323. package/pg-core/db.d.cts +13 -23
  324. package/pg-core/db.d.ts +13 -23
  325. package/pg-core/db.js +23 -41
  326. package/pg-core/db.js.map +1 -1
  327. package/pg-core/dialect.cjs +488 -161
  328. package/pg-core/dialect.cjs.map +1 -1
  329. package/pg-core/dialect.d.cts +7 -24
  330. package/pg-core/dialect.d.ts +7 -24
  331. package/pg-core/dialect.js +494 -158
  332. package/pg-core/dialect.js.map +1 -1
  333. package/pg-core/query-builders/count.cjs.map +1 -1
  334. package/pg-core/query-builders/count.d.cts +1 -1
  335. package/pg-core/query-builders/count.d.ts +1 -1
  336. package/pg-core/query-builders/count.js.map +1 -1
  337. package/pg-core/query-builders/delete.cjs +13 -0
  338. package/pg-core/query-builders/delete.cjs.map +1 -1
  339. package/pg-core/query-builders/delete.d.cts +13 -10
  340. package/pg-core/query-builders/delete.d.ts +13 -10
  341. package/pg-core/query-builders/delete.js +14 -1
  342. package/pg-core/query-builders/delete.js.map +1 -1
  343. package/pg-core/query-builders/insert.cjs +13 -0
  344. package/pg-core/query-builders/insert.cjs.map +1 -1
  345. package/pg-core/query-builders/insert.d.cts +10 -8
  346. package/pg-core/query-builders/insert.d.ts +10 -8
  347. package/pg-core/query-builders/insert.js +14 -1
  348. package/pg-core/query-builders/insert.js.map +1 -1
  349. package/pg-core/query-builders/query-builder.cjs +15 -11
  350. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  351. package/pg-core/query-builders/query-builder.d.cts +3 -6
  352. package/pg-core/query-builders/query-builder.d.ts +3 -6
  353. package/pg-core/query-builders/query-builder.js +15 -11
  354. package/pg-core/query-builders/query-builder.js.map +1 -1
  355. package/pg-core/query-builders/query.cjs +18 -15
  356. package/pg-core/query-builders/query.cjs.map +1 -1
  357. package/pg-core/query-builders/query.d.cts +6 -6
  358. package/pg-core/query-builders/query.d.ts +6 -6
  359. package/pg-core/query-builders/query.js +18 -15
  360. package/pg-core/query-builders/query.js.map +1 -1
  361. package/pg-core/query-builders/select.cjs +8 -7
  362. package/pg-core/query-builders/select.cjs.map +1 -1
  363. package/pg-core/query-builders/select.d.cts +3 -3
  364. package/pg-core/query-builders/select.d.ts +3 -3
  365. package/pg-core/query-builders/select.js +8 -7
  366. package/pg-core/query-builders/select.js.map +1 -1
  367. package/pg-core/query-builders/select.types.cjs.map +1 -1
  368. package/pg-core/query-builders/select.types.d.cts +3 -2
  369. package/pg-core/query-builders/select.types.d.ts +3 -2
  370. package/pg-core/query-builders/update.cjs +15 -2
  371. package/pg-core/query-builders/update.cjs.map +1 -1
  372. package/pg-core/query-builders/update.d.cts +18 -13
  373. package/pg-core/query-builders/update.d.ts +18 -13
  374. package/pg-core/query-builders/update.js +16 -3
  375. package/pg-core/query-builders/update.js.map +1 -1
  376. package/pg-core/session.cjs +2 -3
  377. package/pg-core/session.cjs.map +1 -1
  378. package/pg-core/session.d.cts +6 -9
  379. package/pg-core/session.d.ts +6 -9
  380. package/pg-core/session.js +2 -3
  381. package/pg-core/session.js.map +1 -1
  382. package/pg-core/subquery.cjs.map +1 -1
  383. package/pg-core/subquery.d.cts +15 -2
  384. package/pg-core/subquery.d.ts +15 -2
  385. package/pg-proxy/driver.cjs +5 -21
  386. package/pg-proxy/driver.cjs.map +1 -1
  387. package/pg-proxy/driver.d.cts +2 -3
  388. package/pg-proxy/driver.d.ts +2 -3
  389. package/pg-proxy/driver.js +8 -11
  390. package/pg-proxy/driver.js.map +1 -1
  391. package/pg-proxy/migrator.cjs.map +1 -1
  392. package/pg-proxy/migrator.d.cts +1 -2
  393. package/pg-proxy/migrator.d.ts +1 -2
  394. package/pg-proxy/migrator.js.map +1 -1
  395. package/pg-proxy/session.cjs +2 -37
  396. package/pg-proxy/session.cjs.map +1 -1
  397. package/pg-proxy/session.d.cts +8 -13
  398. package/pg-proxy/session.d.ts +8 -13
  399. package/pg-proxy/session.js +2 -37
  400. package/pg-proxy/session.js.map +1 -1
  401. package/pglite/driver.cjs +7 -23
  402. package/pglite/driver.cjs.map +1 -1
  403. package/pglite/driver.d.cts +8 -9
  404. package/pglite/driver.d.ts +8 -9
  405. package/pglite/driver.js +10 -13
  406. package/pglite/driver.js.map +1 -1
  407. package/pglite/migrator.cjs.map +1 -1
  408. package/pglite/migrator.d.cts +1 -2
  409. package/pglite/migrator.d.ts +1 -2
  410. package/pglite/migrator.js.map +1 -1
  411. package/pglite/session.cjs +3 -34
  412. package/pglite/session.cjs.map +1 -1
  413. package/pglite/session.d.cts +8 -13
  414. package/pglite/session.d.ts +8 -13
  415. package/pglite/session.js +3 -34
  416. package/pglite/session.js.map +1 -1
  417. package/planetscale-serverless/driver.cjs +5 -22
  418. package/planetscale-serverless/driver.cjs.map +1 -1
  419. package/planetscale-serverless/driver.d.cts +6 -7
  420. package/planetscale-serverless/driver.d.ts +6 -7
  421. package/planetscale-serverless/driver.js +8 -12
  422. package/planetscale-serverless/driver.js.map +1 -1
  423. package/planetscale-serverless/migrator.cjs.map +1 -1
  424. package/planetscale-serverless/migrator.d.cts +1 -2
  425. package/planetscale-serverless/migrator.d.ts +1 -2
  426. package/planetscale-serverless/migrator.js.map +1 -1
  427. package/planetscale-serverless/session.cjs +5 -45
  428. package/planetscale-serverless/session.cjs.map +1 -1
  429. package/planetscale-serverless/session.d.cts +9 -14
  430. package/planetscale-serverless/session.d.ts +9 -14
  431. package/planetscale-serverless/session.js +5 -45
  432. package/planetscale-serverless/session.js.map +1 -1
  433. package/postgres-js/driver.cjs +5 -6
  434. package/postgres-js/driver.cjs.map +1 -1
  435. package/postgres-js/driver.d.cts +6 -7
  436. package/postgres-js/driver.d.ts +6 -7
  437. package/postgres-js/driver.js +8 -6
  438. package/postgres-js/driver.js.map +1 -1
  439. package/postgres-js/migrator.cjs.map +1 -1
  440. package/postgres-js/migrator.d.cts +1 -2
  441. package/postgres-js/migrator.d.ts +1 -2
  442. package/postgres-js/migrator.js.map +1 -1
  443. package/postgres-js/session.cjs +6 -51
  444. package/postgres-js/session.cjs.map +1 -1
  445. package/postgres-js/session.d.cts +9 -15
  446. package/postgres-js/session.d.ts +9 -15
  447. package/postgres-js/session.js +6 -51
  448. package/postgres-js/session.js.map +1 -1
  449. package/prisma/mysql/driver.cjs +1 -1
  450. package/prisma/mysql/driver.cjs.map +1 -1
  451. package/prisma/mysql/driver.js +1 -1
  452. package/prisma/mysql/driver.js.map +1 -1
  453. package/prisma/mysql/session.cjs +0 -3
  454. package/prisma/mysql/session.cjs.map +1 -1
  455. package/prisma/mysql/session.d.cts +1 -3
  456. package/prisma/mysql/session.d.ts +1 -3
  457. package/prisma/mysql/session.js +0 -3
  458. package/prisma/mysql/session.js.map +1 -1
  459. package/prisma/pg/driver.cjs +1 -1
  460. package/prisma/pg/driver.cjs.map +1 -1
  461. package/prisma/pg/driver.js +1 -1
  462. package/prisma/pg/driver.js.map +1 -1
  463. package/prisma/pg/session.cjs +0 -3
  464. package/prisma/pg/session.cjs.map +1 -1
  465. package/prisma/pg/session.d.cts +1 -3
  466. package/prisma/pg/session.d.ts +1 -3
  467. package/prisma/pg/session.js +0 -3
  468. package/prisma/pg/session.js.map +1 -1
  469. package/prisma/sqlite/driver.cjs +1 -1
  470. package/prisma/sqlite/driver.cjs.map +1 -1
  471. package/prisma/sqlite/driver.js +1 -1
  472. package/prisma/sqlite/driver.js.map +1 -1
  473. package/prisma/sqlite/session.cjs +0 -3
  474. package/prisma/sqlite/session.cjs.map +1 -1
  475. package/prisma/sqlite/session.d.cts +2 -4
  476. package/prisma/sqlite/session.d.ts +2 -4
  477. package/prisma/sqlite/session.js +0 -3
  478. package/prisma/sqlite/session.js.map +1 -1
  479. package/query-builders/select.types.cjs.map +1 -1
  480. package/query-builders/select.types.d.cts +1 -1
  481. package/query-builders/select.types.d.ts +1 -1
  482. package/relations.cjs +245 -595
  483. package/relations.cjs.map +1 -1
  484. package/relations.d.cts +131 -276
  485. package/relations.d.ts +131 -276
  486. package/relations.js +239 -589
  487. package/relations.js.map +1 -1
  488. package/singlestore/driver.cjs +1 -1
  489. package/singlestore/driver.cjs.map +1 -1
  490. package/singlestore/driver.d.cts +1 -1
  491. package/singlestore/driver.d.ts +1 -1
  492. package/singlestore/driver.js +3 -3
  493. package/singlestore/driver.js.map +1 -1
  494. package/singlestore/session.cjs.map +1 -1
  495. package/singlestore/session.d.cts +4 -4
  496. package/singlestore/session.d.ts +4 -4
  497. package/singlestore/session.js.map +1 -1
  498. package/singlestore-core/db.cjs +17 -11
  499. package/singlestore-core/db.cjs.map +1 -1
  500. package/singlestore-core/db.d.cts +7 -10
  501. package/singlestore-core/db.d.ts +7 -10
  502. package/singlestore-core/db.js +17 -11
  503. package/singlestore-core/db.js.map +1 -1
  504. package/singlestore-core/dialect.cjs +6 -16
  505. package/singlestore-core/dialect.cjs.map +1 -1
  506. package/singlestore-core/dialect.d.cts +6 -6
  507. package/singlestore-core/dialect.d.ts +6 -6
  508. package/singlestore-core/dialect.js +12 -6
  509. package/singlestore-core/dialect.js.map +1 -1
  510. package/singlestore-core/query-builders/query-builder.cjs +15 -11
  511. package/singlestore-core/query-builders/query-builder.cjs.map +1 -1
  512. package/singlestore-core/query-builders/query-builder.d.cts +2 -6
  513. package/singlestore-core/query-builders/query-builder.d.ts +2 -6
  514. package/singlestore-core/query-builders/query-builder.js +15 -11
  515. package/singlestore-core/query-builders/query-builder.js.map +1 -1
  516. package/singlestore-core/query-builders/query.cjs +2 -12
  517. package/singlestore-core/query-builders/query.cjs.map +1 -1
  518. package/singlestore-core/query-builders/query.d.cts +6 -6
  519. package/singlestore-core/query-builders/query.d.ts +6 -6
  520. package/singlestore-core/query-builders/query.js +4 -2
  521. package/singlestore-core/query-builders/query.js.map +1 -1
  522. package/singlestore-core/session.cjs.map +1 -1
  523. package/singlestore-core/session.d.cts +5 -5
  524. package/singlestore-core/session.d.ts +5 -5
  525. package/singlestore-core/session.js.map +1 -1
  526. package/singlestore-core/subquery.cjs.map +1 -1
  527. package/singlestore-core/subquery.d.cts +15 -2
  528. package/singlestore-core/subquery.d.ts +15 -2
  529. package/singlestore-core/table.cjs.map +1 -1
  530. package/singlestore-core/table.d.cts +12 -12
  531. package/singlestore-core/table.d.ts +12 -12
  532. package/singlestore-core/table.js.map +1 -1
  533. package/singlestore-proxy/driver.cjs +1 -1
  534. package/singlestore-proxy/driver.cjs.map +1 -1
  535. package/singlestore-proxy/driver.js +3 -3
  536. package/singlestore-proxy/driver.js.map +1 -1
  537. package/singlestore-proxy/session.cjs.map +1 -1
  538. package/singlestore-proxy/session.d.cts +4 -4
  539. package/singlestore-proxy/session.d.ts +4 -4
  540. package/singlestore-proxy/session.js.map +1 -1
  541. package/sql/sql.cjs +6 -1
  542. package/sql/sql.cjs.map +1 -1
  543. package/sql/sql.d.cts +9 -8
  544. package/sql/sql.d.ts +9 -8
  545. package/sql/sql.js +5 -1
  546. package/sql/sql.js.map +1 -1
  547. package/sql-js/driver.cjs +5 -16
  548. package/sql-js/driver.cjs.map +1 -1
  549. package/sql-js/driver.d.cts +2 -3
  550. package/sql-js/driver.d.ts +2 -3
  551. package/sql-js/driver.js +8 -6
  552. package/sql-js/driver.js.map +1 -1
  553. package/sql-js/migrator.cjs.map +1 -1
  554. package/sql-js/migrator.d.cts +1 -2
  555. package/sql-js/migrator.d.ts +1 -2
  556. package/sql-js/migrator.js.map +1 -1
  557. package/sql-js/session.cjs +36 -71
  558. package/sql-js/session.cjs.map +1 -1
  559. package/sql-js/session.d.cts +13 -16
  560. package/sql-js/session.d.ts +13 -16
  561. package/sql-js/session.js +36 -71
  562. package/sql-js/session.js.map +1 -1
  563. package/sqlite-core/db.cjs +31 -49
  564. package/sqlite-core/db.cjs.map +1 -1
  565. package/sqlite-core/db.d.cts +12 -23
  566. package/sqlite-core/db.d.ts +12 -23
  567. package/sqlite-core/db.js +30 -48
  568. package/sqlite-core/db.js.map +1 -1
  569. package/sqlite-core/dialect.cjs +8 -184
  570. package/sqlite-core/dialect.cjs.map +1 -1
  571. package/sqlite-core/dialect.d.cts +9 -28
  572. package/sqlite-core/dialect.d.ts +9 -28
  573. package/sqlite-core/dialect.js +14 -181
  574. package/sqlite-core/dialect.js.map +1 -1
  575. package/sqlite-core/query-builders/count.cjs.map +1 -1
  576. package/sqlite-core/query-builders/count.d.cts +1 -1
  577. package/sqlite-core/query-builders/count.d.ts +1 -1
  578. package/sqlite-core/query-builders/count.js.map +1 -1
  579. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  580. package/sqlite-core/query-builders/delete.d.cts +1 -1
  581. package/sqlite-core/query-builders/delete.d.ts +1 -1
  582. package/sqlite-core/query-builders/delete.js.map +1 -1
  583. package/sqlite-core/query-builders/insert.cjs +9 -3
  584. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  585. package/sqlite-core/query-builders/insert.d.cts +4 -4
  586. package/sqlite-core/query-builders/insert.d.ts +4 -4
  587. package/sqlite-core/query-builders/insert.js +9 -3
  588. package/sqlite-core/query-builders/insert.js.map +1 -1
  589. package/sqlite-core/query-builders/query-builder.cjs +15 -11
  590. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  591. package/sqlite-core/query-builders/query-builder.d.cts +2 -6
  592. package/sqlite-core/query-builders/query-builder.d.ts +2 -6
  593. package/sqlite-core/query-builders/query-builder.js +15 -11
  594. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  595. package/sqlite-core/query-builders/query.cjs +35 -56
  596. package/sqlite-core/query-builders/query.cjs.map +1 -1
  597. package/sqlite-core/query-builders/query.d.cts +17 -18
  598. package/sqlite-core/query-builders/query.d.ts +17 -18
  599. package/sqlite-core/query-builders/query.js +35 -56
  600. package/sqlite-core/query-builders/query.js.map +1 -1
  601. package/sqlite-core/query-builders/select.cjs.map +1 -1
  602. package/sqlite-core/query-builders/select.d.cts +3 -3
  603. package/sqlite-core/query-builders/select.d.ts +3 -3
  604. package/sqlite-core/query-builders/select.js.map +1 -1
  605. package/sqlite-core/query-builders/update.cjs.map +1 -1
  606. package/sqlite-core/query-builders/update.d.cts +3 -3
  607. package/sqlite-core/query-builders/update.d.ts +3 -3
  608. package/sqlite-core/query-builders/update.js.map +1 -1
  609. package/sqlite-core/session.cjs +2 -6
  610. package/sqlite-core/session.cjs.map +1 -1
  611. package/sqlite-core/session.d.cts +7 -15
  612. package/sqlite-core/session.d.ts +7 -15
  613. package/sqlite-core/session.js +2 -6
  614. package/sqlite-core/session.js.map +1 -1
  615. package/sqlite-core/subquery.cjs.map +1 -1
  616. package/sqlite-core/subquery.d.cts +15 -2
  617. package/sqlite-core/subquery.d.ts +15 -2
  618. package/sqlite-proxy/driver.cjs +5 -23
  619. package/sqlite-proxy/driver.cjs.map +1 -1
  620. package/sqlite-proxy/driver.d.cts +3 -4
  621. package/sqlite-proxy/driver.d.ts +3 -4
  622. package/sqlite-proxy/driver.js +5 -13
  623. package/sqlite-proxy/driver.js.map +1 -1
  624. package/sqlite-proxy/migrator.cjs.map +1 -1
  625. package/sqlite-proxy/migrator.d.cts +1 -2
  626. package/sqlite-proxy/migrator.d.ts +1 -2
  627. package/sqlite-proxy/migrator.js.map +1 -1
  628. package/sqlite-proxy/session.cjs +6 -50
  629. package/sqlite-proxy/session.cjs.map +1 -1
  630. package/sqlite-proxy/session.d.cts +8 -14
  631. package/sqlite-proxy/session.d.ts +8 -14
  632. package/sqlite-proxy/session.js +6 -50
  633. package/sqlite-proxy/session.js.map +1 -1
  634. package/subquery.cjs.map +1 -1
  635. package/subquery.d.cts +1 -0
  636. package/subquery.d.ts +1 -0
  637. package/subquery.js.map +1 -1
  638. package/table.cjs.map +1 -1
  639. package/table.d.cts +1 -1
  640. package/table.d.ts +1 -1
  641. package/table.js.map +1 -1
  642. package/tidb-serverless/driver.cjs +5 -22
  643. package/tidb-serverless/driver.cjs.map +1 -1
  644. package/tidb-serverless/driver.d.cts +6 -7
  645. package/tidb-serverless/driver.d.ts +6 -7
  646. package/tidb-serverless/driver.js +8 -12
  647. package/tidb-serverless/driver.js.map +1 -1
  648. package/tidb-serverless/migrator.cjs.map +1 -1
  649. package/tidb-serverless/migrator.d.cts +1 -2
  650. package/tidb-serverless/migrator.d.ts +1 -2
  651. package/tidb-serverless/migrator.js.map +1 -1
  652. package/tidb-serverless/session.cjs +5 -62
  653. package/tidb-serverless/session.cjs.map +1 -1
  654. package/tidb-serverless/session.d.cts +9 -14
  655. package/tidb-serverless/session.d.ts +9 -14
  656. package/tidb-serverless/session.js +5 -62
  657. package/tidb-serverless/session.js.map +1 -1
  658. package/utils.cjs +2 -2
  659. package/utils.cjs.map +1 -1
  660. package/utils.d.cts +1 -3
  661. package/utils.d.ts +1 -3
  662. package/utils.js +2 -2
  663. package/utils.js.map +1 -1
  664. package/vercel-postgres/driver.cjs +7 -23
  665. package/vercel-postgres/driver.cjs.map +1 -1
  666. package/vercel-postgres/driver.d.cts +8 -9
  667. package/vercel-postgres/driver.d.ts +8 -9
  668. package/vercel-postgres/driver.js +10 -13
  669. package/vercel-postgres/driver.js.map +1 -1
  670. package/vercel-postgres/migrator.cjs.map +1 -1
  671. package/vercel-postgres/migrator.d.cts +1 -2
  672. package/vercel-postgres/migrator.d.ts +1 -2
  673. package/vercel-postgres/migrator.js.map +1 -1
  674. package/vercel-postgres/session.cjs +8 -34
  675. package/vercel-postgres/session.cjs.map +1 -1
  676. package/vercel-postgres/session.d.cts +10 -14
  677. package/vercel-postgres/session.d.ts +10 -14
  678. package/vercel-postgres/session.js +8 -34
  679. package/vercel-postgres/session.js.map +1 -1
  680. package/version.cjs +1 -1
  681. package/version.d.cts +1 -1
  682. package/version.d.ts +1 -1
  683. package/version.js +1 -1
  684. package/xata-http/driver.cjs +5 -17
  685. package/xata-http/driver.cjs.map +1 -1
  686. package/xata-http/driver.d.cts +4 -5
  687. package/xata-http/driver.d.ts +4 -5
  688. package/xata-http/driver.js +5 -7
  689. package/xata-http/driver.js.map +1 -1
  690. package/xata-http/migrator.cjs.map +1 -1
  691. package/xata-http/migrator.d.cts +1 -2
  692. package/xata-http/migrator.d.ts +1 -2
  693. package/xata-http/migrator.js.map +1 -1
  694. package/xata-http/session.cjs +2 -30
  695. package/xata-http/session.cjs.map +1 -1
  696. package/xata-http/session.d.cts +8 -13
  697. package/xata-http/session.d.ts +8 -13
  698. package/xata-http/session.js +2 -30
  699. package/xata-http/session.js.map +1 -1
  700. package/_relations.cjs +0 -328
  701. package/_relations.cjs.map +0 -1
  702. package/_relations.d.cts +0 -215
  703. package/_relations.d.ts +0 -215
  704. package/_relations.js +0 -316
  705. package/_relations.js.map +0 -1
  706. package/mysql-core/query-builders/_query.cjs +0 -149
  707. package/mysql-core/query-builders/_query.cjs.map +0 -1
  708. package/mysql-core/query-builders/_query.d.cts +0 -44
  709. package/mysql-core/query-builders/_query.d.ts +0 -44
  710. package/mysql-core/query-builders/_query.js +0 -114
  711. package/mysql-core/query-builders/_query.js.map +0 -1
  712. package/pg-core/query-builders/_query.cjs +0 -155
  713. package/pg-core/query-builders/_query.cjs.map +0 -1
  714. package/pg-core/query-builders/_query.d.cts +0 -47
  715. package/pg-core/query-builders/_query.d.ts +0 -47
  716. package/pg-core/query-builders/_query.js +0 -120
  717. package/pg-core/query-builders/_query.js.map +0 -1
  718. package/sqlite-core/query-builders/_query.cjs +0 -187
  719. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  720. package/sqlite-core/query-builders/_query.d.cts +0 -55
  721. package/sqlite-core/query-builders/_query.d.ts +0 -55
  722. package/sqlite-core/query-builders/_query.js +0 -151
  723. package/sqlite-core/query-builders/_query.js.map +0 -1
package/relations.d.cts CHANGED
@@ -2,86 +2,70 @@ import { type AnyTable, type InferModelFromColumns, Table } from "./table.cjs";
2
2
  import { type AnyColumn, Column } from "./column.cjs";
3
3
  import { entityKind } from "./entity.cjs";
4
4
  import { and, asc, between, desc, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/index.cjs";
5
- import { type Placeholder, SQL, sql, type SQLWrapper } from "./sql/sql.cjs";
6
- import { type Assume, type Equal, type Simplify, type ValueOrArray, type Writable } from "./utils.cjs";
7
- export declare class Relations<TSchema extends Record<string, unknown> = Record<string, unknown>, TTables extends Record<string, Table> = Record<string, Table>, TConfig extends RelationsBuilderConfig<TTables> = RelationsBuilderConfig<TTables>> {
8
- readonly schema: TSchema;
9
- readonly tables: TTables;
10
- readonly config: TConfig;
11
- static readonly [entityKind]: string;
12
- readonly $brand: 'RelationsV2';
13
- /** table DB name -> schema table key */
14
- readonly tableNamesMap: Record<string, string>;
15
- readonly tablesConfig: TablesRelationalConfig;
16
- constructor(schema: TSchema, tables: TTables, config: TConfig);
17
- }
18
- export type EmptyRelations = Relations<Record<string, never>, Record<string, never>, Record<string, never>>;
19
- export type AnyRelations = Relations<Record<string, any>, Record<string, any>, Record<string, any>>;
20
- export declare abstract class Relation<TSourceTableName extends string = string, TTargetTableName extends string = string> {
21
- readonly targetTable: AnyTable<{
22
- name: TTargetTableName;
5
+ import { type Placeholder, SQL, sql } from "./sql/sql.cjs";
6
+ import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.cjs";
7
+ export declare abstract class Relation<TTableName extends string = string> {
8
+ readonly sourceTable: Table;
9
+ readonly referencedTable: AnyTable<{
10
+ name: TTableName;
23
11
  }>;
12
+ readonly relationName: string | undefined;
24
13
  static readonly [entityKind]: string;
25
- readonly $brand: 'RelationV2';
14
+ readonly $brand: 'Relation';
15
+ readonly referencedTableName: TTableName;
26
16
  fieldName: string;
27
- sourceColumns: AnyColumn<{
28
- tableName: TSourceTableName;
29
- }>[];
30
- targetColumns: AnyColumn<{
31
- tableName: TTargetTableName;
32
- }>[];
33
- alias: string | undefined;
34
- where: RelationsFilter<Record<string, Column>> | undefined;
35
- sourceTable: AnyTable<{
36
- name: TSourceTableName;
37
- }>;
38
- through?: {
39
- source: AnyColumn[];
40
- target: AnyColumn[];
41
- };
42
- throughTable?: Table;
43
- isReversed?: boolean;
44
- constructor(targetTable: AnyTable<{
45
- name: TTargetTableName;
46
- }>);
47
- }
48
- export declare class One<TSourceTableName extends string, TTargetTableName extends string, TOptional extends boolean = boolean> extends Relation<TSourceTableName, TTargetTableName> {
49
- static readonly [entityKind]: string;
50
- protected $relationBrand: 'OneV2';
51
- readonly optional: TOptional;
52
- constructor(targetTable: AnyTable<{
53
- name: TTargetTableName;
54
- }>, config: AnyOneConfig | undefined);
17
+ constructor(sourceTable: Table, referencedTable: AnyTable<{
18
+ name: TTableName;
19
+ }>, relationName: string | undefined);
20
+ abstract withFieldName(fieldName: string): Relation<TTableName>;
55
21
  }
56
- export declare class Many<TSourceTableName extends string, TTargetTableName extends string> extends Relation<TSourceTableName, TTargetTableName> {
57
- readonly config: AnyManyConfig | undefined;
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;
58
27
  static readonly [entityKind]: string;
59
- protected $relationBrand: 'ManyV2';
60
- constructor(targetTable: AnyTable<{
61
- name: TTargetTableName;
62
- }>, config: AnyManyConfig | undefined);
28
+ readonly $brand: 'Relations';
29
+ constructor(table: AnyTable<{
30
+ name: TTableName;
31
+ }>, config: (helpers: TableRelationsHelpers<TTableName>) => TConfig);
63
32
  }
64
- export declare abstract class AggregatedField<T = unknown> implements SQLWrapper<T> {
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;
65
38
  static readonly [entityKind]: string;
66
- readonly $brand: 'AggregatedField';
67
- readonly _: {
68
- readonly data: T;
69
- };
70
- protected table: Table | undefined;
71
- onTable(table: Table): this;
72
- abstract getSQL(): SQL<T>;
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>;
73
46
  }
74
- export declare class Count extends AggregatedField<number> {
47
+ export declare class Many<TTableName extends string> extends Relation<TTableName> {
48
+ readonly config: {
49
+ relationName: string;
50
+ } | undefined;
75
51
  static readonly [entityKind]: string;
76
- protected $aggregatedFieldBrand: 'Count';
77
- private query;
78
- getSQL(): SQL<number>;
79
- }
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
+ }>;
80
64
  export type ExtractObjectValues<T> = T[keyof T];
81
65
  export type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{
82
66
  [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never;
83
67
  }>;
84
- export declare const operators: {
68
+ export declare function getOperators(): {
85
69
  and: typeof and;
86
70
  between: typeof between;
87
71
  eq: import("./expressions.ts").BinaryOperator;
@@ -105,256 +89,127 @@ export declare const operators: {
105
89
  or: typeof or;
106
90
  sql: typeof sql;
107
91
  };
108
- export type Operators = typeof operators;
109
- export declare const orderByOperators: {
110
- sql: typeof sql;
111
- asc: typeof asc;
112
- desc: typeof desc;
113
- };
92
+ export type Operators = ReturnType<typeof getOperators>;
114
93
  export declare function getOrderByOperators(): {
115
94
  sql: typeof sql;
116
95
  asc: typeof asc;
117
96
  desc: typeof desc;
118
97
  };
119
98
  export type OrderByOperators = ReturnType<typeof getOrderByOperators>;
120
- export type FindTableInRelationalConfig<TSchema extends TablesRelationalConfig, TTargetTable extends Table, TTableName extends string = TTargetTable['_']['name']> = ExtractObjectValues<{
121
- [K in keyof TSchema as TSchema[K]['tsName'] extends TTableName ? K : never]: TSchema[K];
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];
122
101
  }>;
123
- export type SQLOperator = {
124
- sql: Operators['sql'];
125
- };
126
- export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
102
+ export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
127
103
  columns?: {
128
- [K in keyof TTableConfig['columns']]?: boolean | undefined;
104
+ [K in keyof TTableConfig['columns']]?: boolean;
129
105
  } | undefined;
130
106
  with?: {
131
- [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;
107
+ [K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>> | undefined;
132
108
  } | undefined;
133
- extras?: Record<string, SQLWrapper> | ((table: Simplify<AnyTable<TTableConfig> & TTableConfig['columns']>, operators: SQLOperator) => Record<string, SQLWrapper>) | undefined;
134
- offset?: number | Placeholder | undefined;
135
- where?: RelationsFilter<TTableConfig['columns']> | undefined;
136
- orderBy?: {
137
- [K in keyof TTableConfig['columns']]?: 'asc' | 'desc' | undefined;
138
- } | ((fields: Simplify<AnyTable<TTableConfig> & TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | 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;
139
114
  } & (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;
140
121
  limit?: number | Placeholder | undefined;
141
- } : {});
122
+ } & (TIsRoot extends true ? {
123
+ offset?: number | Placeholder | undefined;
124
+ } : {}) : {});
142
125
  export interface TableRelationalConfig {
143
- table: Table;
144
126
  tsName: string;
145
127
  dbName: string;
146
128
  columns: Record<string, Column>;
147
- relations: Record<string, RelationsBuilderEntry>;
129
+ relations: Record<string, Relation>;
148
130
  primaryKey: AnyColumn[];
149
- schema: string | undefined;
131
+ schema?: string;
150
132
  }
151
133
  export type TablesRelationalConfig = Record<string, TableRelationalConfig>;
152
- export interface RelationalSchemaConfig<TTablesConfig extends TablesRelationalConfig> {
153
- tables: Record<string, Table>;
154
- tablesConfig: TTablesConfig;
134
+ export interface RelationalSchemaConfig<TSchema extends TablesRelationalConfig> {
135
+ fullSchema: Record<string, unknown>;
136
+ schema: TSchema;
155
137
  tableNamesMap: Record<string, string>;
156
138
  }
157
- type NonUndefinedRecord<TRecord extends Record<string, any>> = {
158
- [K in keyof TRecord as K extends undefined ? never : K]: TRecord[K];
159
- };
160
- export type ExtractTablesWithRelations<TRelations extends Relations, TTables extends Record<string, Table> = TRelations['tables']> = {
161
- [K in keyof TTables]: {
162
- table: TTables[K];
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 ? {
163
141
  tsName: K & string;
164
- dbName: TTables[K]['_']['name'];
165
- columns: TTables[K]['_']['columns'];
166
- relations: K extends keyof TRelations['config'] ? TRelations['config'][K] extends Record<string, any> ? NonUndefinedRecord<TRelations['config'][K]> : Record<string, never> : Record<string, never>;
142
+ dbName: TSchema[K]['_']['name'];
143
+ columns: TSchema[K]['_']['columns'];
144
+ relations: ExtractTableRelationsFromSchema<TSchema, TSchema[K]['_']['name']>;
167
145
  primaryKey: AnyColumn[];
168
- schema: TTables[K]['_']['schema'];
169
- };
146
+ } : never;
170
147
  };
171
148
  export type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R : T;
172
- export type BuildRelationResult<TConfig extends TablesRelationalConfig, TInclude, TRelations extends Record<string, RelationsBuilderEntry>> = {
173
- [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;
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;
174
151
  };
175
152
  export type NonUndefinedKeysOnly<T> = ExtractObjectValues<{
176
153
  [K in keyof T as T[K] extends undefined ? never : K]: K;
177
154
  }> & keyof T;
178
- export type TruthyKeysOnly<T> = ExtractObjectValues<{
179
- [K in keyof T as T[K] extends undefined | false ? never : K]: K;
180
- }> & keyof T;
181
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<{
182
156
  [K in Equal<Exclude<TFullSelection['columns'][keyof TFullSelection['columns'] & keyof TTableConfig['columns']], undefined>, false> extends true ? Exclude<keyof TTableConfig['columns'], NonUndefinedKeysOnly<TFullSelection['columns']>> : {
183
157
  [K in keyof TFullSelection['columns']]: Equal<TFullSelection['columns'][K], true> extends true ? K : never;
184
158
  }[keyof TFullSelection['columns']] & keyof TTableConfig['columns']]: TTableConfig['columns'][K];
185
159
  }> : InferModelFromColumns<TTableConfig['columns']>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? {
186
- [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: ReturnType<Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQLWrapper>['getSQL']>['_']['type'];
160
+ [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQL.Aliased>['_']['type'];
187
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>;
172
+ };
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
184
  export interface NormalizedRelation {
189
185
  fields: AnyColumn[];
190
186
  references: AnyColumn[];
191
187
  }
192
- export interface BuildRelationalQueryResult {
193
- selection: {
194
- key: string;
195
- field: Column | Table | SQL | SQL.Aliased | SQLWrapper | AggregatedField;
196
- isArray?: boolean;
197
- selection?: BuildRelationalQueryResult['selection'];
198
- isOptional?: boolean;
199
- }[];
200
- sql: SQL;
201
- }
202
- export declare function mapRelationalRow(row: Record<string, unknown>, buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown,
203
- /** Needed for SQLite as it returns JSON values as strings */
204
- parseJson?: boolean, path?: string): Record<string, unknown>;
205
- export declare class RelationsBuilderTable<TTableName extends string = string> implements SQLWrapper {
206
- static readonly [entityKind]: string;
207
- readonly _: {
208
- readonly name: TTableName;
209
- readonly table: AnyTable<{
210
- name: TTableName;
211
- }>;
212
- };
213
- constructor(table: AnyTable<{
214
- name: TTableName;
215
- }>);
216
- getSQL(): SQL;
217
- }
218
- export type RelationsBuilderColumnConfig<TTableName extends string = string, TData = unknown> = {
219
- readonly tableName: TTableName;
220
- readonly data: TData;
221
- readonly column: AnyColumn<{
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<{
222
193
  tableName: TTableName;
223
- }>;
224
- readonly through?: RelationsBuilderColumnBase;
225
- };
226
- export type RelationsBuilderColumnBase<TTableName extends string = string, TData = unknown> = {
227
- _: RelationsBuilderColumnConfig<TTableName, TData>;
228
- } & SQLWrapper;
229
- export declare class RelationsBuilderColumn<TTableName extends string = string, TData = unknown> implements SQLWrapper, RelationsBuilderColumnBase<TTableName, TData> {
230
- static readonly [entityKind]: string;
231
- readonly _: {
232
- readonly tableName: TTableName;
233
- readonly data: TData;
234
- readonly column: AnyColumn<{
235
- tableName: TTableName;
236
- }>;
237
- readonly through?: RelationsBuilderColumnBase;
238
- };
239
- constructor(column: AnyColumn<{
194
+ }>, ...AnyColumn<{
240
195
  tableName: TTableName;
241
- }>, through?: RelationsBuilderColumn);
242
- through(column: RelationsBuilderColumn): RelationsBuilderColumnBase<TTableName, TData>;
243
- getSQL(): SQL;
244
- }
245
- export type RelationFieldsFilterInternals<T> = {
246
- eq?: T | Placeholder;
247
- ne?: T | Placeholder;
248
- gt?: T | Placeholder;
249
- gte?: T | Placeholder;
250
- lt?: T | Placeholder;
251
- lte?: T | Placeholder;
252
- in?: (T | Placeholder)[] | Placeholder;
253
- notIn?: (T | Placeholder)[] | Placeholder;
254
- like?: string | Placeholder;
255
- ilike?: string | Placeholder;
256
- notLike?: string | Placeholder;
257
- notIlike?: string | Placeholder;
258
- isNull?: true;
259
- isNotNull?: true;
260
- NOT?: RelationsFieldFilter<T>;
261
- OR?: RelationsFieldFilter<T>[];
262
- };
263
- export type RelationsFieldFilter<T> = RelationFieldsFilterInternals<T> | (T extends Record<string, any> ? never : T);
264
- export type RelationsFilter<TColumns extends Record<string, Column>> = {
265
- [K in keyof TColumns]?: RelationsFieldFilter<TColumns[K]['_']['data']>;
266
- } & {
267
- OR?: RelationsFilter<TColumns>[];
268
- NOT?: RelationsFilter<TColumns>;
269
- RAW?: (table: Simplify<AnyTable<{
270
- columns: TColumns;
271
- }> & TColumns>, operators: Operators) => SQL;
272
- };
273
- export interface OneConfig<TSchema extends Record<string, Table>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string, TOptional extends boolean> {
274
- from?: TSourceColumns | Writable<TSourceColumns>;
275
- to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
276
- [K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
277
- } : RelationsBuilderColumnBase<TTargetTableName>;
278
- where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? RelationsFilter<TSchema[TSourceColumns[number]['_']['tableName']]['_']['columns']> : RelationsFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]['_']['columns']>;
279
- optional?: TOptional;
280
- alias?: string;
281
- }
282
- export type AnyOneConfig = OneConfig<Record<string, Table>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] | RelationsBuilderColumnBase<string, unknown>>, string, boolean>;
283
- export interface ManyConfig<TSchema extends Record<string, Table>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string> {
284
- from?: TSourceColumns;
285
- to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
286
- [K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
287
- } : RelationsBuilderColumnBase<TTargetTableName>;
288
- where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? RelationsFilter<TSchema[TSourceColumns[number]['_']['tableName']]['_']['columns']> : RelationsFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]['_']['columns']>;
289
- alias?: string;
290
- }
291
- export type AnyManyConfig = ManyConfig<Record<string, Table>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, string>;
292
- export interface OneFn<TTables extends Record<string, Table>, TTargetTableName extends string> {
293
- <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>;
294
- }
295
- export interface ManyFn<TTables extends Record<string, Table>, TTargetTableName extends string> {
296
- <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>;
297
- }
298
- export declare class RelationsHelperStatic<TTables extends Record<string, Table>> {
299
- static readonly [entityKind]: string;
300
- readonly $brand: 'RelationsHelperStatic';
301
- readonly _: {
302
- readonly tables: TTables;
303
- };
304
- constructor(tables: TTables);
305
- one: {
306
- [K in keyof TTables]: OneFn<TTables, K & string>;
307
- };
308
- many: {
309
- [K in keyof TTables]: ManyFn<TTables, K & string>;
310
- };
311
- aggs: {
312
- count(): Count;
313
- };
314
- }
315
- export type RelationsBuilder<TSchema extends Record<string, Table>> = {
316
- [TTableName in keyof TSchema & string]: {
317
- [TColumnName in keyof TSchema[TTableName]['_']['columns']]: RelationsBuilderColumn<TTableName, TSchema[TTableName]['_']['columns'][TColumnName]['_']['data']>;
318
- } & RelationsBuilderTable<TTableName>;
319
- } & RelationsHelperStatic<TSchema>;
320
- export type RelationsBuilderConfig<TTables extends Record<string, Table>> = {
321
- [TTableName in keyof TTables & string]?: Record<string, RelationsBuilderEntry<TTables, TTableName>>;
322
- };
323
- export type RelationsBuilderEntry<TTables extends Record<string, Table> = Record<string, Table>, TSourceTableName extends string = string> = Relation<TSourceTableName, keyof TTables & string> | AggregatedField<any>;
324
- export type ExtractTablesFromSchema<TSchema extends Record<string, unknown>> = {
325
- [K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? TSchema[K] : never;
326
- };
327
- export declare function createRelationsHelper<TSchema extends Record<string, unknown>, TTables extends Record<string, Table>>(schema: TSchema): RelationsBuilder<TTables>;
328
- export declare function defineRelations<TSchema extends Record<string, unknown>, TConfig extends RelationsBuilderConfig<TTables>, TTables extends Record<string, Table> = ExtractTablesFromSchema<TSchema>>(schema: TSchema, relations: (helpers: RelationsBuilder<TTables>) => TConfig): Relations<TSchema, TTables, TConfig>;
329
- export type WithContainer<TRelatedTables extends Record<string, Table> = Record<string, Table>> = {
330
- with?: {
331
- [K in keyof TRelatedTables]?: boolean | DBQueryConfig;
332
- };
333
- };
334
- export type ColumnWithTSName = {
335
- column: Column;
336
- tsName: string;
337
- };
338
- export type RelationsOrder<TColumns extends Record<string, Column>> = {
339
- [K in keyof TColumns]?: 'asc' | 'desc';
340
- };
341
- export type OrderBy = Exclude<DBQueryConfig['orderBy'], undefined>;
342
- export type Extras = Exclude<DBQueryConfig['extras'], undefined>;
343
- export declare function relationsFilterToSQL(table: Table, filter: RelationsFilter<Record<string, Column>>): SQL | undefined;
344
- export declare function relationsOrderToSQL(table: Table, orders: OrderBy): SQL | undefined;
345
- export declare function relationExtrasToSQL(table: Table, extras: Extras): {
346
- sql: SQL<unknown> | undefined;
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;
347
204
  selection: {
348
- key: string;
349
- field: Column | Table | SQL | SQL.Aliased | SQLWrapper | AggregatedField;
350
- isArray?: boolean;
351
- selection?: BuildRelationalQueryResult["selection"];
352
- isOptional?: boolean;
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'];
353
212
  }[];
354
- };
355
- export type BuiltRelationFilters = {
356
- filter?: SQL;
357
- joinCondition?: SQL;
358
- };
359
- export declare function relationToSQL(relation: Relation, sourceTable: Table, targetTable: Table, throughTable?: Table): BuiltRelationFilters;
360
- export {};
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>;