drizzle-orm 1.0.0-beta.22-eaa25cd → 1.0.0-beta.22-46020ee

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 (431) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/codecs.cjs +162 -0
  4. package/aws-data-api/pg/codecs.cjs.map +1 -0
  5. package/aws-data-api/pg/codecs.d.cts +9 -0
  6. package/aws-data-api/pg/codecs.d.ts +9 -0
  7. package/aws-data-api/pg/codecs.js +160 -0
  8. package/aws-data-api/pg/codecs.js.map +1 -0
  9. package/aws-data-api/pg/driver.cjs +4 -157
  10. package/aws-data-api/pg/driver.cjs.map +1 -1
  11. package/aws-data-api/pg/driver.d.cts +1 -5
  12. package/aws-data-api/pg/driver.d.ts +1 -5
  13. package/aws-data-api/pg/driver.js +4 -156
  14. package/aws-data-api/pg/driver.js.map +1 -1
  15. package/aws-data-api/pg/index.cjs +2 -1
  16. package/aws-data-api/pg/index.d.cts +2 -1
  17. package/aws-data-api/pg/index.d.ts +2 -1
  18. package/aws-data-api/pg/index.js +2 -1
  19. package/better-sqlite3/driver.cjs +2 -1
  20. package/better-sqlite3/driver.cjs.map +1 -1
  21. package/better-sqlite3/driver.js +2 -1
  22. package/better-sqlite3/driver.js.map +1 -1
  23. package/better-sqlite3/session.cjs +8 -8
  24. package/better-sqlite3/session.cjs.map +1 -1
  25. package/better-sqlite3/session.d.cts +3 -3
  26. package/better-sqlite3/session.d.ts +3 -3
  27. package/better-sqlite3/session.js +8 -8
  28. package/better-sqlite3/session.js.map +1 -1
  29. package/bun-sql/mysql/driver.cjs +2 -1
  30. package/bun-sql/mysql/driver.cjs.map +1 -1
  31. package/bun-sql/mysql/driver.js +2 -1
  32. package/bun-sql/mysql/driver.js.map +1 -1
  33. package/bun-sql/mysql/session.cjs +8 -8
  34. package/bun-sql/mysql/session.cjs.map +1 -1
  35. package/bun-sql/mysql/session.d.cts +3 -3
  36. package/bun-sql/mysql/session.d.ts +3 -3
  37. package/bun-sql/mysql/session.js +8 -8
  38. package/bun-sql/mysql/session.js.map +1 -1
  39. package/bun-sql/postgres/codecs.cjs +176 -0
  40. package/bun-sql/postgres/codecs.cjs.map +1 -0
  41. package/bun-sql/postgres/codecs.d.cts +9 -0
  42. package/bun-sql/postgres/codecs.d.ts +9 -0
  43. package/bun-sql/postgres/codecs.js +174 -0
  44. package/bun-sql/postgres/codecs.js.map +1 -0
  45. package/bun-sql/postgres/driver.cjs +4 -171
  46. package/bun-sql/postgres/driver.cjs.map +1 -1
  47. package/bun-sql/postgres/driver.d.cts +1 -5
  48. package/bun-sql/postgres/driver.d.ts +1 -5
  49. package/bun-sql/postgres/driver.js +4 -170
  50. package/bun-sql/postgres/driver.js.map +1 -1
  51. package/bun-sql/postgres/index.cjs +2 -1
  52. package/bun-sql/postgres/index.d.cts +2 -1
  53. package/bun-sql/postgres/index.d.ts +2 -1
  54. package/bun-sql/postgres/index.js +2 -1
  55. package/bun-sql/sqlite/driver.cjs +2 -1
  56. package/bun-sql/sqlite/driver.cjs.map +1 -1
  57. package/bun-sql/sqlite/driver.js +2 -1
  58. package/bun-sql/sqlite/driver.js.map +1 -1
  59. package/bun-sql/sqlite/session.cjs +8 -8
  60. package/bun-sql/sqlite/session.cjs.map +1 -1
  61. package/bun-sql/sqlite/session.d.cts +3 -3
  62. package/bun-sql/sqlite/session.d.ts +3 -3
  63. package/bun-sql/sqlite/session.js +8 -8
  64. package/bun-sql/sqlite/session.js.map +1 -1
  65. package/bun-sqlite/driver.cjs +2 -1
  66. package/bun-sqlite/driver.cjs.map +1 -1
  67. package/bun-sqlite/driver.js +2 -1
  68. package/bun-sqlite/driver.js.map +1 -1
  69. package/bun-sqlite/session.cjs +8 -8
  70. package/bun-sqlite/session.cjs.map +1 -1
  71. package/bun-sqlite/session.d.cts +3 -3
  72. package/bun-sqlite/session.d.ts +3 -3
  73. package/bun-sqlite/session.js +8 -8
  74. package/bun-sqlite/session.js.map +1 -1
  75. package/cockroach/driver.cjs +3 -2
  76. package/cockroach/driver.cjs.map +1 -1
  77. package/cockroach/driver.d.cts +1 -1
  78. package/cockroach/driver.d.ts +1 -1
  79. package/cockroach/driver.js +3 -2
  80. package/cockroach/driver.js.map +1 -1
  81. package/cockroach/session.cjs +4 -4
  82. package/cockroach/session.cjs.map +1 -1
  83. package/cockroach/session.d.cts +3 -3
  84. package/cockroach/session.d.ts +3 -3
  85. package/cockroach/session.js +4 -4
  86. package/cockroach/session.js.map +1 -1
  87. package/durable-sqlite/driver.cjs +2 -1
  88. package/durable-sqlite/driver.cjs.map +1 -1
  89. package/durable-sqlite/driver.js +2 -1
  90. package/durable-sqlite/driver.js.map +1 -1
  91. package/durable-sqlite/session.cjs +8 -8
  92. package/durable-sqlite/session.cjs.map +1 -1
  93. package/durable-sqlite/session.d.cts +3 -3
  94. package/durable-sqlite/session.d.ts +3 -3
  95. package/durable-sqlite/session.js +8 -8
  96. package/durable-sqlite/session.js.map +1 -1
  97. package/effect-postgres/codecs.cjs +175 -0
  98. package/effect-postgres/codecs.cjs.map +1 -0
  99. package/effect-postgres/codecs.d.cts +9 -0
  100. package/effect-postgres/codecs.d.ts +9 -0
  101. package/effect-postgres/codecs.js +173 -0
  102. package/effect-postgres/codecs.js.map +1 -0
  103. package/effect-postgres/driver.cjs +5 -171
  104. package/effect-postgres/driver.cjs.map +1 -1
  105. package/effect-postgres/driver.d.cts +3 -7
  106. package/effect-postgres/driver.d.ts +3 -7
  107. package/effect-postgres/driver.js +5 -170
  108. package/effect-postgres/driver.js.map +1 -1
  109. package/effect-postgres/index.cjs +2 -1
  110. package/effect-postgres/index.d.cts +2 -1
  111. package/effect-postgres/index.d.ts +2 -1
  112. package/effect-postgres/index.js +2 -1
  113. package/effect-postgres/migrator.d.cts +1 -1
  114. package/effect-postgres/migrator.d.ts +1 -1
  115. package/effect-postgres/session.cjs.map +1 -1
  116. package/effect-postgres/session.d.cts +1 -1
  117. package/effect-postgres/session.d.ts +1 -1
  118. package/effect-postgres/session.js.map +1 -1
  119. package/expo-sqlite/driver.cjs +2 -1
  120. package/expo-sqlite/driver.cjs.map +1 -1
  121. package/expo-sqlite/driver.js +2 -1
  122. package/expo-sqlite/driver.js.map +1 -1
  123. package/expo-sqlite/session.cjs +8 -8
  124. package/expo-sqlite/session.cjs.map +1 -1
  125. package/expo-sqlite/session.d.cts +3 -3
  126. package/expo-sqlite/session.d.ts +3 -3
  127. package/expo-sqlite/session.js +8 -8
  128. package/expo-sqlite/session.js.map +1 -1
  129. package/index.cjs +1 -0
  130. package/index.js +2 -2
  131. package/libsql/driver-core.cjs +2 -1
  132. package/libsql/driver-core.cjs.map +1 -1
  133. package/libsql/driver-core.js +2 -1
  134. package/libsql/driver-core.js.map +1 -1
  135. package/libsql/session.cjs +8 -8
  136. package/libsql/session.cjs.map +1 -1
  137. package/libsql/session.d.cts +3 -3
  138. package/libsql/session.d.ts +3 -3
  139. package/libsql/session.js +8 -8
  140. package/libsql/session.js.map +1 -1
  141. package/mysql-proxy/driver.cjs +2 -1
  142. package/mysql-proxy/driver.cjs.map +1 -1
  143. package/mysql-proxy/driver.js +2 -1
  144. package/mysql-proxy/driver.js.map +1 -1
  145. package/mysql-proxy/session.cjs +6 -6
  146. package/mysql-proxy/session.cjs.map +1 -1
  147. package/mysql-proxy/session.d.cts +3 -3
  148. package/mysql-proxy/session.d.ts +3 -3
  149. package/mysql-proxy/session.js +6 -6
  150. package/mysql-proxy/session.js.map +1 -1
  151. package/mysql2/driver.cjs +2 -1
  152. package/mysql2/driver.cjs.map +1 -1
  153. package/mysql2/driver.d.cts +1 -1
  154. package/mysql2/driver.d.ts +1 -1
  155. package/mysql2/driver.js +2 -1
  156. package/mysql2/driver.js.map +1 -1
  157. package/mysql2/session.cjs +7 -7
  158. package/mysql2/session.cjs.map +1 -1
  159. package/mysql2/session.d.cts +3 -3
  160. package/mysql2/session.d.ts +3 -3
  161. package/mysql2/session.js +7 -7
  162. package/mysql2/session.js.map +1 -1
  163. package/neon-http/codecs.cjs +66 -0
  164. package/neon-http/codecs.cjs.map +1 -0
  165. package/neon-http/codecs.d.cts +9 -0
  166. package/neon-http/codecs.d.ts +9 -0
  167. package/neon-http/codecs.js +64 -0
  168. package/neon-http/codecs.js.map +1 -0
  169. package/neon-http/driver.cjs +4 -61
  170. package/neon-http/driver.cjs.map +1 -1
  171. package/neon-http/driver.d.cts +1 -5
  172. package/neon-http/driver.d.ts +1 -5
  173. package/neon-http/driver.js +4 -60
  174. package/neon-http/driver.js.map +1 -1
  175. package/neon-http/index.cjs +2 -1
  176. package/neon-http/index.d.cts +2 -1
  177. package/neon-http/index.d.ts +2 -1
  178. package/neon-http/index.js +2 -1
  179. package/neon-serverless/codecs.cjs +65 -0
  180. package/neon-serverless/codecs.cjs.map +1 -0
  181. package/neon-serverless/codecs.d.cts +9 -0
  182. package/neon-serverless/codecs.d.ts +9 -0
  183. package/neon-serverless/codecs.js +63 -0
  184. package/neon-serverless/codecs.js.map +1 -0
  185. package/neon-serverless/driver.cjs +4 -60
  186. package/neon-serverless/driver.cjs.map +1 -1
  187. package/neon-serverless/driver.d.cts +2 -6
  188. package/neon-serverless/driver.d.ts +2 -6
  189. package/neon-serverless/driver.js +4 -59
  190. package/neon-serverless/driver.js.map +1 -1
  191. package/neon-serverless/index.cjs +2 -1
  192. package/neon-serverless/index.d.cts +2 -1
  193. package/neon-serverless/index.d.ts +2 -1
  194. package/neon-serverless/index.js +2 -1
  195. package/netlify-db/codecs.cjs +122 -0
  196. package/netlify-db/codecs.cjs.map +1 -0
  197. package/netlify-db/codecs.d.cts +10 -0
  198. package/netlify-db/codecs.d.ts +10 -0
  199. package/netlify-db/codecs.js +119 -0
  200. package/netlify-db/codecs.js.map +1 -0
  201. package/netlify-db/driver.cjs +4 -118
  202. package/netlify-db/driver.cjs.map +1 -1
  203. package/netlify-db/driver.d.cts +1 -6
  204. package/netlify-db/driver.d.ts +1 -6
  205. package/netlify-db/driver.js +4 -116
  206. package/netlify-db/driver.js.map +1 -1
  207. package/netlify-db/index.cjs +3 -2
  208. package/netlify-db/index.d.cts +2 -1
  209. package/netlify-db/index.d.ts +2 -1
  210. package/netlify-db/index.js +2 -1
  211. package/netlify-db/session.d.ts +1 -1
  212. package/node-mssql/driver.cjs +3 -2
  213. package/node-mssql/driver.cjs.map +1 -1
  214. package/node-mssql/driver.d.cts +1 -1
  215. package/node-mssql/driver.d.ts +1 -1
  216. package/node-mssql/driver.js +3 -2
  217. package/node-mssql/driver.js.map +1 -1
  218. package/node-mssql/session.cjs +5 -5
  219. package/node-mssql/session.cjs.map +1 -1
  220. package/node-mssql/session.d.cts +3 -3
  221. package/node-mssql/session.d.ts +3 -3
  222. package/node-mssql/session.js +5 -5
  223. package/node-mssql/session.js.map +1 -1
  224. package/node-postgres/codecs.cjs +65 -0
  225. package/node-postgres/codecs.cjs.map +1 -0
  226. package/node-postgres/codecs.d.cts +9 -0
  227. package/node-postgres/codecs.d.ts +9 -0
  228. package/node-postgres/codecs.js +63 -0
  229. package/node-postgres/codecs.js.map +1 -0
  230. package/node-postgres/driver.cjs +4 -60
  231. package/node-postgres/driver.cjs.map +1 -1
  232. package/node-postgres/driver.d.cts +1 -5
  233. package/node-postgres/driver.d.ts +1 -5
  234. package/node-postgres/driver.js +4 -59
  235. package/node-postgres/driver.js.map +1 -1
  236. package/node-postgres/index.cjs +2 -1
  237. package/node-postgres/index.d.cts +2 -1
  238. package/node-postgres/index.d.ts +2 -1
  239. package/node-postgres/index.js +2 -1
  240. package/node-sqlite/driver.cjs +5 -1
  241. package/node-sqlite/driver.cjs.map +1 -1
  242. package/node-sqlite/driver.js +5 -1
  243. package/node-sqlite/driver.js.map +1 -1
  244. package/node-sqlite/session.cjs +14 -8
  245. package/node-sqlite/session.cjs.map +1 -1
  246. package/node-sqlite/session.d.cts +8 -3
  247. package/node-sqlite/session.d.ts +8 -3
  248. package/node-sqlite/session.js +15 -9
  249. package/node-sqlite/session.js.map +1 -1
  250. package/op-sqlite/driver.cjs +2 -1
  251. package/op-sqlite/driver.cjs.map +1 -1
  252. package/op-sqlite/driver.js +2 -1
  253. package/op-sqlite/driver.js.map +1 -1
  254. package/op-sqlite/session.cjs +8 -8
  255. package/op-sqlite/session.cjs.map +1 -1
  256. package/op-sqlite/session.d.cts +3 -3
  257. package/op-sqlite/session.d.ts +3 -3
  258. package/op-sqlite/session.js +8 -8
  259. package/op-sqlite/session.js.map +1 -1
  260. package/package.json +133 -1
  261. package/pg-core/effect/session.d.cts +1 -1
  262. package/pg-core/effect/session.d.ts +1 -1
  263. package/pg-proxy/driver.cjs +4 -4
  264. package/pg-proxy/driver.cjs.map +1 -1
  265. package/pg-proxy/driver.d.ts +1 -1
  266. package/pg-proxy/driver.js +4 -4
  267. package/pg-proxy/driver.js.map +1 -1
  268. package/pg-proxy/session.cjs.map +1 -1
  269. package/pg-proxy/session.d.cts +0 -1
  270. package/pg-proxy/session.d.ts +0 -1
  271. package/pg-proxy/session.js.map +1 -1
  272. package/pglite/codecs.cjs +92 -0
  273. package/pglite/codecs.cjs.map +1 -0
  274. package/pglite/codecs.d.cts +9 -0
  275. package/pglite/codecs.d.ts +9 -0
  276. package/pglite/codecs.js +90 -0
  277. package/pglite/codecs.js.map +1 -0
  278. package/pglite/driver.cjs +3 -86
  279. package/pglite/driver.cjs.map +1 -1
  280. package/pglite/driver.d.cts +1 -5
  281. package/pglite/driver.d.ts +1 -5
  282. package/pglite/driver.js +4 -86
  283. package/pglite/driver.js.map +1 -1
  284. package/pglite/index.cjs +2 -1
  285. package/pglite/index.d.cts +2 -1
  286. package/pglite/index.d.ts +2 -1
  287. package/pglite/index.js +2 -1
  288. package/planetscale-serverless/driver.cjs +2 -1
  289. package/planetscale-serverless/driver.cjs.map +1 -1
  290. package/planetscale-serverless/driver.d.cts +1 -1
  291. package/planetscale-serverless/driver.d.ts +1 -1
  292. package/planetscale-serverless/driver.js +2 -1
  293. package/planetscale-serverless/driver.js.map +1 -1
  294. package/planetscale-serverless/session.cjs +6 -6
  295. package/planetscale-serverless/session.cjs.map +1 -1
  296. package/planetscale-serverless/session.d.cts +3 -3
  297. package/planetscale-serverless/session.d.ts +3 -3
  298. package/planetscale-serverless/session.js +6 -6
  299. package/planetscale-serverless/session.js.map +1 -1
  300. package/postgres-js/codecs.cjs +147 -0
  301. package/postgres-js/codecs.cjs.map +1 -0
  302. package/postgres-js/codecs.d.cts +9 -0
  303. package/postgres-js/codecs.d.ts +9 -0
  304. package/postgres-js/codecs.js +145 -0
  305. package/postgres-js/codecs.js.map +1 -0
  306. package/postgres-js/driver.cjs +4 -142
  307. package/postgres-js/driver.cjs.map +1 -1
  308. package/postgres-js/driver.d.cts +1 -5
  309. package/postgres-js/driver.d.ts +1 -5
  310. package/postgres-js/driver.js +4 -141
  311. package/postgres-js/driver.js.map +1 -1
  312. package/postgres-js/index.cjs +2 -1
  313. package/postgres-js/index.d.cts +2 -1
  314. package/postgres-js/index.d.ts +2 -1
  315. package/postgres-js/index.js +2 -1
  316. package/singlestore/driver.cjs +3 -2
  317. package/singlestore/driver.cjs.map +1 -1
  318. package/singlestore/driver.d.cts +1 -1
  319. package/singlestore/driver.d.ts +1 -1
  320. package/singlestore/driver.js +3 -2
  321. package/singlestore/driver.js.map +1 -1
  322. package/singlestore/session.cjs +7 -7
  323. package/singlestore/session.cjs.map +1 -1
  324. package/singlestore/session.d.cts +3 -3
  325. package/singlestore/session.d.ts +3 -3
  326. package/singlestore/session.js +7 -7
  327. package/singlestore/session.js.map +1 -1
  328. package/singlestore-proxy/driver.cjs +2 -1
  329. package/singlestore-proxy/driver.cjs.map +1 -1
  330. package/singlestore-proxy/driver.js +2 -1
  331. package/singlestore-proxy/driver.js.map +1 -1
  332. package/singlestore-proxy/session.cjs +6 -6
  333. package/singlestore-proxy/session.cjs.map +1 -1
  334. package/singlestore-proxy/session.d.cts +3 -3
  335. package/singlestore-proxy/session.d.ts +3 -3
  336. package/singlestore-proxy/session.js +6 -6
  337. package/singlestore-proxy/session.js.map +1 -1
  338. package/sql-js/driver.cjs +2 -1
  339. package/sql-js/driver.cjs.map +1 -1
  340. package/sql-js/driver.js +2 -1
  341. package/sql-js/driver.js.map +1 -1
  342. package/sql-js/session.cjs +8 -8
  343. package/sql-js/session.cjs.map +1 -1
  344. package/sql-js/session.d.cts +3 -3
  345. package/sql-js/session.d.ts +3 -3
  346. package/sql-js/session.js +8 -8
  347. package/sql-js/session.js.map +1 -1
  348. package/sqlite-cloud/driver.cjs +2 -1
  349. package/sqlite-cloud/driver.cjs.map +1 -1
  350. package/sqlite-cloud/driver.js +2 -1
  351. package/sqlite-cloud/driver.js.map +1 -1
  352. package/sqlite-cloud/session.cjs +8 -8
  353. package/sqlite-cloud/session.cjs.map +1 -1
  354. package/sqlite-cloud/session.d.cts +3 -3
  355. package/sqlite-cloud/session.d.ts +3 -3
  356. package/sqlite-cloud/session.js +8 -8
  357. package/sqlite-cloud/session.js.map +1 -1
  358. package/sqlite-proxy/driver.cjs +2 -1
  359. package/sqlite-proxy/driver.cjs.map +1 -1
  360. package/sqlite-proxy/driver.js +2 -1
  361. package/sqlite-proxy/driver.js.map +1 -1
  362. package/sqlite-proxy/session.cjs +8 -8
  363. package/sqlite-proxy/session.cjs.map +1 -1
  364. package/sqlite-proxy/session.d.cts +3 -3
  365. package/sqlite-proxy/session.d.ts +3 -3
  366. package/sqlite-proxy/session.js +8 -8
  367. package/sqlite-proxy/session.js.map +1 -1
  368. package/tidb-serverless/driver.cjs +2 -1
  369. package/tidb-serverless/driver.cjs.map +1 -1
  370. package/tidb-serverless/driver.d.cts +1 -1
  371. package/tidb-serverless/driver.d.ts +1 -1
  372. package/tidb-serverless/driver.js +2 -1
  373. package/tidb-serverless/driver.js.map +1 -1
  374. package/tidb-serverless/session.cjs +6 -6
  375. package/tidb-serverless/session.cjs.map +1 -1
  376. package/tidb-serverless/session.d.cts +3 -3
  377. package/tidb-serverless/session.d.ts +3 -3
  378. package/tidb-serverless/session.js +6 -6
  379. package/tidb-serverless/session.js.map +1 -1
  380. package/tursodatabase/driver-core.cjs +2 -1
  381. package/tursodatabase/driver-core.cjs.map +1 -1
  382. package/tursodatabase/driver-core.js +2 -1
  383. package/tursodatabase/driver-core.js.map +1 -1
  384. package/tursodatabase/session.cjs +8 -8
  385. package/tursodatabase/session.cjs.map +1 -1
  386. package/tursodatabase/session.d.cts +3 -3
  387. package/tursodatabase/session.d.ts +3 -3
  388. package/tursodatabase/session.js +8 -8
  389. package/tursodatabase/session.js.map +1 -1
  390. package/utils.cjs +17 -0
  391. package/utils.cjs.map +1 -1
  392. package/utils.js +17 -1
  393. package/utils.js.map +1 -1
  394. package/vercel-postgres/codecs.cjs +65 -0
  395. package/vercel-postgres/codecs.cjs.map +1 -0
  396. package/vercel-postgres/codecs.d.cts +9 -0
  397. package/vercel-postgres/codecs.d.ts +9 -0
  398. package/vercel-postgres/codecs.js +63 -0
  399. package/vercel-postgres/codecs.js.map +1 -0
  400. package/vercel-postgres/driver.cjs +3 -60
  401. package/vercel-postgres/driver.cjs.map +1 -1
  402. package/vercel-postgres/driver.d.cts +1 -5
  403. package/vercel-postgres/driver.d.ts +1 -5
  404. package/vercel-postgres/driver.js +4 -60
  405. package/vercel-postgres/driver.js.map +1 -1
  406. package/vercel-postgres/index.cjs +2 -1
  407. package/vercel-postgres/index.d.cts +2 -1
  408. package/vercel-postgres/index.d.ts +2 -1
  409. package/vercel-postgres/index.js +2 -1
  410. package/version.cjs +1 -1
  411. package/version.cjs.map +1 -1
  412. package/version.d.cts +1 -1
  413. package/version.d.ts +1 -1
  414. package/version.js +1 -1
  415. package/version.js.map +1 -1
  416. package/xata-http/codecs.cjs +168 -0
  417. package/xata-http/codecs.cjs.map +1 -0
  418. package/xata-http/codecs.d.cts +9 -0
  419. package/xata-http/codecs.d.ts +9 -0
  420. package/xata-http/codecs.js +166 -0
  421. package/xata-http/codecs.js.map +1 -0
  422. package/xata-http/driver.cjs +4 -163
  423. package/xata-http/driver.cjs.map +1 -1
  424. package/xata-http/driver.d.cts +1 -5
  425. package/xata-http/driver.d.ts +1 -5
  426. package/xata-http/driver.js +4 -162
  427. package/xata-http/driver.js.map +1 -1
  428. package/xata-http/index.cjs +2 -1
  429. package/xata-http/index.d.cts +2 -1
  430. package/xata-http/index.d.ts +2 -1
  431. package/xata-http/index.js +2 -1
