drizzle-orm 0.36.4-3c69a1f → 0.36.4-3efe329

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 (971) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +3 -3
  3. package/alias.d.ts +3 -3
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sqlite/driver.cjs +5 -22
  38. package/bun-sqlite/driver.cjs.map +1 -1
  39. package/bun-sqlite/driver.d.cts +6 -7
  40. package/bun-sqlite/driver.d.ts +6 -7
  41. package/bun-sqlite/driver.js +8 -12
  42. package/bun-sqlite/driver.js.map +1 -1
  43. package/bun-sqlite/migrator.cjs.map +1 -1
  44. package/bun-sqlite/migrator.d.cts +1 -2
  45. package/bun-sqlite/migrator.d.ts +1 -2
  46. package/bun-sqlite/migrator.js.map +1 -1
  47. package/bun-sqlite/session.cjs +4 -49
  48. package/bun-sqlite/session.cjs.map +1 -1
  49. package/bun-sqlite/session.d.cts +8 -14
  50. package/bun-sqlite/session.d.ts +8 -14
  51. package/bun-sqlite/session.js +4 -49
  52. package/bun-sqlite/session.js.map +1 -1
  53. package/column-builder.cjs.map +1 -1
  54. package/column-builder.d.cts +4 -3
  55. package/column-builder.d.ts +4 -3
  56. package/column-builder.js.map +1 -1
  57. package/d1/driver.cjs +5 -22
  58. package/d1/driver.cjs.map +1 -1
  59. package/d1/driver.d.cts +2 -3
  60. package/d1/driver.d.ts +2 -3
  61. package/d1/driver.js +8 -12
  62. package/d1/driver.js.map +1 -1
  63. package/d1/migrator.cjs.map +1 -1
  64. package/d1/migrator.d.cts +1 -2
  65. package/d1/migrator.d.ts +1 -2
  66. package/d1/migrator.js.map +1 -1
  67. package/d1/session.cjs +6 -48
  68. package/d1/session.cjs.map +1 -1
  69. package/d1/session.d.cts +8 -15
  70. package/d1/session.d.ts +8 -15
  71. package/d1/session.js +6 -48
  72. package/d1/session.js.map +1 -1
  73. package/durable-sqlite/driver.cjs +64 -0
  74. package/durable-sqlite/driver.cjs.map +1 -0
  75. package/durable-sqlite/driver.d.cts +9 -0
  76. package/durable-sqlite/driver.d.ts +9 -0
  77. package/durable-sqlite/driver.js +42 -0
  78. package/durable-sqlite/driver.js.map +1 -0
  79. package/durable-sqlite/index.cjs +25 -0
  80. package/durable-sqlite/index.cjs.map +1 -0
  81. package/durable-sqlite/index.d.cts +2 -0
  82. package/durable-sqlite/index.d.ts +2 -0
  83. package/durable-sqlite/index.js +3 -0
  84. package/durable-sqlite/index.js.map +1 -0
  85. package/durable-sqlite/migrator.cjs +85 -0
  86. package/durable-sqlite/migrator.cjs.map +1 -0
  87. package/durable-sqlite/migrator.d.cts +14 -0
  88. package/durable-sqlite/migrator.d.ts +14 -0
  89. package/durable-sqlite/migrator.js +61 -0
  90. package/durable-sqlite/migrator.js.map +1 -0
  91. package/durable-sqlite/session.cjs +131 -0
  92. package/durable-sqlite/session.cjs.map +1 -0
  93. package/durable-sqlite/session.d.cts +46 -0
  94. package/durable-sqlite/session.d.ts +46 -0
  95. package/durable-sqlite/session.js +107 -0
  96. package/durable-sqlite/session.js.map +1 -0
  97. package/expo-sqlite/driver.cjs +5 -22
  98. package/expo-sqlite/driver.cjs.map +1 -1
  99. package/expo-sqlite/driver.d.cts +2 -3
  100. package/expo-sqlite/driver.d.ts +2 -3
  101. package/expo-sqlite/driver.js +8 -12
  102. package/expo-sqlite/driver.js.map +1 -1
  103. package/expo-sqlite/migrator.cjs.map +1 -1
  104. package/expo-sqlite/migrator.d.cts +2 -3
  105. package/expo-sqlite/migrator.d.ts +2 -3
  106. package/expo-sqlite/migrator.js.map +1 -1
  107. package/expo-sqlite/query.cjs +2 -13
  108. package/expo-sqlite/query.cjs.map +1 -1
  109. package/expo-sqlite/query.d.cts +1 -2
  110. package/expo-sqlite/query.d.ts +1 -2
  111. package/expo-sqlite/query.js +2 -3
  112. package/expo-sqlite/query.js.map +1 -1
  113. package/expo-sqlite/session.cjs +4 -47
  114. package/expo-sqlite/session.cjs.map +1 -1
  115. package/expo-sqlite/session.d.cts +8 -14
  116. package/expo-sqlite/session.d.ts +8 -14
  117. package/expo-sqlite/session.js +4 -47
  118. package/expo-sqlite/session.js.map +1 -1
  119. package/libsql/driver-core.cjs +5 -22
  120. package/libsql/driver-core.cjs.map +1 -1
  121. package/libsql/driver-core.d.cts +1 -2
  122. package/libsql/driver-core.d.ts +1 -2
  123. package/libsql/driver-core.js +8 -12
  124. package/libsql/driver-core.js.map +1 -1
  125. package/libsql/driver.cjs.map +1 -1
  126. package/libsql/driver.d.cts +5 -6
  127. package/libsql/driver.d.ts +5 -6
  128. package/libsql/driver.js.map +1 -1
  129. package/libsql/http/index.cjs.map +1 -1
  130. package/libsql/http/index.d.cts +5 -6
  131. package/libsql/http/index.d.ts +5 -6
  132. package/libsql/http/index.js.map +1 -1
  133. package/libsql/migrator.cjs.map +1 -1
  134. package/libsql/migrator.d.cts +1 -2
  135. package/libsql/migrator.d.ts +1 -2
  136. package/libsql/migrator.js.map +1 -1
  137. package/libsql/node/index.cjs.map +1 -1
  138. package/libsql/node/index.d.cts +5 -6
  139. package/libsql/node/index.d.ts +5 -6
  140. package/libsql/node/index.js.map +1 -1
  141. package/libsql/session.cjs +4 -60
  142. package/libsql/session.cjs.map +1 -1
  143. package/libsql/session.d.cts +9 -15
  144. package/libsql/session.d.ts +9 -15
  145. package/libsql/session.js +4 -60
  146. package/libsql/session.js.map +1 -1
  147. package/libsql/sqlite3/index.cjs.map +1 -1
  148. package/libsql/sqlite3/index.d.cts +5 -6
  149. package/libsql/sqlite3/index.d.ts +5 -6
  150. package/libsql/sqlite3/index.js.map +1 -1
  151. package/libsql/wasm/index.cjs.map +1 -1
  152. package/libsql/wasm/index.d.cts +5 -6
  153. package/libsql/wasm/index.d.ts +5 -6
  154. package/libsql/wasm/index.js.map +1 -1
  155. package/libsql/web/index.cjs.map +1 -1
  156. package/libsql/web/index.d.cts +5 -6
  157. package/libsql/web/index.d.ts +5 -6
  158. package/libsql/web/index.js.map +1 -1
  159. package/libsql/ws/index.cjs.map +1 -1
  160. package/libsql/ws/index.d.cts +5 -6
  161. package/libsql/ws/index.d.ts +5 -6
  162. package/libsql/ws/index.js.map +1 -1
  163. package/mysql-core/db.cjs +8 -29
  164. package/mysql-core/db.cjs.map +1 -1
  165. package/mysql-core/db.d.cts +8 -15
  166. package/mysql-core/db.d.ts +8 -15
  167. package/mysql-core/db.js +7 -28
  168. package/mysql-core/db.js.map +1 -1
  169. package/mysql-core/dialect.cjs +15 -170
  170. package/mysql-core/dialect.cjs.map +1 -1
  171. package/mysql-core/dialect.d.cts +13 -29
  172. package/mysql-core/dialect.d.ts +13 -29
  173. package/mysql-core/dialect.js +21 -167
  174. package/mysql-core/dialect.js.map +1 -1
  175. package/mysql-core/query-builders/count.cjs.map +1 -1
  176. package/mysql-core/query-builders/count.d.cts +1 -1
  177. package/mysql-core/query-builders/count.d.ts +1 -1
  178. package/mysql-core/query-builders/count.js.map +1 -1
  179. package/mysql-core/query-builders/query.cjs +31 -18
  180. package/mysql-core/query-builders/query.cjs.map +1 -1
  181. package/mysql-core/query-builders/query.d.cts +10 -8
  182. package/mysql-core/query-builders/query.d.ts +10 -8
  183. package/mysql-core/query-builders/query.js +31 -18
  184. package/mysql-core/query-builders/query.js.map +1 -1
  185. package/mysql-core/session.cjs +2 -3
  186. package/mysql-core/session.cjs.map +1 -1
  187. package/mysql-core/session.d.cts +7 -10
  188. package/mysql-core/session.d.ts +7 -10
  189. package/mysql-core/session.js +2 -3
  190. package/mysql-core/session.js.map +1 -1
  191. package/mysql-proxy/driver.cjs +5 -22
  192. package/mysql-proxy/driver.cjs.map +1 -1
  193. package/mysql-proxy/driver.d.cts +2 -3
  194. package/mysql-proxy/driver.d.ts +2 -3
  195. package/mysql-proxy/driver.js +8 -12
  196. package/mysql-proxy/driver.js.map +1 -1
  197. package/mysql-proxy/migrator.cjs.map +1 -1
  198. package/mysql-proxy/migrator.d.cts +1 -2
  199. package/mysql-proxy/migrator.d.ts +1 -2
  200. package/mysql-proxy/migrator.js.map +1 -1
  201. package/mysql-proxy/session.cjs +2 -47
  202. package/mysql-proxy/session.cjs.map +1 -1
  203. package/mysql-proxy/session.d.cts +8 -13
  204. package/mysql-proxy/session.d.ts +8 -13
  205. package/mysql-proxy/session.js +2 -47
  206. package/mysql-proxy/session.js.map +1 -1
  207. package/mysql2/driver.cjs +7 -24
  208. package/mysql2/driver.cjs.map +1 -1
  209. package/mysql2/driver.d.cts +9 -10
  210. package/mysql2/driver.d.ts +9 -10
  211. package/mysql2/driver.js +10 -14
  212. package/mysql2/driver.js.map +1 -1
  213. package/mysql2/migrator.cjs.map +1 -1
  214. package/mysql2/migrator.d.cts +1 -2
  215. package/mysql2/migrator.d.ts +1 -2
  216. package/mysql2/migrator.js.map +1 -1
  217. package/mysql2/session.cjs +2 -51
  218. package/mysql2/session.cjs.map +1 -1
  219. package/mysql2/session.d.cts +8 -13
  220. package/mysql2/session.d.ts +8 -13
  221. package/mysql2/session.js +2 -51
  222. package/mysql2/session.js.map +1 -1
  223. package/neon-http/driver.cjs +8 -22
  224. package/neon-http/driver.cjs.map +1 -1
  225. package/neon-http/driver.d.cts +10 -11
  226. package/neon-http/driver.d.ts +10 -11
  227. package/neon-http/driver.js +8 -12
  228. package/neon-http/driver.js.map +1 -1
  229. package/neon-http/migrator.cjs.map +1 -1
  230. package/neon-http/migrator.d.cts +1 -2
  231. package/neon-http/migrator.d.ts +1 -2
  232. package/neon-http/migrator.js.map +1 -1
  233. package/neon-http/session.cjs +2 -32
  234. package/neon-http/session.cjs.map +1 -1
  235. package/neon-http/session.d.cts +8 -13
  236. package/neon-http/session.d.ts +8 -13
  237. package/neon-http/session.js +2 -32
  238. package/neon-http/session.js.map +1 -1
  239. package/neon-serverless/driver.cjs +7 -18
  240. package/neon-serverless/driver.cjs.map +1 -1
  241. package/neon-serverless/driver.d.cts +8 -9
  242. package/neon-serverless/driver.d.ts +8 -9
  243. package/neon-serverless/driver.js +10 -8
  244. package/neon-serverless/driver.js.map +1 -1
  245. package/neon-serverless/migrator.cjs.map +1 -1
  246. package/neon-serverless/migrator.d.cts +1 -2
  247. package/neon-serverless/migrator.d.ts +1 -2
  248. package/neon-serverless/migrator.js.map +1 -1
  249. package/neon-serverless/session.cjs +5 -40
  250. package/neon-serverless/session.cjs.map +1 -1
  251. package/neon-serverless/session.d.cts +8 -13
  252. package/neon-serverless/session.d.ts +8 -13
  253. package/neon-serverless/session.js +5 -40
  254. package/neon-serverless/session.js.map +1 -1
  255. package/node-postgres/driver.cjs +7 -13
  256. package/node-postgres/driver.cjs.map +1 -1
  257. package/node-postgres/driver.d.cts +8 -9
  258. package/node-postgres/driver.d.ts +8 -9
  259. package/node-postgres/driver.js +10 -13
  260. package/node-postgres/driver.js.map +1 -1
  261. package/node-postgres/migrator.cjs.map +1 -1
  262. package/node-postgres/migrator.d.cts +1 -2
  263. package/node-postgres/migrator.d.ts +1 -2
  264. package/node-postgres/migrator.js.map +1 -1
  265. package/node-postgres/session.cjs +4 -45
  266. package/node-postgres/session.cjs.map +1 -1
  267. package/node-postgres/session.d.cts +8 -13
  268. package/node-postgres/session.d.ts +8 -13
  269. package/node-postgres/session.js +4 -45
  270. package/node-postgres/session.js.map +1 -1
  271. package/op-sqlite/driver.cjs +5 -22
  272. package/op-sqlite/driver.cjs.map +1 -1
  273. package/op-sqlite/driver.d.cts +2 -3
  274. package/op-sqlite/driver.d.ts +2 -3
  275. package/op-sqlite/driver.js +8 -12
  276. package/op-sqlite/driver.js.map +1 -1
  277. package/op-sqlite/migrator.cjs.map +1 -1
  278. package/op-sqlite/migrator.d.cts +2 -3
  279. package/op-sqlite/migrator.d.ts +2 -3
  280. package/op-sqlite/migrator.js.map +1 -1
  281. package/op-sqlite/session.cjs +4 -47
  282. package/op-sqlite/session.cjs.map +1 -1
  283. package/op-sqlite/session.d.cts +8 -14
  284. package/op-sqlite/session.d.ts +8 -14
  285. package/op-sqlite/session.js +4 -47
  286. package/op-sqlite/session.js.map +1 -1
  287. package/package.json +786 -53
  288. package/pg-core/db.cjs +11 -33
  289. package/pg-core/db.cjs.map +1 -1
  290. package/pg-core/db.d.cts +11 -18
  291. package/pg-core/db.d.ts +11 -18
  292. package/pg-core/db.js +10 -32
  293. package/pg-core/db.js.map +1 -1
  294. package/pg-core/dialect.cjs +488 -146
  295. package/pg-core/dialect.cjs.map +1 -1
  296. package/pg-core/dialect.d.cts +7 -21
  297. package/pg-core/dialect.d.ts +7 -21
  298. package/pg-core/dialect.js +494 -143
  299. package/pg-core/dialect.js.map +1 -1
  300. package/pg-core/query-builders/count.cjs +1 -0
  301. package/pg-core/query-builders/count.cjs.map +1 -1
  302. package/pg-core/query-builders/count.d.cts +3 -2
  303. package/pg-core/query-builders/count.d.ts +3 -2
  304. package/pg-core/query-builders/count.js +1 -0
  305. package/pg-core/query-builders/count.js.map +1 -1
  306. package/pg-core/query-builders/delete.cjs.map +1 -1
  307. package/pg-core/query-builders/delete.js.map +1 -1
  308. package/pg-core/query-builders/insert.cjs +1 -9
  309. package/pg-core/query-builders/insert.cjs.map +1 -1
  310. package/pg-core/query-builders/insert.js +1 -9
  311. package/pg-core/query-builders/insert.js.map +1 -1
  312. package/pg-core/query-builders/query.cjs +18 -15
  313. package/pg-core/query-builders/query.cjs.map +1 -1
  314. package/pg-core/query-builders/query.d.cts +6 -6
  315. package/pg-core/query-builders/query.d.ts +6 -6
  316. package/pg-core/query-builders/query.js +18 -15
  317. package/pg-core/query-builders/query.js.map +1 -1
  318. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  319. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  320. package/pg-core/query-builders/select.cjs +2 -10
  321. package/pg-core/query-builders/select.cjs.map +1 -1
  322. package/pg-core/query-builders/select.js +8 -11
  323. package/pg-core/query-builders/select.js.map +1 -1
  324. package/pg-core/query-builders/update.cjs +1 -7
  325. package/pg-core/query-builders/update.cjs.map +1 -1
  326. package/pg-core/query-builders/update.d.cts +2 -2
  327. package/pg-core/query-builders/update.d.ts +2 -2
  328. package/pg-core/query-builders/update.js +6 -8
  329. package/pg-core/query-builders/update.js.map +1 -1
  330. package/pg-core/session.cjs +2 -3
  331. package/pg-core/session.cjs.map +1 -1
  332. package/pg-core/session.d.cts +8 -10
  333. package/pg-core/session.d.ts +8 -10
  334. package/pg-core/session.js +2 -3
  335. package/pg-core/session.js.map +1 -1
  336. package/pg-proxy/driver.cjs +5 -21
  337. package/pg-proxy/driver.cjs.map +1 -1
  338. package/pg-proxy/driver.d.cts +2 -3
  339. package/pg-proxy/driver.d.ts +2 -3
  340. package/pg-proxy/driver.js +8 -11
  341. package/pg-proxy/driver.js.map +1 -1
  342. package/pg-proxy/migrator.cjs.map +1 -1
  343. package/pg-proxy/migrator.d.cts +1 -2
  344. package/pg-proxy/migrator.d.ts +1 -2
  345. package/pg-proxy/migrator.js.map +1 -1
  346. package/pg-proxy/session.cjs +2 -37
  347. package/pg-proxy/session.cjs.map +1 -1
  348. package/pg-proxy/session.d.cts +8 -13
  349. package/pg-proxy/session.d.ts +8 -13
  350. package/pg-proxy/session.js +2 -37
  351. package/pg-proxy/session.js.map +1 -1
  352. package/pglite/driver.cjs +7 -23
  353. package/pglite/driver.cjs.map +1 -1
  354. package/pglite/driver.d.cts +8 -9
  355. package/pglite/driver.d.ts +8 -9
  356. package/pglite/driver.js +10 -13
  357. package/pglite/driver.js.map +1 -1
  358. package/pglite/migrator.cjs.map +1 -1
  359. package/pglite/migrator.d.cts +1 -2
  360. package/pglite/migrator.d.ts +1 -2
  361. package/pglite/migrator.js.map +1 -1
  362. package/pglite/session.cjs +3 -34
  363. package/pglite/session.cjs.map +1 -1
  364. package/pglite/session.d.cts +8 -13
  365. package/pglite/session.d.ts +8 -13
  366. package/pglite/session.js +3 -34
  367. package/pglite/session.js.map +1 -1
  368. package/planetscale-serverless/driver.cjs +5 -22
  369. package/planetscale-serverless/driver.cjs.map +1 -1
  370. package/planetscale-serverless/driver.d.cts +6 -7
  371. package/planetscale-serverless/driver.d.ts +6 -7
  372. package/planetscale-serverless/driver.js +8 -12
  373. package/planetscale-serverless/driver.js.map +1 -1
  374. package/planetscale-serverless/migrator.cjs.map +1 -1
  375. package/planetscale-serverless/migrator.d.cts +1 -2
  376. package/planetscale-serverless/migrator.d.ts +1 -2
  377. package/planetscale-serverless/migrator.js.map +1 -1
  378. package/planetscale-serverless/session.cjs +5 -68
  379. package/planetscale-serverless/session.cjs.map +1 -1
  380. package/planetscale-serverless/session.d.cts +9 -14
  381. package/planetscale-serverless/session.d.ts +9 -14
  382. package/planetscale-serverless/session.js +5 -68
  383. package/planetscale-serverless/session.js.map +1 -1
  384. package/postgres-js/driver.cjs +6 -12
  385. package/postgres-js/driver.cjs.map +1 -1
  386. package/postgres-js/driver.d.cts +6 -7
  387. package/postgres-js/driver.d.ts +6 -7
  388. package/postgres-js/driver.js +9 -12
  389. package/postgres-js/driver.js.map +1 -1
  390. package/postgres-js/migrator.cjs.map +1 -1
  391. package/postgres-js/migrator.d.cts +1 -2
  392. package/postgres-js/migrator.d.ts +1 -2
  393. package/postgres-js/migrator.js.map +1 -1
  394. package/postgres-js/session.cjs +6 -51
  395. package/postgres-js/session.cjs.map +1 -1
  396. package/postgres-js/session.d.cts +9 -15
  397. package/postgres-js/session.d.ts +9 -15
  398. package/postgres-js/session.js +6 -51
  399. package/postgres-js/session.js.map +1 -1
  400. package/prisma/mysql/driver.cjs +1 -1
  401. package/prisma/mysql/driver.cjs.map +1 -1
  402. package/prisma/mysql/driver.js +1 -1
  403. package/prisma/mysql/driver.js.map +1 -1
  404. package/prisma/mysql/session.cjs +0 -3
  405. package/prisma/mysql/session.cjs.map +1 -1
  406. package/prisma/mysql/session.d.cts +1 -3
  407. package/prisma/mysql/session.d.ts +1 -3
  408. package/prisma/mysql/session.js +0 -3
  409. package/prisma/mysql/session.js.map +1 -1
  410. package/prisma/pg/driver.cjs +1 -1
  411. package/prisma/pg/driver.cjs.map +1 -1
  412. package/prisma/pg/driver.js +1 -1
  413. package/prisma/pg/driver.js.map +1 -1
  414. package/prisma/pg/session.cjs +0 -3
  415. package/prisma/pg/session.cjs.map +1 -1
  416. package/prisma/pg/session.d.cts +1 -3
  417. package/prisma/pg/session.d.ts +1 -3
  418. package/prisma/pg/session.js +0 -3
  419. package/prisma/pg/session.js.map +1 -1
  420. package/prisma/sqlite/driver.cjs +1 -1
  421. package/prisma/sqlite/driver.cjs.map +1 -1
  422. package/prisma/sqlite/driver.js +1 -1
  423. package/prisma/sqlite/driver.js.map +1 -1
  424. package/prisma/sqlite/session.cjs +0 -3
  425. package/prisma/sqlite/session.cjs.map +1 -1
  426. package/prisma/sqlite/session.d.cts +2 -4
  427. package/prisma/sqlite/session.d.ts +2 -4
  428. package/prisma/sqlite/session.js +0 -3
  429. package/prisma/sqlite/session.js.map +1 -1
  430. package/relations.cjs +245 -468
  431. package/relations.cjs.map +1 -1
  432. package/relations.d.cts +125 -264
  433. package/relations.d.ts +125 -264
  434. package/relations.js +238 -455
  435. package/relations.js.map +1 -1
  436. package/singlestore/driver.cjs +113 -0
  437. package/singlestore/driver.cjs.map +1 -0
  438. package/singlestore/driver.d.cts +52 -0
  439. package/singlestore/driver.d.ts +52 -0
  440. package/singlestore/driver.js +89 -0
  441. package/singlestore/driver.js.map +1 -0
  442. package/singlestore/index.cjs +25 -0
  443. package/singlestore/index.cjs.map +1 -0
  444. package/singlestore/index.d.cts +2 -0
  445. package/singlestore/index.d.ts +2 -0
  446. package/singlestore/index.js +3 -0
  447. package/singlestore/index.js.map +1 -0
  448. package/singlestore/migrator.cjs +33 -0
  449. package/singlestore/migrator.cjs.map +1 -0
  450. package/singlestore/migrator.d.cts +3 -0
  451. package/singlestore/migrator.d.ts +3 -0
  452. package/singlestore/migrator.js +9 -0
  453. package/singlestore/migrator.js.map +1 -0
  454. package/singlestore/session.cjs +258 -0
  455. package/singlestore/session.cjs.map +1 -0
  456. package/singlestore/session.d.cts +52 -0
  457. package/singlestore/session.d.ts +52 -0
  458. package/singlestore/session.js +236 -0
  459. package/singlestore/session.js.map +1 -0
  460. package/singlestore-core/alias.cjs +32 -0
  461. package/singlestore-core/alias.cjs.map +1 -0
  462. package/singlestore-core/alias.d.cts +4 -0
  463. package/singlestore-core/alias.d.ts +4 -0
  464. package/singlestore-core/alias.js +8 -0
  465. package/singlestore-core/alias.js.map +1 -0
  466. package/singlestore-core/columns/all.cjs +80 -0
  467. package/singlestore-core/columns/all.cjs.map +1 -0
  468. package/singlestore-core/columns/all.d.cts +51 -0
  469. package/singlestore-core/columns/all.d.ts +51 -0
  470. package/singlestore-core/columns/all.js +56 -0
  471. package/singlestore-core/columns/all.js.map +1 -0
  472. package/singlestore-core/columns/bigint.cjs +96 -0
  473. package/singlestore-core/columns/bigint.cjs.map +1 -0
  474. package/singlestore-core/columns/bigint.d.cts +54 -0
  475. package/singlestore-core/columns/bigint.d.ts +54 -0
  476. package/singlestore-core/columns/bigint.js +68 -0
  477. package/singlestore-core/columns/bigint.js.map +1 -0
  478. package/singlestore-core/columns/binary.cjs +60 -0
  479. package/singlestore-core/columns/binary.cjs.map +1 -0
  480. package/singlestore-core/columns/binary.d.cts +28 -0
  481. package/singlestore-core/columns/binary.d.ts +28 -0
  482. package/singlestore-core/columns/binary.js +34 -0
  483. package/singlestore-core/columns/binary.js.map +1 -0
  484. package/singlestore-core/columns/boolean.cjs +62 -0
  485. package/singlestore-core/columns/boolean.cjs.map +1 -0
  486. package/singlestore-core/columns/boolean.d.cts +24 -0
  487. package/singlestore-core/columns/boolean.d.ts +24 -0
  488. package/singlestore-core/columns/boolean.js +36 -0
  489. package/singlestore-core/columns/boolean.js.map +1 -0
  490. package/singlestore-core/columns/char.cjs +62 -0
  491. package/singlestore-core/columns/char.cjs.map +1 -0
  492. package/singlestore-core/columns/char.d.cts +31 -0
  493. package/singlestore-core/columns/char.d.ts +31 -0
  494. package/singlestore-core/columns/char.js +36 -0
  495. package/singlestore-core/columns/char.js.map +1 -0
  496. package/singlestore-core/columns/common.cjs +82 -0
  497. package/singlestore-core/columns/common.cjs.map +1 -0
  498. package/singlestore-core/columns/common.d.cts +42 -0
  499. package/singlestore-core/columns/common.d.ts +42 -0
  500. package/singlestore-core/columns/common.js +55 -0
  501. package/singlestore-core/columns/common.js.map +1 -0
  502. package/singlestore-core/columns/custom.cjs +77 -0
  503. package/singlestore-core/columns/custom.cjs.map +1 -0
  504. package/singlestore-core/columns/custom.d.cts +156 -0
  505. package/singlestore-core/columns/custom.d.ts +156 -0
  506. package/singlestore-core/columns/custom.js +51 -0
  507. package/singlestore-core/columns/custom.js.map +1 -0
  508. package/singlestore-core/columns/date.cjs +93 -0
  509. package/singlestore-core/columns/date.cjs.map +1 -0
  510. package/singlestore-core/columns/date.common.cjs +48 -0
  511. package/singlestore-core/columns/date.common.cjs.map +1 -0
  512. package/singlestore-core/columns/date.common.d.cts +16 -0
  513. package/singlestore-core/columns/date.common.d.ts +16 -0
  514. package/singlestore-core/columns/date.common.js +23 -0
  515. package/singlestore-core/columns/date.common.js.map +1 -0
  516. package/singlestore-core/columns/date.d.cts +53 -0
  517. package/singlestore-core/columns/date.d.ts +53 -0
  518. package/singlestore-core/columns/date.js +65 -0
  519. package/singlestore-core/columns/date.js.map +1 -0
  520. package/singlestore-core/columns/datetime.cjs +106 -0
  521. package/singlestore-core/columns/datetime.cjs.map +1 -0
  522. package/singlestore-core/columns/datetime.d.cts +54 -0
  523. package/singlestore-core/columns/datetime.d.ts +54 -0
  524. package/singlestore-core/columns/datetime.js +78 -0
  525. package/singlestore-core/columns/datetime.js.map +1 -0
  526. package/singlestore-core/columns/decimal.cjs +76 -0
  527. package/singlestore-core/columns/decimal.cjs.map +1 -0
  528. package/singlestore-core/columns/decimal.d.cts +32 -0
  529. package/singlestore-core/columns/decimal.d.ts +32 -0
  530. package/singlestore-core/columns/decimal.js +50 -0
  531. package/singlestore-core/columns/decimal.js.map +1 -0
  532. package/singlestore-core/columns/double.cjs +72 -0
  533. package/singlestore-core/columns/double.cjs.map +1 -0
  534. package/singlestore-core/columns/double.d.cts +32 -0
  535. package/singlestore-core/columns/double.d.ts +32 -0
  536. package/singlestore-core/columns/double.js +46 -0
  537. package/singlestore-core/columns/double.js.map +1 -0
  538. package/singlestore-core/columns/enum.cjs +67 -0
  539. package/singlestore-core/columns/enum.cjs.map +1 -0
  540. package/singlestore-core/columns/enum.d.cts +31 -0
  541. package/singlestore-core/columns/enum.d.ts +31 -0
  542. package/singlestore-core/columns/enum.js +41 -0
  543. package/singlestore-core/columns/enum.js.map +1 -0
  544. package/singlestore-core/columns/float.cjs +72 -0
  545. package/singlestore-core/columns/float.cjs.map +1 -0
  546. package/singlestore-core/columns/float.d.cts +32 -0
  547. package/singlestore-core/columns/float.d.ts +32 -0
  548. package/singlestore-core/columns/float.js +46 -0
  549. package/singlestore-core/columns/float.js.map +1 -0
  550. package/singlestore-core/columns/index.cjs +71 -0
  551. package/singlestore-core/columns/index.cjs.map +1 -0
  552. package/singlestore-core/columns/index.d.cts +25 -0
  553. package/singlestore-core/columns/index.d.ts +25 -0
  554. package/singlestore-core/columns/index.js +26 -0
  555. package/singlestore-core/columns/index.js.map +1 -0
  556. package/singlestore-core/columns/int.cjs +65 -0
  557. package/singlestore-core/columns/int.cjs.map +1 -0
  558. package/singlestore-core/columns/int.d.cts +28 -0
  559. package/singlestore-core/columns/int.d.ts +28 -0
  560. package/singlestore-core/columns/int.js +39 -0
  561. package/singlestore-core/columns/int.js.map +1 -0
  562. package/singlestore-core/columns/json.cjs +59 -0
  563. package/singlestore-core/columns/json.cjs.map +1 -0
  564. package/singlestore-core/columns/json.d.cts +24 -0
  565. package/singlestore-core/columns/json.d.ts +24 -0
  566. package/singlestore-core/columns/json.js +33 -0
  567. package/singlestore-core/columns/json.js.map +1 -0
  568. package/singlestore-core/columns/mediumint.cjs +65 -0
  569. package/singlestore-core/columns/mediumint.cjs.map +1 -0
  570. package/singlestore-core/columns/mediumint.d.cts +26 -0
  571. package/singlestore-core/columns/mediumint.d.ts +26 -0
  572. package/singlestore-core/columns/mediumint.js +39 -0
  573. package/singlestore-core/columns/mediumint.js.map +1 -0
  574. package/singlestore-core/columns/real.cjs +68 -0
  575. package/singlestore-core/columns/real.cjs.map +1 -0
  576. package/singlestore-core/columns/real.d.cts +30 -0
  577. package/singlestore-core/columns/real.d.ts +30 -0
  578. package/singlestore-core/columns/real.js +42 -0
  579. package/singlestore-core/columns/real.js.map +1 -0
  580. package/singlestore-core/columns/serial.cjs +64 -0
  581. package/singlestore-core/columns/serial.cjs.map +1 -0
  582. package/singlestore-core/columns/serial.d.cts +24 -0
  583. package/singlestore-core/columns/serial.d.ts +24 -0
  584. package/singlestore-core/columns/serial.js +38 -0
  585. package/singlestore-core/columns/serial.js.map +1 -0
  586. package/singlestore-core/columns/smallint.cjs +65 -0
  587. package/singlestore-core/columns/smallint.cjs.map +1 -0
  588. package/singlestore-core/columns/smallint.d.cts +26 -0
  589. package/singlestore-core/columns/smallint.d.ts +26 -0
  590. package/singlestore-core/columns/smallint.js +39 -0
  591. package/singlestore-core/columns/smallint.js.map +1 -0
  592. package/singlestore-core/columns/text.cjs +80 -0
  593. package/singlestore-core/columns/text.cjs.map +1 -0
  594. package/singlestore-core/columns/text.d.cts +46 -0
  595. package/singlestore-core/columns/text.d.ts +46 -0
  596. package/singlestore-core/columns/text.js +51 -0
  597. package/singlestore-core/columns/text.js.map +1 -0
  598. package/singlestore-core/columns/time.cjs +56 -0
  599. package/singlestore-core/columns/time.cjs.map +1 -0
  600. package/singlestore-core/columns/time.d.cts +23 -0
  601. package/singlestore-core/columns/time.d.ts +23 -0
  602. package/singlestore-core/columns/time.js +30 -0
  603. package/singlestore-core/columns/time.js.map +1 -0
  604. package/singlestore-core/columns/timestamp.cjs +97 -0
  605. package/singlestore-core/columns/timestamp.cjs.map +1 -0
  606. package/singlestore-core/columns/timestamp.d.cts +49 -0
  607. package/singlestore-core/columns/timestamp.d.ts +49 -0
  608. package/singlestore-core/columns/timestamp.js +69 -0
  609. package/singlestore-core/columns/timestamp.js.map +1 -0
  610. package/singlestore-core/columns/tinyint.cjs +65 -0
  611. package/singlestore-core/columns/tinyint.cjs.map +1 -0
  612. package/singlestore-core/columns/tinyint.d.cts +26 -0
  613. package/singlestore-core/columns/tinyint.d.ts +26 -0
  614. package/singlestore-core/columns/tinyint.js +39 -0
  615. package/singlestore-core/columns/tinyint.js.map +1 -0
  616. package/singlestore-core/columns/varbinary.cjs +61 -0
  617. package/singlestore-core/columns/varbinary.cjs.map +1 -0
  618. package/singlestore-core/columns/varbinary.d.cts +26 -0
  619. package/singlestore-core/columns/varbinary.d.ts +26 -0
  620. package/singlestore-core/columns/varbinary.js +35 -0
  621. package/singlestore-core/columns/varbinary.js.map +1 -0
  622. package/singlestore-core/columns/varchar.cjs +63 -0
  623. package/singlestore-core/columns/varchar.cjs.map +1 -0
  624. package/singlestore-core/columns/varchar.d.cts +29 -0
  625. package/singlestore-core/columns/varchar.d.ts +29 -0
  626. package/singlestore-core/columns/varchar.js +37 -0
  627. package/singlestore-core/columns/varchar.js.map +1 -0
  628. package/singlestore-core/columns/year.cjs +56 -0
  629. package/singlestore-core/columns/year.cjs.map +1 -0
  630. package/singlestore-core/columns/year.d.cts +23 -0
  631. package/singlestore-core/columns/year.d.ts +23 -0
  632. package/singlestore-core/columns/year.js +30 -0
  633. package/singlestore-core/columns/year.js.map +1 -0
  634. package/singlestore-core/db.cjs +261 -0
  635. package/singlestore-core/db.cjs.map +1 -0
  636. package/singlestore-core/db.d.cts +231 -0
  637. package/singlestore-core/db.d.ts +231 -0
  638. package/singlestore-core/db.js +242 -0
  639. package/singlestore-core/db.js.map +1 -0
  640. package/singlestore-core/dialect.cjs +607 -0
  641. package/singlestore-core/dialect.cjs.map +1 -0
  642. package/singlestore-core/dialect.d.cts +64 -0
  643. package/singlestore-core/dialect.d.ts +64 -0
  644. package/singlestore-core/dialect.js +589 -0
  645. package/singlestore-core/dialect.js.map +1 -0
  646. package/singlestore-core/expressions.cjs +49 -0
  647. package/singlestore-core/expressions.cjs.map +1 -0
  648. package/singlestore-core/expressions.d.cts +8 -0
  649. package/singlestore-core/expressions.d.ts +8 -0
  650. package/singlestore-core/expressions.js +22 -0
  651. package/singlestore-core/expressions.js.map +1 -0
  652. package/singlestore-core/index.cjs +47 -0
  653. package/singlestore-core/index.cjs.map +1 -0
  654. package/singlestore-core/index.d.cts +13 -0
  655. package/singlestore-core/index.d.ts +13 -0
  656. package/singlestore-core/index.js +14 -0
  657. package/singlestore-core/index.js.map +1 -0
  658. package/singlestore-core/indexes.cjs +88 -0
  659. package/singlestore-core/indexes.cjs.map +1 -0
  660. package/singlestore-core/indexes.d.cts +62 -0
  661. package/singlestore-core/indexes.d.ts +62 -0
  662. package/singlestore-core/indexes.js +60 -0
  663. package/singlestore-core/indexes.js.map +1 -0
  664. package/singlestore-core/primary-keys.cjs +68 -0
  665. package/singlestore-core/primary-keys.cjs.map +1 -0
  666. package/singlestore-core/primary-keys.d.cts +30 -0
  667. package/singlestore-core/primary-keys.d.ts +30 -0
  668. package/singlestore-core/primary-keys.js +42 -0
  669. package/singlestore-core/primary-keys.js.map +1 -0
  670. package/singlestore-core/query-builders/count.cjs +73 -0
  671. package/singlestore-core/query-builders/count.cjs.map +1 -0
  672. package/singlestore-core/query-builders/count.d.cts +25 -0
  673. package/singlestore-core/query-builders/count.d.ts +25 -0
  674. package/singlestore-core/query-builders/count.js +49 -0
  675. package/singlestore-core/query-builders/count.js.map +1 -0
  676. package/singlestore-core/query-builders/delete.cjs +123 -0
  677. package/singlestore-core/query-builders/delete.cjs.map +1 -0
  678. package/singlestore-core/query-builders/delete.d.cts +83 -0
  679. package/singlestore-core/query-builders/delete.d.ts +83 -0
  680. package/singlestore-core/query-builders/delete.js +99 -0
  681. package/singlestore-core/query-builders/delete.js.map +1 -0
  682. package/singlestore-core/query-builders/index.cjs +33 -0
  683. package/singlestore-core/query-builders/index.cjs.map +1 -0
  684. package/singlestore-core/query-builders/index.d.cts +6 -0
  685. package/singlestore-core/query-builders/index.d.ts +6 -0
  686. package/singlestore-core/query-builders/index.js +7 -0
  687. package/singlestore-core/query-builders/index.js.map +1 -0
  688. package/singlestore-core/query-builders/insert.cjs +146 -0
  689. package/singlestore-core/query-builders/insert.cjs.map +1 -0
  690. package/singlestore-core/query-builders/insert.d.cts +106 -0
  691. package/singlestore-core/query-builders/insert.d.ts +106 -0
  692. package/singlestore-core/query-builders/insert.js +121 -0
  693. package/singlestore-core/query-builders/insert.js.map +1 -0
  694. package/singlestore-core/query-builders/query-builder.cjs +99 -0
  695. package/singlestore-core/query-builders/query-builder.cjs.map +1 -0
  696. package/singlestore-core/query-builders/query-builder.d.cts +33 -0
  697. package/singlestore-core/query-builders/query-builder.d.ts +33 -0
  698. package/singlestore-core/query-builders/query-builder.js +75 -0
  699. package/singlestore-core/query-builders/query-builder.js.map +1 -0
  700. package/{mysql-core/query-builders/_query.cjs → singlestore-core/query-builders/query.cjs} +18 -41
  701. package/singlestore-core/query-builders/query.cjs.map +1 -0
  702. package/singlestore-core/query-builders/query.d.cts +42 -0
  703. package/singlestore-core/query-builders/query.d.ts +42 -0
  704. package/{mysql-core/query-builders/_query.js → singlestore-core/query-builders/query.js} +18 -29
  705. package/singlestore-core/query-builders/query.js.map +1 -0
  706. package/singlestore-core/query-builders/select.cjs +687 -0
  707. package/singlestore-core/query-builders/select.cjs.map +1 -0
  708. package/singlestore-core/query-builders/select.d.cts +585 -0
  709. package/singlestore-core/query-builders/select.d.ts +585 -0
  710. package/singlestore-core/query-builders/select.js +662 -0
  711. package/singlestore-core/query-builders/select.js.map +1 -0
  712. package/singlestore-core/query-builders/select.types.cjs +17 -0
  713. package/singlestore-core/query-builders/select.types.cjs.map +1 -0
  714. package/singlestore-core/query-builders/select.types.d.cts +137 -0
  715. package/singlestore-core/query-builders/select.types.d.ts +137 -0
  716. package/singlestore-core/query-builders/select.types.js +1 -0
  717. package/singlestore-core/query-builders/select.types.js.map +1 -0
  718. package/singlestore-core/query-builders/update.cjs +147 -0
  719. package/singlestore-core/query-builders/update.cjs.map +1 -0
  720. package/singlestore-core/query-builders/update.d.cts +102 -0
  721. package/singlestore-core/query-builders/update.d.ts +102 -0
  722. package/singlestore-core/query-builders/update.js +122 -0
  723. package/singlestore-core/query-builders/update.js.map +1 -0
  724. package/singlestore-core/schema.cjs +56 -0
  725. package/singlestore-core/schema.cjs.map +1 -0
  726. package/singlestore-core/schema.d.cts +22 -0
  727. package/singlestore-core/schema.d.ts +22 -0
  728. package/singlestore-core/schema.js +29 -0
  729. package/singlestore-core/schema.js.map +1 -0
  730. package/singlestore-core/session.cjs +87 -0
  731. package/singlestore-core/session.cjs.map +1 -0
  732. package/singlestore-core/session.d.cts +66 -0
  733. package/singlestore-core/session.d.ts +66 -0
  734. package/singlestore-core/session.js +61 -0
  735. package/singlestore-core/session.js.map +1 -0
  736. package/singlestore-core/subquery.cjs +17 -0
  737. package/singlestore-core/subquery.cjs.map +1 -0
  738. package/singlestore-core/subquery.d.cts +5 -0
  739. package/singlestore-core/subquery.d.ts +5 -0
  740. package/singlestore-core/subquery.js +1 -0
  741. package/singlestore-core/subquery.js.map +1 -0
  742. package/singlestore-core/table.cjs +73 -0
  743. package/singlestore-core/table.cjs.map +1 -0
  744. package/singlestore-core/table.d.cts +40 -0
  745. package/singlestore-core/table.d.ts +40 -0
  746. package/singlestore-core/table.js +46 -0
  747. package/singlestore-core/table.js.map +1 -0
  748. package/singlestore-core/unique-constraint.cjs +82 -0
  749. package/singlestore-core/unique-constraint.cjs.map +1 -0
  750. package/singlestore-core/unique-constraint.d.cts +24 -0
  751. package/singlestore-core/unique-constraint.d.ts +24 -0
  752. package/singlestore-core/unique-constraint.js +54 -0
  753. package/singlestore-core/unique-constraint.js.map +1 -0
  754. package/singlestore-core/utils.cjs +65 -0
  755. package/singlestore-core/utils.cjs.map +1 -0
  756. package/singlestore-core/utils.d.cts +13 -0
  757. package/singlestore-core/utils.d.ts +13 -0
  758. package/singlestore-core/utils.js +41 -0
  759. package/singlestore-core/utils.js.map +1 -0
  760. package/singlestore-core/view-base.cjs +33 -0
  761. package/singlestore-core/view-base.cjs.map +1 -0
  762. package/singlestore-core/view-base.d.cts +9 -0
  763. package/singlestore-core/view-base.d.ts +9 -0
  764. package/singlestore-core/view-base.js +9 -0
  765. package/singlestore-core/view-base.js.map +1 -0
  766. package/singlestore-core/view-common.cjs +29 -0
  767. package/singlestore-core/view-common.cjs.map +1 -0
  768. package/singlestore-core/view-common.d.cts +1 -0
  769. package/singlestore-core/view-common.d.ts +1 -0
  770. package/singlestore-core/view-common.js +5 -0
  771. package/singlestore-core/view-common.js.map +1 -0
  772. package/singlestore-core/view.cjs +146 -0
  773. package/singlestore-core/view.cjs.map +1 -0
  774. package/singlestore-core/view.d.cts +65 -0
  775. package/singlestore-core/view.d.ts +65 -0
  776. package/singlestore-core/view.js +119 -0
  777. package/singlestore-core/view.js.map +1 -0
  778. package/singlestore-proxy/driver.cjs +62 -0
  779. package/singlestore-proxy/driver.cjs.map +1 -0
  780. package/singlestore-proxy/driver.d.cts +13 -0
  781. package/singlestore-proxy/driver.d.ts +13 -0
  782. package/singlestore-proxy/driver.js +42 -0
  783. package/singlestore-proxy/driver.js.map +1 -0
  784. package/singlestore-proxy/index.cjs +25 -0
  785. package/singlestore-proxy/index.cjs.map +1 -0
  786. package/singlestore-proxy/index.d.cts +2 -0
  787. package/singlestore-proxy/index.d.ts +2 -0
  788. package/singlestore-proxy/index.js +3 -0
  789. package/singlestore-proxy/index.js.map +1 -0
  790. package/singlestore-proxy/migrator.cjs +60 -0
  791. package/singlestore-proxy/migrator.cjs.map +1 -0
  792. package/singlestore-proxy/migrator.d.cts +4 -0
  793. package/singlestore-proxy/migrator.d.ts +4 -0
  794. package/singlestore-proxy/migrator.js +36 -0
  795. package/singlestore-proxy/migrator.js.map +1 -0
  796. package/singlestore-proxy/session.cjs +127 -0
  797. package/singlestore-proxy/session.cjs.map +1 -0
  798. package/singlestore-proxy/session.d.cts +50 -0
  799. package/singlestore-proxy/session.d.ts +50 -0
  800. package/singlestore-proxy/session.js +101 -0
  801. package/singlestore-proxy/session.js.map +1 -0
  802. package/sql/sql.cjs.map +1 -1
  803. package/sql/sql.d.cts +4 -4
  804. package/sql/sql.d.ts +4 -4
  805. package/sql/sql.js.map +1 -1
  806. package/sql-js/driver.cjs +5 -16
  807. package/sql-js/driver.cjs.map +1 -1
  808. package/sql-js/driver.d.cts +2 -3
  809. package/sql-js/driver.d.ts +2 -3
  810. package/sql-js/driver.js +8 -6
  811. package/sql-js/driver.js.map +1 -1
  812. package/sql-js/migrator.cjs.map +1 -1
  813. package/sql-js/migrator.d.cts +1 -2
  814. package/sql-js/migrator.d.ts +1 -2
  815. package/sql-js/migrator.js.map +1 -1
  816. package/sql-js/session.cjs +4 -58
  817. package/sql-js/session.cjs.map +1 -1
  818. package/sql-js/session.d.cts +8 -14
  819. package/sql-js/session.d.ts +8 -14
  820. package/sql-js/session.js +4 -58
  821. package/sql-js/session.js.map +1 -1
  822. package/sqlite-core/columns/blob.cjs +16 -2
  823. package/sqlite-core/columns/blob.cjs.map +1 -1
  824. package/sqlite-core/columns/blob.d.cts +2 -2
  825. package/sqlite-core/columns/blob.d.ts +2 -2
  826. package/sqlite-core/columns/blob.js +16 -2
  827. package/sqlite-core/columns/blob.js.map +1 -1
  828. package/sqlite-core/db.cjs +14 -35
  829. package/sqlite-core/db.cjs.map +1 -1
  830. package/sqlite-core/db.d.cts +8 -15
  831. package/sqlite-core/db.d.ts +8 -15
  832. package/sqlite-core/db.js +13 -34
  833. package/sqlite-core/db.js.map +1 -1
  834. package/sqlite-core/dialect.cjs +7 -164
  835. package/sqlite-core/dialect.cjs.map +1 -1
  836. package/sqlite-core/dialect.d.cts +9 -25
  837. package/sqlite-core/dialect.d.ts +9 -25
  838. package/sqlite-core/dialect.js +13 -161
  839. package/sqlite-core/dialect.js.map +1 -1
  840. package/sqlite-core/query-builders/count.cjs.map +1 -1
  841. package/sqlite-core/query-builders/count.d.cts +1 -1
  842. package/sqlite-core/query-builders/count.d.ts +1 -1
  843. package/sqlite-core/query-builders/count.js.map +1 -1
  844. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  845. package/sqlite-core/query-builders/delete.d.cts +1 -1
  846. package/sqlite-core/query-builders/delete.d.ts +1 -1
  847. package/sqlite-core/query-builders/delete.js.map +1 -1
  848. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  849. package/sqlite-core/query-builders/insert.d.cts +3 -3
  850. package/sqlite-core/query-builders/insert.d.ts +3 -3
  851. package/sqlite-core/query-builders/insert.js.map +1 -1
  852. package/sqlite-core/query-builders/query.cjs +48 -30
  853. package/sqlite-core/query-builders/query.cjs.map +1 -1
  854. package/sqlite-core/query-builders/query.d.cts +16 -14
  855. package/sqlite-core/query-builders/query.d.ts +16 -14
  856. package/sqlite-core/query-builders/query.js +48 -30
  857. package/sqlite-core/query-builders/query.js.map +1 -1
  858. package/sqlite-core/query-builders/select.cjs.map +1 -1
  859. package/sqlite-core/query-builders/select.d.cts +3 -3
  860. package/sqlite-core/query-builders/select.d.ts +3 -3
  861. package/sqlite-core/query-builders/select.js.map +1 -1
  862. package/sqlite-core/query-builders/update.cjs.map +1 -1
  863. package/sqlite-core/query-builders/update.d.cts +3 -3
  864. package/sqlite-core/query-builders/update.d.ts +3 -3
  865. package/sqlite-core/query-builders/update.js.map +1 -1
  866. package/sqlite-core/session.cjs +2 -6
  867. package/sqlite-core/session.cjs.map +1 -1
  868. package/sqlite-core/session.d.cts +6 -14
  869. package/sqlite-core/session.d.ts +6 -14
  870. package/sqlite-core/session.js +2 -6
  871. package/sqlite-core/session.js.map +1 -1
  872. package/sqlite-proxy/driver.cjs +5 -22
  873. package/sqlite-proxy/driver.cjs.map +1 -1
  874. package/sqlite-proxy/driver.d.cts +3 -4
  875. package/sqlite-proxy/driver.d.ts +3 -4
  876. package/sqlite-proxy/driver.js +5 -12
  877. package/sqlite-proxy/driver.js.map +1 -1
  878. package/sqlite-proxy/migrator.cjs.map +1 -1
  879. package/sqlite-proxy/migrator.d.cts +1 -2
  880. package/sqlite-proxy/migrator.d.ts +1 -2
  881. package/sqlite-proxy/migrator.js.map +1 -1
  882. package/sqlite-proxy/session.cjs +4 -47
  883. package/sqlite-proxy/session.cjs.map +1 -1
  884. package/sqlite-proxy/session.d.cts +8 -14
  885. package/sqlite-proxy/session.d.ts +8 -14
  886. package/sqlite-proxy/session.js +4 -47
  887. package/sqlite-proxy/session.js.map +1 -1
  888. package/table.cjs.map +1 -1
  889. package/table.d.cts +1 -1
  890. package/table.d.ts +1 -1
  891. package/table.js.map +1 -1
  892. package/tidb-serverless/driver.cjs +5 -22
  893. package/tidb-serverless/driver.cjs.map +1 -1
  894. package/tidb-serverless/driver.d.cts +6 -7
  895. package/tidb-serverless/driver.d.ts +6 -7
  896. package/tidb-serverless/driver.js +8 -12
  897. package/tidb-serverless/driver.js.map +1 -1
  898. package/tidb-serverless/migrator.cjs.map +1 -1
  899. package/tidb-serverless/migrator.d.cts +1 -2
  900. package/tidb-serverless/migrator.d.ts +1 -2
  901. package/tidb-serverless/migrator.js.map +1 -1
  902. package/tidb-serverless/session.cjs +5 -62
  903. package/tidb-serverless/session.cjs.map +1 -1
  904. package/tidb-serverless/session.d.cts +9 -14
  905. package/tidb-serverless/session.d.ts +9 -14
  906. package/tidb-serverless/session.js +5 -62
  907. package/tidb-serverless/session.js.map +1 -1
  908. package/utils.cjs +2 -2
  909. package/utils.cjs.map +1 -1
  910. package/utils.d.cts +2 -3
  911. package/utils.d.ts +2 -3
  912. package/utils.js +2 -2
  913. package/utils.js.map +1 -1
  914. package/vercel-postgres/driver.cjs +7 -23
  915. package/vercel-postgres/driver.cjs.map +1 -1
  916. package/vercel-postgres/driver.d.cts +8 -9
  917. package/vercel-postgres/driver.d.ts +8 -9
  918. package/vercel-postgres/driver.js +10 -13
  919. package/vercel-postgres/driver.js.map +1 -1
  920. package/vercel-postgres/migrator.cjs.map +1 -1
  921. package/vercel-postgres/migrator.d.cts +1 -2
  922. package/vercel-postgres/migrator.d.ts +1 -2
  923. package/vercel-postgres/migrator.js.map +1 -1
  924. package/vercel-postgres/session.cjs +4 -34
  925. package/vercel-postgres/session.cjs.map +1 -1
  926. package/vercel-postgres/session.d.cts +8 -13
  927. package/vercel-postgres/session.d.ts +8 -13
  928. package/vercel-postgres/session.js +4 -34
  929. package/vercel-postgres/session.js.map +1 -1
  930. package/version.cjs +1 -1
  931. package/version.d.cts +1 -1
  932. package/version.d.ts +1 -1
  933. package/version.js +1 -1
  934. package/xata-http/driver.cjs +5 -17
  935. package/xata-http/driver.cjs.map +1 -1
  936. package/xata-http/driver.d.cts +4 -5
  937. package/xata-http/driver.d.ts +4 -5
  938. package/xata-http/driver.js +5 -7
  939. package/xata-http/driver.js.map +1 -1
  940. package/xata-http/migrator.cjs.map +1 -1
  941. package/xata-http/migrator.d.cts +1 -2
  942. package/xata-http/migrator.d.ts +1 -2
  943. package/xata-http/migrator.js.map +1 -1
  944. package/xata-http/session.cjs +2 -30
  945. package/xata-http/session.cjs.map +1 -1
  946. package/xata-http/session.d.cts +8 -13
  947. package/xata-http/session.d.ts +8 -13
  948. package/xata-http/session.js +2 -30
  949. package/xata-http/session.js.map +1 -1
  950. package/_relations.cjs +0 -328
  951. package/_relations.cjs.map +0 -1
  952. package/_relations.d.cts +0 -215
  953. package/_relations.d.ts +0 -215
  954. package/_relations.js +0 -316
  955. package/_relations.js.map +0 -1
  956. package/mysql-core/query-builders/_query.cjs.map +0 -1
  957. package/mysql-core/query-builders/_query.d.cts +0 -44
  958. package/mysql-core/query-builders/_query.d.ts +0 -44
  959. package/mysql-core/query-builders/_query.js.map +0 -1
  960. package/pg-core/query-builders/_query.cjs +0 -155
  961. package/pg-core/query-builders/_query.cjs.map +0 -1
  962. package/pg-core/query-builders/_query.d.cts +0 -47
  963. package/pg-core/query-builders/_query.d.ts +0 -47
  964. package/pg-core/query-builders/_query.js +0 -120
  965. package/pg-core/query-builders/_query.js.map +0 -1
  966. package/sqlite-core/query-builders/_query.cjs +0 -187
  967. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  968. package/sqlite-core/query-builders/_query.d.cts +0 -55
  969. package/sqlite-core/query-builders/_query.d.ts +0 -55
  970. package/sqlite-core/query-builders/_query.js +0 -151
  971. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.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 type { PreparedQuery } from '~/session.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 type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery(\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): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => unknown,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\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\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tfields: 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('async', executeMethod, query);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).run();\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, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\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, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\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['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tvalues<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).raw();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["builtQuery"]}
