drizzle-orm 0.39.0-19ccabb → 0.39.0-6b6aca7

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 (726) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +9 -4
  3. package/alias.d.ts +9 -4
  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/query-builders/select.types.cjs.map +1 -1
  204. package/mysql-core/query-builders/select.types.d.cts +1 -1
  205. package/mysql-core/query-builders/select.types.d.ts +1 -1
  206. package/mysql-core/session.cjs +2 -3
  207. package/mysql-core/session.cjs.map +1 -1
  208. package/mysql-core/session.d.cts +7 -10
  209. package/mysql-core/session.d.ts +7 -10
  210. package/mysql-core/session.js +2 -3
  211. package/mysql-core/session.js.map +1 -1
  212. package/mysql-core/subquery.cjs.map +1 -1
  213. package/mysql-core/subquery.d.cts +15 -2
  214. package/mysql-core/subquery.d.ts +15 -2
  215. package/mysql-proxy/driver.cjs +5 -22
  216. package/mysql-proxy/driver.cjs.map +1 -1
  217. package/mysql-proxy/driver.d.cts +2 -3
  218. package/mysql-proxy/driver.d.ts +2 -3
  219. package/mysql-proxy/driver.js +8 -12
  220. package/mysql-proxy/driver.js.map +1 -1
  221. package/mysql-proxy/migrator.cjs.map +1 -1
  222. package/mysql-proxy/migrator.d.cts +1 -2
  223. package/mysql-proxy/migrator.d.ts +1 -2
  224. package/mysql-proxy/migrator.js.map +1 -1
  225. package/mysql-proxy/session.cjs +2 -27
  226. package/mysql-proxy/session.cjs.map +1 -1
  227. package/mysql-proxy/session.d.cts +8 -13
  228. package/mysql-proxy/session.d.ts +8 -13
  229. package/mysql-proxy/session.js +2 -27
  230. package/mysql-proxy/session.js.map +1 -1
  231. package/mysql2/driver.cjs +7 -24
  232. package/mysql2/driver.cjs.map +1 -1
  233. package/mysql2/driver.d.cts +9 -10
  234. package/mysql2/driver.d.ts +9 -10
  235. package/mysql2/driver.js +10 -14
  236. package/mysql2/driver.js.map +1 -1
  237. package/mysql2/migrator.cjs.map +1 -1
  238. package/mysql2/migrator.d.cts +1 -2
  239. package/mysql2/migrator.d.ts +1 -2
  240. package/mysql2/migrator.js.map +1 -1
  241. package/mysql2/session.cjs +2 -30
  242. package/mysql2/session.cjs.map +1 -1
  243. package/mysql2/session.d.cts +8 -13
  244. package/mysql2/session.d.ts +8 -13
  245. package/mysql2/session.js +2 -30
  246. package/mysql2/session.js.map +1 -1
  247. package/neon/index.cjs +2 -0
  248. package/neon/index.cjs.map +1 -1
  249. package/neon/index.d.cts +1 -0
  250. package/neon/index.d.ts +1 -0
  251. package/neon/index.js +1 -0
  252. package/neon/index.js.map +1 -1
  253. package/neon/neon-identity.cjs +38 -0
  254. package/neon/neon-identity.cjs.map +1 -0
  255. package/neon/neon-identity.d.cts +116 -0
  256. package/neon/neon-identity.d.ts +116 -0
  257. package/neon/neon-identity.js +14 -0
  258. package/neon/neon-identity.js.map +1 -0
  259. package/neon-http/driver.cjs +7 -21
  260. package/neon-http/driver.cjs.map +1 -1
  261. package/neon-http/driver.d.cts +9 -10
  262. package/neon-http/driver.d.ts +9 -10
  263. package/neon-http/driver.js +7 -11
  264. package/neon-http/driver.js.map +1 -1
  265. package/neon-http/migrator.cjs.map +1 -1
  266. package/neon-http/migrator.d.cts +1 -2
  267. package/neon-http/migrator.d.ts +1 -2
  268. package/neon-http/migrator.js.map +1 -1
  269. package/neon-http/session.cjs +2 -32
  270. package/neon-http/session.cjs.map +1 -1
  271. package/neon-http/session.d.cts +8 -13
  272. package/neon-http/session.d.ts +8 -13
  273. package/neon-http/session.js +2 -32
  274. package/neon-http/session.js.map +1 -1
  275. package/neon-serverless/driver.cjs +7 -18
  276. package/neon-serverless/driver.cjs.map +1 -1
  277. package/neon-serverless/driver.d.cts +8 -9
  278. package/neon-serverless/driver.d.ts +8 -9
  279. package/neon-serverless/driver.js +10 -8
  280. package/neon-serverless/driver.js.map +1 -1
  281. package/neon-serverless/migrator.cjs.map +1 -1
  282. package/neon-serverless/migrator.d.cts +1 -2
  283. package/neon-serverless/migrator.d.ts +1 -2
  284. package/neon-serverless/migrator.js.map +1 -1
  285. package/neon-serverless/session.cjs +5 -40
  286. package/neon-serverless/session.cjs.map +1 -1
  287. package/neon-serverless/session.d.cts +8 -13
  288. package/neon-serverless/session.d.ts +8 -13
  289. package/neon-serverless/session.js +5 -40
  290. package/neon-serverless/session.js.map +1 -1
  291. package/node-postgres/driver.cjs +7 -13
  292. package/node-postgres/driver.cjs.map +1 -1
  293. package/node-postgres/driver.d.cts +8 -9
  294. package/node-postgres/driver.d.ts +8 -9
  295. package/node-postgres/driver.js +10 -13
  296. package/node-postgres/driver.js.map +1 -1
  297. package/node-postgres/migrator.cjs.map +1 -1
  298. package/node-postgres/migrator.d.cts +1 -2
  299. package/node-postgres/migrator.d.ts +1 -2
  300. package/node-postgres/migrator.js.map +1 -1
  301. package/node-postgres/session.cjs +4 -45
  302. package/node-postgres/session.cjs.map +1 -1
  303. package/node-postgres/session.d.cts +8 -13
  304. package/node-postgres/session.d.ts +8 -13
  305. package/node-postgres/session.js +4 -45
  306. package/node-postgres/session.js.map +1 -1
  307. package/op-sqlite/driver.cjs +5 -22
  308. package/op-sqlite/driver.cjs.map +1 -1
  309. package/op-sqlite/driver.d.cts +2 -3
  310. package/op-sqlite/driver.d.ts +2 -3
  311. package/op-sqlite/driver.js +8 -12
  312. package/op-sqlite/driver.js.map +1 -1
  313. package/op-sqlite/migrator.cjs.map +1 -1
  314. package/op-sqlite/migrator.d.cts +2 -3
  315. package/op-sqlite/migrator.d.ts +2 -3
  316. package/op-sqlite/migrator.js.map +1 -1
  317. package/op-sqlite/session.cjs +4 -47
  318. package/op-sqlite/session.cjs.map +1 -1
  319. package/op-sqlite/session.d.cts +8 -14
  320. package/op-sqlite/session.d.ts +8 -14
  321. package/op-sqlite/session.js +4 -47
  322. package/op-sqlite/session.js.map +1 -1
  323. package/package.json +64 -52
  324. package/pg-core/db.cjs +24 -42
  325. package/pg-core/db.cjs.map +1 -1
  326. package/pg-core/db.d.cts +13 -23
  327. package/pg-core/db.d.ts +13 -23
  328. package/pg-core/db.js +23 -41
  329. package/pg-core/db.js.map +1 -1
  330. package/pg-core/dialect.cjs +488 -161
  331. package/pg-core/dialect.cjs.map +1 -1
  332. package/pg-core/dialect.d.cts +7 -24
  333. package/pg-core/dialect.d.ts +7 -24
  334. package/pg-core/dialect.js +494 -158
  335. package/pg-core/dialect.js.map +1 -1
  336. package/pg-core/query-builders/count.cjs.map +1 -1
  337. package/pg-core/query-builders/count.d.cts +1 -1
  338. package/pg-core/query-builders/count.d.ts +1 -1
  339. package/pg-core/query-builders/count.js.map +1 -1
  340. package/pg-core/query-builders/delete.cjs +13 -0
  341. package/pg-core/query-builders/delete.cjs.map +1 -1
  342. package/pg-core/query-builders/delete.d.cts +13 -10
  343. package/pg-core/query-builders/delete.d.ts +13 -10
  344. package/pg-core/query-builders/delete.js +14 -1
  345. package/pg-core/query-builders/delete.js.map +1 -1
  346. package/pg-core/query-builders/insert.cjs +13 -0
  347. package/pg-core/query-builders/insert.cjs.map +1 -1
  348. package/pg-core/query-builders/insert.d.cts +10 -8
  349. package/pg-core/query-builders/insert.d.ts +10 -8
  350. package/pg-core/query-builders/insert.js +14 -1
  351. package/pg-core/query-builders/insert.js.map +1 -1
  352. package/pg-core/query-builders/query-builder.cjs +15 -11
  353. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  354. package/pg-core/query-builders/query-builder.d.cts +3 -6
  355. package/pg-core/query-builders/query-builder.d.ts +3 -6
  356. package/pg-core/query-builders/query-builder.js +15 -11
  357. package/pg-core/query-builders/query-builder.js.map +1 -1
  358. package/pg-core/query-builders/query.cjs +18 -15
  359. package/pg-core/query-builders/query.cjs.map +1 -1
  360. package/pg-core/query-builders/query.d.cts +6 -6
  361. package/pg-core/query-builders/query.d.ts +6 -6
  362. package/pg-core/query-builders/query.js +18 -15
  363. package/pg-core/query-builders/query.js.map +1 -1
  364. package/pg-core/query-builders/select.cjs +8 -7
  365. package/pg-core/query-builders/select.cjs.map +1 -1
  366. package/pg-core/query-builders/select.d.cts +3 -3
  367. package/pg-core/query-builders/select.d.ts +3 -3
  368. package/pg-core/query-builders/select.js +8 -7
  369. package/pg-core/query-builders/select.js.map +1 -1
  370. package/pg-core/query-builders/select.types.cjs.map +1 -1
  371. package/pg-core/query-builders/select.types.d.cts +4 -3
  372. package/pg-core/query-builders/select.types.d.ts +4 -3
  373. package/pg-core/query-builders/update.cjs +15 -2
  374. package/pg-core/query-builders/update.cjs.map +1 -1
  375. package/pg-core/query-builders/update.d.cts +18 -13
  376. package/pg-core/query-builders/update.d.ts +18 -13
  377. package/pg-core/query-builders/update.js +16 -3
  378. package/pg-core/query-builders/update.js.map +1 -1
  379. package/pg-core/session.cjs +2 -3
  380. package/pg-core/session.cjs.map +1 -1
  381. package/pg-core/session.d.cts +6 -9
  382. package/pg-core/session.d.ts +6 -9
  383. package/pg-core/session.js +2 -3
  384. package/pg-core/session.js.map +1 -1
  385. package/pg-core/subquery.cjs.map +1 -1
  386. package/pg-core/subquery.d.cts +15 -2
  387. package/pg-core/subquery.d.ts +15 -2
  388. package/pg-proxy/driver.cjs +5 -21
  389. package/pg-proxy/driver.cjs.map +1 -1
  390. package/pg-proxy/driver.d.cts +2 -3
  391. package/pg-proxy/driver.d.ts +2 -3
  392. package/pg-proxy/driver.js +8 -11
  393. package/pg-proxy/driver.js.map +1 -1
  394. package/pg-proxy/migrator.cjs.map +1 -1
  395. package/pg-proxy/migrator.d.cts +1 -2
  396. package/pg-proxy/migrator.d.ts +1 -2
  397. package/pg-proxy/migrator.js.map +1 -1
  398. package/pg-proxy/session.cjs +2 -37
  399. package/pg-proxy/session.cjs.map +1 -1
  400. package/pg-proxy/session.d.cts +8 -13
  401. package/pg-proxy/session.d.ts +8 -13
  402. package/pg-proxy/session.js +2 -37
  403. package/pg-proxy/session.js.map +1 -1
  404. package/pglite/driver.cjs +7 -23
  405. package/pglite/driver.cjs.map +1 -1
  406. package/pglite/driver.d.cts +8 -9
  407. package/pglite/driver.d.ts +8 -9
  408. package/pglite/driver.js +10 -13
  409. package/pglite/driver.js.map +1 -1
  410. package/pglite/migrator.cjs.map +1 -1
  411. package/pglite/migrator.d.cts +1 -2
  412. package/pglite/migrator.d.ts +1 -2
  413. package/pglite/migrator.js.map +1 -1
  414. package/pglite/session.cjs +3 -34
  415. package/pglite/session.cjs.map +1 -1
  416. package/pglite/session.d.cts +8 -13
  417. package/pglite/session.d.ts +8 -13
  418. package/pglite/session.js +3 -34
  419. package/pglite/session.js.map +1 -1
  420. package/planetscale-serverless/driver.cjs +5 -22
  421. package/planetscale-serverless/driver.cjs.map +1 -1
  422. package/planetscale-serverless/driver.d.cts +6 -7
  423. package/planetscale-serverless/driver.d.ts +6 -7
  424. package/planetscale-serverless/driver.js +8 -12
  425. package/planetscale-serverless/driver.js.map +1 -1
  426. package/planetscale-serverless/migrator.cjs.map +1 -1
  427. package/planetscale-serverless/migrator.d.cts +1 -2
  428. package/planetscale-serverless/migrator.d.ts +1 -2
  429. package/planetscale-serverless/migrator.js.map +1 -1
  430. package/planetscale-serverless/session.cjs +5 -45
  431. package/planetscale-serverless/session.cjs.map +1 -1
  432. package/planetscale-serverless/session.d.cts +9 -14
  433. package/planetscale-serverless/session.d.ts +9 -14
  434. package/planetscale-serverless/session.js +5 -45
  435. package/planetscale-serverless/session.js.map +1 -1
  436. package/postgres-js/driver.cjs +5 -6
  437. package/postgres-js/driver.cjs.map +1 -1
  438. package/postgres-js/driver.d.cts +6 -7
  439. package/postgres-js/driver.d.ts +6 -7
  440. package/postgres-js/driver.js +8 -6
  441. package/postgres-js/driver.js.map +1 -1
  442. package/postgres-js/migrator.cjs.map +1 -1
  443. package/postgres-js/migrator.d.cts +1 -2
  444. package/postgres-js/migrator.d.ts +1 -2
  445. package/postgres-js/migrator.js.map +1 -1
  446. package/postgres-js/session.cjs +6 -51
  447. package/postgres-js/session.cjs.map +1 -1
  448. package/postgres-js/session.d.cts +9 -15
  449. package/postgres-js/session.d.ts +9 -15
  450. package/postgres-js/session.js +6 -51
  451. package/postgres-js/session.js.map +1 -1
  452. package/prisma/mysql/driver.cjs +1 -1
  453. package/prisma/mysql/driver.cjs.map +1 -1
  454. package/prisma/mysql/driver.js +1 -1
  455. package/prisma/mysql/driver.js.map +1 -1
  456. package/prisma/mysql/session.cjs +0 -3
  457. package/prisma/mysql/session.cjs.map +1 -1
  458. package/prisma/mysql/session.d.cts +1 -3
  459. package/prisma/mysql/session.d.ts +1 -3
  460. package/prisma/mysql/session.js +0 -3
  461. package/prisma/mysql/session.js.map +1 -1
  462. package/prisma/pg/driver.cjs +1 -1
  463. package/prisma/pg/driver.cjs.map +1 -1
  464. package/prisma/pg/driver.js +1 -1
  465. package/prisma/pg/driver.js.map +1 -1
  466. package/prisma/pg/session.cjs +0 -3
  467. package/prisma/pg/session.cjs.map +1 -1
  468. package/prisma/pg/session.d.cts +1 -3
  469. package/prisma/pg/session.d.ts +1 -3
  470. package/prisma/pg/session.js +0 -3
  471. package/prisma/pg/session.js.map +1 -1
  472. package/prisma/sqlite/driver.cjs +1 -1
  473. package/prisma/sqlite/driver.cjs.map +1 -1
  474. package/prisma/sqlite/driver.js +1 -1
  475. package/prisma/sqlite/driver.js.map +1 -1
  476. package/prisma/sqlite/session.cjs +0 -3
  477. package/prisma/sqlite/session.cjs.map +1 -1
  478. package/prisma/sqlite/session.d.cts +2 -4
  479. package/prisma/sqlite/session.d.ts +2 -4
  480. package/prisma/sqlite/session.js +0 -3
  481. package/prisma/sqlite/session.js.map +1 -1
  482. package/query-builders/select.types.cjs.map +1 -1
  483. package/query-builders/select.types.d.cts +1 -1
  484. package/query-builders/select.types.d.ts +1 -1
  485. package/relations.cjs +245 -595
  486. package/relations.cjs.map +1 -1
  487. package/relations.d.cts +131 -276
  488. package/relations.d.ts +131 -276
  489. package/relations.js +239 -589
  490. package/relations.js.map +1 -1
  491. package/singlestore/driver.cjs +1 -1
  492. package/singlestore/driver.cjs.map +1 -1
  493. package/singlestore/driver.d.cts +1 -1
  494. package/singlestore/driver.d.ts +1 -1
  495. package/singlestore/driver.js +3 -3
  496. package/singlestore/driver.js.map +1 -1
  497. package/singlestore/session.cjs.map +1 -1
  498. package/singlestore/session.d.cts +4 -4
  499. package/singlestore/session.d.ts +4 -4
  500. package/singlestore/session.js.map +1 -1
  501. package/singlestore-core/db.cjs +17 -11
  502. package/singlestore-core/db.cjs.map +1 -1
  503. package/singlestore-core/db.d.cts +7 -10
  504. package/singlestore-core/db.d.ts +7 -10
  505. package/singlestore-core/db.js +17 -11
  506. package/singlestore-core/db.js.map +1 -1
  507. package/singlestore-core/dialect.cjs +6 -16
  508. package/singlestore-core/dialect.cjs.map +1 -1
  509. package/singlestore-core/dialect.d.cts +6 -6
  510. package/singlestore-core/dialect.d.ts +6 -6
  511. package/singlestore-core/dialect.js +12 -6
  512. package/singlestore-core/dialect.js.map +1 -1
  513. package/singlestore-core/query-builders/query-builder.cjs +15 -11
  514. package/singlestore-core/query-builders/query-builder.cjs.map +1 -1
  515. package/singlestore-core/query-builders/query-builder.d.cts +2 -6
  516. package/singlestore-core/query-builders/query-builder.d.ts +2 -6
  517. package/singlestore-core/query-builders/query-builder.js +15 -11
  518. package/singlestore-core/query-builders/query-builder.js.map +1 -1
  519. package/singlestore-core/query-builders/query.cjs +2 -12
  520. package/singlestore-core/query-builders/query.cjs.map +1 -1
  521. package/singlestore-core/query-builders/query.d.cts +6 -6
  522. package/singlestore-core/query-builders/query.d.ts +6 -6
  523. package/singlestore-core/query-builders/query.js +4 -2
  524. package/singlestore-core/query-builders/query.js.map +1 -1
  525. package/singlestore-core/session.cjs.map +1 -1
  526. package/singlestore-core/session.d.cts +5 -5
  527. package/singlestore-core/session.d.ts +5 -5
  528. package/singlestore-core/session.js.map +1 -1
  529. package/singlestore-core/subquery.cjs.map +1 -1
  530. package/singlestore-core/subquery.d.cts +15 -2
  531. package/singlestore-core/subquery.d.ts +15 -2
  532. package/singlestore-core/table.cjs.map +1 -1
  533. package/singlestore-core/table.d.cts +12 -12
  534. package/singlestore-core/table.d.ts +12 -12
  535. package/singlestore-core/table.js.map +1 -1
  536. package/singlestore-proxy/driver.cjs +1 -1
  537. package/singlestore-proxy/driver.cjs.map +1 -1
  538. package/singlestore-proxy/driver.js +3 -3
  539. package/singlestore-proxy/driver.js.map +1 -1
  540. package/singlestore-proxy/session.cjs.map +1 -1
  541. package/singlestore-proxy/session.d.cts +4 -4
  542. package/singlestore-proxy/session.d.ts +4 -4
  543. package/singlestore-proxy/session.js.map +1 -1
  544. package/sql/sql.cjs +7 -2
  545. package/sql/sql.cjs.map +1 -1
  546. package/sql/sql.d.cts +9 -8
  547. package/sql/sql.d.ts +9 -8
  548. package/sql/sql.js +6 -2
  549. package/sql/sql.js.map +1 -1
  550. package/sql-js/driver.cjs +5 -16
  551. package/sql-js/driver.cjs.map +1 -1
  552. package/sql-js/driver.d.cts +2 -3
  553. package/sql-js/driver.d.ts +2 -3
  554. package/sql-js/driver.js +8 -6
  555. package/sql-js/driver.js.map +1 -1
  556. package/sql-js/migrator.cjs.map +1 -1
  557. package/sql-js/migrator.d.cts +1 -2
  558. package/sql-js/migrator.d.ts +1 -2
  559. package/sql-js/migrator.js.map +1 -1
  560. package/sql-js/session.cjs +36 -71
  561. package/sql-js/session.cjs.map +1 -1
  562. package/sql-js/session.d.cts +13 -16
  563. package/sql-js/session.d.ts +13 -16
  564. package/sql-js/session.js +36 -71
  565. package/sql-js/session.js.map +1 -1
  566. package/sqlite-core/db.cjs +31 -49
  567. package/sqlite-core/db.cjs.map +1 -1
  568. package/sqlite-core/db.d.cts +12 -23
  569. package/sqlite-core/db.d.ts +12 -23
  570. package/sqlite-core/db.js +30 -48
  571. package/sqlite-core/db.js.map +1 -1
  572. package/sqlite-core/dialect.cjs +8 -184
  573. package/sqlite-core/dialect.cjs.map +1 -1
  574. package/sqlite-core/dialect.d.cts +9 -28
  575. package/sqlite-core/dialect.d.ts +9 -28
  576. package/sqlite-core/dialect.js +14 -181
  577. package/sqlite-core/dialect.js.map +1 -1
  578. package/sqlite-core/query-builders/count.cjs.map +1 -1
  579. package/sqlite-core/query-builders/count.d.cts +1 -1
  580. package/sqlite-core/query-builders/count.d.ts +1 -1
  581. package/sqlite-core/query-builders/count.js.map +1 -1
  582. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  583. package/sqlite-core/query-builders/delete.d.cts +1 -1
  584. package/sqlite-core/query-builders/delete.d.ts +1 -1
  585. package/sqlite-core/query-builders/delete.js.map +1 -1
  586. package/sqlite-core/query-builders/insert.cjs +9 -3
  587. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  588. package/sqlite-core/query-builders/insert.d.cts +4 -4
  589. package/sqlite-core/query-builders/insert.d.ts +4 -4
  590. package/sqlite-core/query-builders/insert.js +9 -3
  591. package/sqlite-core/query-builders/insert.js.map +1 -1
  592. package/sqlite-core/query-builders/query-builder.cjs +15 -11
  593. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  594. package/sqlite-core/query-builders/query-builder.d.cts +2 -6
  595. package/sqlite-core/query-builders/query-builder.d.ts +2 -6
  596. package/sqlite-core/query-builders/query-builder.js +15 -11
  597. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  598. package/sqlite-core/query-builders/query.cjs +35 -56
  599. package/sqlite-core/query-builders/query.cjs.map +1 -1
  600. package/sqlite-core/query-builders/query.d.cts +17 -18
  601. package/sqlite-core/query-builders/query.d.ts +17 -18
  602. package/sqlite-core/query-builders/query.js +35 -56
  603. package/sqlite-core/query-builders/query.js.map +1 -1
  604. package/sqlite-core/query-builders/select.cjs.map +1 -1
  605. package/sqlite-core/query-builders/select.d.cts +3 -3
  606. package/sqlite-core/query-builders/select.d.ts +3 -3
  607. package/sqlite-core/query-builders/select.js.map +1 -1
  608. package/sqlite-core/query-builders/update.cjs.map +1 -1
  609. package/sqlite-core/query-builders/update.d.cts +3 -3
  610. package/sqlite-core/query-builders/update.d.ts +3 -3
  611. package/sqlite-core/query-builders/update.js.map +1 -1
  612. package/sqlite-core/session.cjs +2 -6
  613. package/sqlite-core/session.cjs.map +1 -1
  614. package/sqlite-core/session.d.cts +7 -15
  615. package/sqlite-core/session.d.ts +7 -15
  616. package/sqlite-core/session.js +2 -6
  617. package/sqlite-core/session.js.map +1 -1
  618. package/sqlite-core/subquery.cjs.map +1 -1
  619. package/sqlite-core/subquery.d.cts +15 -2
  620. package/sqlite-core/subquery.d.ts +15 -2
  621. package/sqlite-proxy/driver.cjs +5 -23
  622. package/sqlite-proxy/driver.cjs.map +1 -1
  623. package/sqlite-proxy/driver.d.cts +3 -4
  624. package/sqlite-proxy/driver.d.ts +3 -4
  625. package/sqlite-proxy/driver.js +5 -13
  626. package/sqlite-proxy/driver.js.map +1 -1
  627. package/sqlite-proxy/migrator.cjs.map +1 -1
  628. package/sqlite-proxy/migrator.d.cts +1 -2
  629. package/sqlite-proxy/migrator.d.ts +1 -2
  630. package/sqlite-proxy/migrator.js.map +1 -1
  631. package/sqlite-proxy/session.cjs +6 -50
  632. package/sqlite-proxy/session.cjs.map +1 -1
  633. package/sqlite-proxy/session.d.cts +8 -14
  634. package/sqlite-proxy/session.d.ts +8 -14
  635. package/sqlite-proxy/session.js +6 -50
  636. package/sqlite-proxy/session.js.map +1 -1
  637. package/subquery.cjs.map +1 -1
  638. package/subquery.d.cts +1 -0
  639. package/subquery.d.ts +1 -0
  640. package/subquery.js.map +1 -1
  641. package/table.cjs.map +1 -1
  642. package/table.d.cts +1 -1
  643. package/table.d.ts +1 -1
  644. package/table.js.map +1 -1
  645. package/tidb-serverless/driver.cjs +5 -22
  646. package/tidb-serverless/driver.cjs.map +1 -1
  647. package/tidb-serverless/driver.d.cts +6 -7
  648. package/tidb-serverless/driver.d.ts +6 -7
  649. package/tidb-serverless/driver.js +8 -12
  650. package/tidb-serverless/driver.js.map +1 -1
  651. package/tidb-serverless/migrator.cjs.map +1 -1
  652. package/tidb-serverless/migrator.d.cts +1 -2
  653. package/tidb-serverless/migrator.d.ts +1 -2
  654. package/tidb-serverless/migrator.js.map +1 -1
  655. package/tidb-serverless/session.cjs +5 -62
  656. package/tidb-serverless/session.cjs.map +1 -1
  657. package/tidb-serverless/session.d.cts +9 -14
  658. package/tidb-serverless/session.d.ts +9 -14
  659. package/tidb-serverless/session.js +5 -62
  660. package/tidb-serverless/session.js.map +1 -1
  661. package/utils.cjs +2 -2
  662. package/utils.cjs.map +1 -1
  663. package/utils.d.cts +1 -3
  664. package/utils.d.ts +1 -3
  665. package/utils.js +2 -2
  666. package/utils.js.map +1 -1
  667. package/vercel-postgres/driver.cjs +7 -23
  668. package/vercel-postgres/driver.cjs.map +1 -1
  669. package/vercel-postgres/driver.d.cts +8 -9
  670. package/vercel-postgres/driver.d.ts +8 -9
  671. package/vercel-postgres/driver.js +10 -13
  672. package/vercel-postgres/driver.js.map +1 -1
  673. package/vercel-postgres/migrator.cjs.map +1 -1
  674. package/vercel-postgres/migrator.d.cts +1 -2
  675. package/vercel-postgres/migrator.d.ts +1 -2
  676. package/vercel-postgres/migrator.js.map +1 -1
  677. package/vercel-postgres/session.cjs +8 -34
  678. package/vercel-postgres/session.cjs.map +1 -1
  679. package/vercel-postgres/session.d.cts +10 -14
  680. package/vercel-postgres/session.d.ts +10 -14
  681. package/vercel-postgres/session.js +8 -34
  682. package/vercel-postgres/session.js.map +1 -1
  683. package/version.cjs +1 -1
  684. package/version.d.cts +1 -1
  685. package/version.d.ts +1 -1
  686. package/version.js +1 -1
  687. package/xata-http/driver.cjs +5 -17
  688. package/xata-http/driver.cjs.map +1 -1
  689. package/xata-http/driver.d.cts +4 -5
  690. package/xata-http/driver.d.ts +4 -5
  691. package/xata-http/driver.js +5 -7
  692. package/xata-http/driver.js.map +1 -1
  693. package/xata-http/migrator.cjs.map +1 -1
  694. package/xata-http/migrator.d.cts +1 -2
  695. package/xata-http/migrator.d.ts +1 -2
  696. package/xata-http/migrator.js.map +1 -1
  697. package/xata-http/session.cjs +2 -30
  698. package/xata-http/session.cjs.map +1 -1
  699. package/xata-http/session.d.cts +8 -13
  700. package/xata-http/session.d.ts +8 -13
  701. package/xata-http/session.js +2 -30
  702. package/xata-http/session.js.map +1 -1
  703. package/_relations.cjs +0 -328
  704. package/_relations.cjs.map +0 -1
  705. package/_relations.d.cts +0 -215
  706. package/_relations.d.ts +0 -215
  707. package/_relations.js +0 -316
  708. package/_relations.js.map +0 -1
  709. package/mysql-core/query-builders/_query.cjs +0 -149
  710. package/mysql-core/query-builders/_query.cjs.map +0 -1
  711. package/mysql-core/query-builders/_query.d.cts +0 -44
  712. package/mysql-core/query-builders/_query.d.ts +0 -44
  713. package/mysql-core/query-builders/_query.js +0 -114
  714. package/mysql-core/query-builders/_query.js.map +0 -1
  715. package/pg-core/query-builders/_query.cjs +0 -155
  716. package/pg-core/query-builders/_query.cjs.map +0 -1
  717. package/pg-core/query-builders/_query.d.cts +0 -47
  718. package/pg-core/query-builders/_query.d.ts +0 -47
  719. package/pg-core/query-builders/_query.js +0 -120
  720. package/pg-core/query-builders/_query.js.map +0 -1
  721. package/sqlite-core/query-builders/_query.cjs +0 -187
  722. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  723. package/sqlite-core/query-builders/_query.d.cts +0 -55
  724. package/sqlite-core/query-builders/_query.d.ts +0 -55
  725. package/sqlite-core/query-builders/_query.js +0 -151
  726. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -1,9 +1,7 @@