@@ -1,7 +1,7 @@
1
+ import { effectPgCodecs } from "./codecs.js";
1
2
  import { EffectPgSession } from "./session.js";
2
3
  import { entityKind } from "../entity.js";
3
- import { makePgArray, parsePgArray } from "../pg-core/array.js";
4
- import { arrayCompatNormalize, arrayCompatNormalizeInput, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
4
+ import { jitCompatCheck } from "../utils.js";
5
5
  import { PgDialect } from "../pg-core/dialect.js";
6
6
  import { PgClient } from "@effect/sql-pg/PgClient";
7
7
  import * as Effect from "effect/Effect";
@@ -15,171 +15,6 @@ var EffectPgDatabase = class extends PgEffectDatabase {
15
15
  static [entityKind] = "EffectPgDatabase";
16
16
  };
17
17
  const DefaultServices = Layer.merge(EffectCache.Default, EffectLogger.Default);
18
- const effectPgCodecs = refineGenericPgCodecs({
19
- bigint: {
20
- normalize: BigInt,
21
- normalizeArray: arrayCompatNormalize(BigInt),
22
- normalizeParamArray: makePgArray
23
- },
24
- bigserial: {
25
- normalize: BigInt,
26
- normalizeArray: arrayCompatNormalize(BigInt),
27
- normalizeParamArray: makePgArray
28
- },
29
- bit: {
30
- normalizeArray: parsePgArray,
31
- normalizeParamArray: makePgArray
32
- },
33
- date: {
34
- cast: castToText,
35
- castArray: castToTextArr,
36
- normalize: textToDate,
37
- normalizeArray: arrayCompatNormalize(textToDate),
38
- normalizeParamArray: makePgArray
39
- },
40
- "date:string": {
41
- cast: castToText,
42
- castArray: castToTextArr,
43
- normalizeParamArray: makePgArray
44
- },
45
- geometry: {
46
- normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
47
- normalizeParamArray: makePgArray
48
- },
49
- "geometry:tuple": {
50
- normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
51
- normalizeParamArray: makePgArray
52
- },
53
- interval: {
54
- cast: castToText,
55
- castArray: castToTextArr,
56
- normalizeParamArray: makePgArray
57
- },
58
- line: {
59
- cast: castToText,
60
- castArray: castToTextArr,
61
- normalizeParamArray: makePgArray
62
- },
63
- "line:tuple": {
64
- cast: castToText,
65
- castArray: castToTextArr,
66
- normalizeParamArray: makePgArray
67
- },
68
- macaddr8: {
69
- castArrayInJson: castToTextArr,
70
- castArray: castToTextArr,
71
- normalizeParamArray: makePgArray
72
- },
73
- point: {
74
- cast: castToText,
75
- castArray: castToTextArr,
76
- normalizeParamArray: makePgArray
77
- },
78
- "point:tuple": {
79
- cast: castToText,
80
- castArray: castToTextArr,
81
- normalizeParamArray: makePgArray
82
- },
83
- timestamp: {
84
- cast: castToText,
85
- castArray: castToTextArr,
86
- normalize: textToDateWithTz,
87
- normalizeArray: arrayCompatNormalize(textToDateWithTz),
88
- normalizeParamArray: makePgArray
89
- },
90
- timestamptz: {
91
- cast: castToText,
92
- castArray: castToTextArr,
93
- normalize: textToDate,
94
- normalizeArray: arrayCompatNormalize(textToDate),
95
- normalizeParamArray: makePgArray
96
- },
97
- "timestamp:string": {
98
- cast: castToText,
99
- castArray: castToTextArr,
100
- normalizeParamArray: makePgArray
101
- },
102
- "timestamptz:string": {
103
- cast: castToText,
104
- castArray: castToTextArr,
105
- normalizeParamArray: makePgArray
106
- },
107
- json: {
108
- normalizeParam: (v) => JSON.stringify(v),
109
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
110
- },
111
- jsonb: {
112
- normalizeParam: (v) => JSON.stringify(v),
113
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
114
- },
115
- bool: { normalizeParamArray: makePgArray },
116
- box: { normalizeParamArray: makePgArray },
117
- box2d: { normalizeParamArray: makePgArray },
118
- box3d: { normalizeParamArray: makePgArray },
119
- char: { normalizeParamArray: makePgArray },
120
- cidr: { normalizeParamArray: makePgArray },
121
- circle: { normalizeParamArray: makePgArray },
122
- datemultirange: { normalizeParamArray: makePgArray },
123
- daterange: { normalizeParamArray: makePgArray },
124
- float8: { normalizeParamArray: makePgArray },
125
- geography: { normalizeParamArray: makePgArray },
126
- inet: { normalizeParamArray: makePgArray },
127
- int4multirange: { normalizeParamArray: makePgArray },
128
- int4range: { normalizeParamArray: makePgArray },
129
- int8multirange: { normalizeParamArray: makePgArray },
130
- int8range: { normalizeParamArray: makePgArray },
131
- lseg: { normalizeParamArray: makePgArray },
132
- macaddr: { normalizeParamArray: makePgArray },
133
- money: { normalizeParamArray: makePgArray },
134
- nummultirange: { normalizeParamArray: makePgArray },
135
- numrange: { normalizeParamArray: makePgArray },
136
- oid: { normalizeParamArray: makePgArray },
137
- path: { normalizeParamArray: makePgArray },
138
- polygon: { normalizeParamArray: makePgArray },
139
- raster: { normalizeParamArray: makePgArray },
140
- regclass: { normalizeParamArray: makePgArray },
141
- regconfig: { normalizeParamArray: makePgArray },
142
- regdictionary: { normalizeParamArray: makePgArray },
143
- regnamespace: { normalizeParamArray: makePgArray },
144
- regoper: { normalizeParamArray: makePgArray },
145
- regoperator: { normalizeParamArray: makePgArray },
146
- regproc: { normalizeParamArray: makePgArray },
147
- regprocedure: { normalizeParamArray: makePgArray },
148
- regrole: { normalizeParamArray: makePgArray },
149
- regtype: { normalizeParamArray: makePgArray },
150
- serial: { normalizeParamArray: makePgArray },
151
- smallint: { normalizeParamArray: makePgArray },
152
- smallserial: { normalizeParamArray: makePgArray },
153
- text: { normalizeParamArray: makePgArray },
154
- time: { normalizeParamArray: makePgArray },
155
- timetz: { normalizeParamArray: makePgArray },
156
- tsmultirange: { normalizeParamArray: makePgArray },
157
- tsquery: { normalizeParamArray: makePgArray },
158
- tsrange: { normalizeParamArray: makePgArray },
159
- tstzmultirange: { normalizeParamArray: makePgArray },
160
- tstzrange: { normalizeParamArray: makePgArray },
161
- tsvector: { normalizeParamArray: makePgArray },
162
- varbit: { normalizeParamArray: makePgArray },
163
- varchar: { normalizeParamArray: makePgArray },
164
- xml: { normalizeParamArray: makePgArray },
165
- bytea: { normalizeParamArray: makePgArray },
166
- enum: { normalizeParamArray: makePgArray },
167
- numeric: { normalizeParamArray: makePgArray },
168
- "numeric:number": { normalizeParamArray: makePgArray },
169
- "numeric:bigint": { normalizeParamArray: makePgArray },
170
- "bigint:number": { normalizeParamArray: makePgArray },
171
- "bigint:string": { normalizeParamArray: makePgArray },
172
- "bigserial:number": { normalizeParamArray: makePgArray },
173
- float4: { normalizeParamArray: makePgArray },
174
- int: { normalizeParamArray: makePgArray },
175
- uuid: { normalizeParamArray: makePgArray },
176
- halfvec: { normalizeParamArray: makePgArray },
177
- sparsevec: {
178
- normalizeArray: parsePgArray,
179
- normalizeParamArray: makePgArray
180
- },
181
- vector: { normalizeParamArray: makePgArray }
182
- });
183
18
  /**
184
19
  * Creates an EffectPgDatabase instance.
185
20
  *
@@ -211,14 +46,14 @@ const make = Effect.fn("PgDrizzle.make")(function* (config = {}) {
211
46
  const cache = yield* EffectCache;
212
47
  const logger = yield* EffectLogger;
213
48
  const dialect = new PgDialect({
214
- useJitMappers: config.useJitMappers,
49
+ useJitMappers: jitCompatCheck(config.useJitMappers),
215
50
  codecs: config.codecs ?? effectPgCodecs
216
51
  });
217
52
  const relations = config.relations ?? {};
218
53
  const db = new EffectPgDatabase(dialect, new EffectPgSession(client, dialect, relations, {
219
54
  logger,
220
55
  cache,
221
- useJitMapper: config.useJitMappers
56
+ useJitMappers: jitCompatCheck(config.useJitMappers)
222
57
  }), relations);
223
58
  db.$client = client;
224
59
  db.$cache = cache;
@@ -231,5 +66,5 @@ const make = Effect.fn("PgDrizzle.make")(function* (config = {}) {
231
66
  const makeWithDefaults = (config = {}) => make(config).pipe(Effect.provide(DefaultServices));
232
67
 
233
68
  //#endregion
234
- export { DefaultServices, EffectPgDatabase, effectPgCodecs, make, makeWithDefaults };
69
+ export { DefaultServices, EffectPgDatabase, make, makeWithDefaults };
235
70
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/effect-postgres/driver.ts"],"sourcesContent":["import { PgClient } from '@effect/sql-pg/PgClient';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport { EffectCache } from '~/cache/core/cache-effect.ts';\nimport { EffectLogger } from '~/effect-core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectDatabase } from '~/pg-core/effect/db.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type EffectPgQueryEffectHKT, type EffectPgQueryResultHKT, EffectPgSession } from './session.ts';\n\nexport class EffectPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgEffectDatabase<EffectPgQueryEffectHKT, EffectPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'EffectPgDatabase';\n}\n\nexport type EffectDrizzlePgConfig<\n\tTRelations extends AnyRelations = EmptyRelations,\n> = Omit<DrizzlePgConfig<TRelations>, 'cache' | 'logger'>;\n\nexport const DefaultServices = Layer.merge(\n\tEffectCache.Default,\n\tEffectLogger.Default,\n);\n\nexport const effectPgCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tdate: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\tgeography: { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\tuuid: { normalizeParamArray: makePgArray },\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n});\n\n/**\n * Creates an EffectPgDatabase instance.\n *\n * Requires `PgClient`, `EffectLogger`, and `EffectCache` services to be provided.\n * Use `DefaultServices` to provide default (no-op) logger and cache implementations.\n *\n * @example\n * ```ts\n * // With default services (no logging, no caching)\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n *\n * // With Effect-based logging\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(EffectLogger.layer),\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n *\n * // With custom Drizzle logger\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(EffectLogger.layerFromDrizzle(myLogger)),\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n * ```\n */\nexport const make = Effect.fn('PgDrizzle.make')(\n\tfunction*<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(config: EffectDrizzlePgConfig<TRelations> = {}) {\n\t\tconst client = yield* PgClient;\n\t\tconst cache = yield* EffectCache;\n\t\tconst logger = yield* EffectLogger;\n\n\t\tconst dialect = new PgDialect({\n\t\t\tuseJitMappers: config.useJitMappers,\n\t\t\tcodecs: config.codecs ?? effectPgCodecs,\n\t\t});\n\n\t\tconst relations = config.relations ?? {} as TRelations;\n\t\tconst session = new EffectPgSession(client, dialect, relations, {\n\t\t\tlogger,\n\t\t\tcache,\n\t\t\tuseJitMapper: config.useJitMappers,\n\t\t});\n\t\tconst db = new EffectPgDatabase(dialect, session, relations) as EffectPgDatabase<TRelations>;\n\t\t(<any> db).$client = client;\n\t\t(<any> db).$cache = cache;\n\t\tif ((<any> db).$cache) {\n\t\t\t(<any> db).$cache['invalidate'] = cache.onMutate;\n\t\t}\n\n\t\treturn db as EffectPgDatabase<TRelations> & {\n\t\t\t$client: PgClient;\n\t\t};\n\t},\n);\n\n/**\n * Convenience function that creates an EffectPgDatabase with `DefaultServices` already provided.\n */\nexport const makeWithDefaults = <\n\tTRelations extends AnyRelations = EmptyRelations,\n>(config: EffectDrizzlePgConfig<TRelations> = {}) => make(config).pipe(Effect.provide(DefaultServices));\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/effect-postgres/driver.ts"],"sourcesContent":["import { PgClient } from '@effect/sql-pg/PgClient';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport { EffectCache } from '~/cache/core/cache-effect.ts';\nimport { EffectLogger } from '~/effect-core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectDatabase } from '~/pg-core/effect/db.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { effectPgCodecs } from './codecs.ts';\nimport { type EffectPgQueryEffectHKT, type EffectPgQueryResultHKT, EffectPgSession } from './session.ts';\n\nexport class EffectPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgEffectDatabase<EffectPgQueryEffectHKT, EffectPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'EffectPgDatabase';\n}\n\nexport type EffectDrizzlePgConfig<\n\tTRelations extends AnyRelations = EmptyRelations,\n> = Omit<DrizzlePgConfig<TRelations>, 'cache' | 'logger'>;\n\nexport const DefaultServices = Layer.merge(\n\tEffectCache.Default,\n\tEffectLogger.Default,\n);\n\n/**\n * Creates an EffectPgDatabase instance.\n *\n * Requires `PgClient`, `EffectLogger`, and `EffectCache` services to be provided.\n * Use `DefaultServices` to provide default (no-op) logger and cache implementations.\n *\n * @example\n * ```ts\n * // With default services (no logging, no caching)\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n *\n * // With Effect-based logging\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(EffectLogger.layer),\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n *\n * // With custom Drizzle logger\n * const db = yield* PgDrizzle.make({ relations }).pipe(\n * Effect.provide(EffectLogger.layerFromDrizzle(myLogger)),\n * Effect.provide(PgDrizzle.DefaultServices),\n * );\n * ```\n */\nexport const make = Effect.fn('PgDrizzle.make')(\n\tfunction*<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(config: EffectDrizzlePgConfig<TRelations> = {}) {\n\t\tconst client = yield* PgClient;\n\t\tconst cache = yield* EffectCache;\n\t\tconst logger = yield* EffectLogger;\n\n\t\tconst dialect = new PgDialect({\n\t\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\t\tcodecs: config.codecs ?? effectPgCodecs,\n\t\t});\n\n\t\tconst relations = config.relations ?? {} as TRelations;\n\t\tconst session = new EffectPgSession(client, dialect, relations, {\n\t\t\tlogger,\n\t\t\tcache,\n\t\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\t});\n\t\tconst db = new EffectPgDatabase(dialect, session, relations) as EffectPgDatabase<TRelations>;\n\t\t(<any> db).$client = client;\n\t\t(<any> db).$cache = cache;\n\t\tif ((<any> db).$cache) {\n\t\t\t(<any> db).$cache['invalidate'] = cache.onMutate;\n\t\t}\n\n\t\treturn db as EffectPgDatabase<TRelations> & {\n\t\t\t$client: PgClient;\n\t\t};\n\t},\n);\n\n/**\n * Convenience function that creates an EffectPgDatabase with `DefaultServices` already provided.\n */\nexport const makeWithDefaults = <\n\tTRelations extends AnyRelations = EmptyRelations,\n>(config: EffectDrizzlePgConfig<TRelations> = {}) => make(config).pipe(Effect.provide(DefaultServices));\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAa,mBAAb,cACS,iBACT;CACC,QAA0B,cAAsB;;AAOjD,MAAa,kBAAkB,MAAM,MACpC,YAAY,SACZ,aAAa,QACb;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BD,MAAa,OAAO,OAAO,GAAG,iBAAiB,CAC9C,WAEE,SAA4C,EAAE,EAAE;CACjD,MAAM,SAAS,OAAO;CACtB,MAAM,QAAQ,OAAO;CACrB,MAAM,SAAS,OAAO;CAEtB,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CAEF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,iBAAiB,SALhB,IAAI,gBAAgB,QAAQ,SAAS,WAAW;EAC/D;EACA;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EACgD,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS;AACpB,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,MAAM;AAGzC,QAAO;EAIR;;;;AAKD,MAAa,oBAEX,SAA4C,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,OAAO,QAAQ,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ const require_effect_postgres_codecs = require('./codecs.cjs');
3
4
  const require_effect_postgres_session = require('./session.cjs');