1
+ {"version":3,"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type { BatchItem } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.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 type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery(\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): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).run();\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tvalues<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).raw();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["builtQuery"]}
package/d1/session.d.cts CHANGED
@@ -1,8 +1,7 @@
1
- import type * as V1 from "../_relations.cjs";
2
1
  import type { BatchItem } from "../batch.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";
@@ -13,27 +12,25 @@ export interface SQLiteD1SessionOptions {
13
12
  logger?: Logger;
14
13
  }
15
14
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
16
- export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {
15
+ export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {
17
16
  private client;
18
- private relations;
19
17
  private schema;
20
18
  private options;
21
19
  static readonly [entityKind]: string;
22
20
  private logger;
23
- constructor(client: D1Database, dialect: SQLiteAsyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
21
+ constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
24
22
  prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): D1PreparedQuery;
25
- prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: Record<string, unknown>[]) => unknown): D1PreparedQuery<PreparedQueryConfig, true>;
26
23
  batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
27
24
  extractRawAllValueFromBatchResult(result: unknown): unknown;
28
25
  extractRawGetValueFromBatchResult(result: unknown): unknown;
29
26
  extractRawValuesValueFromBatchResult(result: unknown): unknown;
30
- transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
27
+ transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
31
28
  }
32
- export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {
29
+ export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {
33
30
  static readonly [entityKind]: string;
34
- transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
31
+ transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
35
32
  }
36
- export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
33
+ export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
37
34
  type: 'async';
38
35
  run: D1Response;
39
36
  all: T['all'];
@@ -43,16 +40,12 @@ export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQue
43
40
  }> {
44
41
  private logger;
45
42
  private _isResponseInArrayMode;
46
- private customResultMapper?;
47
- private isRqbV2Query?;
48
43
  static readonly [entityKind]: string;
49
- constructor(stmt: D1PreparedStatement, 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);
44
+ constructor(stmt: D1PreparedStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown);
50
45
  run(placeholderValues?: Record<string, unknown>): Promise<D1Response>;
51
46
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
52
- private allRqbV2;
53
47
  mapAllResult(rows: unknown, isFromBatch?: boolean): unknown;
54
48
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
55
- private getRqbV2;
56
49
  mapGetResult(result: unknown, isFromBatch?: boolean): unknown;
57
50
  values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]>;
