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 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","Table","Param","PgColumn","sql","parsePgArray","makePgArray","parseGeometryXY","parseGeometryTuple","castToTextArr","castToText","textToDate","textToDateWithTz","DefaultLogger","AwsDataApiSession","RDSDataClient"],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.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 { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport type { DrizzleConfig, UpdateSet } from '~/utils.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\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\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\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\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\tbigint: { normalizeParamArray: makePgArray },\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tdate: {\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\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\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\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: { normalizeParamArray: makePgArray },\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\n\t});\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\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t)\n\t\t),\n\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AA8CA,IAAa,uBAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,IAAa,eAAb,cAAkCC,+BAAU;CAC3C,QAA0BD,0BAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAME,iBAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,2BACI,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACpC,QAAQC,qCAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAaA,iBAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAMH,iBAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,qCAAoB,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACrD,eAAeC,qCAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAaA,iBAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,MAAa,oEAA2C;CACvD,MAAM;EACL,YAAY,MAAM,KAAK,MAAM,EAAE;EAC/B,iBAAiB,MAAM,KAAK,UAAU,EAAE;EACxC,yEAAgD,MAAM,KAAK,UAAU,EAAE,EAAE,KAAK;EAC9E;CACD,OAAO;EACN,YAAY,MAAM,KAAK,MAAM,EAAE;EAC/B,iBAAiB,MAAM,KAAK,UAAU,EAAE;EACxC,yEAAgD,MAAM,KAAK,UAAU,EAAE,EAAE,KAAK;EAC9E;CACD,KAAK;EACJ,gBAAgBC;EAChB,qBAAqBC;EACrB;CACD,UAAU;EACT,kEAAyCC,oCAAgB;EACzD,qBAAqBD;EACrB;CACD,kBAAkB;EACjB,kEAAyCE,uCAAmB;EAC5D,qBAAqBF;EACrB;CACD,UAAU;EACT,WAAWG;EACX,qBAAqBH;EACrB;CACD,MAAM;EACL,MAAMI;EACN,WAAWD;EACX,qBAAqBH;EACrB;CACD,cAAc;EACb,MAAMI;EACN,WAAWD;EACX,qBAAqBH;EACrB;CACD,UAAU;EACT,iBAAiBG;EACjB,WAAWA;EACX,qBAAqBH;EACrB;CACD,OAAO;EACN,MAAMI;EACN,WAAWD;EACX,qBAAqBH;EACrB;CACD,eAAe;EACd,MAAMI;EACN,WAAWD;EACX,qBAAqBH;EACrB;CACD,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,WAAW;EACV,gBAAgBD;EAChB,qBAAqBC;EACrB;CACD,QAAQ,EAAE,qBAAqBA,gCAAa;CAE5C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,KAAK,EAAE,qBAAqBA,gCAAa;CACzC,OAAO,EAAE,qBAAqBA,gCAAa;CAC3C,OAAO,EAAE,qBAAqBA,gCAAa;CAC3C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,gBAAgB,EAAE,qBAAqBA,gCAAa;CACpD,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,gBAAgB,EAAE,qBAAqBA,gCAAa;CACpD,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,gBAAgB,EAAE,qBAAqBA,gCAAa;CACpD,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,OAAO,EAAE,qBAAqBA,gCAAa;CAC3C,eAAe,EAAE,qBAAqBA,gCAAa;CACnD,UAAU,EAAE,qBAAqBA,gCAAa;CAC9C,KAAK,EAAE,qBAAqBA,gCAAa;CACzC,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,UAAU,EAAE,qBAAqBA,gCAAa;CAC9C,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,eAAe,EAAE,qBAAqBA,gCAAa;CACnD,cAAc,EAAE,qBAAqBA,gCAAa;CAClD,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,aAAa,EAAE,qBAAqBA,gCAAa;CACjD,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,cAAc,EAAE,qBAAqBA,gCAAa;CAClD,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,UAAU,EAAE,qBAAqBA,gCAAa;CAC9C,aAAa,EAAE,qBAAqBA,gCAAa;CACjD,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,cAAc,EAAE,qBAAqBA,gCAAa;CAClD,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,gBAAgB,EAAE,qBAAqBA,gCAAa;CACpD,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,UAAU,EAAE,qBAAqBA,gCAAa;CAC9C,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,KAAK,EAAE,qBAAqBA,gCAAa;CACzC,OAAO,EAAE,qBAAqBA,gCAAa;CAC3C,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,SAAS,EAAE,qBAAqBA,gCAAa;CAC7C,kBAAkB,EAAE,qBAAqBA,gCAAa;CACtD,kBAAkB,EAAE,qBAAqBA,gCAAa;CACtD,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,iBAAiB,EAAE,qBAAqBA,gCAAa;CACrD,iBAAiB,EAAE,qBAAqBA,gCAAa;CACrD,WAAW,EAAE,qBAAqBA,gCAAa;CAC/C,oBAAoB,EAAE,qBAAqBA,gCAAa;CACxD,MAAM;EACL,WAAWG;EACX,WAAWE;EACX,8DAAqCA,+BAAW;EAChD,qBAAqBL;EACrB;CACD,eAAe;EACd,WAAWG;EACX,qBAAqBH;EACrB;CACD,QAAQ,EAAE,qBAAqBA,gCAAa;CAC5C,KAAK,EAAE,qBAAqBA,gCAAa;CACzC,WAAW;EACV,WAAWG;EACX,WAAWG;EACX,8DAAqCA,qCAAiB;EACtD,qBAAqBN;EACrB;CACD,aAAa;EACZ,WAAWG;EACX,WAAWE;EACX,8DAAqCA,+BAAW;EAChD,qBAAqBL;EACrB;CACD,oBAAoB;EACnB,WAAWG;EACX,qBAAqBH;EACrB;CACD,sBAAsB;EACrB,WAAWG;EACX,qBAAqBH;EACrB;CACD,MAAM,EAAE,qBAAqBA,gCAAa;CAC1C,CAAC;AAEF,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,eAAe,OAAO;EACtB,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIO,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,qBAAqB,SALpB,IAAIC,kDAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAIC,uCAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","Table","Param","PgColumn","sql","awsDataApiPgCodecs","DefaultLogger","AwsDataApiSession","RDSDataClient"],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\n\t});\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\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t)\n\t\t),\n\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,IAAa,eAAb,cAAkCC,+BAAU;CAC3C,QAA0BD,0BAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAME,iBAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,2BACI,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACpC,QAAQC,qCAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAaA,iBAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAMH,iBAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,qCAAoB,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACrD,eAAeC,qCAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAaA,iBAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,qBAAqB,SALpB,IAAIC,kDAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAIC,uCAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,15 +1,12 @@
1
- import { Codec } from "../../codecs.cjs";
2
1
  import { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from "./session.cjs";
3
2
  import { entityKind } from "../../entity.cjs";
4
3
  import { SQL } from "../../sql/sql.cjs";
5
- import * as __utils_ts0 from "../../utils.cjs";
6
4
  import { DrizzleConfig, UpdateSet } from "../../utils.cjs";
7
5
  import { AnyRelations, EmptyRelations } from "../../relations.cjs";
8
6
  import { PgTable, TableConfig } from "../../pg-core/table.cjs";
9
7
  import { PgDialect } from "../../pg-core/dialect.cjs";
10
8
  import { Logger } from "../../logger.cjs";
11
9
  import { RDSDataClient, RDSDataClientConfig } from "@aws-sdk/client-rds-data";
12
- import * as __pg_core_codecs_ts0 from "../../pg-core/codecs.cjs";
13
10
  import { PgAsyncDatabase } from "../../pg-core/async/db.cjs";
14
11
  import { PgInsertConfig } from "../../pg-core/query-builders/insert.cjs";
15
12
  import { DrizzlePgConfig } from "../../pg-core/utils.cjs";
@@ -43,7 +40,6 @@ declare class AwsPgDialect extends PgDialect {
43
40
  }: PgInsertConfig<PgTable<TableConfig>>): SQL<unknown>;