4
5
  const require_effect_postgres_driver = require('./driver.cjs');
5
6
  let __effect_core_index_ts = require("../effect-core/index.cjs");
@@ -14,6 +15,6 @@ Object.defineProperty(exports, 'EffectLogger', {
14
15
  exports.EffectPgDatabase = require_effect_postgres_driver.EffectPgDatabase;
15
16
  exports.EffectPgSession = require_effect_postgres_session.EffectPgSession;
16
17
  exports.EffectPgTransaction = require_effect_postgres_session.EffectPgTransaction;
17
- exports.effectPgCodecs = require_effect_postgres_driver.effectPgCodecs;
18
+ exports.effectPgCodecs = require_effect_postgres_codecs.effectPgCodecs;
18
19
  exports.make = require_effect_postgres_driver.make;
19
20
  exports.makeWithDefaults = require_effect_postgres_driver.makeWithDefaults;
@@ -1,4 +1,5 @@
1
+ import { effectPgCodecs } from "./codecs.cjs";
1
2
  import { EffectPgQueryEffectHKT, EffectPgQueryResultHKT, EffectPgSession, EffectPgSessionOptions, EffectPgTransaction } from "./session.cjs";
2
- import { DefaultServices, EffectDrizzlePgConfig, EffectPgDatabase, effectPgCodecs, make, makeWithDefaults } from "./driver.cjs";
3
+ import { DefaultServices, EffectDrizzlePgConfig, EffectPgDatabase, make, makeWithDefaults } from "./driver.cjs";
3
4
  import { EffectLogger } from "../effect-core/index.cjs";
4
5
  export { DefaultServices, EffectDrizzlePgConfig, EffectLogger, EffectPgDatabase, EffectPgQueryEffectHKT, EffectPgQueryResultHKT, EffectPgSession, EffectPgSessionOptions, EffectPgTransaction, effectPgCodecs, make, makeWithDefaults };
@@ -1,4 +1,5 @@
1
+ import { effectPgCodecs } from "./codecs.js";
1
2
  import { EffectPgQueryEffectHKT, EffectPgQueryResultHKT, EffectPgSession, EffectPgSessionOptions, EffectPgTransaction } from "./session.js";
2
- import { DefaultServices, EffectDrizzlePgConfig, EffectPgDatabase, effectPgCodecs, make, makeWithDefaults } from "./driver.js";
3
+ import { DefaultServices, EffectDrizzlePgConfig, EffectPgDatabase, make, makeWithDefaults } from "./driver.js";
3
4
  import { EffectLogger } from "../effect-core/index.js";
4
5
  export { DefaultServices, EffectDrizzlePgConfig, EffectLogger, EffectPgDatabase, EffectPgQueryEffectHKT, EffectPgQueryResultHKT, EffectPgSession, EffectPgSessionOptions, EffectPgTransaction, effectPgCodecs, make, makeWithDefaults };
@@ -1,5 +1,6 @@
1
+ import { effectPgCodecs } from "./codecs.js";
1
2
  import { EffectPgSession, EffectPgTransaction } from "./session.js";
2
- import { DefaultServices, EffectPgDatabase, effectPgCodecs, make, makeWithDefaults } from "./driver.js";
3
+ import { DefaultServices, EffectPgDatabase, make, makeWithDefaults } from "./driver.js";
3
4
  import { EffectLogger } from "../effect-core/index.js";
4
5
 
5
6
  export { DefaultServices, EffectLogger, EffectPgDatabase, EffectPgSession, EffectPgTransaction, effectPgCodecs, make, makeWithDefaults };
@@ -6,7 +6,7 @@ import * as effect_Effect0 from "effect/Effect";
6
6
  import * as _effect_sql_SqlError0 from "@effect/sql/SqlError";
7
7
 
8
8
  //#region src/effect-postgres/migrator.d.ts
9
- declare function migrate<TRelations extends AnyRelations>(db: EffectPgDatabase<TRelations>, config: MigrationConfig): effect_Effect0.Effect<undefined, MigratorInitError | EffectDrizzleQueryError | _effect_sql_SqlError0.SqlError, never>;
9
+ declare function migrate<TRelations extends AnyRelations>(db: EffectPgDatabase<TRelations>, config: MigrationConfig): effect_Effect0.Effect<undefined, EffectDrizzleQueryError | _effect_sql_SqlError0.SqlError | MigratorInitError, never>;
10
10
  //#endregion
11
11
  export { migrate };
12
12
  //# sourceMappingURL=migrator.d.cts.map
@@ -6,7 +6,7 @@ import { AnyRelations } from "../relations.js";
6
6
  import * as _effect_sql_SqlError0 from "@effect/sql/SqlError";
7
7
 
8
8
  //#region src/effect-postgres/migrator.d.ts
9
- declare function migrate<TRelations extends AnyRelations>(db: EffectPgDatabase<TRelations>, config: MigrationConfig): effect_Effect0.Effect<undefined, MigratorInitError | EffectDrizzleQueryError | _effect_sql_SqlError0.SqlError, never>;
9
+ declare function migrate<TRelations extends AnyRelations>(db: EffectPgDatabase<TRelations>, config: MigrationConfig): effect_Effect0.Effect<undefined, EffectDrizzleQueryError | _effect_sql_SqlError0.SqlError | MigratorInitError, never>;
10
10
  //#endregion
11
11
  export { migrate };
12
12
  //# sourceMappingURL=migrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","names":["PgEffectSession","entityKind","PgEffectPreparedQuery","Effect","PgEffectTransaction"],"sources":["../../src/effect-postgres/session.ts"],"sourcesContent":["import type { PgClient } from '@effect/sql-pg/PgClient';\nimport type { SqlError } from '@effect/sql/SqlError';\nimport * as Effect from 'effect/Effect';\nimport type { EffectCache } from '~/cache/core/cache-effect.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport type { EffectDrizzleQueryError } from '~/effect-core/errors.ts';\nimport type { EffectLogger } from '~/effect-core/logger.ts';\nimport type { QueryEffectHKTBase } from '~/effect-core/query-effect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectPreparedQuery, PgEffectSession, PgEffectTransaction } from '~/pg-core/effect/session.ts';\nimport type { PgQueryResultHKT, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport type { Assume } from '~/utils.ts';\n\nexport interface EffectPgQueryEffectHKT extends QueryEffectHKTBase {\n\treadonly error: EffectDrizzleQueryError;\n\treadonly context: never;\n}\n\nexport interface EffectPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: readonly Assume<this['row'], object>[];\n}\n\nexport interface EffectPgSessionOptions {\n\tlogger: EffectLogger;\n\tcache: EffectCache;\n\tuseJitMapper?: boolean;\n}\n\nexport class EffectPgSession<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgSession';\n\n\tconstructor(\n\t\tprivate client: PgClient,\n\t\tdialect: PgDialect,\n\t\tprotected relations: TRelations,\n\t\tprivate options: EffectPgSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t}\n\n\toverride prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper?: (rows: any[]) => any,\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): PgEffectPreparedQuery<T, EffectPgQueryEffectHKT> {\n\t\tconst executor = (params?: unknown[]) => {\n\t\t\tconst q = this.client.unsafe(query.sql, params);\n\n\t\t\tif (mode === 'arrays') return q.values;\n\t\t\treturn q.withoutTransform;\n\t\t};\n\n\t\treturn new PgEffectPreparedQuery<T, EffectPgQueryEffectHKT>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.options.logger,\n\t\t\tthis.options.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: EffectPgTransaction<TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t): Effect.Effect<A, E | SqlError, R> {\n\t\tconst { dialect, relations } = this;\n\n\t\treturn this.client.withTransaction(Effect.gen(this, function*() {\n\t\t\tconst tx = new EffectPgTransaction<TQueryResult, TRelations>(\n\t\t\t\tdialect,\n\t\t\t\tthis,\n\t\t\t\trelations,\n\t\t\t);\n\n\t\t\treturn yield* transaction(tx);\n\t\t}));\n\t}\n}\n\nexport class EffectPgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgTransaction';\n\n\toverride transaction: <A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t) => Effect.Effect<A, SqlError | E, R> = (tx) => this.session.transaction(tx);\n}\n"],"mappings":";;;;;;;;AA+BA,IAAa,kBAAb,cAGUA,4CAAkE;CAC3E,QAA0BC,0BAAsB;CAEhD,YACC,AAAQ,QACR,SACA,AAAU,WACV,AAAQ,SACP;AACD,QAAM,QAAQ;EALN;EAEE;EACF;;CAKT,AAAS,aACR,OACA,MACA,OACA,QACA,eAIA,aACmD;EACnD,MAAM,YAAY,WAAuB;GACxC,MAAM,IAAI,KAAK,OAAO,OAAO,MAAM,KAAK,OAAO;AAE/C,OAAI,SAAS,SAAU,QAAO,EAAE;AAChC,UAAO,EAAE;;AAGV,SAAO,IAAIC,kDACV,UACA,OACA,QACA,MACA,KAAK,QAAQ,QACb,KAAK,QAAQ,OACb,eACA,YACA;;CAGF,AAAS,YACR,aAGoC;EACpC,MAAM,EAAE,SAAS,cAAc;AAE/B,SAAO,KAAK,OAAO,gBAAgBC,cAAO,IAAI,MAAM,aAAY;AAO/D,UAAO,OAAO,YANH,IAAI,oBACd,SACA,MACA,UACA,CAE4B;IAC5B,CAAC;;;AAIL,IAAa,sBAAb,cAGUC,gDAAsE;CAC/E,QAA0BH,0BAAsB;CAEhD,AAAS,eAIiC,OAAO,KAAK,QAAQ,YAAY,GAAG"}
1
+ {"version":3,"file":"session.cjs","names":["PgEffectSession","entityKind","PgEffectPreparedQuery","Effect","PgEffectTransaction"],"sources":["../../src/effect-postgres/session.ts"],"sourcesContent":["import type { PgClient } from '@effect/sql-pg/PgClient';\nimport type { SqlError } from '@effect/sql/SqlError';\nimport * as Effect from 'effect/Effect';\nimport type { EffectCache } from '~/cache/core/cache-effect.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport type { EffectDrizzleQueryError } from '~/effect-core/errors.ts';\nimport type { EffectLogger } from '~/effect-core/logger.ts';\nimport type { QueryEffectHKTBase } from '~/effect-core/query-effect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectPreparedQuery, PgEffectSession, PgEffectTransaction } from '~/pg-core/effect/session.ts';\nimport type { PgQueryResultHKT, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport type { Assume } from '~/utils.ts';\n\nexport interface EffectPgQueryEffectHKT extends QueryEffectHKTBase {\n\treadonly error: EffectDrizzleQueryError;\n\treadonly context: never;\n}\n\nexport interface EffectPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: readonly Assume<this['row'], object>[];\n}\n\nexport interface EffectPgSessionOptions {\n\tlogger: EffectLogger;\n\tcache: EffectCache;\n\tuseJitMappers?: boolean;\n}\n\nexport class EffectPgSession<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgSession';\n\n\tconstructor(\n\t\tprivate client: PgClient,\n\t\tdialect: PgDialect,\n\t\tprotected relations: TRelations,\n\t\tprivate options: EffectPgSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t}\n\n\toverride prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper?: (rows: any[]) => any,\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): PgEffectPreparedQuery<T, EffectPgQueryEffectHKT> {\n\t\tconst executor = (params?: unknown[]) => {\n\t\t\tconst q = this.client.unsafe(query.sql, params);\n\n\t\t\tif (mode === 'arrays') return q.values;\n\t\t\treturn q.withoutTransform;\n\t\t};\n\n\t\treturn new PgEffectPreparedQuery<T, EffectPgQueryEffectHKT>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.options.logger,\n\t\t\tthis.options.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: EffectPgTransaction<TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t): Effect.Effect<A, E | SqlError, R> {\n\t\tconst { dialect, relations } = this;\n\n\t\treturn this.client.withTransaction(Effect.gen(this, function*() {\n\t\t\tconst tx = new EffectPgTransaction<TQueryResult, TRelations>(\n\t\t\t\tdialect,\n\t\t\t\tthis,\n\t\t\t\trelations,\n\t\t\t);\n\n\t\t\treturn yield* transaction(tx);\n\t\t}));\n\t}\n}\n\nexport class EffectPgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgTransaction';\n\n\toverride transaction: <A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t) => Effect.Effect<A, SqlError | E, R> = (tx) => this.session.transaction(tx);\n}\n"],"mappings":";;;;;;;;AA+BA,IAAa,kBAAb,cAGUA,4CAAkE;CAC3E,QAA0BC,0BAAsB;CAEhD,YACC,AAAQ,QACR,SACA,AAAU,WACV,AAAQ,SACP;AACD,QAAM,QAAQ;EALN;EAEE;EACF;;CAKT,AAAS,aACR,OACA,MACA,OACA,QACA,eAIA,aACmD;EACnD,MAAM,YAAY,WAAuB;GACxC,MAAM,IAAI,KAAK,OAAO,OAAO,MAAM,KAAK,OAAO;AAE/C,OAAI,SAAS,SAAU,QAAO,EAAE;AAChC,UAAO,EAAE;;AAGV,SAAO,IAAIC,kDACV,UACA,OACA,QACA,MACA,KAAK,QAAQ,QACb,KAAK,QAAQ,OACb,eACA,YACA;;CAGF,AAAS,YACR,aAGoC;EACpC,MAAM,EAAE,SAAS,cAAc;AAE/B,SAAO,KAAK,OAAO,gBAAgBC,cAAO,IAAI,MAAM,aAAY;AAO/D,UAAO,OAAO,YANH,IAAI,oBACd,SACA,MACA,UACA,CAE4B;IAC5B,CAAC;;;AAIL,IAAa,sBAAb,cAGUC,gDAAsE;CAC/E,QAA0BH,0BAAsB;CAEhD,AAAS,eAIiC,OAAO,KAAK,QAAQ,YAAY,GAAG"}
@@ -25,7 +25,7 @@ interface EffectPgQueryResultHKT extends PgQueryResultHKT {
25
25
  interface EffectPgSessionOptions {
26
26
  logger: EffectLogger;
27
27
  cache: EffectCache;
28
- useJitMapper?: boolean;
28
+ useJitMappers?: boolean;
29
29
  }
30
30
  declare class EffectPgSession<TQueryResult extends PgQueryResultHKT, TRelations extends AnyRelations> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {
31
31
  private client;
@@ -25,7 +25,7 @@ interface EffectPgQueryResultHKT extends PgQueryResultHKT {
25
25
  interface EffectPgSessionOptions {
26
26
  logger: EffectLogger;
27
27
  cache: EffectCache;
28
- useJitMapper?: boolean;
28
+ useJitMappers?: boolean;
29
29
  }
30
30
  declare class EffectPgSession<TQueryResult extends PgQueryResultHKT, TRelations extends AnyRelations> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {
31
31
  private client;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../src/effect-postgres/session.ts"],"sourcesContent":["import type { PgClient } from '@effect/sql-pg/PgClient';\nimport type { SqlError } from '@effect/sql/SqlError';\nimport * as Effect from 'effect/Effect';\nimport type { EffectCache } from '~/cache/core/cache-effect.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport type { EffectDrizzleQueryError } from '~/effect-core/errors.ts';\nimport type { EffectLogger } from '~/effect-core/logger.ts';\nimport type { QueryEffectHKTBase } from '~/effect-core/query-effect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectPreparedQuery, PgEffectSession, PgEffectTransaction } from '~/pg-core/effect/session.ts';\nimport type { PgQueryResultHKT, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport type { Assume } from '~/utils.ts';\n\nexport interface EffectPgQueryEffectHKT extends QueryEffectHKTBase {\n\treadonly error: EffectDrizzleQueryError;\n\treadonly context: never;\n}\n\nexport interface EffectPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: readonly Assume<this['row'], object>[];\n}\n\nexport interface EffectPgSessionOptions {\n\tlogger: EffectLogger;\n\tcache: EffectCache;\n\tuseJitMapper?: boolean;\n}\n\nexport class EffectPgSession<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgSession';\n\n\tconstructor(\n\t\tprivate client: PgClient,\n\t\tdialect: PgDialect,\n\t\tprotected relations: TRelations,\n\t\tprivate options: EffectPgSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t}\n\n\toverride prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper?: (rows: any[]) => any,\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): PgEffectPreparedQuery<T, EffectPgQueryEffectHKT> {\n\t\tconst executor = (params?: unknown[]) => {\n\t\t\tconst q = this.client.unsafe(query.sql, params);\n\n\t\t\tif (mode === 'arrays') return q.values;\n\t\t\treturn q.withoutTransform;\n\t\t};\n\n\t\treturn new PgEffectPreparedQuery<T, EffectPgQueryEffectHKT>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.options.logger,\n\t\t\tthis.options.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: EffectPgTransaction<TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t): Effect.Effect<A, E | SqlError, R> {\n\t\tconst { dialect, relations } = this;\n\n\t\treturn this.client.withTransaction(Effect.gen(this, function*() {\n\t\t\tconst tx = new EffectPgTransaction<TQueryResult, TRelations>(\n\t\t\t\tdialect,\n\t\t\t\tthis,\n\t\t\t\trelations,\n\t\t\t);\n\n\t\t\treturn yield* transaction(tx);\n\t\t}));\n\t}\n}\n\nexport class EffectPgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgTransaction';\n\n\toverride transaction: <A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t) => Effect.Effect<A, SqlError | E, R> = (tx) => this.session.transaction(tx);\n}\n"],"mappings":";;;;;AA+BA,IAAa,kBAAb,cAGU,gBAAkE;CAC3E,QAA0B,cAAsB;CAEhD,YACC,AAAQ,QACR,SACA,AAAU,WACV,AAAQ,SACP;AACD,QAAM,QAAQ;EALN;EAEE;EACF;;CAKT,AAAS,aACR,OACA,MACA,OACA,QACA,eAIA,aACmD;EACnD,MAAM,YAAY,WAAuB;GACxC,MAAM,IAAI,KAAK,OAAO,OAAO,MAAM,KAAK,OAAO;AAE/C,OAAI,SAAS,SAAU,QAAO,EAAE;AAChC,UAAO,EAAE;;AAGV,SAAO,IAAI,sBACV,UACA,OACA,QACA,MACA,KAAK,QAAQ,QACb,KAAK,QAAQ,OACb,eACA,YACA;;CAGF,AAAS,YACR,aAGoC;EACpC,MAAM,EAAE,SAAS,cAAc;AAE/B,SAAO,KAAK,OAAO,gBAAgB,OAAO,IAAI,MAAM,aAAY;AAO/D,UAAO,OAAO,YANH,IAAI,oBACd,SACA,MACA,UACA,CAE4B;IAC5B,CAAC;;;AAIL,IAAa,sBAAb,cAGU,oBAAsE;CAC/E,QAA0B,cAAsB;CAEhD,AAAS,eAIiC,OAAO,KAAK,QAAQ,YAAY,GAAG"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../src/effect-postgres/session.ts"],"sourcesContent":["import type { PgClient } from '@effect/sql-pg/PgClient';\nimport type { SqlError } from '@effect/sql/SqlError';\nimport * as Effect from 'effect/Effect';\nimport type { EffectCache } from '~/cache/core/cache-effect.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport type { EffectDrizzleQueryError } from '~/effect-core/errors.ts';\nimport type { EffectLogger } from '~/effect-core/logger.ts';\nimport type { QueryEffectHKTBase } from '~/effect-core/query-effect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport { PgEffectPreparedQuery, PgEffectSession, PgEffectTransaction } from '~/pg-core/effect/session.ts';\nimport type { PgQueryResultHKT, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\nimport type { Assume } from '~/utils.ts';\n\nexport interface EffectPgQueryEffectHKT extends QueryEffectHKTBase {\n\treadonly error: EffectDrizzleQueryError;\n\treadonly context: never;\n}\n\nexport interface EffectPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: readonly Assume<this['row'], object>[];\n}\n\nexport interface EffectPgSessionOptions {\n\tlogger: EffectLogger;\n\tcache: EffectCache;\n\tuseJitMappers?: boolean;\n}\n\nexport class EffectPgSession<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectSession<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgSession';\n\n\tconstructor(\n\t\tprivate client: PgClient,\n\t\tdialect: PgDialect,\n\t\tprotected relations: TRelations,\n\t\tprivate options: EffectPgSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t}\n\n\toverride prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper?: (rows: any[]) => any,\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): PgEffectPreparedQuery<T, EffectPgQueryEffectHKT> {\n\t\tconst executor = (params?: unknown[]) => {\n\t\t\tconst q = this.client.unsafe(query.sql, params);\n\n\t\t\tif (mode === 'arrays') return q.values;\n\t\t\treturn q.withoutTransform;\n\t\t};\n\n\t\treturn new PgEffectPreparedQuery<T, EffectPgQueryEffectHKT>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.options.logger,\n\t\t\tthis.options.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: EffectPgTransaction<TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t): Effect.Effect<A, E | SqlError, R> {\n\t\tconst { dialect, relations } = this;\n\n\t\treturn this.client.withTransaction(Effect.gen(this, function*() {\n\t\t\tconst tx = new EffectPgTransaction<TQueryResult, TRelations>(\n\t\t\t\tdialect,\n\t\t\t\tthis,\n\t\t\t\trelations,\n\t\t\t);\n\n\t\t\treturn yield* transaction(tx);\n\t\t}));\n\t}\n}\n\nexport class EffectPgTransaction<\n\tTQueryResult extends PgQueryResultHKT,\n\tTRelations extends AnyRelations,\n> extends PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations> {\n\tstatic override readonly [entityKind]: string = 'EffectPgTransaction';\n\n\toverride transaction: <A, E, R>(\n\t\ttransaction: (\n\t\t\ttx: PgEffectTransaction<EffectPgQueryEffectHKT, TQueryResult, TRelations>,\n\t\t) => Effect.Effect<A, E, R>,\n\t) => Effect.Effect<A, SqlError | E, R> = (tx) => this.session.transaction(tx);\n}\n"],"mappings":";;;;;AA+BA,IAAa,kBAAb,cAGU,gBAAkE;CAC3E,QAA0B,cAAsB;CAEhD,YACC,AAAQ,QACR,SACA,AAAU,WACV,AAAQ,SACP;AACD,QAAM,QAAQ;EALN;EAEE;EACF;;CAKT,AAAS,aACR,OACA,MACA,OACA,QACA,eAIA,aACmD;EACnD,MAAM,YAAY,WAAuB;GACxC,MAAM,IAAI,KAAK,OAAO,OAAO,MAAM,KAAK,OAAO;AAE/C,OAAI,SAAS,SAAU,QAAO,EAAE;AAChC,UAAO,EAAE;;AAGV,SAAO,IAAI,sBACV,UACA,OACA,QACA,MACA,KAAK,QAAQ,QACb,KAAK,QAAQ,OACb,eACA,YACA;;CAGF,AAAS,YACR,aAGoC;EACpC,MAAM,EAAE,SAAS,cAAc;AAE/B,SAAO,KAAK,OAAO,gBAAgB,OAAO,IAAI,MAAM,aAAY;AAO/D,UAAO,OAAO,YANH,IAAI,oBACd,SACA,MACA,UACA,CAE4B;IAC5B,CAAC;;;AAIL,IAAa,sBAAb,cAGU,oBAAsE;CAC/E,QAA0B,cAAsB;CAEhD,AAAS,eAIiC,OAAO,KAAK,QAAQ,YAAY,GAAG"}
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_expo_sqlite_session = require('./session.cjs');
4
4
  let __entity_ts = require("../entity.cjs");
5
+ let __utils_ts = require("../utils.cjs");
5
6
  let __logger_ts = require("../logger.cjs");
6
7
  let ___relations_ts = require("../_relations.cjs");
7
8
  ___relations_ts = require_runtime.__toESM(___relations_ts);
@@ -29,7 +30,7 @@ function drizzle(client, config = {}) {
29
30
  const relations = config.relations ?? {};
30
31
  const db = new ExpoSQLiteDatabase("sync", dialect, new require_expo_sqlite_session.ExpoSQLiteSession(client, dialect, relations, schema, {
31
32
  logger,
32
- useJitMapper: config.useJitMappers
33
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
33
34
  }), relations, schema);
34
35
  db.$client = client;
35
36
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","ExpoSQLiteSession"],"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): ExpoSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect();\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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new ExpoSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new ExpoSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession as ExpoSQLiteDatabase<any, any>['session'],\n\t\trelations,\n\t\tschema,\n\t) as ExpoSQLiteDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;AAUA,IAAa,qBAAb,cAGUA,uCAAiE;CAC1E,QAA0BC,0BAAsB;;AAGjD,SAAgB,QAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,mBACd,QACA,SANe,IAAIC,8CAAkB,QAAQ,SAAS,WAAW,QAAQ;EACzE;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAErB,QAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","ExpoSQLiteSession"],"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): ExpoSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect();\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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new ExpoSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new ExpoSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession as ExpoSQLiteDatabase<any, any>['session'],\n\t\trelations,\n\t\tschema,\n\t) as ExpoSQLiteDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;AAUA,IAAa,qBAAb,cAGUA,uCAAiE;CAC1E,QAA0BC,0BAAsB;;AAGjD,SAAgB,QAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,mBACd,QACA,SANe,IAAIC,8CAAkB,QAAQ,SAAS,WAAW,QAAQ;EACzE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAErB,QAAO"}
@@ -1,5 +1,6 @@
1
1
  import { ExpoSQLiteSession } from "./session.js";