1
1
  import { entityKind } from "../../entity.cjs";
2
- import type { TypedQueryBuilder } from "../../query-builders/query-builder.cjs";
3
- import type { ColumnsSelection } from "../../sql/sql.cjs";
4
2
  import type { SQLiteDialectConfig } from "../dialect.cjs";
5
3
  import { SQLiteDialect } from "../dialect.cjs";
6
- import type { WithSubqueryWithSelection } from "../subquery.cjs";
4
+ import type { WithBuilder } from "../subquery.cjs";
7
5
  import { WithSubquery } from "../../subquery.cjs";
8
6
  import { SQLiteSelectBuilder } from "./select.cjs";
9
7
  import type { SelectedFields } from "./select.types.cjs";
@@ -12,9 +10,7 @@ export declare class QueryBuilder {
12
10
  private dialect;
13
11
  private dialectConfig;
14
12
  constructor(dialect?: SQLiteDialect | SQLiteDialectConfig);
15
- $with<TAlias extends string>(alias: TAlias): {
16
- as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
17
- };
13
+ $with: WithBuilder;
18
14
  with(...queries: WithSubquery[]): {
19
15
  select: {
20
16
  (): SQLiteSelectBuilder<undefined, "sync", void, "qb">;
@@ -1,9 +1,7 @@
1
1
  import { entityKind } from "../../entity.js";
2
- import type { TypedQueryBuilder } from "../../query-builders/query-builder.js";
3
- import type { ColumnsSelection } from "../../sql/sql.js";
4
2
  import type { SQLiteDialectConfig } from "../dialect.js";
5
3
  import { SQLiteDialect } from "../dialect.js";
6
- import type { WithSubqueryWithSelection } from "../subquery.js";
4
+ import type { WithBuilder } from "../subquery.js";
7
5
  import { WithSubquery } from "../../subquery.js";
8
6
  import { SQLiteSelectBuilder } from "./select.js";
9
7
  import type { SelectedFields } from "./select.types.js";
@@ -12,9 +10,7 @@ export declare class QueryBuilder {
12
10
  private dialect;
13
11
  private dialectConfig;
14
12
  constructor(dialect?: SQLiteDialect | SQLiteDialectConfig);
15
- $with<TAlias extends string>(alias: TAlias): {
16
- as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>)): WithSubqueryWithSelection<TSelection, TAlias>;
17
- };
13
+ $with: WithBuilder;
18
14
  with(...queries: WithSubquery[]): {
19
15
  select: {
20
16
  (): SQLiteSelectBuilder<undefined, "sync", void, "qb">;
@@ -11,20 +11,24 @@ class QueryBuilder {
11
11
  this.dialect = is(dialect, SQLiteDialect) ? dialect : void 0;
12
12
  this.dialectConfig = is(dialect, SQLiteDialect) ? void 0 : dialect;
13
13
  }
14
- $with(alias) {
14
+ $with = (alias, selection) => {
15
15
  const queryBuilder = this;
16
- return {
17
- as(qb) {
18
- if (typeof qb === "function") {
19
- qb = qb(queryBuilder);
20
- }
21
- return new Proxy(
22
- new WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
23
- new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
24
- );
16
+ const as = (qb) => {
17
+ if (typeof qb === "function") {
18
+ qb = qb(queryBuilder);
25
19
  }
20
+ return new Proxy(
21
+ new WithSubquery(
22
+ qb.getSQL(),
23
+ selection ?? ("getSelectedFields" in qb ? qb.getSelectedFields() ?? {} : {}),
24
+ alias,
25
+ true
26
+ ),
27
+ new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
28
+ );
26
29
  };
27
- }
30
+ return { as };
31
+ };
28
32
  with(...queries) {
29
33
  const self = this;
30
34
  function select(fields) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport type { SQLiteDialectConfig } from '~/sqlite-core/dialect.ts';\nimport { SQLiteDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/sqlite-core/subquery.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SQLiteSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteQueryBuilder';\n\n\tprivate dialect: SQLiteDialect | undefined;\n\tprivate dialectConfig: SQLiteDialectConfig | undefined;\n\n\tconstructor(dialect?: SQLiteDialect | SQLiteDialectConfig) {\n\t\tthis.dialect = is(dialect, SQLiteDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SQLiteDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SQLiteSyncDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,6BAA6B;AAGtC,SAAS,eAAe,yBAAyB;AAEjD,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAG7B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAA+C;AAC1D,SAAK,UAAU,GAAG,SAAS,aAAa,IAAI,UAAU;AACtD,SAAK,gBAAgB,GAAG,SAAS,aAAa,IAAI,SAAY;AAAA,EAC/D;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QACkE;AAClE,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QACkE;AAClE,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAMA,OACC,QACkE;AAClE,WAAO,IAAI,oBAAoB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC/G;AAAA,EAMA,eACC,QACkE;AAClE,WAAO,IAAI,oBAAoB;AAAA,MAC9B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,kBAAkB,KAAK,aAAa;AAAA,IACxD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport type { SQLiteDialectConfig } from '~/sqlite-core/dialect.ts';\nimport { SQLiteDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { WithBuilder } from '~/sqlite-core/subquery.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SQLiteSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteQueryBuilder';\n\n\tprivate dialect: SQLiteDialect | undefined;\n\tprivate dialectConfig: SQLiteDialectConfig | undefined;\n\n\tconstructor(dialect?: SQLiteDialect | SQLiteDialectConfig) {\n\t\tthis.dialect = is(dialect, SQLiteDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SQLiteDialect) ? undefined : dialect;\n\t}\n\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst queryBuilder = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder<ColumnsSelection | undefined>\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder<ColumnsSelection | undefined> | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(queryBuilder);\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t) as any;\n\t\t};\n\t\treturn { as };\n\t};\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): SQLiteSelectBuilder<undefined, 'sync', void, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder<TSelection, 'sync', void, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder<TSelection | undefined, 'sync', void, 'qb'> {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SQLiteSyncDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,6BAA6B;AAGtC,SAAS,eAAe,yBAAyB;AAEjD,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AAG7B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAA+C;AAC1D,SAAK,UAAU,GAAG,SAAS,aAAa,IAAI,UAAU;AACtD,SAAK,gBAAgB,GAAG,SAAS,aAAa,IAAI,SAAY;AAAA,EAC/D;AAAA,EAEA,QAAqB,CAAC,OAAe,cAAiC;AACrE,UAAM,eAAe;AACrB,UAAM,KAAK,CACV,OAII;AACJ,UAAI,OAAO,OAAO,YAAY;AAC7B,aAAK,GAAG,YAAY;AAAA,MACrB;AAEA,aAAO,IAAI;AAAA,QACV,IAAI;AAAA,UACH,GAAG,OAAO;AAAA,UACV,cAAc,uBAAuB,KAAK,GAAG,kBAAkB,KAAK,CAAC,IAAI,CAAC;AAAA,UAC1E;AAAA,UACA;AAAA,QACD;AAAA,QACA,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,MACvF;AAAA,IACD;AACA,WAAO,EAAE,GAAG;AAAA,EACb;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QACkE;AAClE,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QACkE;AAClE,aAAO,IAAI,oBAAoB;AAAA,QAC9B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAMA,OACC,QACkE;AAClE,WAAO,IAAI,oBAAoB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC/G;AAAA,EAMA,eACC,QACkE;AAClE,WAAO,IAAI,oBAAoB;AAAA,MAC9B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,kBAAkB,KAAK,aAAa;AAAA,IACxD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -26,112 +26,105 @@ module.exports = __toCommonJS(query_exports);
26
26
  var import_entity = require("../../entity.cjs");
27
27
  var import_query_promise = require("../../query-promise.cjs");
28
28
  var import_relations = require("../../relations.cjs");
29
- var import_sql = require("../../sql/sql.cjs");
30
29
  class RelationalQueryBuilder {
31
- constructor(mode, tables, schema, tableNamesMap, table, tableConfig, dialect, session, rowMode) {
30
+ constructor(mode, fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session) {
32
31
  this.mode = mode;
33
- this.tables = tables;
32
+ this.fullSchema = fullSchema;
34
33
  this.schema = schema;
35
34
  this.tableNamesMap = tableNamesMap;
36
35
  this.table = table;
37
36
  this.tableConfig = tableConfig;
38
37
  this.dialect = dialect;
39
38
  this.session = session;
40
- this.rowMode = rowMode;
41
39
  }
42
- static [import_entity.entityKind] = "SQLiteAsyncRelationalQueryBuilderV2";
40
+ static [import_entity.entityKind] = "SQLiteAsyncRelationalQueryBuilder";
43
41
  findMany(config) {
44
42
  return this.mode === "sync" ? new SQLiteSyncRelationalQuery(
45
- this.tables,
43
+ this.fullSchema,
46
44
  this.schema,
47
45
  this.tableNamesMap,
48
46
  this.table,
49
47
  this.tableConfig,
50
48
  this.dialect,
51
49
  this.session,
52
- config ?? true,
53
- "many",
54
- this.rowMode
50
+ config ? config : {},
51
+ "many"
55
52
  ) : new SQLiteRelationalQuery(
56
- this.tables,
53
+ this.fullSchema,
57
54
  this.schema,
58
55
  this.tableNamesMap,
59
56
  this.table,
60
57
  this.tableConfig,
61
58
  this.dialect,
62
59
  this.session,
63
- config ?? true,
64
- "many",
65
- this.rowMode
60
+ config ? config : {},
61
+ "many"
66
62
  );
67
63
  }
68
64
  findFirst(config) {
69
65
  return this.mode === "sync" ? new SQLiteSyncRelationalQuery(
70
- this.tables,
66
+ this.fullSchema,
71
67
  this.schema,
72
68
  this.tableNamesMap,
73
69
  this.table,
74
70
  this.tableConfig,
75
71
  this.dialect,
76
72
  this.session,
77
- config ?? true,
78
- "first",
79
- this.rowMode
73
+ config ? { ...config, limit: 1 } : { limit: 1 },
74
+ "first"
80
75
  ) : new SQLiteRelationalQuery(
81
- this.tables,
76
+ this.fullSchema,
82
77
  this.schema,
83
78
  this.tableNamesMap,
84
79
  this.table,
85
80
  this.tableConfig,
86
81
  this.dialect,
87
82
  this.session,
88
- config ?? true,
89
- "first",
90
- this.rowMode
83
+ config ? { ...config, limit: 1 } : { limit: 1 },
84
+ "first"
91
85
  );
92
86
  }
93
87
  }
94
88
  class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
95
- constructor(tables, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode, rowMode) {
89
+ constructor(fullSchema, schema, tableNamesMap, table, tableConfig, dialect, session, config, mode) {
96
90
  super();
97
- this.tables = tables;
91
+ this.fullSchema = fullSchema;
98
92
  this.schema = schema;
99
93
  this.tableNamesMap = tableNamesMap;
94
+ this.table = table;
100
95
  this.tableConfig = tableConfig;
101
96
  this.dialect = dialect;
102
97
  this.session = session;
103
98
  this.config = config;
104
- this.rowMode = rowMode;
105
99
  this.mode = mode;
106
- this.table = table;
107
100
  }
108
- static [import_entity.entityKind] = "SQLiteAsyncRelationalQueryV2";
101
+ static [import_entity.entityKind] = "SQLiteAsyncRelationalQuery";
109
102
  /** @internal */
110
103
  mode;
111
104
  /** @internal */
112
- table;
113
- /** @internal */
114
105
  getSQL() {
115
- const query = this.dialect.buildRelationalQuery({
106
+ return this.dialect.buildRelationalQuery({
107
+ fullSchema: this.fullSchema,
116
108
  schema: this.schema,
117
109
  tableNamesMap: this.tableNamesMap,
118
110
  table: this.table,
119
111
  tableConfig: this.tableConfig,
120
112
  queryConfig: this.config,
121
- tables: this.tables,
122
- mode: this.mode
123
- });
124
- return query.sql;
113
+ tableAlias: this.tableConfig.tsName
114
+ }).sql;
125
115
  }
126
116
  /** @internal */
127
- _prepare(isOneTimeQuery = true) {
117
+ _prepare(isOneTimeQuery = false) {
128
118
  const { query, builtQuery } = this._toSQL();
129
- return this.session[isOneTimeQuery ? "prepareOneTimeRelationalQuery" : "prepareRelationalQuery"](
119
+ return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
130
120
  builtQuery,
131
121
  void 0,
132
122
  this.mode === "first" ? "get" : "all",
123
+ true,
133
124
  (rawRows, mapColumnValue) => {
134
- const rows = rawRows.map((row) => (0, import_relations.mapRelationalRow)(row, query.selection, mapColumnValue, !this.rowMode));
125
+ const rows = rawRows.map(
126
+ (row) => (0, import_relations.mapRelationalRow)(this.schema, this.tableConfig, row, query.selection, mapColumnValue)
127
+ );
135
128
  if (this.mode === "first") {
136
129
  return rows[0];
137
130
  }
@@ -142,30 +135,16 @@ class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
142
135
  prepare() {
143
136
  return this._prepare(false);
144
137
  }
145
- _getQuery() {
138
+ _toSQL() {
146
139
  const query = this.dialect.buildRelationalQuery({
140
+ fullSchema: this.fullSchema,
147
141
  schema: this.schema,
148
142
  tableNamesMap: this.tableNamesMap,
149
143
  table: this.table,
150
144
  tableConfig: this.tableConfig,
151
145
  queryConfig: this.config,
152
- tables: this.tables,
153
- mode: this.mode,
154
- isNested: this.rowMode
146
+ tableAlias: this.tableConfig.tsName
155
147
  });
156
- if (this.rowMode) {
157
- const jsonColumns = import_sql.sql.join(
158
- query.selection.map((s) => {
159
- return import_sql.sql`${import_sql.sql.raw(this.dialect.escapeString(s.key))}, ${s.selection ? import_sql.sql`jsonb(${import_sql.sql.identifier(s.key)})` : import_sql.sql.identifier(s.key)}`;
160
- }),
161
- import_sql.sql`, `
162
- );
163
- query.sql = import_sql.sql`select json_object(${jsonColumns}) as ${import_sql.sql.identifier("r")} from (${query.sql}) as ${import_sql.sql.identifier("t")}`;
164
- }
165
- return query;
166
- }
167
- _toSQL() {
168
- const query = this._getQuery();
169
148
  const builtQuery = this.dialect.sqlToQuery(query.sql);
170
149
  return { query, builtQuery };
171
150
  }
@@ -175,16 +154,16 @@ class SQLiteRelationalQuery extends import_query_promise.QueryPromise {
175
154
  /** @internal */
176
155
  executeRaw() {
177
156
  if (this.mode === "first") {
178
- return this._prepare().get();
157
+ return this._prepare(false).get();
179
158
  }
180
- return this._prepare().all();
159
+ return this._prepare(false).all();
181
160
  }
182
161
  async execute() {
183
162
  return this.executeRaw();
184
163
  }
185
164
  }
186
165
  class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery {
187
- static [import_entity.entityKind] = "SQLiteSyncRelationalQueryV2";
166
+ static [import_entity.entityKind] = "SQLiteSyncRelationalQuery";
188
167
  sync() {
189
168
  return this.executeRaw();
190
169
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { type Query, type QueryWithTypings, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async'\n\t? SQLiteRelationalQuery<TMode, TResult>\n\t: SQLiteSyncRelationalQuery<TResult>;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryBuilderV2';\n\n\tconstructor(\n\t\tprivate mode: TMode,\n\t\tprivate tables: Record<string, SQLiteTable>,\n\t\tprivate schema: TSchema,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\tprivate table: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<any, any, any, any, any, any>,\n\t\tprivate rowMode?: boolean,\n\t) {\n\t}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>,\n\t): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.tables,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig as DBQueryConfig<'many'> | undefined ?? true,\n\t\t\t\t'many',\n\t\t\t\tthis.rowMode,\n\t\t\t) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.tables,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig as DBQueryConfig<'many'> | undefined ?? true,\n\t\t\t\t'many',\n\t\t\t\tthis.rowMode,\n\t\t\t) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;\n\t}\n\n\tfindFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>,\n\t): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined> {\n\t\treturn this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.tables,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig as DBQueryConfig<'one'> | undefined ?? true,\n\t\t\t\t'first',\n\t\t\t\tthis.rowMode,\n\t\t\t) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.tables,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig as DBQueryConfig<'one'> | undefined ?? true,\n\t\t\t\t'first',\n\t\t\t\tthis.rowMode,\n\t\t\t) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>;\n\t}\n}\n\nexport class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'sqlite'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryV2';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly type: TType;\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tmode: 'many' | 'first';\n\t/** @internal */\n\ttable: SQLiteTable;\n\n\tconstructor(\n\t\tprivate tables: Record<string, SQLiteTable>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\ttable: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<TType, any, any, any, any, any>,\n\t\tprivate config: DBQueryConfig<'many' | 'one'> | true,\n\t\tmode: 'many' | 'first',\n\t\tprivate rowMode?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.mode = mode;\n\t\tthis.table = table;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\tconst query = this.dialect.buildRelationalQuery({\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttables: this.tables,\n\t\t\tmode: this.mode,\n\t\t});\n\n\t\treturn query.sql;\n\t}\n\n\t/** @internal */\n\t_prepare(\n\t\tisOneTimeQuery = true,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeRelationalQuery' : 'prepareRelationalQuery'](\n\t\t\tbuiltQuery,\n\t\t\tundefined,\n\t\t\tthis.mode === 'first' ? 'get' : 'all',\n\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\tconst rows = rawRows.map((row) => mapRelationalRow(row, query.selection, mapColumnValue, !this.rowMode));\n\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t}\n\t\t\t\treturn rows as TResult;\n\t\t\t},\n\t\t) as SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }>;\n\t}\n\n\tprepare(): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\treturn this._prepare(false);\n\t}\n\n\tprivate _getQuery() {\n\t\tconst query = this.dialect.buildRelationalQuery({\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttables: this.tables,\n\t\t\tmode: this.mode,\n\t\t\tisNested: this.rowMode,\n\t\t});\n\n\t\tif (this.rowMode) {\n\t\t\tconst jsonColumns = sql.join(\n\t\t\t\tquery.selection.map((s) => {\n\t\t\t\t\treturn sql`${sql.raw(this.dialect.escapeString(s.key))}, ${\n\t\t\t\t\t\ts.selection ? sql`jsonb(${sql.identifier(s.key)})` : sql.identifier(s.key)\n\t\t\t\t\t}`;\n\t\t\t\t}),\n\t\t\t\tsql`, `,\n\t\t\t);\n\n\t\t\tquery.sql = sql`select json_object(${jsonColumns}) as ${sql.identifier('r')} from (${query.sql}) as ${\n\t\t\t\tsql.identifier('t')\n\t\t\t}`;\n\t\t}\n\n\t\treturn query;\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this._getQuery();\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\t/** @internal */\n\texecuteRaw(): TResult {\n\t\tif (this.mode === 'first') {\n\t\t\treturn this._prepare().get() as TResult;\n\t\t}\n\t\treturn this._prepare().all() as TResult;\n\t}\n\n\toverride async execute(): Promise<TResult> {\n\t\treturn this.executeRaw();\n\t}\n}\n\nexport class SQLiteSyncRelationalQuery<TResult> extends SQLiteRelationalQuery<'sync', TResult> {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncRelationalQueryV2';\n\n\tsync(): TResult {\n\t\treturn this.executeRaw();\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/query-builders/query.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async'\n\t? SQLiteRelationalQuery<TMode, TResult>\n\t: SQLiteSyncRelationalQuery<TResult>;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprotected mode: TMode,\n\t\tprotected fullSchema: Record<string, unknown>,\n\t\tprotected schema: TSchema,\n\t\tprotected tableNamesMap: Record<string, string>,\n\t\tprotected table: SQLiteTable,\n\t\tprotected tableConfig: TableRelationalConfig,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprotected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>,\n\t) {}\n\n\tfindMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(\n\t\tconfig?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>,\n\t): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;\n\t}\n\n\tfindFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(\n\t\tconfig?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>,\n\t): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TSelection> | undefined> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)) as SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TSelection> | undefined>;\n\t}\n}\n\nexport class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult>\n\timplements RunnableQuery<TResult, 'sqlite'>, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly type: TType;\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tmode: 'many' | 'first';\n\n\tconstructor(\n\t\tprivate fullSchema: Record<string, unknown>,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record<string, string>,\n\t\t/** @internal */\n\t\tpublic table: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<'sync' | 'async', unknown, Record<string, unknown>, TablesRelationalConfig>,\n\t\tprivate config: DBQueryConfig<'many', true> | true,\n\t\tmode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t\tthis.mode = mode;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t}).sql as SQL;\n\t}\n\n\t/** @internal */\n\t_prepare(\n\t\tisOneTimeQuery = false,\n\t): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tbuiltQuery,\n\t\t\tundefined,\n\t\t\tthis.mode === 'first' ? 'get' : 'all',\n\t\t\ttrue,\n\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\tmapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t);\n\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t}\n\t\t\t\treturn rows as TResult;\n\t\t\t},\n\t\t) as SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }>;\n\t}\n\n\tprepare(): SQLitePreparedQuery<PreparedQueryConfig & { type: TType; all: TResult; get: TResult; execute: TResult }> {\n\t\treturn this._prepare(false);\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\t/** @internal */\n\texecuteRaw(): TResult {\n\t\tif (this.mode === 'first') {\n\t\t\treturn this._prepare(false).get() as TResult;\n\t\t}\n\t\treturn this._prepare(false).all() as TResult;\n\t}\n\n\toverride async execute(): Promise<TResult> {\n\t\treturn this.executeRaw();\n\t}\n}\n\nexport class SQLiteSyncRelationalQuery<TResult> extends SQLiteRelationalQuery<'sync', TResult> {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncRelationalQuery';\n\n\tsync(): TResult {\n\t\treturn this.executeRaw();\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -2,50 +2,49 @@ import { entityKind } from "../../entity.cjs";
2
2
  import { QueryPromise } from "../../query-promise.cjs";
3
3
  import { type BuildQueryResult, type DBQueryConfig, type TableRelationalConfig, type TablesRelationalConfig } from "../../relations.cjs";
4
4
  import type { RunnableQuery } from "../../runnable-query.cjs";
5
- import { type Query, type SQLWrapper } from "../../sql/sql.cjs";
5
+ import type { Query, SQLWrapper } from "../../sql/sql.cjs";
6
6
  import type { KnownKeysOnly } from "../../utils.cjs";
7
7
  import type { SQLiteDialect } from "../dialect.cjs";
8
8
  import type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from "../session.cjs";
9
9
  import type { SQLiteTable } from "../table.cjs";
10
10
  export type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async' ? SQLiteRelationalQuery<TMode, TResult> : SQLiteSyncRelationalQuery<TResult>;
11
- export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
12
- private mode;
13
- private tables;
14
- private schema;
15
- private tableNamesMap;
16
- private table;
17
- private tableConfig;
18
- private dialect;
19
- private session;
20
- private rowMode?;
11
+ export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
12
+ protected mode: TMode;
13
+ protected fullSchema: Record<string, unknown>;
14
+ protected schema: TSchema;
15
+ protected tableNamesMap: Record<string, string>;
16
+ protected table: SQLiteTable;
17
+ protected tableConfig: TableRelationalConfig;
18
+ protected dialect: SQLiteDialect;
19
+ protected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>;
21
20
  static readonly [entityKind]: string;
22
- constructor(mode: TMode, tables: Record<string, SQLiteTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<any, any, any, any, any, any>, rowMode?: boolean | undefined);
23
- findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
24
- findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
21
+ constructor(mode: TMode, fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'async', unknown, TFullSchema, TSchema>);
22
+ findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
23
+ findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
25
24
  }