44
41
  buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown>;
45
42
  }
46
- declare const awsDataApiPgCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
47
43
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends AwsDataApiClient = RDSDataClient>(...params: [((DrizzlePgConfig<TRelations> & {
48
44
  connection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;
49
45
  }) | (DrizzleAwsDataApiPgConfig<TRelations> & {
@@ -57,5 +53,5 @@ declare namespace drizzle {
57
53
  };
58
54
  }
59
55
  //#endregion
60
- export { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle };
56
+ export { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, drizzle };
61
57
  //# sourceMappingURL=driver.d.cts.map
@@ -1,12 +1,9 @@
1
- import { Codec } from "../../codecs.js";
2
1
  import { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from "./session.js";
3
2
  import { entityKind } from "../../entity.js";
4
- import * as __utils_ts0 from "../../utils.js";
5
3
  import { DrizzleConfig, UpdateSet } from "../../utils.js";
6
4
  import { SQL } from "../../sql/sql.js";
7
5
  import { Logger } from "../../logger.js";
8
6
  import { PgAsyncDatabase } from "../../pg-core/async/db.js";
9
- import * as __pg_core_codecs_ts0 from "../../pg-core/codecs.js";
10
7
  import { PgDialect } from "../../pg-core/dialect.js";
11
8
  import { AnyRelations, EmptyRelations } from "../../relations.js";
12
9
  import { RDSDataClient, RDSDataClientConfig } from "@aws-sdk/client-rds-data";
@@ -43,7 +40,6 @@ declare class AwsPgDialect extends PgDialect {
43
40
  }: PgInsertConfig<PgTable<TableConfig>>): SQL<unknown>;
44
41
  buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown>;
45
42
  }
46
- declare const awsDataApiPgCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
47
43
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends AwsDataApiClient = RDSDataClient>(...params: [((DrizzlePgConfig<TRelations> & {
48
44
  connection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;
49
45
  }) | (DrizzleAwsDataApiPgConfig<TRelations> & {
@@ -57,5 +53,5 @@ declare namespace drizzle {
57
53
  };
58
54
  }
59
55
  //#endregion
60
- export { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle };
56
+ export { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, drizzle };
61
57
  //# sourceMappingURL=driver.d.ts.map
@@ -1,11 +1,11 @@
1
+ import { awsDataApiPgCodecs } from "./codecs.js";
1
2
  import { AwsDataApiSession } from "./session.js";
2
3
  import { entityKind, is } from "../../entity.js";
3
4
  import { Table } from "../../table.js";
5
+ import { jitCompatCheck } from "../../utils.js";
4
6
  import { Param, sql } from "../../sql/sql.js";
5
7
  import { DefaultLogger } from "../../logger.js";
6
- import { makePgArray, parsePgArray } from "../../pg-core/array.js";
7
8
  import { PgAsyncDatabase } from "../../pg-core/async/db.js";
8
- import { arrayCompatNormalize, arrayCompatNormalizeInput, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../../pg-core/codecs.js";
9
9
  import { PgDialect } from "../../pg-core/dialect.js";
10
10
  import { RDSDataClient } from "@aws-sdk/client-rds-data";
11
11
  import { PgColumn } from "../../pg-core/columns/common.js";
@@ -43,161 +43,9 @@ var AwsPgDialect = class extends PgDialect {
43
43
  return super.buildUpdateSet(table, set);
44
44
  }
45
45
  };
46
- const awsDataApiPgCodecs = refineGenericPgCodecs({
47
- json: {
48
- normalize: (v) => JSON.parse(v),
49
- normalizeParam: (v) => JSON.stringify(v),
50
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
51
- },
52
- jsonb: {
53
- normalize: (v) => JSON.parse(v),
54
- normalizeParam: (v) => JSON.stringify(v),
55
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
56
- },
57
- bit: {
58
- normalizeArray: parsePgArray,
59
- normalizeParamArray: makePgArray
60
- },
61
- geometry: {
62
- normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
63
- normalizeParamArray: makePgArray
64
- },
65
- "geometry:tuple": {
66
- normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
67
- normalizeParamArray: makePgArray
68
- },
69
- interval: {
70
- castArray: castToTextArr,
71
- normalizeParamArray: makePgArray
72
- },
73
- line: {
74
- cast: castToText,
75
- castArray: castToTextArr,
76
- normalizeParamArray: makePgArray
77
- },
78
- "line:tuple": {
79
- cast: castToText,
80
- castArray: castToTextArr,
81
- normalizeParamArray: makePgArray
82
- },
83
- macaddr8: {
84
- castArrayInJson: castToTextArr,
85
- castArray: castToTextArr,
86
- normalizeParamArray: makePgArray
87
- },
88
- point: {
89
- cast: castToText,
90
- castArray: castToTextArr,
91
- normalizeParamArray: makePgArray
92
- },
93
- "point:tuple": {
94
- cast: castToText,
95
- castArray: castToTextArr,
96
- normalizeParamArray: makePgArray
97
- },
98
- halfvec: { normalizeParamArray: makePgArray },
99
- sparsevec: {
100
- normalizeArray: parsePgArray,
101
- normalizeParamArray: makePgArray
102
- },
103
- vector: { normalizeParamArray: makePgArray },
104
- bool: { normalizeParamArray: makePgArray },
105
- box: { normalizeParamArray: makePgArray },
106
- box2d: { normalizeParamArray: makePgArray },
107
- box3d: { normalizeParamArray: makePgArray },
108
- char: { normalizeParamArray: makePgArray },
109
- cidr: { normalizeParamArray: makePgArray },
110
- circle: { normalizeParamArray: makePgArray },
111
- datemultirange: { normalizeParamArray: makePgArray },
112
- daterange: { normalizeParamArray: makePgArray },
113
- float8: { normalizeParamArray: makePgArray },
114
- geography: { normalizeParamArray: makePgArray },
115
- inet: { normalizeParamArray: makePgArray },
116
- int4multirange: { normalizeParamArray: makePgArray },
117
- int4range: { normalizeParamArray: makePgArray },
118
- int8multirange: { normalizeParamArray: makePgArray },
119
- int8range: { normalizeParamArray: makePgArray },
120
- lseg: { normalizeParamArray: makePgArray },
121
- macaddr: { normalizeParamArray: makePgArray },
122
- money: { normalizeParamArray: makePgArray },
123
- nummultirange: { normalizeParamArray: makePgArray },
124
- numrange: { normalizeParamArray: makePgArray },
125
- oid: { normalizeParamArray: makePgArray },
126
- path: { normalizeParamArray: makePgArray },
127
- polygon: { normalizeParamArray: makePgArray },
128
- raster: { normalizeParamArray: makePgArray },
129
- regclass: { normalizeParamArray: makePgArray },
130
- regconfig: { normalizeParamArray: makePgArray },
131
- regdictionary: { normalizeParamArray: makePgArray },
132
- regnamespace: { normalizeParamArray: makePgArray },
133
- regoper: { normalizeParamArray: makePgArray },
134
- regoperator: { normalizeParamArray: makePgArray },
135
- regproc: { normalizeParamArray: makePgArray },
136
- regprocedure: { normalizeParamArray: makePgArray },
137
- regrole: { normalizeParamArray: makePgArray },
138
- regtype: { normalizeParamArray: makePgArray },
139
- serial: { normalizeParamArray: makePgArray },
140
- smallint: { normalizeParamArray: makePgArray },
141
- smallserial: { normalizeParamArray: makePgArray },
142
- text: { normalizeParamArray: makePgArray },
143
- time: { normalizeParamArray: makePgArray },
144
- timetz: { normalizeParamArray: makePgArray },
145
- tsmultirange: { normalizeParamArray: makePgArray },
146
- tsquery: { normalizeParamArray: makePgArray },
147
- tsrange: { normalizeParamArray: makePgArray },
148
- tstzmultirange: { normalizeParamArray: makePgArray },
149
- tstzrange: { normalizeParamArray: makePgArray },
150
- tsvector: { normalizeParamArray: makePgArray },
151
- varbit: { normalizeParamArray: makePgArray },
152
- varchar: { normalizeParamArray: makePgArray },
153
- xml: { normalizeParamArray: makePgArray },
154
- bytea: { normalizeParamArray: makePgArray },
155
- enum: { normalizeParamArray: makePgArray },
156
- numeric: { normalizeParamArray: makePgArray },
157
- "numeric:number": { normalizeParamArray: makePgArray },
158
- "numeric:bigint": { normalizeParamArray: makePgArray },
159
- bigint: { normalizeParamArray: makePgArray },
160
- "bigint:number": { normalizeParamArray: makePgArray },
161
- "bigint:string": { normalizeParamArray: makePgArray },
162
- bigserial: { normalizeParamArray: makePgArray },
163
- "bigserial:number": { normalizeParamArray: makePgArray },
164
- date: {
165
- castArray: castToTextArr,
166
- normalize: textToDate,
167
- normalizeArray: arrayCompatNormalize(textToDate),
168
- normalizeParamArray: makePgArray
169
- },
170
- "date:string": {
171
- castArray: castToTextArr,
172
- normalizeParamArray: makePgArray
173
- },
174
- float4: { normalizeParamArray: makePgArray },
175
- int: { normalizeParamArray: makePgArray },
176
- timestamp: {
177
- castArray: castToTextArr,
178
- normalize: textToDateWithTz,
179
- normalizeArray: arrayCompatNormalize(textToDateWithTz),
180
- normalizeParamArray: makePgArray
181
- },
182
- timestamptz: {
183
- castArray: castToTextArr,
184
- normalize: textToDate,
185
- normalizeArray: arrayCompatNormalize(textToDate),
186
- normalizeParamArray: makePgArray
187
- },
188
- "timestamp:string": {
189
- castArray: castToTextArr,
190
- normalizeParamArray: makePgArray
191
- },
192
- "timestamptz:string": {
193
- castArray: castToTextArr,
194
- normalizeParamArray: makePgArray
195
- },
196
- uuid: { normalizeParamArray: makePgArray }
197
- });
198
46
  function construct(client, config) {
199
47
  const dialect = new AwsPgDialect({
200
- useJitMappers: config.useJitMappers,
48
+ useJitMappers: jitCompatCheck(config.useJitMappers),
201
49
  codecs: config.codecs ?? awsDataApiPgCodecs
202
50
  });
203
51
  let logger;
@@ -236,5 +84,5 @@ function drizzle(...params) {
236
84
  })(drizzle || (drizzle = {}));
237
85
 
238
86
  //#endregion
239
- export { AwsDataApiPgDatabase, AwsPgDialect, awsDataApiPgCodecs, drizzle };
87
+ export { AwsDataApiPgDatabase, AwsPgDialect, drizzle };
240
88
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.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 { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport type { DrizzleConfig, UpdateSet } from '~/utils.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\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\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\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\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\tbigint: { normalizeParamArray: makePgArray },\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tdate: {\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\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\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\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: { normalizeParamArray: makePgArray },\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\n\t});\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\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t)\n\t\t),\n\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\n\t});\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\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t)\n\t\t),\n\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,IAAa,eAAb,cAAkC,UAAU;CAC3C,QAA0B,cAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,OACC,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACvC,GAAG,QAAQ,SAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAa,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,iBAAiB,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACxD,GAAG,eAAe,SAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAa,IAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,qBAAqB,SALpB,IAAI,kBAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAI,cAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_aws_data_api_pg_codecs = require('./codecs.cjs');
2
3
  const require_aws_data_api_pg_session = require('./session.cjs');
3
4
  const require_aws_data_api_pg_driver = require('./driver.cjs');
4
5
 
@@ -6,7 +7,7 @@ exports.AwsDataApiPgDatabase = require_aws_data_api_pg_driver.AwsDataApiPgDataba
6
7
  exports.AwsDataApiSession = require_aws_data_api_pg_session.AwsDataApiSession;
7
8
  exports.AwsDataApiTransaction = require_aws_data_api_pg_session.AwsDataApiTransaction;
8
9
  exports.AwsPgDialect = require_aws_data_api_pg_driver.AwsPgDialect;
9
- exports.awsDataApiPgCodecs = require_aws_data_api_pg_driver.awsDataApiPgCodecs;
10
+ exports.awsDataApiPgCodecs = require_aws_data_api_pg_codecs.awsDataApiPgCodecs;
10
11
  Object.defineProperty(exports, 'drizzle', {
11
12
  enumerable: true,
12
13
  get: function () {
@@ -1,3 +1,4 @@
1
+ import { awsDataApiPgCodecs } from "./codecs.cjs";
1
2
  import { AwsDataApiClient, AwsDataApiPgQueryResult, AwsDataApiPgQueryResultHKT, AwsDataApiSession, AwsDataApiSessionOptions, AwsDataApiTransaction } from "./session.cjs";
2
- import { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle } from "./driver.cjs";
3
+ import { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, drizzle } from "./driver.cjs";
3
4
  export { AwsDataApiClient, AwsDataApiPgDatabase, AwsDataApiPgQueryResult, AwsDataApiPgQueryResultHKT, AwsDataApiSession, AwsDataApiSessionOptions, AwsDataApiTransaction, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle };
@@ -1,3 +1,4 @@
1
+ import { awsDataApiPgCodecs } from "./codecs.js";
1
2
  import { AwsDataApiClient, AwsDataApiPgQueryResult, AwsDataApiPgQueryResultHKT, AwsDataApiSession, AwsDataApiSessionOptions, AwsDataApiTransaction } from "./session.js";
2
- import { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle } from "./driver.js";
3
+ import { AwsDataApiPgDatabase, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, drizzle } from "./driver.js";
3
4
  export { AwsDataApiClient, AwsDataApiPgDatabase, AwsDataApiPgQueryResult, AwsDataApiPgQueryResultHKT, AwsDataApiSession, AwsDataApiSessionOptions, AwsDataApiTransaction, AwsPgDialect, DrizzleAwsDataApiPgConfig, PgDriverOptions, awsDataApiPgCodecs, drizzle };
@@ -1,4 +1,5 @@
1
+ import { awsDataApiPgCodecs } from "./codecs.js";
1
2
  import { AwsDataApiSession, AwsDataApiTransaction } from "./session.js";
2
- import { AwsDataApiPgDatabase, AwsPgDialect, awsDataApiPgCodecs, drizzle } from "./driver.js";
3
+ import { AwsDataApiPgDatabase, AwsPgDialect, drizzle } from "./driver.js";
3
4
 
4
5
  export { AwsDataApiPgDatabase, AwsDataApiSession, AwsDataApiTransaction, AwsPgDialect, awsDataApiPgCodecs, drizzle };
@@ -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_better_sqlite3_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);
@@ -31,7 +32,7 @@ function construct(client, config = {}) {
31
32
  const relations = config.relations ?? {};
32
33
  const db = new BetterSQLite3Database("sync", dialect, new require_better_sqlite3_session.BetterSQLiteSession(client, dialect, relations, schema, {
33
34
  logger,
34
- useJitMapper: config.useJitMappers
35
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
35
36
  }), relations, schema);
36
37
  db.$client = client;
37
38
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","BetterSQLiteSession","Client"],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BetterSQLite3Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,IAAa,wBAAb,cAGUA,uCAA2D;CACpE,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAIC,mDAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,wBAAQ,GAAG,IAAIA,uBAAO,OAAO,GAAG,EAEpD,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAIA,uBAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,uBAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","BetterSQLiteSession","Client"],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BetterSQLite3Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAmBA,IAAa,wBAAb,cAGUA,uCAA2D;CACpE,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAIC,mDAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,wBAAQ,GAAG,IAAIA,uBAAO,OAAO,GAAG,EAEpD,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAIA,uBAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,uBAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,5 +1,6 @@
1
1
  import { BetterSQLiteSession } 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";
@@ -27,7 +28,7 @@ function construct(client, config = {}) {
27
28
  const relations = config.relations ?? {};
28
29
  const db = new BetterSQLite3Database("sync", dialect, new BetterSQLiteSession(client, dialect, relations, schema, {
29
30
  logger,
30
- useJitMapper: config.useJitMappers
31
+ useJitMappers: jitCompatCheck(config.useJitMappers)
31
32
  }), relations, schema);
32
33
  db.$client = client;
33
34
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BetterSQLite3Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;AAmBA,IAAa,wBAAb,cAGU,mBAA2D;CACpE,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAI,oBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,cAAc,OAAO;EACrB,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAI,QAAQ,GAAG,IAAI,OAAO,OAAO,GAAG,EAEpD,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAI,OAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<any> db).$cache) {\n\t// \t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\n\t\t}\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BetterSQLite3Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAmBA,IAAa,wBAAb,cAGU,mBAA2D;CACpE,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAI,oBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAI,QAAQ,GAAG,IAAI,OAAO,OAAO,GAAG,EAEpD,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAI,OAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -24,10 +24,10 @@ var BetterSQLiteSession = class extends __sqlite_core_session_ts.SQLiteSession {
24
24
  this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
25
25
  }
26
26
  prepareQuery(query, fields, executeMethod, customResultMapper, queryMetadata, cacheConfig) {
27
- return new PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMapper, customResultMapper);
27
+ return new PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, queryMetadata, cacheConfig, fields, executeMethod, this.options.useJitMappers, customResultMapper);
28
28
  }
29
29
  prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
30
- return new PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
30
+ return new PreparedQuery(this.client.prepare(query.sql), query, this.logger, this.cache, void 0, void 0, fields, executeMethod, this.options.useJitMappers, customResultMapper, true, config);
31
31
  }
32
32
  transaction(transaction, config = {}) {
33
33
  const tx = new BetterSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
@@ -53,12 +53,12 @@ var BetterSQLiteTransaction = class BetterSQLiteTransaction extends __sqlite_cor
53
53
  var PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
54
54
  static [__entity_ts.entityKind] = "BetterSQLitePreparedQuery";
55
55
  jitMapper;
56
- constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
56
+ constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, useJitMappers, customResultMapper, isRqbV2Query, rqbConfig) {
57
57
  super("sync", executeMethod, query, cache, queryMetadata, cacheConfig);
58
58
  this.stmt = stmt;
59
59
  this.logger = logger;
60
60
  this.fields = fields;
61
- this.useJitMapper = useJitMapper;
61
+ this.useJitMappers = useJitMappers;
62
62
  this.customResultMapper = customResultMapper;
63
63
  this.isRqbV2Query = isRqbV2Query;
64
64
  this.rqbConfig = rqbConfig;
@@ -78,7 +78,7 @@ var PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
78
78
  }
79
79
  const rows = this.values(placeholderValues);
80
80
  if (customResultMapper) return customResultMapper(rows);
81
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
81
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
82
82
  }
83
83
  get(placeholderValues) {
84
84
  if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
@@ -89,14 +89,14 @@ var PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
89
89
  const row = stmt.raw().get(...params);
90
90
  if (!row) return;
91
91
  if (customResultMapper) return customResultMapper([row]);
92
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
92
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
93
93
  }
94
94
  allRqbV2(placeholderValues) {
95
95
  const { query, logger, stmt, customResultMapper } = this;
96
96
  const params = (0, __sql_sql_ts.fillPlaceholders)(query.params, placeholderValues ?? {});
97
97
  logger.logQuery(query.sql, params);
98
98
  const rows = stmt.all(...params);
99
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
99
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
100
100
  }
101
101
  getRqbV2(placeholderValues) {
102
102
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues ?? {});
@@ -104,7 +104,7 @@ var PreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
104
104
  const { stmt, customResultMapper } = this;
105
105
  const row = stmt.get(...params);
106
106
  if (row === void 0) return row;
107
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([row]);
107
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([row]);
108
108
  }
109
109
  values(placeholderValues) {
110
110
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.query.params, placeholderValues ?? {});