2
2
  import { entityKind } from "../entity.js";
3
+ import { jitCompatCheck } from "../utils.js";
3
4
  import { DefaultLogger } from "../logger.js";
4
5
  import * as V1 from "../_relations.js";
5
6
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
@@ -26,7 +27,7 @@ function drizzle(client, config = {}) {
26
27
  const relations = config.relations ?? {};
27
28
  const db = new ExpoSQLiteDatabase("sync", dialect, new ExpoSQLiteSession(client, dialect, relations, schema, {
28
29
  logger,
29
- useJitMapper: config.useJitMappers
30
+ useJitMappers: jitCompatCheck(config.useJitMappers)
30
31
  }), relations, schema);
31
32
  db.$client = client;
32
33
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): ExpoSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect();\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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new ExpoSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new ExpoSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession as ExpoSQLiteDatabase<any, any>['session'],\n\t\trelations,\n\t\tschema,\n\t) as ExpoSQLiteDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,qBAAb,cAGU,mBAAiE;CAC1E,QAA0B,cAAsB;;AAGjD,SAAgB,QAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,mBACd,QACA,SANe,IAAI,kBAAkB,QAAQ,SAAS,WAAW,QAAQ;EACzE;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAErB,QAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): ExpoSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect();\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: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\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 relations = config.relations ?? {} as TRelations;\n\tconst session = new ExpoSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new ExpoSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession as ExpoSQLiteDatabase<any, any>['session'],\n\t\trelations,\n\t\tschema,\n\t) as ExpoSQLiteDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;AAUA,IAAa,qBAAb,cAGU,mBAAiE;CAC1E,QAA0B,cAAsB;;AAGjD,SAAgB,QAIf,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,mBACd,QACA,SANe,IAAI,kBAAkB,QAAQ,SAAS,WAAW,QAAQ;EACzE;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAErB,QAAO"}
@@ -21,10 +21,10 @@ var ExpoSQLiteSession = class extends __sqlite_core_session_ts.SQLiteSession {
21
21
  this.logger = options.logger ?? new __logger_ts.NoopLogger();
22
22
  }