26
25
  export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
27
- private tables;
26
+ private fullSchema;
28
27
  private schema;
29
28
  private tableNamesMap;
30
29
  private tableConfig;
31
30
  private dialect;
32
31
  private session;
33
32
  private config;
34
- private rowMode?;
35
33
  static readonly [entityKind]: string;
36
34
  readonly _: {
37
35
  readonly dialect: 'sqlite';
38
36
  readonly type: TType;
39
37
  readonly result: TResult;
40
38
  };
41
- constructor(tables: Record<string, SQLiteTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TType, any, any, any, any, any>, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first', rowMode?: boolean | undefined);
39
+ constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>,
40
+ /** @internal */
41
+ table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'sync' | 'async', unknown, Record<string, unknown>, TablesRelationalConfig>, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
42
42
  prepare(): SQLitePreparedQuery<PreparedQueryConfig & {
43
43
  type: TType;
44
44
  all: TResult;
45
45
  get: TResult;
46
46
  execute: TResult;
47
47
  }>;
48
- private _getQuery;
49
48
  private _toSQL;
50
49
  toSQL(): Query;
51
50
  execute(): Promise<TResult>;
@@ -2,50 +2,49 @@ import { entityKind } from "../../entity.js";
2
2
  import { QueryPromise } from "../../query-promise.js";
3
3
  import { type BuildQueryResult, type DBQueryConfig, type TableRelationalConfig, type TablesRelationalConfig } from "../../relations.js";
4
4
  import type { RunnableQuery } from "../../runnable-query.js";
5
- import { type Query, type SQLWrapper } from "../../sql/sql.js";
5
+ import type { Query, SQLWrapper } from "../../sql/sql.js";
6
6
  import type { KnownKeysOnly } from "../../utils.js";
7
7
  import type { SQLiteDialect } from "../dialect.js";
8
8
  import type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from "../session.js";
9
9
  import type { SQLiteTable } from "../table.js";
10
10
  export type SQLiteRelationalQueryKind<TMode extends 'sync' | 'async', TResult> = TMode extends 'async' ? SQLiteRelationalQuery<TMode, TResult> : SQLiteSyncRelationalQuery<TResult>;
11
- export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
12
- private mode;
13
- private tables;
14
- private schema;
15
- private tableNamesMap;
16
- private table;
17
- private tableConfig;
18
- private dialect;
19
- private session;
20
- private rowMode?;
11
+ export declare class RelationalQueryBuilder<TMode extends 'sync' | 'async', TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
12
+ protected mode: TMode;
13
+ protected fullSchema: Record<string, unknown>;
14
+ protected schema: TSchema;
15
+ protected tableNamesMap: Record<string, string>;
16
+ protected table: SQLiteTable;
17
+ protected tableConfig: TableRelationalConfig;
18
+ protected dialect: SQLiteDialect;
19
+ protected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>;
21
20
  static readonly [entityKind]: string;
22
- constructor(mode: TMode, tables: Record<string, SQLiteTable>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<any, any, any, any, any, any>, rowMode?: boolean | undefined);
23
- findMany<TConfig extends DBQueryConfig<'many', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
24
- findFirst<TConfig extends DBQueryConfig<'one', TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'one', TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig> | undefined>;
21
+ constructor(mode: TMode, fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'async', unknown, TFullSchema, TSchema>);
22
+ findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TConfig>[]>;
23
+ findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): SQLiteRelationalQueryKind<TMode, BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
25
24
  }
