drizzle-orm 0.44.2-512acc4 → 0.44.2-6baabce

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 (775) hide show
  1. package/aws-data-api/pg/driver.cjs +6 -14
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +3 -4
  4. package/aws-data-api/pg/driver.d.ts +3 -4
  5. package/aws-data-api/pg/driver.js +6 -14
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +9 -26
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +4 -5
  10. package/aws-data-api/pg/session.d.ts +4 -5
  11. package/aws-data-api/pg/session.js +9 -26
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.d.cts +3 -4
  15. package/better-sqlite3/driver.d.ts +3 -4
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/session.cjs +4 -4
  18. package/better-sqlite3/session.cjs.map +1 -1
  19. package/better-sqlite3/session.d.cts +4 -4
  20. package/better-sqlite3/session.d.ts +4 -4
  21. package/better-sqlite3/session.js +4 -4
  22. package/better-sqlite3/session.js.map +1 -1
  23. package/bun-sql/driver.cjs +2 -3
  24. package/bun-sql/driver.cjs.map +1 -1
  25. package/bun-sql/driver.d.cts +3 -4
  26. package/bun-sql/driver.d.ts +3 -4
  27. package/bun-sql/driver.js +2 -3
  28. package/bun-sql/driver.js.map +1 -1
  29. package/bun-sql/session.cjs +11 -20
  30. package/bun-sql/session.cjs.map +1 -1
  31. package/bun-sql/session.d.cts +5 -6
  32. package/bun-sql/session.d.ts +5 -6
  33. package/bun-sql/session.js +11 -20
  34. package/bun-sql/session.js.map +1 -1
  35. package/bun-sqlite/driver.cjs.map +1 -1
  36. package/bun-sqlite/driver.d.cts +3 -4
  37. package/bun-sqlite/driver.d.ts +3 -4
  38. package/bun-sqlite/driver.js.map +1 -1
  39. package/bun-sqlite/session.cjs +4 -4
  40. package/bun-sqlite/session.cjs.map +1 -1
  41. package/bun-sqlite/session.d.cts +4 -4
  42. package/bun-sqlite/session.d.ts +4 -4
  43. package/bun-sqlite/session.js +4 -4
  44. package/bun-sqlite/session.js.map +1 -1
  45. package/column-builder.cjs.map +1 -1
  46. package/column-builder.d.cts +2 -7
  47. package/column-builder.d.ts +2 -7
  48. package/column-builder.js.map +1 -1
  49. package/column.cjs +0 -2
  50. package/column.cjs.map +1 -1
  51. package/column.d.cts +0 -6
  52. package/column.d.ts +0 -6
  53. package/column.js +0 -2
  54. package/column.js.map +1 -1
  55. package/d1/driver.cjs +2 -9
  56. package/d1/driver.cjs.map +1 -1
  57. package/d1/driver.d.cts +1 -2
  58. package/d1/driver.d.ts +1 -2
  59. package/d1/driver.js +2 -9
  60. package/d1/driver.js.map +1 -1
  61. package/d1/session.cjs +11 -20
  62. package/d1/session.cjs.map +1 -1
  63. package/d1/session.d.cts +7 -8
  64. package/d1/session.d.ts +7 -8
  65. package/d1/session.js +11 -20
  66. package/d1/session.js.map +1 -1
  67. package/durable-sqlite/driver.cjs.map +1 -1
  68. package/durable-sqlite/driver.d.cts +1 -2
  69. package/durable-sqlite/driver.d.ts +1 -2
  70. package/durable-sqlite/driver.js.map +1 -1
  71. package/durable-sqlite/session.cjs +4 -4
  72. package/durable-sqlite/session.cjs.map +1 -1
  73. package/durable-sqlite/session.d.cts +4 -4
  74. package/durable-sqlite/session.d.ts +4 -4
  75. package/durable-sqlite/session.js +4 -4
  76. package/durable-sqlite/session.js.map +1 -1
  77. package/expo-sqlite/driver.cjs.map +1 -1
  78. package/expo-sqlite/driver.d.cts +1 -2
  79. package/expo-sqlite/driver.d.ts +1 -2
  80. package/expo-sqlite/driver.js.map +1 -1
  81. package/expo-sqlite/session.cjs +4 -4
  82. package/expo-sqlite/session.cjs.map +1 -1
  83. package/expo-sqlite/session.d.cts +4 -4
  84. package/expo-sqlite/session.d.ts +4 -4
  85. package/expo-sqlite/session.js +4 -4
  86. package/expo-sqlite/session.js.map +1 -1
  87. package/gel/driver.cjs +4 -6
  88. package/gel/driver.cjs.map +1 -1
  89. package/gel/driver.d.cts +4 -6
  90. package/gel/driver.d.ts +4 -6
  91. package/gel/driver.js +4 -6
  92. package/gel/driver.js.map +1 -1
  93. package/gel/session.cjs +9 -12
  94. package/gel/session.cjs.map +1 -1
  95. package/gel/session.d.cts +4 -5
  96. package/gel/session.d.ts +4 -5
  97. package/gel/session.js +9 -12
  98. package/gel/session.js.map +1 -1
  99. package/gel-core/columns/common.cjs +0 -8
  100. package/gel-core/columns/common.cjs.map +1 -1
  101. package/gel-core/columns/common.d.cts +0 -2
  102. package/gel-core/columns/common.d.ts +0 -2
  103. package/gel-core/columns/common.js +0 -8
  104. package/gel-core/columns/common.js.map +1 -1
  105. package/gel-core/db.cjs +3 -5
  106. package/gel-core/db.cjs.map +1 -1
  107. package/gel-core/db.d.cts +1 -3
  108. package/gel-core/db.d.ts +1 -3
  109. package/gel-core/db.js +3 -5
  110. package/gel-core/db.js.map +1 -1
  111. package/gel-core/dialect.cjs +19 -24
  112. package/gel-core/dialect.cjs.map +1 -1
  113. package/gel-core/dialect.d.cts +6 -7
  114. package/gel-core/dialect.d.ts +6 -7
  115. package/gel-core/dialect.js +20 -25
  116. package/gel-core/dialect.js.map +1 -1
  117. package/gel-core/query-builders/delete.cjs +5 -19
  118. package/gel-core/query-builders/delete.cjs.map +1 -1
  119. package/gel-core/query-builders/delete.js +5 -19
  120. package/gel-core/query-builders/delete.js.map +1 -1
  121. package/gel-core/query-builders/insert.cjs +9 -44
  122. package/gel-core/query-builders/insert.cjs.map +1 -1
  123. package/gel-core/query-builders/insert.js +11 -46
  124. package/gel-core/query-builders/insert.js.map +1 -1
  125. package/gel-core/query-builders/query.cjs +2 -15
  126. package/gel-core/query-builders/query.cjs.map +1 -1
  127. package/gel-core/query-builders/query.js +2 -15
  128. package/gel-core/query-builders/query.js.map +1 -1
  129. package/gel-core/query-builders/select.cjs +5 -21
  130. package/gel-core/query-builders/select.cjs.map +1 -1
  131. package/gel-core/query-builders/select.js +5 -21
  132. package/gel-core/query-builders/select.js.map +1 -1
  133. package/gel-core/query-builders/update.cjs +6 -20
  134. package/gel-core/query-builders/update.cjs.map +1 -1
  135. package/gel-core/query-builders/update.js +6 -20
  136. package/gel-core/query-builders/update.js.map +1 -1
  137. package/gel-core/session.cjs +4 -47
  138. package/gel-core/session.cjs.map +1 -1
  139. package/gel-core/session.d.cts +5 -11
  140. package/gel-core/session.d.ts +5 -11
  141. package/gel-core/session.js +4 -47
  142. package/gel-core/session.js.map +1 -1
  143. package/libsql/driver-core.cjs +2 -3
  144. package/libsql/driver-core.cjs.map +1 -1
  145. package/libsql/driver-core.js +2 -3
  146. package/libsql/driver-core.js.map +1 -1
  147. package/libsql/driver.cjs +1 -4
  148. package/libsql/driver.cjs.map +1 -1
  149. package/libsql/driver.d.cts +3 -4
  150. package/libsql/driver.d.ts +3 -4
  151. package/libsql/driver.js +1 -4
  152. package/libsql/driver.js.map +1 -1
  153. package/libsql/http/index.cjs +1 -4
  154. package/libsql/http/index.cjs.map +1 -1
  155. package/libsql/http/index.d.cts +3 -4
  156. package/libsql/http/index.d.ts +3 -4
  157. package/libsql/http/index.js +1 -4
  158. package/libsql/http/index.js.map +1 -1
  159. package/libsql/node/index.cjs +1 -4
  160. package/libsql/node/index.cjs.map +1 -1
  161. package/libsql/node/index.d.cts +3 -4
  162. package/libsql/node/index.d.ts +3 -4
  163. package/libsql/node/index.js +1 -4
  164. package/libsql/node/index.js.map +1 -1
  165. package/libsql/session.cjs +12 -29
  166. package/libsql/session.cjs.map +1 -1
  167. package/libsql/session.d.cts +7 -8
  168. package/libsql/session.d.ts +7 -8
  169. package/libsql/session.js +12 -29
  170. package/libsql/session.js.map +1 -1
  171. package/libsql/sqlite3/index.cjs +1 -4
  172. package/libsql/sqlite3/index.cjs.map +1 -1
  173. package/libsql/sqlite3/index.d.cts +3 -4
  174. package/libsql/sqlite3/index.d.ts +3 -4
  175. package/libsql/sqlite3/index.js +1 -4
  176. package/libsql/sqlite3/index.js.map +1 -1
  177. package/libsql/wasm/index.cjs +1 -4
  178. package/libsql/wasm/index.cjs.map +1 -1
  179. package/libsql/wasm/index.d.cts +3 -4
  180. package/libsql/wasm/index.d.ts +3 -4
  181. package/libsql/wasm/index.js +1 -4
  182. package/libsql/wasm/index.js.map +1 -1
  183. package/libsql/web/index.cjs +1 -4
  184. package/libsql/web/index.cjs.map +1 -1
  185. package/libsql/web/index.d.cts +3 -4
  186. package/libsql/web/index.d.ts +3 -4
  187. package/libsql/web/index.js +1 -4
  188. package/libsql/web/index.js.map +1 -1
  189. package/libsql/ws/index.cjs +1 -4
  190. package/libsql/ws/index.cjs.map +1 -1
  191. package/libsql/ws/index.d.cts +3 -4
  192. package/libsql/ws/index.d.ts +3 -4
  193. package/libsql/ws/index.js +1 -4
  194. package/libsql/ws/index.js.map +1 -1
  195. package/mysql-core/db.cjs +3 -5
  196. package/mysql-core/db.cjs.map +1 -1
  197. package/mysql-core/db.d.cts +1 -3
  198. package/mysql-core/db.d.ts +1 -3
  199. package/mysql-core/db.js +3 -5
  200. package/mysql-core/db.js.map +1 -1
  201. package/mysql-core/dialect.cjs +23 -29
  202. package/mysql-core/dialect.cjs.map +1 -1
  203. package/mysql-core/dialect.d.cts +7 -8
  204. package/mysql-core/dialect.d.ts +7 -8
  205. package/mysql-core/dialect.js +24 -30
  206. package/mysql-core/dialect.js.map +1 -1
  207. package/mysql-core/query-builders/delete.cjs +1 -8
  208. package/mysql-core/query-builders/delete.cjs.map +1 -1
  209. package/mysql-core/query-builders/delete.js +1 -8
  210. package/mysql-core/query-builders/delete.js.map +1 -1
  211. package/mysql-core/query-builders/insert.cjs +6 -30
  212. package/mysql-core/query-builders/insert.cjs.map +1 -1
  213. package/mysql-core/query-builders/insert.js +8 -32
  214. package/mysql-core/query-builders/insert.js.map +1 -1
  215. package/mysql-core/query-builders/query.cjs +3 -19
  216. package/mysql-core/query-builders/query.cjs.map +1 -1
  217. package/mysql-core/query-builders/query.js +3 -19
  218. package/mysql-core/query-builders/query.js.map +1 -1
  219. package/mysql-core/query-builders/select.cjs +6 -23
  220. package/mysql-core/query-builders/select.cjs.map +1 -1
  221. package/mysql-core/query-builders/select.js +6 -23
  222. package/mysql-core/query-builders/select.js.map +1 -1
  223. package/mysql-core/query-builders/update.cjs +3 -15
  224. package/mysql-core/query-builders/update.cjs.map +1 -1
  225. package/mysql-core/query-builders/update.js +3 -15
  226. package/mysql-core/query-builders/update.js.map +1 -1
  227. package/mysql-core/session.cjs +4 -43
  228. package/mysql-core/session.cjs.map +1 -1
  229. package/mysql-core/session.d.cts +7 -14
  230. package/mysql-core/session.d.ts +7 -14
  231. package/mysql-core/session.js +4 -43
  232. package/mysql-core/session.js.map +1 -1
  233. package/mysql-proxy/driver.cjs +2 -3
  234. package/mysql-proxy/driver.cjs.map +1 -1
  235. package/mysql-proxy/driver.d.cts +1 -2
  236. package/mysql-proxy/driver.d.ts +1 -2
  237. package/mysql-proxy/driver.js +2 -3
  238. package/mysql-proxy/driver.js.map +1 -1
  239. package/mysql-proxy/session.cjs +8 -8
  240. package/mysql-proxy/session.cjs.map +1 -1
  241. package/mysql-proxy/session.d.cts +6 -5
  242. package/mysql-proxy/session.d.ts +6 -5
  243. package/mysql-proxy/session.js +8 -8
  244. package/mysql-proxy/session.js.map +1 -1
  245. package/mysql2/driver.cjs +4 -11
  246. package/mysql2/driver.cjs.map +1 -1
  247. package/mysql2/driver.d.cts +2 -4
  248. package/mysql2/driver.d.ts +2 -4
  249. package/mysql2/driver.js +4 -11
  250. package/mysql2/driver.js.map +1 -1
  251. package/mysql2/session.cjs +10 -14
  252. package/mysql2/session.cjs.map +1 -1
  253. package/mysql2/session.d.cts +5 -5
  254. package/mysql2/session.d.ts +5 -5
  255. package/mysql2/session.js +10 -14
  256. package/mysql2/session.js.map +1 -1
  257. package/neon-http/driver.cjs +3 -5
  258. package/neon-http/driver.cjs.map +1 -1
  259. package/neon-http/driver.d.cts +4 -6
  260. package/neon-http/driver.d.ts +4 -6
  261. package/neon-http/driver.js +3 -5
  262. package/neon-http/driver.js.map +1 -1
  263. package/neon-http/session.cjs +6 -8
  264. package/neon-http/session.cjs.map +1 -1
  265. package/neon-http/session.d.cts +4 -5
  266. package/neon-http/session.d.ts +4 -5
  267. package/neon-http/session.js +6 -8
  268. package/neon-http/session.js.map +1 -1
  269. package/neon-serverless/driver.cjs +4 -6
  270. package/neon-serverless/driver.cjs.map +1 -1
  271. package/neon-serverless/driver.d.cts +4 -6
  272. package/neon-serverless/driver.d.ts +4 -6
  273. package/neon-serverless/driver.js +4 -6
  274. package/neon-serverless/driver.js.map +1 -1
  275. package/neon-serverless/session.cjs +9 -23
  276. package/neon-serverless/session.cjs.map +1 -1
  277. package/neon-serverless/session.d.cts +4 -5
  278. package/neon-serverless/session.d.ts +4 -5
  279. package/neon-serverless/session.js +9 -23
  280. package/neon-serverless/session.js.map +1 -1
  281. package/node-postgres/driver.cjs +4 -6
  282. package/node-postgres/driver.cjs.map +1 -1
  283. package/node-postgres/driver.d.cts +4 -6
  284. package/node-postgres/driver.d.ts +4 -6
  285. package/node-postgres/driver.js +4 -6
  286. package/node-postgres/driver.js.map +1 -1
  287. package/node-postgres/session.cjs +9 -18
  288. package/node-postgres/session.cjs.map +1 -1
  289. package/node-postgres/session.d.cts +4 -5
  290. package/node-postgres/session.d.ts +4 -5
  291. package/node-postgres/session.js +9 -18
  292. package/node-postgres/session.js.map +1 -1
  293. package/op-sqlite/driver.cjs +2 -3
  294. package/op-sqlite/driver.cjs.map +1 -1
  295. package/op-sqlite/driver.d.cts +1 -2
  296. package/op-sqlite/driver.d.ts +1 -2
  297. package/op-sqlite/driver.js +2 -3
  298. package/op-sqlite/driver.js.map +1 -1
  299. package/op-sqlite/session.cjs +11 -20
  300. package/op-sqlite/session.cjs.map +1 -1
  301. package/op-sqlite/session.d.cts +7 -8
  302. package/op-sqlite/session.d.ts +7 -8
  303. package/op-sqlite/session.js +11 -20
  304. package/op-sqlite/session.js.map +1 -1
  305. package/package.json +5 -351
  306. package/pg-core/columns/common.cjs +0 -2
  307. package/pg-core/columns/common.cjs.map +1 -1
  308. package/pg-core/columns/common.js +0 -2
  309. package/pg-core/columns/common.js.map +1 -1
  310. package/pg-core/db.cjs +3 -5
  311. package/pg-core/db.cjs.map +1 -1
  312. package/pg-core/db.d.cts +1 -3
  313. package/pg-core/db.d.ts +1 -3
  314. package/pg-core/db.js +3 -5
  315. package/pg-core/db.js.map +1 -1
  316. package/pg-core/dialect.cjs +19 -25
  317. package/pg-core/dialect.cjs.map +1 -1
  318. package/pg-core/dialect.d.cts +6 -7
  319. package/pg-core/dialect.d.ts +6 -7
  320. package/pg-core/dialect.js +20 -26
  321. package/pg-core/dialect.js.map +1 -1
  322. package/pg-core/query-builders/delete.cjs +5 -19
  323. package/pg-core/query-builders/delete.cjs.map +1 -1
  324. package/pg-core/query-builders/delete.js +5 -19
  325. package/pg-core/query-builders/delete.js.map +1 -1
  326. package/pg-core/query-builders/insert.cjs +9 -49
  327. package/pg-core/query-builders/insert.cjs.map +1 -1
  328. package/pg-core/query-builders/insert.js +11 -51
  329. package/pg-core/query-builders/insert.js.map +1 -1
  330. package/pg-core/query-builders/query.cjs +2 -15
  331. package/pg-core/query-builders/query.cjs.map +1 -1
  332. package/pg-core/query-builders/query.js +2 -15
  333. package/pg-core/query-builders/query.js.map +1 -1
  334. package/pg-core/query-builders/select.cjs +7 -23
  335. package/pg-core/query-builders/select.cjs.map +1 -1
  336. package/pg-core/query-builders/select.js +7 -23
  337. package/pg-core/query-builders/select.js.map +1 -1
  338. package/pg-core/query-builders/update.cjs +6 -20
  339. package/pg-core/query-builders/update.cjs.map +1 -1
  340. package/pg-core/query-builders/update.js +6 -20
  341. package/pg-core/query-builders/update.js.map +1 -1
  342. package/pg-core/session.cjs +4 -48
  343. package/pg-core/session.cjs.map +1 -1
  344. package/pg-core/session.d.cts +5 -11
  345. package/pg-core/session.d.ts +5 -11
  346. package/pg-core/session.js +4 -48
  347. package/pg-core/session.js.map +1 -1
  348. package/pg-proxy/driver.cjs +2 -3
  349. package/pg-proxy/driver.cjs.map +1 -1
  350. package/pg-proxy/driver.d.cts +1 -2
  351. package/pg-proxy/driver.d.ts +1 -2
  352. package/pg-proxy/driver.js +2 -3
  353. package/pg-proxy/driver.js.map +1 -1
  354. package/pg-proxy/session.cjs +6 -8
  355. package/pg-proxy/session.cjs.map +1 -1
  356. package/pg-proxy/session.d.cts +4 -5
  357. package/pg-proxy/session.d.ts +4 -5
  358. package/pg-proxy/session.js +6 -8
  359. package/pg-proxy/session.js.map +1 -1
  360. package/pglite/driver.cjs +4 -6
  361. package/pglite/driver.cjs.map +1 -1
  362. package/pglite/driver.d.cts +4 -6
  363. package/pglite/driver.d.ts +4 -6
  364. package/pglite/driver.js +4 -6
  365. package/pglite/driver.js.map +1 -1
  366. package/pglite/session.cjs +9 -19
  367. package/pglite/session.cjs.map +1 -1
  368. package/pglite/session.d.cts +4 -5
  369. package/pglite/session.d.ts +4 -5
  370. package/pglite/session.js +9 -19
  371. package/pglite/session.js.map +1 -1
  372. package/planetscale-serverless/driver.cjs +2 -10
  373. package/planetscale-serverless/driver.cjs.map +1 -1
  374. package/planetscale-serverless/driver.d.cts +3 -4
  375. package/planetscale-serverless/driver.d.ts +3 -4
  376. package/planetscale-serverless/driver.js +2 -10
  377. package/planetscale-serverless/driver.js.map +1 -1
  378. package/planetscale-serverless/session.cjs +13 -23
  379. package/planetscale-serverless/session.cjs.map +1 -1
  380. package/planetscale-serverless/session.d.cts +7 -6
  381. package/planetscale-serverless/session.d.ts +7 -6
  382. package/planetscale-serverless/session.js +13 -23
  383. package/planetscale-serverless/session.js.map +1 -1
  384. package/postgres-js/driver.cjs +2 -3
  385. package/postgres-js/driver.cjs.map +1 -1
  386. package/postgres-js/driver.d.cts +3 -4
  387. package/postgres-js/driver.d.ts +3 -4
  388. package/postgres-js/driver.js +2 -3
  389. package/postgres-js/driver.js.map +1 -1
  390. package/postgres-js/session.cjs +16 -27
  391. package/postgres-js/session.cjs.map +1 -1
  392. package/postgres-js/session.d.cts +5 -6
  393. package/postgres-js/session.d.ts +5 -6
  394. package/postgres-js/session.js +16 -27
  395. package/postgres-js/session.js.map +1 -1
  396. package/prisma/mysql/driver.cjs +3 -3
  397. package/prisma/mysql/driver.cjs.map +1 -1
  398. package/prisma/mysql/driver.d.cts +2 -3
  399. package/prisma/mysql/driver.d.ts +2 -3
  400. package/prisma/mysql/driver.js +3 -3
  401. package/prisma/mysql/driver.js.map +1 -1
  402. package/prisma/mysql/session.cjs +11 -10
  403. package/prisma/mysql/session.cjs.map +1 -1
  404. package/prisma/mysql/session.d.cts +5 -10
  405. package/prisma/mysql/session.d.ts +5 -10
  406. package/prisma/mysql/session.js +11 -10
  407. package/prisma/mysql/session.js.map +1 -1
  408. package/prisma/pg/driver.cjs +3 -3
  409. package/prisma/pg/driver.cjs.map +1 -1
  410. package/prisma/pg/driver.d.cts +1 -2
  411. package/prisma/pg/driver.d.ts +1 -2
  412. package/prisma/pg/driver.js +3 -3
  413. package/prisma/pg/driver.js.map +1 -1
  414. package/prisma/pg/session.cjs +7 -7
  415. package/prisma/pg/session.cjs.map +1 -1
  416. package/prisma/pg/session.d.cts +5 -10
  417. package/prisma/pg/session.d.ts +5 -10
  418. package/prisma/pg/session.js +7 -7
  419. package/prisma/pg/session.js.map +1 -1
  420. package/prisma/sqlite/driver.cjs +1 -7
  421. package/prisma/sqlite/driver.cjs.map +1 -1
  422. package/prisma/sqlite/driver.d.cts +1 -2
  423. package/prisma/sqlite/driver.d.ts +1 -2
  424. package/prisma/sqlite/driver.js +1 -7
  425. package/prisma/sqlite/driver.js.map +1 -1
  426. package/prisma/sqlite/session.cjs +10 -10
  427. package/prisma/sqlite/session.cjs.map +1 -1
  428. package/prisma/sqlite/session.d.cts +7 -12
  429. package/prisma/sqlite/session.d.ts +7 -12
  430. package/prisma/sqlite/session.js +10 -10
  431. package/prisma/sqlite/session.js.map +1 -1
  432. package/singlestore/driver.cjs +25 -34
  433. package/singlestore/driver.cjs.map +1 -1
  434. package/singlestore/driver.d.cts +2 -4
  435. package/singlestore/driver.d.ts +2 -4
  436. package/singlestore/driver.js +25 -34
  437. package/singlestore/driver.js.map +1 -1
  438. package/singlestore/session.cjs +10 -14
  439. package/singlestore/session.cjs.map +1 -1
  440. package/singlestore/session.d.cts +5 -5
  441. package/singlestore/session.d.ts +5 -5
  442. package/singlestore/session.js +10 -14
  443. package/singlestore/session.js.map +1 -1
  444. package/singlestore-core/db.cjs +3 -5
  445. package/singlestore-core/db.cjs.map +1 -1
  446. package/singlestore-core/db.d.cts +1 -3
  447. package/singlestore-core/db.d.ts +1 -3
  448. package/singlestore-core/db.js +3 -5
  449. package/singlestore-core/db.js.map +1 -1
  450. package/singlestore-core/dialect.cjs +18 -24
  451. package/singlestore-core/dialect.cjs.map +1 -1
  452. package/singlestore-core/dialect.d.cts +6 -7
  453. package/singlestore-core/dialect.d.ts +6 -7
  454. package/singlestore-core/dialect.js +19 -25
  455. package/singlestore-core/dialect.js.map +1 -1
  456. package/singlestore-core/query-builders/delete.cjs +1 -8
  457. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  458. package/singlestore-core/query-builders/delete.js +1 -8
  459. package/singlestore-core/query-builders/delete.js.map +1 -1
  460. package/singlestore-core/query-builders/insert.cjs +5 -30
  461. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  462. package/singlestore-core/query-builders/insert.js +7 -32
  463. package/singlestore-core/query-builders/insert.js.map +1 -1
  464. package/singlestore-core/query-builders/query.cjs +2 -17
  465. package/singlestore-core/query-builders/query.cjs.map +1 -1
  466. package/singlestore-core/query-builders/query.js +2 -17
  467. package/singlestore-core/query-builders/query.js.map +1 -1
  468. package/singlestore-core/query-builders/select.cjs +7 -24
  469. package/singlestore-core/query-builders/select.cjs.map +1 -1
  470. package/singlestore-core/query-builders/select.js +7 -24
  471. package/singlestore-core/query-builders/select.js.map +1 -1
  472. package/singlestore-core/query-builders/update.cjs +2 -9
  473. package/singlestore-core/query-builders/update.cjs.map +1 -1
  474. package/singlestore-core/query-builders/update.js +2 -9
  475. package/singlestore-core/query-builders/update.js.map +1 -1
  476. package/singlestore-core/session.cjs +4 -43
  477. package/singlestore-core/session.cjs.map +1 -1
  478. package/singlestore-core/session.d.cts +6 -14
  479. package/singlestore-core/session.d.ts +6 -14
  480. package/singlestore-core/session.js +4 -43
  481. package/singlestore-core/session.js.map +1 -1
  482. package/singlestore-proxy/driver.cjs +2 -3
  483. package/singlestore-proxy/driver.cjs.map +1 -1
  484. package/singlestore-proxy/driver.d.cts +1 -2
  485. package/singlestore-proxy/driver.d.ts +1 -2
  486. package/singlestore-proxy/driver.js +2 -3
  487. package/singlestore-proxy/driver.js.map +1 -1
  488. package/singlestore-proxy/session.cjs +8 -8
  489. package/singlestore-proxy/session.cjs.map +1 -1
  490. package/singlestore-proxy/session.d.cts +6 -9
  491. package/singlestore-proxy/session.d.ts +6 -9
  492. package/singlestore-proxy/session.js +8 -8
  493. package/singlestore-proxy/session.js.map +1 -1
  494. package/sql/sql.cjs +2 -24
  495. package/sql/sql.cjs.map +1 -1
  496. package/sql/sql.d.cts +0 -12
  497. package/sql/sql.d.ts +0 -12
  498. package/sql/sql.js +2 -23
  499. package/sql/sql.js.map +1 -1
  500. package/sql-js/driver.cjs.map +1 -1
  501. package/sql-js/driver.d.cts +1 -2
  502. package/sql-js/driver.d.ts +1 -2
  503. package/sql-js/driver.js.map +1 -1
  504. package/sql-js/session.cjs +4 -4
  505. package/sql-js/session.cjs.map +1 -1
  506. package/sql-js/session.d.cts +4 -4
  507. package/sql-js/session.d.ts +4 -4
  508. package/sql-js/session.js +4 -4
  509. package/sql-js/session.js.map +1 -1
  510. package/sqlite-core/db.cjs +3 -5
  511. package/sqlite-core/db.cjs.map +1 -1
  512. package/sqlite-core/db.d.cts +1 -3
  513. package/sqlite-core/db.d.ts +1 -3
  514. package/sqlite-core/db.js +3 -5
  515. package/sqlite-core/db.js.map +1 -1
  516. package/sqlite-core/dialect.cjs +19 -29
  517. package/sqlite-core/dialect.cjs.map +1 -1
  518. package/sqlite-core/dialect.d.cts +6 -7
  519. package/sqlite-core/dialect.d.ts +6 -7
  520. package/sqlite-core/dialect.js +20 -30
  521. package/sqlite-core/dialect.js.map +1 -1
  522. package/sqlite-core/query-builders/delete.cjs +1 -8
  523. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  524. package/sqlite-core/query-builders/delete.js +1 -8
  525. package/sqlite-core/query-builders/delete.js.map +1 -1
  526. package/sqlite-core/query-builders/insert.cjs +4 -28
  527. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  528. package/sqlite-core/query-builders/insert.js +6 -35
  529. package/sqlite-core/query-builders/insert.js.map +1 -1
  530. package/sqlite-core/query-builders/query.cjs +2 -15
  531. package/sqlite-core/query-builders/query.cjs.map +1 -1
  532. package/sqlite-core/query-builders/query.js +2 -15
  533. package/sqlite-core/query-builders/query.js.map +1 -1
  534. package/sqlite-core/query-builders/select.cjs +6 -15
  535. package/sqlite-core/query-builders/select.cjs.map +1 -1
  536. package/sqlite-core/query-builders/select.js +6 -15
  537. package/sqlite-core/query-builders/select.js.map +1 -1
  538. package/sqlite-core/query-builders/update.cjs +2 -9
  539. package/sqlite-core/query-builders/update.cjs.map +1 -1
  540. package/sqlite-core/query-builders/update.js +2 -9
  541. package/sqlite-core/query-builders/update.js.map +1 -1
  542. package/sqlite-core/session.cjs +6 -81
  543. package/sqlite-core/session.cjs.map +1 -1
  544. package/sqlite-core/session.d.cts +9 -19
  545. package/sqlite-core/session.d.ts +9 -19
  546. package/sqlite-core/session.js +6 -81
  547. package/sqlite-core/session.js.map +1 -1
  548. package/sqlite-proxy/driver.cjs +3 -4
  549. package/sqlite-proxy/driver.cjs.map +1 -1
  550. package/sqlite-proxy/driver.d.cts +2 -3
  551. package/sqlite-proxy/driver.d.ts +2 -3
  552. package/sqlite-proxy/driver.js +3 -4
  553. package/sqlite-proxy/driver.js.map +1 -1
  554. package/sqlite-proxy/session.cjs +11 -20
  555. package/sqlite-proxy/session.cjs.map +1 -1
  556. package/sqlite-proxy/session.d.cts +7 -8
  557. package/sqlite-proxy/session.d.ts +7 -8
  558. package/sqlite-proxy/session.js +11 -20
  559. package/sqlite-proxy/session.js.map +1 -1
  560. package/tidb-serverless/driver.cjs +2 -16
  561. package/tidb-serverless/driver.cjs.map +1 -1
  562. package/tidb-serverless/driver.d.cts +3 -4
  563. package/tidb-serverless/driver.d.ts +3 -4
  564. package/tidb-serverless/driver.js +2 -16
  565. package/tidb-serverless/driver.js.map +1 -1
  566. package/tidb-serverless/session.cjs +13 -23
  567. package/tidb-serverless/session.cjs.map +1 -1
  568. package/tidb-serverless/session.d.cts +7 -6
  569. package/tidb-serverless/session.d.ts +7 -6
  570. package/tidb-serverless/session.js +13 -23
  571. package/tidb-serverless/session.js.map +1 -1
  572. package/tracing.cjs.map +1 -1
  573. package/tracing.js.map +1 -1
  574. package/utils.cjs +2 -38
  575. package/utils.cjs.map +1 -1
  576. package/utils.d.cts +2 -6
  577. package/utils.d.ts +2 -6
  578. package/utils.js +4 -39
  579. package/utils.js.map +1 -1
  580. package/vercel-postgres/driver.cjs +5 -10
  581. package/vercel-postgres/driver.cjs.map +1 -1
  582. package/vercel-postgres/driver.d.cts +4 -6
  583. package/vercel-postgres/driver.d.ts +4 -6
  584. package/vercel-postgres/driver.js +5 -10
  585. package/vercel-postgres/driver.js.map +1 -1
  586. package/vercel-postgres/session.cjs +9 -18
  587. package/vercel-postgres/session.cjs.map +1 -1
  588. package/vercel-postgres/session.d.cts +4 -5
  589. package/vercel-postgres/session.d.ts +4 -5
  590. package/vercel-postgres/session.js +9 -18
  591. package/vercel-postgres/session.js.map +1 -1
  592. package/version.cjs +1 -1
  593. package/version.d.cts +1 -1
  594. package/version.d.ts +1 -1
  595. package/version.js +1 -1
  596. package/xata-http/driver.cjs +4 -7
  597. package/xata-http/driver.cjs.map +1 -1
  598. package/xata-http/driver.d.cts +2 -4
  599. package/xata-http/driver.d.ts +2 -4
  600. package/xata-http/driver.js +4 -7
  601. package/xata-http/driver.js.map +1 -1
  602. package/xata-http/session.cjs +6 -8
  603. package/xata-http/session.cjs.map +1 -1
  604. package/xata-http/session.d.cts +4 -5
  605. package/xata-http/session.d.ts +4 -5
  606. package/xata-http/session.js +6 -8
  607. package/xata-http/session.js.map +1 -1
  608. package/extension-core/gel/index.cjs +0 -33
  609. package/extension-core/gel/index.cjs.map +0 -1
  610. package/extension-core/gel/index.d.cts +0 -67
  611. package/extension-core/gel/index.d.ts +0 -67
  612. package/extension-core/gel/index.js +0 -9
  613. package/extension-core/gel/index.js.map +0 -1
  614. package/extension-core/index.cjs +0 -42
  615. package/extension-core/index.cjs.map +0 -1
  616. package/extension-core/index.d.cts +0 -9
  617. package/extension-core/index.d.ts +0 -9
  618. package/extension-core/index.js +0 -15
  619. package/extension-core/index.js.map +0 -1
  620. package/extension-core/mysql/index.cjs +0 -33
  621. package/extension-core/mysql/index.cjs.map +0 -1
  622. package/extension-core/mysql/index.d.cts +0 -69
  623. package/extension-core/mysql/index.d.ts +0 -69
  624. package/extension-core/mysql/index.js +0 -9
  625. package/extension-core/mysql/index.js.map +0 -1
  626. package/extension-core/pg/index.cjs +0 -33
  627. package/extension-core/pg/index.cjs.map +0 -1
  628. package/extension-core/pg/index.d.cts +0 -67
  629. package/extension-core/pg/index.d.ts +0 -67
  630. package/extension-core/pg/index.js +0 -9
  631. package/extension-core/pg/index.js.map +0 -1
  632. package/extension-core/singlestore/index.cjs +0 -33
  633. package/extension-core/singlestore/index.cjs.map +0 -1
  634. package/extension-core/singlestore/index.d.cts +0 -67
  635. package/extension-core/singlestore/index.d.ts +0 -67
  636. package/extension-core/singlestore/index.js +0 -9
  637. package/extension-core/singlestore/index.js.map +0 -1
  638. package/extension-core/sqlite/index.cjs +0 -33
  639. package/extension-core/sqlite/index.cjs.map +0 -1
  640. package/extension-core/sqlite/index.d.cts +0 -68
  641. package/extension-core/sqlite/index.d.ts +0 -68
  642. package/extension-core/sqlite/index.js +0 -9
  643. package/extension-core/sqlite/index.js.map +0 -1
  644. package/extensions/hook/gel/index.cjs +0 -47
  645. package/extensions/hook/gel/index.cjs.map +0 -1
  646. package/extensions/hook/gel/index.d.cts +0 -11
  647. package/extensions/hook/gel/index.d.ts +0 -11
  648. package/extensions/hook/gel/index.js +0 -22
  649. package/extensions/hook/gel/index.js.map +0 -1
  650. package/extensions/hook/mysql/index.cjs +0 -47
  651. package/extensions/hook/mysql/index.cjs.map +0 -1
  652. package/extensions/hook/mysql/index.d.cts +0 -11
  653. package/extensions/hook/mysql/index.d.ts +0 -11
  654. package/extensions/hook/mysql/index.js +0 -22
  655. package/extensions/hook/mysql/index.js.map +0 -1
  656. package/extensions/hook/pg/index.cjs +0 -47
  657. package/extensions/hook/pg/index.cjs.map +0 -1
  658. package/extensions/hook/pg/index.d.cts +0 -11
  659. package/extensions/hook/pg/index.d.ts +0 -11
  660. package/extensions/hook/pg/index.js +0 -22
  661. package/extensions/hook/pg/index.js.map +0 -1
  662. package/extensions/hook/singlestore/index.cjs +0 -47
  663. package/extensions/hook/singlestore/index.cjs.map +0 -1
  664. package/extensions/hook/singlestore/index.d.cts +0 -11
  665. package/extensions/hook/singlestore/index.d.ts +0 -11
  666. package/extensions/hook/singlestore/index.js +0 -22
  667. package/extensions/hook/singlestore/index.js.map +0 -1
  668. package/extensions/hook/sqlite/index.cjs +0 -47
  669. package/extensions/hook/sqlite/index.cjs.map +0 -1
  670. package/extensions/hook/sqlite/index.d.cts +0 -11
  671. package/extensions/hook/sqlite/index.d.ts +0 -11
  672. package/extensions/hook/sqlite/index.js +0 -22
  673. package/extensions/hook/sqlite/index.js.map +0 -1
  674. package/extensions/s3-file/common.cjs +0 -313
  675. package/extensions/s3-file/common.cjs.map +0 -1
  676. package/extensions/s3-file/common.d.cts +0 -88
  677. package/extensions/s3-file/common.d.ts +0 -88
  678. package/extensions/s3-file/common.js +0 -280
  679. package/extensions/s3-file/common.js.map +0 -1
  680. package/extensions/s3-file/gel/column.cjs +0 -113
  681. package/extensions/s3-file/gel/column.cjs.map +0 -1
  682. package/extensions/s3-file/gel/column.d.cts +0 -105
  683. package/extensions/s3-file/gel/column.d.ts +0 -105
  684. package/extensions/s3-file/gel/column.js +0 -92
  685. package/extensions/s3-file/gel/column.js.map +0 -1
  686. package/extensions/s3-file/gel/extension.cjs +0 -262
  687. package/extensions/s3-file/gel/extension.cjs.map +0 -1
  688. package/extensions/s3-file/gel/extension.d.cts +0 -18
  689. package/extensions/s3-file/gel/extension.d.ts +0 -18
  690. package/extensions/s3-file/gel/extension.js +0 -248
  691. package/extensions/s3-file/gel/extension.js.map +0 -1
  692. package/extensions/s3-file/gel/index.cjs +0 -25
  693. package/extensions/s3-file/gel/index.cjs.map +0 -1
  694. package/extensions/s3-file/gel/index.d.cts +0 -2
  695. package/extensions/s3-file/gel/index.d.ts +0 -2
  696. package/extensions/s3-file/gel/index.js +0 -3
  697. package/extensions/s3-file/gel/index.js.map +0 -1
  698. package/extensions/s3-file/index.cjs +0 -23
  699. package/extensions/s3-file/index.cjs.map +0 -1
  700. package/extensions/s3-file/index.d.cts +0 -1
  701. package/extensions/s3-file/index.d.ts +0 -1
  702. package/extensions/s3-file/index.js +0 -2
  703. package/extensions/s3-file/index.js.map +0 -1
  704. package/extensions/s3-file/mysql/column.cjs +0 -110
  705. package/extensions/s3-file/mysql/column.cjs.map +0 -1
  706. package/extensions/s3-file/mysql/column.d.cts +0 -63
  707. package/extensions/s3-file/mysql/column.d.ts +0 -63
  708. package/extensions/s3-file/mysql/column.js +0 -86
  709. package/extensions/s3-file/mysql/column.js.map +0 -1
  710. package/extensions/s3-file/mysql/extension.cjs +0 -242
  711. package/extensions/s3-file/mysql/extension.cjs.map +0 -1
  712. package/extensions/s3-file/mysql/extension.d.cts +0 -18
  713. package/extensions/s3-file/mysql/extension.d.ts +0 -18
  714. package/extensions/s3-file/mysql/extension.js +0 -228
  715. package/extensions/s3-file/mysql/extension.js.map +0 -1
  716. package/extensions/s3-file/mysql/index.cjs +0 -25
  717. package/extensions/s3-file/mysql/index.cjs.map +0 -1
  718. package/extensions/s3-file/mysql/index.d.cts +0 -2
  719. package/extensions/s3-file/mysql/index.d.ts +0 -2
  720. package/extensions/s3-file/mysql/index.js +0 -3
  721. package/extensions/s3-file/mysql/index.js.map +0 -1
  722. package/extensions/s3-file/pg/column.cjs +0 -113
  723. package/extensions/s3-file/pg/column.cjs.map +0 -1
  724. package/extensions/s3-file/pg/column.d.cts +0 -105
  725. package/extensions/s3-file/pg/column.d.ts +0 -105
  726. package/extensions/s3-file/pg/column.js +0 -92
  727. package/extensions/s3-file/pg/column.js.map +0 -1
  728. package/extensions/s3-file/pg/extension.cjs +0 -264
  729. package/extensions/s3-file/pg/extension.cjs.map +0 -1
  730. package/extensions/s3-file/pg/extension.d.cts +0 -18
  731. package/extensions/s3-file/pg/extension.d.ts +0 -18
  732. package/extensions/s3-file/pg/extension.js +0 -250
  733. package/extensions/s3-file/pg/extension.js.map +0 -1
  734. package/extensions/s3-file/pg/index.cjs +0 -25
  735. package/extensions/s3-file/pg/index.cjs.map +0 -1
  736. package/extensions/s3-file/pg/index.d.cts +0 -2
  737. package/extensions/s3-file/pg/index.d.ts +0 -2
  738. package/extensions/s3-file/pg/index.js +0 -3
  739. package/extensions/s3-file/pg/index.js.map +0 -1
  740. package/extensions/s3-file/singlestore/column.cjs +0 -110
  741. package/extensions/s3-file/singlestore/column.cjs.map +0 -1
  742. package/extensions/s3-file/singlestore/column.d.cts +0 -63
  743. package/extensions/s3-file/singlestore/column.d.ts +0 -63
  744. package/extensions/s3-file/singlestore/column.js +0 -86
  745. package/extensions/s3-file/singlestore/column.js.map +0 -1
  746. package/extensions/s3-file/singlestore/extension.cjs +0 -239
  747. package/extensions/s3-file/singlestore/extension.cjs.map +0 -1
  748. package/extensions/s3-file/singlestore/extension.d.cts +0 -18
  749. package/extensions/s3-file/singlestore/extension.d.ts +0 -18
  750. package/extensions/s3-file/singlestore/extension.js +0 -225
  751. package/extensions/s3-file/singlestore/extension.js.map +0 -1
  752. package/extensions/s3-file/singlestore/index.cjs +0 -25
  753. package/extensions/s3-file/singlestore/index.cjs.map +0 -1
  754. package/extensions/s3-file/singlestore/index.d.cts +0 -2
  755. package/extensions/s3-file/singlestore/index.d.ts +0 -2
  756. package/extensions/s3-file/singlestore/index.js +0 -3
  757. package/extensions/s3-file/singlestore/index.js.map +0 -1
  758. package/extensions/s3-file/sqlite/column.cjs +0 -110
  759. package/extensions/s3-file/sqlite/column.cjs.map +0 -1
  760. package/extensions/s3-file/sqlite/column.d.cts +0 -63
  761. package/extensions/s3-file/sqlite/column.d.ts +0 -63
  762. package/extensions/s3-file/sqlite/column.js +0 -86
  763. package/extensions/s3-file/sqlite/column.js.map +0 -1
  764. package/extensions/s3-file/sqlite/extension.cjs +0 -242
  765. package/extensions/s3-file/sqlite/extension.cjs.map +0 -1
  766. package/extensions/s3-file/sqlite/extension.d.cts +0 -18
  767. package/extensions/s3-file/sqlite/extension.d.ts +0 -18
  768. package/extensions/s3-file/sqlite/extension.js +0 -228
  769. package/extensions/s3-file/sqlite/extension.js.map +0 -1
  770. package/extensions/s3-file/sqlite/index.cjs +0 -25
  771. package/extensions/s3-file/sqlite/index.cjs.map +0 -1
  772. package/extensions/s3-file/sqlite/index.d.cts +0 -2
  773. package/extensions/s3-file/sqlite/index.d.ts +0 -2
  774. package/extensions/s3-file/sqlite/index.js +0 -3
  775. package/extensions/s3-file/sqlite/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ColumnMetadata, ExecuteStatementCommandOutput, Field, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankPgHookContext, DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport {\n\ttype PgDialect,\n\tPgPreparedQuery,\n\ttype PgQueryResultHKT,\n\tPgSession,\n\tPgTransaction,\n\ttype PgTransactionConfig,\n\ttype PreparedQueryConfig,\n} from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type QueryTypingsValue, type QueryWithTypings, type SQL, sql } from '~/sql/sql.ts';\nimport { mapResultRow } from '~/utils.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport class AwsDataApiPreparedQuery<\n\tT extends PreparedQueryConfig & { values: AwsDataApiPgQueryResult<unknown[]> },\n> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPreparedQuery';\n\n\tprivate rawQuery: ExecuteStatementCommand;\n\n\tconstructor(\n\t\tprivate client: AwsDataApiClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: QueryTypingsValue[],\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzlePgExtension[],\n\t\thookContext?: BlankPgHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig, extensions, hookContext);\n\t\tthis.rawQuery = new ExecuteStatementCommand({\n\t\t\tsql: queryString,\n\t\t\tparameters: [],\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t\ttransactionId,\n\t\t\tincludeResultMetadata: !fields && !customResultMapper,\n\t\t});\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper } = this;\n\n\t\tconst result = await this.values(placeholderValues);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst { columnMetadata, rows } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t}\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows!)\n\t\t\t: result.rows!.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']> {\n\t\tconst result = await this.execute(placeholderValues);\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn (result as AwsDataApiPgQueryResult<unknown>).rows;\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync values(placeholderValues: Record<string, unknown> = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues ?? {});\n\n\t\tthis.rawQuery.input.parameters = params.map((param, index) => ({\n\t\t\tname: `${index + 1}`,\n\t\t\t...toValueParam(param, this.typings[index]),\n\t\t}));\n\n\t\tthis.options.logger?.logQuery(this.rawQuery.input.sql!, this.rawQuery.input.parameters);\n\n\t\tconst result = await this.queryWithCache(this.queryString, params, async () => {\n\t\t\treturn await this.client.send(this.rawQuery);\n\t\t});\n\t\tconst rows = result.records?.map((row) => {\n\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t}) ?? [];\n\n\t\treturn {\n\t\t\t...result,\n\t\t\trows,\n\t\t};\n\t}\n\n\t/** @internal */\n\tmapResultRows(records: Field[][], columnMetadata: ColumnMetadata[]) {\n\t\treturn records.map((record) => {\n\t\t\tconst row: Record<string, unknown> = {};\n\t\t\tfor (const [index, field] of record.entries()) {\n\t\t\t\tconst { name } = columnMetadata[index]!;\n\t\t\t\trow[name ?? index] = getValueFromDataApi(field); // not what to default if name is undefined\n\t\t\t}\n\t\t\treturn row;\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<AwsDataApiPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t\textensions?: DrizzlePgExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<\n\t\tT extends PreparedQueryConfig & {\n\t\t\tvalues: AwsDataApiPgQueryResult<unknown[]>;\n\t\t} = PreparedQueryConfig & {\n\t\t\tvalues: AwsDataApiPgQueryResult<unknown[]>;\n\t\t},\n\t>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: { type: 'select' | 'update' | 'delete' | 'insert'; tables: string[] },\n\t\tcacheConfig?: WithCacheConfig,\n\t\thookContext?: BlankPgHookContext,\n\t\ttransactionId?: string,\n\t): AwsDataApiPreparedQuery<T> {\n\t\treturn new AwsDataApiPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings ?? [],\n\t\t\tthis.options,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\ttransactionId ?? this.transactionId,\n\t\t\tisResponseInArrayMode,\n\t\t\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride execute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T; values: AwsDataApiPgQueryResult<unknown[]> }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tthis.transactionId,\n\t\t).execute();\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t\ttransactionId,\n\t\t\tthis.extensions,\n\t\t);\n\t\tconst tx = new AwsDataApiTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.schema,\n\t\t\tundefined,\n\t\t\tthis.extensions,\n\t\t);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<AwsDataApiPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new AwsDataApiTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis._.extensions,\n\t\t);\n\t\tawait this.session.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.session.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & { rows: T[] };\n\nexport interface AwsDataApiPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: AwsDataApiPgQueryResult<any>;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ColumnMetadata, ExecuteStatementCommandOutput, Field, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport {\n\ttype PgDialect,\n\tPgPreparedQuery,\n\ttype PgQueryResultHKT,\n\tPgSession,\n\tPgTransaction,\n\ttype PgTransactionConfig,\n\ttype PreparedQueryConfig,\n} from '~/pg-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/pg-core/query-builders/select.types.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type QueryTypingsValue, type QueryWithTypings, type SQL, sql } from '~/sql/sql.ts';\nimport { mapResultRow } from '~/utils.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport class AwsDataApiPreparedQuery<\n\tT extends PreparedQueryConfig & { values: AwsDataApiPgQueryResult<unknown[]> },\n> extends PgPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPreparedQuery';\n\n\tprivate rawQuery: ExecuteStatementCommand;\n\n\tconstructor(\n\t\tprivate client: AwsDataApiClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate typings: QueryTypingsValue[],\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t\tthis.rawQuery = new ExecuteStatementCommand({\n\t\t\tsql: queryString,\n\t\t\tparameters: [],\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t\ttransactionId,\n\t\t\tincludeResultMetadata: !fields && !customResultMapper,\n\t\t});\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst { fields, joinsNotNullableMap, customResultMapper } = this;\n\n\t\tconst result = await this.values(placeholderValues);\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst { columnMetadata, rows } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t}\n\n\t\treturn customResultMapper\n\t\t\t? customResultMapper(result.rows!)\n\t\t\t: result.rows!.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']> {\n\t\tconst result = await this.execute(placeholderValues);\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn (result as AwsDataApiPgQueryResult<unknown>).rows;\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync values(placeholderValues: Record<string, unknown> = {}): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues ?? {});\n\n\t\tthis.rawQuery.input.parameters = params.map((param, index) => ({\n\t\t\tname: `${index + 1}`,\n\t\t\t...toValueParam(param, this.typings[index]),\n\t\t}));\n\n\t\tthis.options.logger?.logQuery(this.rawQuery.input.sql!, this.rawQuery.input.parameters);\n\n\t\tconst result = await this.queryWithCache(this.queryString, params, async () => {\n\t\t\treturn await this.client.send(this.rawQuery);\n\t\t});\n\t\tconst rows = result.records?.map((row) => {\n\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t}) ?? [];\n\n\t\treturn {\n\t\t\t...result,\n\t\t\trows,\n\t\t};\n\t}\n\n\t/** @internal */\n\tmapResultRows(records: Field[][], columnMetadata: ColumnMetadata[]) {\n\t\treturn records.map((record) => {\n\t\t\tconst row: Record<string, unknown> = {};\n\t\t\tfor (const [index, field] of record.entries()) {\n\t\t\t\tconst { name } = columnMetadata[index]!;\n\t\t\t\trow[name ?? index] = getValueFromDataApi(field); // not what to default if name is undefined\n\t\t\t}\n\t\t\treturn row;\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgSession<AwsDataApiPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<\n\t\tT extends PreparedQueryConfig & {\n\t\t\tvalues: AwsDataApiPgQueryResult<unknown[]>;\n\t\t} = PreparedQueryConfig & {\n\t\t\tvalues: AwsDataApiPgQueryResult<unknown[]>;\n\t\t},\n\t>(\n\t\tquery: QueryWithTypings,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: { type: 'select' | 'update' | 'delete' | 'insert'; tables: string[] },\n\t\tcacheConfig?: WithCacheConfig,\n\t\ttransactionId?: string,\n\t): AwsDataApiPreparedQuery<T> {\n\t\treturn new AwsDataApiPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tquery.typings ?? [],\n\t\t\tthis.options,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\ttransactionId ?? this.transactionId,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride execute<T>(query: SQL): Promise<T> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T; values: AwsDataApiPgQueryResult<unknown[]> }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tthis.transactionId,\n\t\t).execute();\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(this.client, this.dialect, this.schema, this.options, transactionId);\n\t\tconst tx = new AwsDataApiTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends PgTransaction<AwsDataApiPgQueryResultHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new AwsDataApiTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait this.session.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.session.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & { rows: T[] };\n\nexport interface AwsDataApiPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: AwsDataApiPgQueryResult<any>;\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\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, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nexport type BetterSQLite3DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> = Omit<\n\tDrizzleConfig<TSchema>,\n\t'extensions' | 'cache'\n>;\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: BetterSQLite3DrizzleConfig<TSchema> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\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 BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tBetterSQLite3DrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& BetterSQLite3DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& BetterSQLite3DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as BetterSQLite3DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: BetterSQLite3DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAoE;AACpE,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAClC,mBAA6C;AAC7C,qBAAoC;AAW7B,MAAM,8BACJ,6BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AACjD;AAOA,SAAS,UACR,QACA,SAA8C,CAAC,GAG9C;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,mCAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAMrB,SAAO;AACR;AAEO,SAAS,WAGZ,QAqBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,sBAAAA,QAAO,IAAI,IAAI,sBAAAA,QAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMC,YAAW,IAAI,sBAAAD,QAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUC,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,sBAAAD,QAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAoD;AACrG;AAAA,CAEO,CAAUE,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["Client","instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\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, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema>, 'cache'> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\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 BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAoE;AACpE,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAClC,mBAA6C;AAC7C,qBAAoC;AAW7B,MAAM,8BACJ,6BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAgD,CAAC,GAGhD;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,mCAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAMrB,SAAO;AACR;AAEO,SAAS,WAGZ,QAqBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,sBAAAA,QAAO,IAAI,IAAI,sBAAAA,QAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMC,YAAW,IAAI,sBAAAD,QAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUC,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,sBAAAD,QAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUE,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["Client","instance","drizzle"]}