23
23
  prepareQuery(query, fields, executeMethod, customResultMapper) {
24
- return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMapper, customResultMapper);
24
+ return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMappers, customResultMapper);
25
25
  }
26
26
  prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
27
- return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
27
+ return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMappers, customResultMapper, true, config);
28
28
  }
29
29
  transaction(transaction, config = {}) {
30
30
  const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
@@ -58,12 +58,12 @@ var ExpoSQLiteTransaction = class ExpoSQLiteTransaction extends __sqlite_core_in
58
58
  var ExpoSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
59
59
  static [__entity_ts.entityKind] = "ExpoSQLitePreparedQuery";
60
60
  jitMapper;
61
- constructor(stmt, query, logger, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
61
+ constructor(stmt, query, logger, fields, executeMethod, useJitMappers, customResultMapper, isRqbV2Query, rqbConfig) {
62
62
  super("sync", executeMethod, query);
63
63
  this.stmt = stmt;
64
64
  this.logger = logger;
65
65
  this.fields = fields;
66
- this.useJitMapper = useJitMapper;
66
+ this.useJitMappers = useJitMappers;
67
67
  this.customResultMapper = customResultMapper;
68
68
  this.isRqbV2Query = isRqbV2Query;
69
69
  this.rqbConfig = rqbConfig;
@@ -87,14 +87,14 @@ var ExpoSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
87
87
  }
88
88
  const rows = this.values(placeholderValues);
89
89
  if (customResultMapper) return customResultMapper(rows);
90
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
90
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
91
91
  }
92
92
  allRqbV2(placeholderValues) {
93
93
  const { query, logger, stmt, customResultMapper } = this;
94
94
  const params = (0, __sql_sql_ts.fillPlaceholders)(query.params, placeholderValues ?? {});
95
95
  logger.logQuery(query.sql, params);
96
96
  const rows = stmt.executeSync(params).getAllSync();
97
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
97
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
98
98
  }
99
99
  get(placeholderValues) {
100
100
  if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
@@ -106,7 +106,7 @@ var ExpoSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
106
106
  const row = rows[0];
107
107
  if (!row) return;
108
108
  if (customResultMapper) return customResultMapper(rows);
109
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(this.fields, row, this.joinsNotNullableMap);
109
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(this.fields, row, this.joinsNotNullableMap);
110
110
  }
111
111
  getRqbV2(placeholderValues) {
112
112
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues ?? {});
@@ -114,7 +114,7 @@ var ExpoSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
114
114
  const { stmt, customResultMapper } = this;
115
115
  const row = stmt.executeSync(params).getFirstSync();
116
116
  if (!row) return;
117
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([row]);
117
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([row]);
118
118
  }