58
51
  }
package/d1/session.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import type * as V1 from "../_relations.js";
2
1
  import type { BatchItem } from "../batch.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";
@@ -13,27 +12,25 @@ export interface SQLiteD1SessionOptions {
13
12
  logger?: Logger;
14
13
  }
15
14
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
16
- export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {
15
+ export declare class SQLiteD1Session<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {
17
16
  private client;
18
- private relations;
19
17
  private schema;
20
18
  private options;
21
19
  static readonly [entityKind]: string;
22
20
  private logger;
23
- constructor(client: D1Database, dialect: SQLiteAsyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
21
+ constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteD1SessionOptions);
24
22
  prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): D1PreparedQuery;
25
- prepareRelationalQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper?: (rows: Record<string, unknown>[]) => unknown): D1PreparedQuery<PreparedQueryConfig, true>;
26
23
  batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
27
24
  extractRawAllValueFromBatchResult(result: unknown): unknown;
28
25
  extractRawGetValueFromBatchResult(result: unknown): unknown;
29
26
  extractRawValuesValueFromBatchResult(result: unknown): unknown;
30
- transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
27
+ transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
31
28
  }
32
- export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {
29
+ export declare class D1Transaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {
33
30
  static readonly [entityKind]: string;
34
- transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
31
+ transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
35
32
  }
36
- export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
33
+ export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
37
34
  type: 'async';
38
35
  run: D1Response;
39
36
  all: T['all'];
@@ -43,16 +40,12 @@ export declare class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQue
43
40
  }> {
44
41
  private logger;
45
42
  private _isResponseInArrayMode;
46
- private customResultMapper?;
47
- private isRqbV2Query?;
48
43
  static readonly [entityKind]: string;
49
- constructor(stmt: D1PreparedStatement, 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);
44
+ constructor(stmt: D1PreparedStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown);
50
45
  run(placeholderValues?: Record<string, unknown>): Promise<D1Response>;
51
46
  all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
52
- private allRqbV2;
53
47
  mapAllResult(rows: unknown, isFromBatch?: boolean): unknown;
54
48
  get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
55
- private getRqbV2;
56
49
  mapGetResult(result: unknown, isFromBatch?: boolean): unknown;
57
50
  values<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]>;
