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 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): OPSQLitePreparedQuery<T, true> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, customResultMapper, client } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { customResultMapper, query, logger, client } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
@@ -1,8 +1,7 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
- import type * as V1 from "../_relations.cjs";
3
2
  import { entityKind } from "../entity.cjs";
4
3
  import type { Logger } from "../logger.cjs";
5
- import type { AnyRelations, TablesRelationalConfig } from "../relations.cjs";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
6
5
  import { type Query } from "../sql/sql.cjs";
7
6
  import type { SQLiteAsyncDialect } from "../sqlite-core/dialect.cjs";
8
7
  import { SQLiteTransaction } from "../sqlite-core/index.cjs";
@@ -12,22 +11,20 @@ export interface OPSQLiteSessionOptions {
12
11
  logger?: Logger;
13
12
  }
14
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
15
- export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
14
+ export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {
16
15
  private client;
17
- private relations;
18
16
  private schema;
19
17
  static readonly [entityKind]: string;
20
18
  private logger;
21
- constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
19
+ constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
22
20
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): OPSQLitePreparedQuery<T>;
23
- prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): OPSQLitePreparedQuery<T, true>;
24
- transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T, config?: SQLiteTransactionConfig): T;
21
+ transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
25
22
  }
26
- export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
23
+ export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {
27
24
  static readonly [entityKind]: string;
28
- transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T): T;
25
+ transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T;
29
26
  }
30
- export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
27
+ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
31
28
  type: 'async';
32
29
  run: QueryResult;
33
30
  all: T['all'];
@@ -40,14 +37,11 @@ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = Prepa
40
37
  private fields;
41
38
  private _isResponseInArrayMode;
42
39
  private customResultMapper?;
43
- private isRqbV2Query?;
44
40
  static readonly [entityKind]: string;
45
- constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
41
+ constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
46
42
  run(placeholderValues?: Record<string, unknown>): Promise<QueryResult>;
47
43
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
48
- private allRqbV2;
49
44
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
50
- private getRqbV2;
51
45
  values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
52
46
  }
53
47
  export {};
@@ -1,8 +1,7 @@
1
1
  import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';
2
- import type * as V1 from "../_relations.js";
3
2
  import { entityKind } from "../entity.js";
4
3
  import type { Logger } from "../logger.js";
5
- import type { AnyRelations, TablesRelationalConfig } from "../relations.js";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
6
5
  import { type Query } from "../sql/sql.js";
7
6
  import type { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
8
7
  import { SQLiteTransaction } from "../sqlite-core/index.js";
@@ -12,22 +11,20 @@ export interface OPSQLiteSessionOptions {
12
11
  logger?: Logger;
13
12
  }
14
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
15
- export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
14
+ export declare class OPSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {
16
15
  private client;
17
- private relations;
18
16
  private schema;
19
17
  static readonly [entityKind]: string;
20
18
  private logger;
21
- constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
19
+ constructor(client: OPSQLiteConnection, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: OPSQLiteSessionOptions);
22
20
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): OPSQLitePreparedQuery<T>;
23
- prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): OPSQLitePreparedQuery<T, true>;
24
- transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T, config?: SQLiteTransactionConfig): T;
21
+ transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
25
22
  }
26
- export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
23
+ export declare class OPSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {
27
24
  static readonly [entityKind]: string;
28
- transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T): T;
25
+ transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T;
29
26
  }
30
- export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
27
+ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
31
28
  type: 'async';
32
29
  run: QueryResult;
33
30
  all: T['all'];
@@ -40,14 +37,11 @@ export declare class OPSQLitePreparedQuery<T extends PreparedQueryConfig = Prepa
40
37
  private fields;
41
38
  private _isResponseInArrayMode;
42
39
  private customResultMapper?;
43
- private isRqbV2Query?;
44
40
  static readonly [entityKind]: string;
45
- constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
41
+ constructor(client: OPSQLiteConnection, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
46
42
  run(placeholderValues?: Record<string, unknown>): Promise<QueryResult>;
47
43
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
48
- private allRqbV2;
49
44
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
50
- private getRqbV2;
51
45
  values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
52
46
  }
53
47
  export {};
@@ -8,10 +8,9 @@ import {
8
8
  } from "../sqlite-core/session.js";
9
9
  import { mapResultRow } from "../utils.js";