119
119
  values(placeholderValues) {
120
120
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","sql","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} 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,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\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 ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\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.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(this.fields!, row, this.joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(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 { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\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.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","sql","SQLiteTransaction","SQLitePreparedQuery"],"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} 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,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\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 ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMappers: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\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.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(this.fields!, row, this.joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(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 { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\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.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n}\n"],"mappings":";;;;;;;;;;;AA+BA,IAAa,oBAAb,cAIUA,uCAAyE;CAClF,QAA0BC,0BAAsB;CAEhD,AAAQ;CAER,YACC,AAAQ,QACR,SACA,AAAQ,WACR,AAAQ,QACR,AAAQ,UAAoC,EAAE,EAC7C;AACD,QAAM,QAAQ;EANN;EAEA;EACA;EACA;AAGR,OAAK,SAAS,QAAQ,UAAU,IAAIC,wBAAY;;CAGjD,aACC,OACA,QACA,eACA,oBAC6B;AAE7B,SAAO,IAAI,wBADE,KAAK,OAAO,YAAY,MAAM,IAAI,EAG9C,OACA,KAAK,QACL,QACA,eACA,KAAK,QAAQ,eACb,mBACA;;CAGF,uBACC,OACA,QACA,eACA,oBACA,QACmC;AAEnC,SAAO,IAAI,wBADE,KAAK,OAAO,YAAY,MAAM,IAAI,EAG9C,OACA,KAAK,QACL,QACA,eACA,KAAK,QAAQ,eACb,oBACA,MACA,OACA;;CAGF,AAAS,YACR,aACA,SAAkC,EAAE,EAChC;EACJ,MAAM,KAAK,IAAI,sBAAsB,QAAQ,KAAK,SAAS,MAAM,KAAK,WAAW,KAAK,OAAO;AAC7F,OAAK,IAAIC,iBAAI,IAAI,QAAQ,QAAQ,WAAW,MAAM,OAAO,WAAW,KAAK,CAAC;AAC1E,MAAI;GACH,MAAM,SAAS,YAAY,GAAG;AAC9B,QAAK,IAAI,gBAAG,SAAS;AACrB,UAAO;WACC,KAAK;AACb,QAAK,IAAI,gBAAG,WAAW;AACvB,SAAM;;;;AAKT,IAAa,wBAAb,MAAa,8BAIHC,yCAA6E;CACtF,QAA0BH,0BAAsB;CAEhD,AAAS,YACR,aAII;EACJ,MAAM,gBAAgB,KAAK,KAAK;EAChC,MAAM,KAAK,IAAI,sBACd,QACA,KAAK,SACL,KAAK,SACL,KAAK,WACL,KAAK,QACL,KAAK,cAAc,EACnB;AACD,OAAK,QAAQ,IAAIE,iBAAI,IAAI,aAAa,gBAAgB,CAAC;AACvD,MAAI;GACH,MAAM,SAAS,YAAY,GAAG;AAC9B,QAAK,QAAQ,IAAIA,iBAAI,IAAI,qBAAqB,gBAAgB,CAAC;AAC/D,UAAO;WACC,KAAK;AACb,QAAK,QAAQ,IAAIA,iBAAI,IAAI,yBAAyB,gBAAgB,CAAC;AACnE,SAAM;;;;AAKT,IAAa,0BAAb,cAGUE,6CAER;CACD,QAA0BJ,0BAAsB;CAChD,AAAQ;CAER,YACC,AAAQ,MACR,OACA,AAAQ,QACR,AAAQ,QACR,eACA,AAAQ,eACR,AAAQ,oBAGR,AAAQ,cACR,AAAQ,WACP;AACD,QAAM,QAAQ,eAAe,MAAM;EAZ3B;EAEA;EACA;EAEA;EACA;EAGA;EACA;;CAKT,IAAI,mBAA8D;EACjE,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;EAC5C,MAAM,EAAE,SAAS,oBAAoB,KAAK,KAAK,YAAY,OAAgB;AAC3E,SAAO;GACN;GACA;GACA;;CAGF,IAAI,mBAAuD;AAC1D,MAAI,KAAK,aAAc,QAAO,KAAK,SAAS,kBAAkB;EAE9D,MAAM,EAAE,QAAQ,qBAAqB,OAAO,QAAQ,MAAM,uBAAuB;AACjF,MAAI,CAAC,UAAU,CAAC,oBAAoB;GACnC,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,UAAO,SAAS,MAAM,KAAK,OAAO;AAClC,UAAO,KAAK,YAAY,OAAgB,CAAC,YAAY;;EAGtD,MAAM,OAAO,KAAK,OAAO,kBAAkB;AAC3C,MAAI,mBACH,QAAQ,mBAAsD,KAAK;AAGpE,SAAO,KAAK,iBACR,KAAK,YAAY,KAAK,gDACQ,QAAS,oBAAoB,EAAE,KAAK,GACnE,KAAK,KAAK,qCAAqB,QAAS,KAAK,oBAAoB,CAAC;;CAGtE,AAAQ,SAAS,mBAAuD;EACvE,MAAM,EAAE,OAAO,QAAQ,MAAM,uBAAuB;EACpD,MAAM,4CAA0B,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AACtE,SAAO,SAAS,MAAM,KAAK,OAAO;EAClC,MAAM,OAAO,KAAK,YAAY,OAAgB,CAAC,YAAY;AAE3D,SAAO,KAAK,iBACR,KAAK,YAAY,KAAK,kDACM,KAAK,UAAW,EAAE,KAAK,GACnD,mBAAoE,KAAK;;CAG9E,IAAI,mBAAuD;AAC1D,MAAI,KAAK,aAAc,QAAO,KAAK,SAAS,kBAAkB;EAE9D,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;EAE5C,MAAM,EAAE,QAAQ,MAAM,qBAAqB,uBAAuB;AAClE,MAAI,CAAC,UAAU,CAAC,mBACf,QAAO,KAAK,YAAY,OAAgB,CAAC,cAAc;EAGxD,MAAM,OAAO,KAAK,OAAO,kBAAkB;EAC3C,MAAM,MAAM,KAAK;AAEjB,MAAI,CAAC,IACJ;AAGD,MAAI,mBACH,QAAQ,mBAAsD,KAAK;AAGpE,SAAO,KAAK,iBACR,KAAK,YAAY,KAAK,gDACU,QAAS,oBAAoB,EAC9D,CAAC,IAAI,CACL,CAAC,kCACY,KAAK,QAAS,KAAK,KAAK,oBAAoB;;CAG7D,AAAQ,SAAS,mBAAuD;EACvE,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;EAE5C,MAAM,EAAE,MAAM,uBAAuB;EACrC,MAAM,MAAM,KAAK,YAAY,OAAgB,CAAC,cAAc;AAE5D,MAAI,CAAC,IACJ;AAGD,SAAO,KAAK,iBACR,KAAK,YAAY,KAAK,kDACQ,KAAK,UAAW,EAAE,CAAC,IAAI,CAAC,GACtD,mBAAoE,CAAC,IAAI,CAAC;;CAG/E,OAAO,mBAA0D;EAChE,MAAM,4CAA0B,KAAK,MAAM,QAAQ,qBAAqB,EAAE,CAAC;AAC3E,OAAK,OAAO,SAAS,KAAK,MAAM,KAAK,OAAO;AAC5C,SAAO,KAAK,KAAK,wBAAwB,OAAgB,CAAC,YAAY"}
@@ -13,7 +13,7 @@ import { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from "expo-sqlite";
13
13
  //#region src/expo-sqlite/session.d.ts
14
14
  interface ExpoSQLiteSessionOptions {
15
15
  logger?: Logger;
16
- useJitMapper?: boolean;
16
+ useJitMappers?: boolean;
17
17
  }
18
18
  type PreparedQueryConfig$1 = Omit<PreparedQueryConfig, 'statement' | 'run'>;
19
19
  declare class ExpoSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {
@@ -43,13 +43,13 @@ declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig$1 = Prepared
43
43
  private stmt;
44
44
  private logger;
45
45
  private fields;
46
- private useJitMapper;
46
+ private useJitMappers;
47
47
  private customResultMapper?;
48
48
  private isRqbV2Query?;
49
49
  private rqbConfig?;
50
50
  static readonly [entityKind]: string;
51
51
  private jitMapper?;
52
- constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
52
+ constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, useJitMappers: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
53
53
  run(placeholderValues?: Record<string, unknown>): SQLiteRunResult;
54
54
  all(placeholderValues?: Record<string, unknown>): T['all'];
55
55
  private allRqbV2;