26
25
  export declare class SQLiteRelationalQuery<TType extends 'sync' | 'async', TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'sqlite'>, SQLWrapper {
27
- private tables;
26
+ private fullSchema;
28
27
  private schema;
29
28
  private tableNamesMap;
30
29
  private tableConfig;
31
30
  private dialect;
32
31
  private session;
33
32
  private config;
34
- private rowMode?;
35
33
  static readonly [entityKind]: string;
36
34
  readonly _: {
37
35
  readonly dialect: 'sqlite';
38
36
  readonly type: TType;
39
37
  readonly result: TResult;
40
38
  };
41
- constructor(tables: Record<string, SQLiteTable>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<TType, any, any, any, any, any>, config: DBQueryConfig<'many' | 'one'> | true, mode: 'many' | 'first', rowMode?: boolean | undefined);
39
+ constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>,
40
+ /** @internal */
41
+ table: SQLiteTable, tableConfig: TableRelationalConfig, dialect: SQLiteDialect, session: SQLiteSession<'sync' | 'async', unknown, Record<string, unknown>, TablesRelationalConfig>, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
42
42
  prepare(): SQLitePreparedQuery<PreparedQueryConfig & {
43
43
  type: TType;
44
44
  all: TResult;
45
45
  get: TResult;
46
46
  execute: TResult;
47
47
  }>;
48
- private _getQuery;
49
48
  private _toSQL;
50
49
  toSQL(): Query;
51
50
  execute(): Promise<TResult>;