58
51
  }
package/d1/session.js CHANGED
@@ -5,10 +5,9 @@ import { SQLiteTransaction } from "../sqlite-core/index.js";
5
5
  import { SQLitePreparedQuery, SQLiteSession } from "../sqlite-core/session.js";
6
6
  import { mapResultRow } from "../utils.js";
7
7
  class SQLiteD1Session extends SQLiteSession {
8
- constructor(client, dialect, relations, schema, options = {}) {
8
+ constructor(client, dialect, schema, options = {}) {
9
9
  super(dialect);
10
10
  this.client = client;
11
- this.relations = relations;
12
11
  this.schema = schema;
13
12
  this.options = options;
14
13
  this.logger = options.logger ?? new NoopLogger();
@@ -27,19 +26,6 @@ class SQLiteD1Session extends SQLiteSession {
27
26
  customResultMapper
28
27
  );
29
28
  }
30
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
31
- const stmt = this.client.prepare(query.sql);
32
- return new D1PreparedQuery(
33
- stmt,
34
- query,
35
- this.logger,
36
- fields,
37
- executeMethod,
38
- false,
39
- customResultMapper,
40
- true
41
- );
42
- }
43
29
  async batch(queries) {
44
30
  const preparedQueries = [];
45
31
  const builtQueries = [];
@@ -69,7 +55,7 @@ class SQLiteD1Session extends SQLiteSession {
69
55
  return d1ToRawMapping(result.results);
70
56
  }
71
57
  async transaction(transaction, config) {
72
- const tx = new D1Transaction("async", this.dialect, this, this.relations, this.schema);
58
+ const tx = new D1Transaction("async", this.dialect, this, this.schema);
73
59
  await this.run(sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
74
60
  try {
75
61
  const result = await transaction(tx);
@@ -85,14 +71,7 @@ class D1Transaction extends SQLiteTransaction {
85
71
  static [entityKind] = "D1Transaction";
86
72
  async transaction(transaction) {
87
73
  const savepointName = `sp${this.nestedIndex}`;
88
- const tx = new D1Transaction(
89
- "async",
90
- this.dialect,
91
- this.session,
92
- this.relations,
93
- this.schema,
94
- this.nestedIndex + 1
95
- );
74
+ const tx = new D1Transaction("async", this.dialect, this.session, this.schema, this.nestedIndex + 1);
96
75
  await this.session.run(sql.raw(`savepoint ${savepointName}`));
97
76
  try {
98
77
  const result = await transaction(tx);
@@ -113,17 +92,18 @@ function d1ToRawMapping(results) {
113
92
  return rows;
114
93
  }
115
94
  class D1PreparedQuery extends SQLitePreparedQuery {
116
- constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
95
+ constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
117
96
  super("async", executeMethod, query);
118
97
  this.logger = logger;
119
98
  this._isResponseInArrayMode = _isResponseInArrayMode;
120
99
  this.customResultMapper = customResultMapper;
121
- this.isRqbV2Query = isRqbV2Query;
122
100
  this.fields = fields;
123
101
  this.stmt = stmt;
124
102
  }
125
103
  static [entityKind] = "D1PreparedQuery";
126
104
  /** @internal */
105
+ customResultMapper;
106
+ /** @internal */
127
107
  fields;
128
108
  /** @internal */
129
109
  stmt;
@@ -133,8 +113,6 @@ class D1PreparedQuery extends SQLitePreparedQuery {
133
113
  return this.stmt.bind(...params).run();
134
114
  }
135
115
  async all(placeholderValues) {
136
- if (this.isRqbV2Query)
137
- return this.allRqbV2(placeholderValues);
138
116
  const { fields, query, logger, stmt, customResultMapper } = this;
139
117
  if (!fields && !customResultMapper) {
140
118
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
@@ -144,14 +122,6 @@ class D1PreparedQuery extends SQLitePreparedQuery {
144
122
  const rows = await this.values(placeholderValues);
145
123
  return this.mapAllResult(rows);
146
124
  }
147
- async allRqbV2(placeholderValues) {
148
- const { query, logger, stmt, customResultMapper } = this;
149
- const params = fillPlaceholders(query.params, placeholderValues ?? {});
150
- logger.logQuery(query.sql, params);
151
- return stmt.bind(...params).all().then(
152
- ({ results }) => customResultMapper(results)
153
- );
154
- }
155
125
  mapAllResult(rows, isFromBatch) {
156
126
  if (isFromBatch) {
157
127
  rows = d1ToRawMapping(rows.results);
@@ -165,8 +135,6 @@ class D1PreparedQuery extends SQLitePreparedQuery {
165
135
  return rows.map((row) => mapResultRow(this.fields, row, this.joinsNotNullableMap));
166
136
  }
167
137
  async get(placeholderValues) {
168
- if (this.isRqbV2Query)
169
- return this.getRqbV2(placeholderValues);
170
138
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
171
139
  if (!fields && !customResultMapper) {
172
140
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
@@ -182,16 +150,6 @@ class D1PreparedQuery extends SQLitePreparedQuery {
182
150
  }
183
151
  return mapResultRow(fields, rows[0], joinsNotNullableMap);
184
152
  }
185
- async getRqbV2(placeholderValues) {
186
- const { query, logger, stmt, customResultMapper } = this;
187
- const params = fillPlaceholders(query.params, placeholderValues ?? {});
188
- logger.logQuery(query.sql, params);
189
- const { results: rows } = await stmt.bind(...params).all();
190
- if (!rows[0]) {
191
- return void 0;
192
- }
193
- return customResultMapper(rows);
194
- }
195
153
  mapGetResult(result, isFromBatch) {
196
154
  if (isFromBatch) {
197
155
  result = d1ToRawMapping(result.results)[0];
package/d1/session.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type * as V1 from '~/_relations.ts';\nimport type { BatchItem } from '~/batch.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 type { PreparedQuery } from '~/session.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 type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery(\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): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => unknown,\n\t): D1PreparedQuery<PreparedQueryConfig, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.relations, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction(\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\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends SQLitePreparedQuery<\n\t\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tfields: 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('async', executeMethod, query);\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).run();\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, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\tprivate async allRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn stmt.bind(...params).all().then(({ results }) =>\n\t\t\t(customResultMapper as (rows: Record<string, unknown>[]) => unknown)(results!)\n\t\t);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\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, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\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['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst { results: rows } = await stmt.bind(...params).all();\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['get'];\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn (this.customResultMapper as (rows: unknown[][]) => unknown)([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tvalues<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).raw();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["builtQuery"]}
1
+ {"version":3,"sources":["../../src/d1/session.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\n\nimport type { BatchItem } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.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 type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery(\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): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\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\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch<any>(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: D1Transaction<TFullSchema, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction<T>(transaction: (tx: D1Transaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): Promise<D1Response> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).run();\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tvalues<T extends any[] = unknown[]>(placeholderValues?: Record<string, unknown>): Promise<T[]> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.bind(...params).raw();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"AAGA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAG3B,SAAS,kBAA8B,WAAW;AAElD,SAAS,yBAAyB;AAOlC,SAAS,qBAAqB,qBAAqB;AACnD,SAAS,oBAAoB;AAQtB,MAAM,wBAGH,cAAuD;AAAA,EAKhE,YACS,QACR,SACQ,QACA,UAAkC,CAAC,GAC1C;AACD,UAAM,OAAO;AALL;AAEA;AACA;AAGR,SAAK,SAAS,QAAQ,UAAU,IAAI,WAAW;AAAA,EAChD;AAAA,EAZA,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EAYR,aACC,OACA,QACA,eACA,uBACA,oBACkB;AAClB,UAAM,OAAO,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC1C,WAAO,IAAI;AAAA,MACV;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,MAAwE,SAAY;AACzF,UAAM,kBAAmC,CAAC;AAC1C,UAAM,eAAsC,CAAC;AAE7C,eAAW,SAAS,SAAS;AAC5B,YAAM,gBAAgB,MAAM,SAAS;AACrC,YAAM,aAAa,cAAc,SAAS;AAC1C,sBAAgB,KAAK,aAAa;AAClC,UAAI,WAAW,OAAO,SAAS,GAAG;AACjC,qBAAa,KAAM,cAAkC,KAAK,KAAK,GAAG,WAAW,MAAM,CAAC;AAAA,MACrF,OAAO;AACN,cAAMA,cAAa,cAAc,SAAS;AAC1C,qBAAa;AAAA,UACZ,KAAK,OAAO,QAAQA,YAAW,GAAG,EAAE,KAAK,GAAGA,YAAW,MAAM;AAAA,QAC9D;AAAA,MACD;AAAA,IACD;AAEA,UAAM,eAAe,MAAM,KAAK,OAAO,MAAW,YAAY;AAC9D,WAAO,aAAa,IAAI,CAAC,QAAQ,MAAM,gBAAgB,CAAC,EAAG,UAAU,QAAQ,IAAI,CAAC;AAAA,EACnF;AAAA,EAES,kCAAkC,QAA0B;AACpE,WAAQ,OAAoB;AAAA,EAC7B;AAAA,EAES,kCAAkC,QAA0B;AACpE,WAAQ,OAAoB,QAAQ,CAAC;AAAA,EACtC;AAAA,EAES,qCAAqC,QAA0B;AACvE,WAAO,eAAgB,OAAoB,OAAO;AAAA,EACnD;AAAA,EAEA,MAAe,YACd,aACA,QACa;AACb,UAAM,KAAK,IAAI,cAAc,SAAS,KAAK,SAAS,MAAM,KAAK,MAAM;AACrE,UAAM,KAAK,IAAI,IAAI,IAAI,QAAQ,QAAQ,WAAW,MAAM,OAAO,WAAW,EAAE,EAAE,CAAC;AAC/E,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,KAAK,IAAI,WAAW;AAC1B,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,KAAK,IAAI,aAAa;AAC5B,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,sBAGH,kBAA2D;AAAA,EACpE,QAA0B,UAAU,IAAY;AAAA,EAEhD,MAAe,YAAe,aAAkF;AAC/G,UAAM,gBAAgB,KAAK,KAAK,WAAW;AAC3C,UAAM,KAAK,IAAI,cAAc,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,QAAQ,KAAK,cAAc,CAAC;AACnG,UAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,aAAa,aAAa,EAAE,CAAC;AAC5D,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,qBAAqB,aAAa,EAAE,CAAC;AACpE,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,yBAAyB,aAAa,EAAE,CAAC;AACxE,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAQA,SAAS,eAAe,SAAc;AACrC,QAAM,OAAoB,CAAC;AAC3B,aAAW,OAAO,SAAS;AAC1B,UAAM,QAAQ,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AAChD,SAAK,KAAK,KAAK;AAAA,EAChB;AACA,SAAO;AACR;AAEO,MAAM,wBAA6E,oBAExF;AAAA,EAYD,YACC,MACA,OACQ,QACR,QACA,eACQ,wBACR,oBACC;AACD,UAAM,SAAS,eAAe,KAAK;AAN3B;AAGA;AAIR,SAAK,qBAAqB;AAC1B,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACb;AAAA,EAxBA,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EAiBA,IAAI,mBAAkE;AACrE,UAAM,SAAS,iBAAiB,KAAK,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AAC1E,SAAK,OAAO,SAAS,KAAK,MAAM,KAAK,MAAM;AAC3C,WAAO,KAAK,KAAK,KAAK,GAAG,MAAM,EAAE,IAAI;AAAA,EACtC;AAAA,EAEA,MAAM,IAAI,mBAAgE;AACzE,UAAM,EAAE,QAAQ,OAAO,QAAQ,MAAM,mBAAmB,IAAI;AAC5D,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,SAAS,iBAAiB,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AACrE,aAAO,SAAS,MAAM,KAAK,MAAM;AACjC,aAAO,KAAK,KAAK,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,MAAM,KAAK,aAAa,OAAQ,CAAC;AAAA,IACpF;AAEA,UAAM,OAAO,MAAM,KAAK,OAAO,iBAAiB;AAEhD,WAAO,KAAK,aAAa,IAAI;AAAA,EAC9B;AAAA,EAES,aAAa,MAAe,aAAgC;AACpE,QAAI,aAAa;AAChB,aAAO,eAAgB,KAAkB,OAAO;AAAA,IACjD;AAEA,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,oBAAoB;AAC7C,aAAO;AAAA,IACR;AAEA,QAAI,KAAK,oBAAoB;AAC5B,aAAO,KAAK,mBAAmB,IAAmB;AAAA,IACnD;AAEA,WAAQ,KAAqB,IAAI,CAAC,QAAQ,aAAa,KAAK,QAAS,KAAK,KAAK,mBAAmB,CAAC;AAAA,EACpG;AAAA,EAEA,MAAM,IAAI,mBAAgE;AACzE,UAAM,EAAE,QAAQ,qBAAqB,OAAO,QAAQ,MAAM,mBAAmB,IAAI;AACjF,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,SAAS,iBAAiB,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AACrE,aAAO,SAAS,MAAM,KAAK,MAAM;AACjC,aAAO,KAAK,KAAK,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,MAAM,QAAS,CAAC,CAAC;AAAA,IACpE;AAEA,UAAM,OAAO,MAAM,KAAK,OAAO,iBAAiB;AAEhD,QAAI,CAAC,KAAK,CAAC,GAAG;AACb,aAAO;AAAA,IACR;AAEA,QAAI,oBAAoB;AACvB,aAAO,mBAAmB,IAAI;AAAA,IAC/B;AAEA,WAAO,aAAa,QAAS,KAAK,CAAC,GAAG,mBAAmB;AAAA,EAC1D;AAAA,EAES,aAAa,QAAiB,aAAgC;AACtE,QAAI,aAAa;AAChB,eAAS,eAAgB,OAAoB,OAAO,EAAE,CAAC;AAAA,IACxD;AAEA,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,oBAAoB;AAC7C,aAAO;AAAA,IACR;AAEA,QAAI,KAAK,oBAAoB;AAC5B,aAAO,KAAK,mBAAmB,CAAC,MAAmB,CAAC;AAAA,IACrD;AAEA,WAAO,aAAa,KAAK,QAAS,QAAqB,KAAK,mBAAmB;AAAA,EAChF;AAAA,EAEA,OAAoC,mBAA2D;AAC9F,UAAM,SAAS,iBAAiB,KAAK,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AAC1E,SAAK,OAAO,SAAS,KAAK,MAAM,KAAK,MAAM;AAC3C,WAAO,KAAK,KAAK,KAAK,GAAG,MAAM,EAAE,IAAI;AAAA,EACtC;AAAA;AAAA,EAGA,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;","names":["builtQuery"]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var driver_exports = {};
20
+ __export(driver_exports, {
21
+ DrizzleSqliteDODatabase: () => DrizzleSqliteDODatabase,
22
+ drizzle: () => drizzle
23
+ });
24
+ module.exports = __toCommonJS(driver_exports);
25
+ var import_entity = require("../entity.cjs");
26
+ var import_logger = require("../logger.cjs");
27
+ var import_relations = require("../relations.cjs");
28
+ var import_db = require("../sqlite-core/db.cjs");
29
+ var import_dialect = require("../sqlite-core/dialect.cjs");
30
+ var import_session = require("./session.cjs");
31
+ class DrizzleSqliteDODatabase extends import_db.BaseSQLiteDatabase {
32
+ static [import_entity.entityKind] = "DrizzleSqliteDODatabase";
33
+ }
34
+ function drizzle(client, config = {}) {
35
+ const dialect = new import_dialect.SQLiteSyncDialect({ casing: config.casing });
36
+ let logger;
37
+ if (config.logger === true) {
38
+ logger = new import_logger.DefaultLogger();
39
+ } else if (config.logger !== false) {
40
+ logger = config.logger;
41
+ }
42
+ let schema;
43
+ if (config.schema) {
44
+ const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(
45
+ config.schema,
46
+ import_relations.createTableRelationsHelpers
47
+ );
48
+ schema = {
49
+ fullSchema: config.schema,
50
+ schema: tablesConfig.tables,
51
+ tableNamesMap: tablesConfig.tableNamesMap
52
+ };
53
+ }
54
+ const session = new import_session.SQLiteDOSession(client, dialect, schema, { logger });
55
+ const db = new DrizzleSqliteDODatabase("sync", dialect, session, schema);
56
+ db.$client = client;
57
+ return db;
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ DrizzleSqliteDODatabase,
62
+ drizzle
63
+ });
64
+ //# sourceMappingURL=driver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleSqliteDODatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, schema, { logger });\n\tconst db = new DrizzleSqliteDODatabase('sync', dialect, session, schema) as DrizzleSqliteDODatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAkC;AAElC,qBAAgC;AAEzB,MAAM,gCAEH,6BAAuF;AAAA,EAChG,QAA0B,wBAAU,IAAY;AAIjD;AAEO,SAAS,QAIf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,iCAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,+BAAgB,QAAgC,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC/F,QAAM,KAAK,IAAI,wBAAwB,QAAQ,SAAS,SAAS,MAAM;AACvE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
3
+ import type { DrizzleConfig } from "../utils.cjs";
4
+ export declare class DrizzleSqliteDODatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema> {
5
+ static readonly [entityKind]: string;
6
+ }
7
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends DurableObjectStorage = DurableObjectStorage>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleSqliteDODatabase<TSchema> & {
8
+ $client: TClient;
9
+ };
@@ -0,0 +1,9 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
3
+ import type { DrizzleConfig } from "../utils.js";
4
+ export declare class DrizzleSqliteDODatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema> {
5
+ static readonly [entityKind]: string;
6
+ }
7
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends DurableObjectStorage = DurableObjectStorage>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleSqliteDODatabase<TSchema> & {
8
+ $client: TClient;
9
+ };
@@ -0,0 +1,42 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { DefaultLogger } from "../logger.js";
3
+ import {
4
+ createTableRelationsHelpers,
5
+ extractTablesRelationalConfig
6
+ } from "../relations.js";
7
+ import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
8
+ import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
9
+ import { SQLiteDOSession } from "./session.js";
10
+ class DrizzleSqliteDODatabase extends BaseSQLiteDatabase {
11
+ static [entityKind] = "DrizzleSqliteDODatabase";
12
+ }
13
+ function drizzle(client, config = {}) {
14
+ const dialect = new SQLiteSyncDialect({ casing: config.casing });
15
+ let logger;
16
+ if (config.logger === true) {
17
+ logger = new DefaultLogger();
18
+ } else if (config.logger !== false) {
19
+ logger = config.logger;
20
+ }
21
+ let schema;
22
+ if (config.schema) {
23
+ const tablesConfig = extractTablesRelationalConfig(
24
+ config.schema,
25
+ createTableRelationsHelpers
26
+ );
27
+ schema = {
28
+ fullSchema: config.schema,
29
+ schema: tablesConfig.tables,
30
+ tableNamesMap: tablesConfig.tableNamesMap
31
+ };
32
+ }
33
+ const session = new SQLiteDOSession(client, dialect, schema, { logger });
34
+ const db = new DrizzleSqliteDODatabase("sync", dialect, session, schema);
35
+ db.$client = client;
36
+ return db;
37
+ }
38
+ export {
39
+ DrizzleSqliteDODatabase,
40
+ drizzle
41
+ };
42
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/durable-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLiteDOSession } from './session.ts';\n\nexport class DrizzleSqliteDODatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'sync', SqlStorageCursor<Record<string, SqlStorageValue>>, TSchema> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSqliteDODatabase';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteDOSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends DurableObjectStorage = DurableObjectStorage,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleSqliteDODatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteDOSession(client as DurableObjectStorage, dialect, schema, { logger });\n\tconst db = new DrizzleSqliteDODatabase('sync', dialect, session, schema) as DrizzleSqliteDODatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAElC,SAAS,uBAAuB;AAEzB,MAAM,gCAEH,mBAAuF;AAAA,EAChG,QAA0B,UAAU,IAAY;AAIjD;AAEO,SAAS,QAIf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kBAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,gBAAgB,QAAgC,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC/F,QAAM,KAAK,IAAI,wBAAwB,QAAQ,SAAS,SAAS,MAAM;AACvE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var durable_sqlite_exports = {};
17
+ module.exports = __toCommonJS(durable_sqlite_exports);
18
+ __reExport(durable_sqlite_exports, require("./driver.cjs"), module.exports);
19
+ __reExport(durable_sqlite_exports, require("./session.cjs"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./driver.cjs"),
23
+ ...require("./session.cjs")
24
+ });
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/durable-sqlite/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,mCAAc,wBAAd;AACA,mCAAc,yBADd;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./driver.cjs";
2
+ export * from "./session.cjs";
@@ -0,0 +1,2 @@
1
+ export * from "./driver.js";
2
+ export * from "./session.js";
@@ -0,0 +1,3 @@
1
+ export * from "./driver.js";
2
+ export * from "./session.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/durable-sqlite/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}