@@ -8,14 +8,13 @@ export type DrizzleBetterSQLite3DatabaseConfig = ({
8
8
  export declare class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', RunResult, TSchema> {
9
9
  static readonly [entityKind]: string;
10
10
  }
11
- export type BetterSQLite3DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> = Omit<DrizzleConfig<TSchema>, 'extensions' | 'cache'>;
12
11
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(...params: [] | [
13
12
  Database | string
14
13
  ] | [
15
14
  Database | string,
16
- BetterSQLite3DrizzleConfig<TSchema>
15
+ DrizzleConfig<TSchema>
17
16
  ] | [
18
- (BetterSQLite3DrizzleConfig<TSchema> & ({
17
+ (DrizzleConfig<TSchema> & ({
19
18
  connection?: DrizzleBetterSQLite3DatabaseConfig;
20
19
  } | {
21
20
  client: Database;
@@ -24,7 +23,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
24
23
  $client: Database;
25
24
  };
26
25
  export declare namespace drizzle {
27
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: BetterSQLite3DrizzleConfig<TSchema>): BetterSQLite3Database<TSchema> & {
26
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): BetterSQLite3Database<TSchema> & {
28
27
  $client: '$client is not available on drizzle.mock()';
29
28
  };
30
29
  }
@@ -8,14 +8,13 @@ export type DrizzleBetterSQLite3DatabaseConfig = ({
8
8
  export declare class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', RunResult, TSchema> {
9
9
  static readonly [entityKind]: string;
10
10
  }
11
- export type BetterSQLite3DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> = Omit<DrizzleConfig<TSchema>, 'extensions' | 'cache'>;
12
11
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(...params: [] | [
13
12
  Database | string
14
13
  ] | [
15
14
  Database | string,
16
- BetterSQLite3DrizzleConfig<TSchema>
15
+ DrizzleConfig<TSchema>
17
16
  ] | [
18
- (BetterSQLite3DrizzleConfig<TSchema> & ({
17
+ (DrizzleConfig<TSchema> & ({
19
18
  connection?: DrizzleBetterSQLite3DatabaseConfig;
20
19
  } | {
21
20
  client: Database;
@@ -24,7 +23,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
24
23
  $client: Database;
25
24
  };
26
25
  export declare namespace drizzle {
27
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: BetterSQLite3DrizzleConfig<TSchema>): BetterSQLite3Database<TSchema> & {
26
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): BetterSQLite3Database<TSchema> & {
28
27
  $client: '$client is not available on drizzle.mock()';
29
28
  };
30
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\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, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nexport type BetterSQLite3DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> = Omit<\n\tDrizzleConfig<TSchema>,\n\t'extensions' | 'cache'\n>;\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: BetterSQLite3DrizzleConfig<TSchema> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\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 BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tBetterSQLite3DrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& BetterSQLite3DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& BetterSQLite3DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as BetterSQLite3DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: BetterSQLite3DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,OAAO,YAA6D;AACpE,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAA6B,gBAAgB;AAC7C,SAAS,2BAA2B;AAW7B,MAAM,8BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AACjD;AAOA,SAAS,UACR,QACA,SAA8C,CAAC,GAG9C;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,oBAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAMrB,SAAO;AACR;AAEO,SAAS,WAGZ,QAqBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMA,YAAW,IAAI,OAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,OAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAoD;AACrG;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\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, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema>, 'cache'> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\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 BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,OAAO,YAA6D;AACpE,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAA6B,gBAAgB;AAC7C,SAAS,2BAA2B;AAW7B,MAAM,8BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAgD,CAAC,GAGhD;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,oBAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAMrB,SAAO;AACR;AAEO,SAAS,WAGZ,QAqBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMA,YAAW,IAAI,OAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,OAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
@@ -88,12 +88,12 @@ class PreparedQuery extends import_session.SQLitePreparedQuery {
88
88
  this.customResultMapper = customResultMapper;
89
89
  }
90
90
  static [import_entity.entityKind] = "BetterSQLitePreparedQuery";
91
- _run(placeholderValues) {
91
+ run(placeholderValues) {
92
92
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
93
93
  this.logger.logQuery(this.query.sql, params);
94
94
  return this.stmt.run(...params);
95
95
  }
96
- _all(placeholderValues) {
96
+ all(placeholderValues) {
97
97
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
98
98
  if (!fields && !customResultMapper) {
99
99
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -106,7 +106,7 @@ class PreparedQuery extends import_session.SQLitePreparedQuery {
106
106
  }
107
107
  return rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));
108
108
  }
109
- _get(placeholderValues) {
109
+ get(placeholderValues) {
110
110
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
111
111
  this.logger.logQuery(this.query.sql, params);
112
112
  const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
@@ -122,7 +122,7 @@ class PreparedQuery extends import_session.SQLitePreparedQuery {
122
122
  }
123
123
  return (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
124
124
  }
125
- _values(placeholderValues) {
125
+ values(placeholderValues) {
126
126
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
127
127
  this.logger.logQuery(this.query.sql, params);
128
128
  return this.stmt.raw().all(...params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/better-sqlite3/session.ts"],"sourcesContent":["import type { Database, RunResult, Statement } from 'better-sqlite3';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.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 { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery as PreparedQueryBase,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface BetterSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class BetterSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Database,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: BetterSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tconst nativeTx = this.client.transaction(transaction);\n\t\treturn nativeTx[config.behavior ?? 'deferred'](tx);\n\t}\n}\n\nexport class BetterSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends PreparedQueryBase<\n\t{ type: 'sync'; run: RunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: Statement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\t_run(placeholderValues?: Record<string, unknown>): RunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.run(...params);\n\t}\n\n\t_all(placeholderValues?: Record<string, unknown>): T['all'] {\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.all(...params);\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\t_get(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.get(...params);\n\t\t}\n\n\t\tconst row = stmt.raw().get(...params) as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper([row]) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\t_values(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.raw().all(...params) as T['values'];\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["PreparedQueryBase"]}
1
+ {"version":3,"sources":["../../src/better-sqlite3/session.ts"],"sourcesContent":["import type { Database, RunResult, Statement } from 'better-sqlite3';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.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 { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery as PreparedQueryBase,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface BetterSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class BetterSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Database,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: BetterSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tconst nativeTx = this.client.transaction(transaction);\n\t\treturn nativeTx[config.behavior ?? 'deferred'](tx);\n\t}\n}\n\nexport class BetterSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends PreparedQueryBase<\n\t{ type: 'sync'; run: RunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: Statement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): RunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.run(...params);\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\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.all(...params);\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.get(...params);\n\t\t}\n\n\t\tconst row = stmt.raw().get(...params) as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper([row]) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.raw().all(...params) as T['values'];\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["PreparedQueryBase"]}
@@ -49,9 +49,9 @@ export declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQuery
49
49
  type: 'select' | 'update' | 'delete' | 'insert';
50
50
  tables: string[];
51
51
  } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
52
- _run(placeholderValues?: Record<string, unknown>): RunResult;
53
- _all(placeholderValues?: Record<string, unknown>): T['all'];
54
- _get(placeholderValues?: Record<string, unknown>): T['get'];
55
- _values(placeholderValues?: Record<string, unknown>): T['values'];
52
+ run(placeholderValues?: Record<string, unknown>): RunResult;
53
+ all(placeholderValues?: Record<string, unknown>): T['all'];
54
+ get(placeholderValues?: Record<string, unknown>): T['get'];
55
+ values(placeholderValues?: Record<string, unknown>): T['values'];
56
56
  }
57
57
  export {};
@@ -49,9 +49,9 @@ export declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQuery
49
49
  type: 'select' | 'update' | 'delete' | 'insert';
50
50
  tables: string[];
51
51
  } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
52
- _run(placeholderValues?: Record<string, unknown>): RunResult;
53
- _all(placeholderValues?: Record<string, unknown>): T['all'];
54
- _get(placeholderValues?: Record<string, unknown>): T['get'];
55
- _values(placeholderValues?: Record<string, unknown>): T['values'];
52
+ run(placeholderValues?: Record<string, unknown>): RunResult;
53
+ all(placeholderValues?: Record<string, unknown>): T['all'];
54
+ get(placeholderValues?: Record<string, unknown>): T['get'];
55
+ values(placeholderValues?: Record<string, unknown>): T['values'];
56
56
  }
57
57
  export {};
@@ -66,12 +66,12 @@ class PreparedQuery extends PreparedQueryBase {
66
66
  this.customResultMapper = customResultMapper;
67
67
  }
68
68
  static [entityKind] = "BetterSQLitePreparedQuery";
69
- _run(placeholderValues) {
69
+ run(placeholderValues) {
70
70
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
71
71
  this.logger.logQuery(this.query.sql, params);
72
72
  return this.stmt.run(...params);
73
73
  }
74
- _all(placeholderValues) {
74
+ all(placeholderValues) {
75
75
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
76
76
  if (!fields && !customResultMapper) {
77
77
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
@@ -84,7 +84,7 @@ class PreparedQuery extends PreparedQueryBase {
84
84
  }
85
85
  return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
86
86
  }
87
- _get(placeholderValues) {
87
+ get(placeholderValues) {
88
88
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
89
89
  this.logger.logQuery(this.query.sql, params);
90
90
  const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
@@ -100,7 +100,7 @@ class PreparedQuery extends PreparedQueryBase {
100
100
  }
101
101
  return mapResultRow(fields, row, joinsNotNullableMap);
102
102
  }
103
- _values(placeholderValues) {
103
+ values(placeholderValues) {
104
104
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
105
105
  this.logger.logQuery(this.query.sql, params);
106
106
  return this.stmt.raw().all(...params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/better-sqlite3/session.ts"],"sourcesContent":["import type { Database, RunResult, Statement } from 'better-sqlite3';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.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 { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery as PreparedQueryBase,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface BetterSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class BetterSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Database,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: BetterSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tconst nativeTx = this.client.transaction(transaction);\n\t\treturn nativeTx[config.behavior ?? 'deferred'](tx);\n\t}\n}\n\nexport class BetterSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends PreparedQueryBase<\n\t{ type: 'sync'; run: RunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: Statement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\t_run(placeholderValues?: Record<string, unknown>): RunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.run(...params);\n\t}\n\n\t_all(placeholderValues?: Record<string, unknown>): T['all'] {\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.all(...params);\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\t_get(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.get(...params);\n\t\t}\n\n\t\tconst row = stmt.raw().get(...params) as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper([row]) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\t_values(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.raw().all(...params) as T['values'];\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/better-sqlite3/session.ts"],"sourcesContent":["import type { Database, RunResult, Statement } from 'better-sqlite3';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.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 { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery as PreparedQueryBase,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface BetterSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class BetterSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Database,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: BetterSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tconst nativeTx = this.client.transaction(transaction);\n\t\treturn nativeTx[config.behavior ?? 'deferred'](tx);\n\t}\n}\n\nexport class BetterSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', RunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: BetterSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new BetterSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends PreparedQueryBase<\n\t{ type: 'sync'; run: RunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: Statement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): RunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.run(...params);\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\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.all(...params);\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.get(...params);\n\t\t}\n\n\t\tconst row = stmt.raw().get(...params) as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper([row]) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.raw().all(...params) as T['values'];\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -53,9 +53,8 @@ function construct(client, config = {}) {
53
53
  tableNamesMap: tablesConfig.tableNamesMap
54
54
  };
55
55
  }
56
- const extensions = config.extensions;
57
- const session = new import_session.BunSQLSession(client, dialect, schema, { logger, cache: config.cache }, extensions);
58
- const db = new BunSQLDatabase(dialect, session, schema, extensions);
56
+ const session = new import_session.BunSQLSession(client, dialect, schema, { logger, cache: config.cache });
57
+ const db = new BunSQLDatabase(dialect, session, schema);
59
58
  db.$client = client;
60
59
  db.$cache = config.cache;
61
60
  if (db.$cache) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, DrizzlePgExtension> = {},\n): BunSQLDatabase<TSchema> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ 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 extensions = config.extensions;\n\tconst session = new BunSQLSession(client, dialect, schema, { logger, cache: config.cache }, extensions);\n\tconst db = new BunSQLDatabase(dialect, session, schema as any, extensions) as BunSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzlePgExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema, DrizzlePgExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzlePgExtension>,\n\t): BunSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAoB;AACpB,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAC1B,uBAKO;AACP,mBAA6C;AAE7C,qBAA8B;AAEvB,MAAM,uBAEH,qBAA0C;AAAA,EACnD,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAqD,CAAC,GAGrD;AACD,QAAM,UAAU,IAAI,yBAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,aAAa,OAAO;AAC1B,QAAM,UAAU,IAAI,6BAAc,QAAQ,SAAS,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,GAAG,UAAU;AACtG,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,UAAU;AACzE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,eAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,eAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,eAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA2D;AAC3G;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAXO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BunSQLDatabase<TSchema> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ 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 BunSQLSession(client, dialect, schema, { logger, cache: config.cache });\n\tconst db = new BunSQLDatabase(dialect, session, schema as any) as BunSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BunSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAoB;AACpB,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAC1B,uBAKO;AACP,mBAA6C;AAE7C,qBAA8B;AAEvB,MAAM,uBAEH,qBAA0C;AAAA,EACnD,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,yBAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,6BAAc,QAAQ,SAAS,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC1F,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,MAAa;AAC7D,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,eAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,eAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,eAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAXO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
@@ -1,7 +1,6 @@
1
1
  import type { SQLOptions } from 'bun';
2
2
  import { SQL } from 'bun';
3
3
  import { entityKind } from "../entity.cjs";
4
- import type { DrizzlePgExtension } from "../extension-core/pg/index.cjs";
5
4
  import { PgDatabase } from "../pg-core/db.cjs";
6
5
  import { type DrizzleConfig } from "../utils.cjs";
7
6
  import type { BunSQLQueryResultHKT } from "./session.cjs";
@@ -12,9 +11,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
12
11
  TClient | string
13
12
  ] | [
14
13
  TClient | string,
15
- DrizzleConfig<TSchema, DrizzlePgExtension>
14
+ DrizzleConfig<TSchema>
16
15
  ] | [
17
- (DrizzleConfig<TSchema, DrizzlePgExtension> & ({
16
+ (DrizzleConfig<TSchema> & ({
18
17
  connection: string | ({
19
18
  url?: string;
20
19
  } & SQLOptions);
@@ -25,7 +24,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
25
24
  $client: TClient;
26
25
  };
27
26
  export declare namespace drizzle {
28
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): BunSQLDatabase<TSchema> & {
27
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): BunSQLDatabase<TSchema> & {
29
28
  $client: '$client is not available on drizzle.mock()';
30
29
  };
31
30
  }
@@ -1,7 +1,6 @@
1
1
  import type { SQLOptions } from 'bun';
2
2
  import { SQL } from 'bun';
3
3
  import { entityKind } from "../entity.js";
4
- import type { DrizzlePgExtension } from "../extension-core/pg/index.js";
5
4
  import { PgDatabase } from "../pg-core/db.js";
6
5
  import { type DrizzleConfig } from "../utils.js";
7
6
  import type { BunSQLQueryResultHKT } from "./session.js";
@@ -12,9 +11,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
12
11
  TClient | string
13
12
  ] | [
14
13
  TClient | string,
15
- DrizzleConfig<TSchema, DrizzlePgExtension>
14
+ DrizzleConfig<TSchema>
16
15
  ] | [
17
- (DrizzleConfig<TSchema, DrizzlePgExtension> & ({
16
+ (DrizzleConfig<TSchema> & ({
18
17
  connection: string | ({
19
18
  url?: string;
20
19
  } & SQLOptions);
@@ -25,7 +24,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
25
24
  $client: TClient;
26
25
  };
27
26
  export declare namespace drizzle {
28
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzlePgExtension>): BunSQLDatabase<TSchema> & {
27
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): BunSQLDatabase<TSchema> & {
29
28
  $client: '$client is not available on drizzle.mock()';
30
29
  };
31
30
  }
package/bun-sql/driver.js CHANGED
@@ -32,9 +32,8 @@ function construct(client, config = {}) {
32
32
  tableNamesMap: tablesConfig.tableNamesMap
33
33
  };
34
34
  }
35
- const extensions = config.extensions;
36
- const session = new BunSQLSession(client, dialect, schema, { logger, cache: config.cache }, extensions);
37
- const db = new BunSQLDatabase(dialect, session, schema, extensions);
35
+ const session = new BunSQLSession(client, dialect, schema, { logger, cache: config.cache });
36
+ const db = new BunSQLDatabase(dialect, session, schema);
38
37
  db.$client = client;
39
38
  db.$cache = config.cache;
40
39
  if (db.$cache) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzlePgExtension } from '~/extension-core/pg/index.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, DrizzlePgExtension> = {},\n): BunSQLDatabase<TSchema> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ 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 extensions = config.extensions;\n\tconst session = new BunSQLSession(client, dialect, schema, { logger, cache: config.cache }, extensions);\n\tconst db = new BunSQLDatabase(dialect, session, schema as any, extensions) as BunSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzlePgExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzlePgExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema, DrizzlePgExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzlePgExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzlePgExtension>,\n\t): BunSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":"AAGA,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,WAA0C;AAAA,EACnD,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAqD,CAAC,GAGrD;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,aAAa,OAAO;AAC1B,QAAM,UAAU,IAAI,cAAc,QAAQ,SAAS,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,GAAG,UAAU;AACtG,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,UAAU;AACzE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,IAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,IAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA2D;AAC3G;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAXO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BunSQLDatabase<TSchema> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ 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 BunSQLSession(client, dialect, schema, { logger, cache: config.cache });\n\tconst db = new BunSQLDatabase(dialect, session, schema as any) as BunSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BunSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":"AAGA,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,WAA0C;AAAA,EACnD,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,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,cAAc,QAAQ,SAAS,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC1F,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,MAAa;AAC7D,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,IAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,IAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAXO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}