10
10
  class OPSQLiteSession extends SQLiteSession {
11
- constructor(client, dialect, relations, schema, options = {}) {
11
+ constructor(client, dialect, schema, options = {}) {
12
12
  super(dialect);
13
13
  this.client = client;
14
- this.relations = relations;
15
14
  this.schema = schema;
16
15
  this.logger = options.logger ?? new NoopLogger();
17
16
  }
@@ -28,20 +27,8 @@ class OPSQLiteSession extends SQLiteSession {
28
27
  customResultMapper
29
28
  );
30
29
  }
31
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
32
- return new OPSQLitePreparedQuery(
33
- this.client,
34
- query,
35
- this.logger,
36
- fields,
37
- executeMethod,
38
- false,
39
- customResultMapper,
40
- true
41
- );
42
- }
43
30
  transaction(transaction, config = {}) {
44
- const tx = new OPSQLiteTransaction("async", this.dialect, this, this.relations, this.schema);
31
+ const tx = new OPSQLiteTransaction("async", this.dialect, this, this.schema);
45
32
  this.run(sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
46
33
  try {
47
34
  const result = transaction(tx);
@@ -57,14 +44,7 @@ class OPSQLiteTransaction extends SQLiteTransaction {
57
44
  static [entityKind] = "OPSQLiteTransaction";
58
45
  transaction(transaction) {
59
46
  const savepointName = `sp${this.nestedIndex}`;
60
- const tx = new OPSQLiteTransaction(
61
- "async",
62
- this.dialect,
63
- this.session,
64
- this.relations,
65
- this.schema,
66
- this.nestedIndex + 1
67
- );
47
+ const tx = new OPSQLiteTransaction("async", this.dialect, this.session, this.schema, this.nestedIndex + 1);
68
48
  this.session.run(sql.raw(`savepoint ${savepointName}`));
69
49
  try {
70
50
  const result = transaction(tx);
@@ -77,14 +57,13 @@ class OPSQLiteTransaction extends SQLiteTransaction {
77
57
  }
78
58
  }
79
59
  class OPSQLitePreparedQuery extends SQLitePreparedQuery {
80
- constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
60
+ constructor(client, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
81
61
  super("sync", executeMethod, query);
82
62
  this.client = client;
83
63
  this.logger = logger;
84
64
  this.fields = fields;
85
65
  this._isResponseInArrayMode = _isResponseInArrayMode;
86
66
  this.customResultMapper = customResultMapper;
87
- this.isRqbV2Query = isRqbV2Query;
88
67
  }
89
68
  static [entityKind] = "OPSQLitePreparedQuery";
90
69
  run(placeholderValues) {
@@ -93,8 +72,6 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
93
72
  return this.client.executeAsync(this.query.sql, params);
94
73
  }
95
74
  async all(placeholderValues) {
96
- if (this.isRqbV2Query)
97
- return this.allRqbV2(placeholderValues);
98
75
  const { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;
99
76
  if (!fields && !customResultMapper) {
100
77
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
@@ -107,16 +84,7 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
107
84
  }
108
85
  return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
109
86
  }
110
- async allRqbV2(placeholderValues) {
111
- const { query, logger, customResultMapper, client } = this;
112
- const params = fillPlaceholders(query.params, placeholderValues ?? {});
113
- logger.logQuery(query.sql, params);
114
- const rows = client.execute(query.sql, params).rows?._array || [];
115
- return customResultMapper(rows);
116
- }
117
87
  async get(placeholderValues) {
118
- if (this.isRqbV2Query)
119
- return this.getRqbV2(placeholderValues);
120
88
  const { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;
121
89
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
122
90
  logger.logQuery(query.sql, params);
@@ -134,17 +102,6 @@ class OPSQLitePreparedQuery extends SQLitePreparedQuery {
134
102
  }
135
103
  return mapResultRow(fields, row, joinsNotNullableMap);
136
104
  }
137
- async getRqbV2(placeholderValues) {
138
- const { customResultMapper, query, logger, client } = this;
139
- const params = fillPlaceholders(query.params, placeholderValues ?? {});
140
- logger.logQuery(query.sql, params);
141
- const rows = client.execute(query.sql, params).rows?._array || [];
142
- const row = rows[0];
143
- if (!row) {
144
- return void 0;
145
- }
146
- return customResultMapper([row]);
147
- }
148
105
  values(placeholderValues) {
149
106
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
150
107
  this.logger.logQuery(this.query.sql, params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): OPSQLitePreparedQuery<T, true> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, customResultMapper, client } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { customResultMapper, query, logger, client } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
1
+ {"version":3,"sources":["../../src/op-sqlite/session.ts"],"sourcesContent":["import type { OPSQLiteConnection, QueryResult } from '@op-engineering/op-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface OPSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class OPSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: OPSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): OPSQLitePreparedQuery<T> {\n\t\treturn new OPSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', QueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'OPSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: OPSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new OPSQLiteTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class OPSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: QueryResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'OPSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: OPSQLiteConnection,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<QueryResult> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\treturn this.client.executeAsync(this.query.sql, params);\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, customResultMapper, client } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\treturn client.execute(query.sql, params).rows?._array || [];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper, query, logger, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst rows = client.execute(query.sql, params).rows?._array || [];\n\t\t\treturn rows[0];\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.client.executeRawAsync(this.query.sql, params);\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.39.0-19ccabb",
3
+ "version": "0.39.0-6b6aca7",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -62,7 +62,7 @@
62
62
  "@types/sql.js": "*",
63
63
  "@vercel/postgres": ">=0.8.0",
64
64
  "@xata.io/client": "*",
65
- "better-sqlite3": ">=9.3.0",
65
+ "better-sqlite3": ">=7",
66
66
  "bun-types": "*",
67
67
  "expo-sqlite": ">=14.0.0",
68
68
  "knex": "*",
@@ -184,8 +184,8 @@
184
184
  "@types/sql.js": "^1.4.4",
185
185
  "@vercel/postgres": "^0.8.0",
186
186
  "@xata.io/client": "^0.29.3",
187
- "better-sqlite3": "^9.3.0",
188
- "bun-types": "^0.6.6",
187
+ "better-sqlite3": "^8.4.0",
188
+ "bun-types": "^1.2.0",
189
189
  "cpy": "^10.1.0",
190
190
  "expo-sqlite": "^14.0.0",
191
191
  "knex": "^2.4.2",
@@ -205,18 +205,6 @@
205
205
  "zx": "^7.2.2"
206
206
  },
207
207
  "exports": {
208
- "./_relations": {
209
- "import": {
210
- "types": "./_relations.d.ts",
211
- "default": "./_relations.js"
212
- },
213
- "require": {
214
- "types": "./_relations.d.cts",
215
- "default": "./_relations.cjs"
216
- },
217
- "types": "./_relations.d.ts",
218
- "default": "./_relations.js"
219
- },
220
208
  "./alias": {
221
209
  "import": {
222
210
  "types": "./alias.d.ts",
@@ -577,6 +565,54 @@
577
565
  "types": "./better-sqlite3/session.d.ts",
578
566
  "default": "./better-sqlite3/session.js"
579
567
  },
568
+ "./bun-sql/driver": {
569
+ "import": {
570
+ "types": "./bun-sql/driver.d.ts",
571
+ "default": "./bun-sql/driver.js"
572
+ },
573
+ "require": {
574
+ "types": "./bun-sql/driver.d.cts",
575
+ "default": "./bun-sql/driver.cjs"
576
+ },
577
+ "types": "./bun-sql/driver.d.ts",
578
+ "default": "./bun-sql/driver.js"
579
+ },
580
+ "./bun-sql": {
581
+ "import": {
582
+ "types": "./bun-sql/index.d.ts",
583
+ "default": "./bun-sql/index.js"
584
+ },
585
+ "require": {
586
+ "types": "./bun-sql/index.d.cts",
587
+ "default": "./bun-sql/index.cjs"
588
+ },
589
+ "types": "./bun-sql/index.d.ts",
590
+ "default": "./bun-sql/index.js"
591
+ },
592
+ "./bun-sql/migrator": {
593
+ "import": {
594
+ "types": "./bun-sql/migrator.d.ts",
595
+ "default": "./bun-sql/migrator.js"
596
+ },
597
+ "require": {
598
+ "types": "./bun-sql/migrator.d.cts",
599
+ "default": "./bun-sql/migrator.cjs"
600
+ },
601
+ "types": "./bun-sql/migrator.d.ts",
602
+ "default": "./bun-sql/migrator.js"
603
+ },
604
+ "./bun-sql/session": {
605
+ "import": {
606
+ "types": "./bun-sql/session.d.ts",
607
+ "default": "./bun-sql/session.js"
608
+ },
609
+ "require": {
610
+ "types": "./bun-sql/session.d.cts",
611
+ "default": "./bun-sql/session.cjs"
612
+ },
613
+ "types": "./bun-sql/session.d.ts",
614
+ "default": "./bun-sql/session.js"
615
+ },
580
616
  "./bun-sqlite/driver": {
581
617
  "import": {
582
618
  "types": "./bun-sqlite/driver.d.ts",
@@ -1189,6 +1225,18 @@
1189
1225
  "types": "./neon/index.d.ts",
1190
1226
  "default": "./neon/index.js"
1191
1227
  },
1228
+ "./neon/neon-identity": {
1229
+ "import": {
1230
+ "types": "./neon/neon-identity.d.ts",
1231
+ "default": "./neon/neon-identity.js"
1232
+ },
1233
+ "require": {
1234
+ "types": "./neon/neon-identity.d.cts",
1235
+ "default": "./neon/neon-identity.cjs"
1236
+ },
1237
+ "types": "./neon/neon-identity.d.ts",
1238
+ "default": "./neon/neon-identity.js"
1239
+ },
1192
1240
  "./neon/rls": {
1193
1241
  "import": {
1194
1242
  "types": "./neon/rls.d.ts",
@@ -3109,18 +3157,6 @@
3109
3157
  "types": "./mysql-core/columns/year.d.ts",
3110
3158
  "default": "./mysql-core/columns/year.js"
3111
3159
  },
3112
- "./mysql-core/query-builders/_query": {
3113
- "import": {
3114
- "types": "./mysql-core/query-builders/_query.d.ts",
3115
- "default": "./mysql-core/query-builders/_query.js"
3116
- },
3117
- "require": {
3118
- "types": "./mysql-core/query-builders/_query.d.cts",
3119
- "default": "./mysql-core/query-builders/_query.cjs"
3120
- },
3121
- "types": "./mysql-core/query-builders/_query.d.ts",
3122
- "default": "./mysql-core/query-builders/_query.js"
3123
- },
3124
3160
  "./mysql-core/query-builders/count": {
3125
3161
  "import": {
3126
3162
  "types": "./mysql-core/query-builders/count.d.ts",
@@ -3625,18 +3661,6 @@
3625
3661
  "types": "./pg-core/columns/varchar.d.ts",
3626
3662
  "default": "./pg-core/columns/varchar.js"
3627
3663
  },
3628
- "./pg-core/query-builders/_query": {
3629
- "import": {
3630
- "types": "./pg-core/query-builders/_query.d.ts",
3631
- "default": "./pg-core/query-builders/_query.js"
3632
- },
3633
- "require": {
3634
- "types": "./pg-core/query-builders/_query.d.cts",
3635
- "default": "./pg-core/query-builders/_query.cjs"
3636
- },
3637
- "types": "./pg-core/query-builders/_query.d.ts",
3638
- "default": "./pg-core/query-builders/_query.js"
3639
- },
3640
3664
  "./pg-core/query-builders/count": {
3641
3665
  "import": {
3642
3666
  "types": "./pg-core/query-builders/count.d.ts",
@@ -4525,18 +4549,6 @@
4525
4549
  "types": "./sqlite-core/columns/text.d.ts",
4526
4550
  "default": "./sqlite-core/columns/text.js"
4527
4551
  },
4528
- "./sqlite-core/query-builders/_query": {
4529
- "import": {
4530
- "types": "./sqlite-core/query-builders/_query.d.ts",
4531
- "default": "./sqlite-core/query-builders/_query.js"
4532
- },
4533
- "require": {
4534
- "types": "./sqlite-core/query-builders/_query.d.cts",
4535
- "default": "./sqlite-core/query-builders/_query.cjs"
4536
- },
4537
- "types": "./sqlite-core/query-builders/_query.d.ts",
4538
- "default": "./sqlite-core/query-builders/_query.js"
4539
- },
4540
4552
  "./sqlite-core/query-builders/count": {
4541
4553
  "import": {
4542
4554
  "types": "./sqlite-core/query-builders/count.d.ts",
package/pg-core/db.cjs CHANGED
@@ -27,33 +27,29 @@ var import_query_builders = require("./query-builders/index.cjs");
27
27
  var import_selection_proxy = require("../selection-proxy.cjs");
28
28
  var import_sql = require("../sql/sql.cjs");
29
29
  var import_subquery = require("../subquery.cjs");
30
- var import_query = require("./query-builders/_query.cjs");
31
30
  var import_count = require("./query-builders/count.cjs");
32
- var import_query2 = require("./query-builders/query.cjs");
31
+ var import_query = require("./query-builders/query.cjs");
33
32
  var import_raw = require("./query-builders/raw.cjs");
34
33
  var import_refresh_materialized_view = require("./query-builders/refresh-materialized-view.cjs");
35
34
  class PgDatabase {
36
- constructor(dialect, session, relations, schema) {
35
+ constructor(dialect, session, schema) {
37
36
  this.dialect = dialect;
38
37
  this.session = session;
39
- const rel = relations ?? {};
40
38
  this._ = schema ? {
41
39
  schema: schema.schema,
42
40
  fullSchema: schema.fullSchema,
43
41
  tableNamesMap: schema.tableNamesMap,
44
- relations: rel,
45
42
  session
46
43
  } : {
47
44
  schema: void 0,
48
45
  fullSchema: {},
49
46
  tableNamesMap: {},
50
- relations: rel,
51
47
  session
52
48
  };
53
- this._query = {};
49
+ this.query = {};
54
50
  if (this._.schema) {
55
51
  for (const [tableName, columns] of Object.entries(this._.schema)) {
56
- this._query[tableName] = new import_query._RelationalQueryBuilder(
52
+ this.query[tableName] = new import_query.RelationalQueryBuilder(
57
53
  schema.fullSchema,
58
54
  this._.schema,
59
55
  this._.tableNamesMap,
@@ -64,25 +60,8 @@ class PgDatabase {
64
60
  );
65
61
  }
66
62
  }
67
- this.query = {};
68
- if (relations) {
69
- for (const [tableName, relation] of Object.entries(relations.tablesConfig)) {
70
- this.query[tableName] = new import_query2.RelationalQueryBuilder(
71
- relations.tables,
72
- relations.tablesConfig,
73
- relations.tableNamesMap,
74
- relation.table,
75
- relation,
76
- dialect,
77
- session
78
- );
79
- }
80
- }
81
63
  }
82
64
  static [import_entity.entityKind] = "PgDatabase";
83
- /** @deprecated */
84
- _query;
85
- // TO-DO: Figure out how to pass DrizzleTypeError without breaking withReplicas
86
65
  query;
87
66
  /**
88
67
  * Creates a subquery that defines a temporary named result set as a CTE.
@@ -116,20 +95,24 @@ class PgDatabase {
116
95
  * const result = await db.with(sq).select({ name: sq.name }).from(sq);
117
96
  * ```
118
97
  */
119
- $with(alias) {
98
+ $with = (alias, selection) => {
120
99
  const self = this;
121
- return {
122
- as(qb) {
123
- if (typeof qb === "function") {
124
- qb = qb(new import_query_builders.QueryBuilder(self.dialect));
125
- }
126
- return new Proxy(
127
- new import_subquery.WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
128
- new import_selection_proxy.SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
129
- );
100
+ const as = (qb) => {
101
+ if (typeof qb === "function") {
102
+ qb = qb(new import_query_builders.QueryBuilder(self.dialect));
130
103
  }
104
+ return new Proxy(
105
+ new import_subquery.WithSubquery(
106
+ qb.getSQL(),
107
+ selection ?? ("getSelectedFields" in qb ? qb.getSelectedFields() ?? {} : {}),
108
+ alias,
109
+ true
110
+ ),
111
+ new import_selection_proxy.SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
112
+ );
131
113
  };
132
- }
114
+ return { as };
115
+ };
133
116
  $count(source, filters) {
134
117
  return new import_count.PgCountBuilder({ source, filters, session: this.session });
135
118
  }
@@ -319,16 +302,14 @@ class PgDatabase {
319
302
  );
320
303
  }
321
304
  transaction(transaction, config) {
322
- return this.session.transaction(
323
- transaction,
324
- config
325
- );
305
+ return this.session.transaction(transaction, config);
326
306
  }
327
307
  }
328
308
  const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(Math.random() * replicas.length)]) => {
329
309
  const select = (...args) => getReplica(replicas).select(...args);
330
310
  const selectDistinct = (...args) => getReplica(replicas).selectDistinct(...args);
331
311
  const selectDistinctOn = (...args) => getReplica(replicas).selectDistinctOn(...args);
312
+ const $count = (...args) => getReplica(replicas).$count(...args);
332
313
  const _with = (...args) => getReplica(replicas).with(...args);
333
314
  const $with = (arg) => getReplica(replicas).$with(arg);
334
315
  const update = (...args) => primary.update(...args);
@@ -349,10 +330,11 @@ const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(
349
330
  select,
350
331
  selectDistinct,
351
332
  selectDistinctOn,
333
+ $count,
352
334
  $with,
353
335
  with: _with,
354
- get _query() {
355
- return getReplica(replicas)._query;
336
+ get query() {
337
+ return getReplica(replicas).query;
356
338
  }
357
339
  };
358
340
  };