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
@@ -11,14 +11,14 @@ import { makeJitRqbMapper } from "../../relations.js";
11
11
  var BunMySqlPreparedQuery = class extends MySqlPreparedQuery {
12
12
  static [entityKind] = "BunMySqlPreparedQuery";
13
13
  jitMapper;
14
- constructor(client, query, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMapper, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
14
+ constructor(client, query, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMappers, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
15
15
  super(cache, queryMetadata, cacheConfig);
16
16
  this.client = client;
17
17
  this.query = query;
18
18
  this.params = params;
19
19
  this.logger = logger;
20
20
  this.fields = fields;
21
- this.useJitMapper = useJitMapper;
21
+ this.useJitMappers = useJitMappers;
22
22
  this.customResultMapper = customResultMapper;
23
23
  this.generatedIds = generatedIds;
24
24
  this.returningIds = returningIds;
@@ -57,14 +57,14 @@ var BunMySqlPreparedQuery = class extends MySqlPreparedQuery {
57
57
  return await client.unsafe(query, params).values();
58
58
  });
59
59
  if (customResultMapper) return customResultMapper(rows);
60
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
60
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
61
61
  }
62
62
  async executeRqbV2(placeholderValues = {}) {
63
63
  const params = fillPlaceholders(this.params, placeholderValues);
64
64
  this.logger.logQuery(this.query, params);
65
65
  const { client, query, customResultMapper } = this;
66
66
  const rows = await client.unsafe(query, params);
67
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows) : customResultMapper(rows);
67
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows) : customResultMapper(rows);
68
68
  }
69
69
  async *iterator(placeholderValues = {}) {
70
70
  const { fields, params: queryParams, query, joinsNotNullableMap, client, customResultMapper } = this;
@@ -75,7 +75,7 @@ var BunMySqlPreparedQuery = class extends MySqlPreparedQuery {
75
75
  const hasRowsMapper = Boolean(fields || customResultMapper);
76
76
  for (const row of rows) {
77
77
  if (row === void 0 || Array.isArray(row) && row.length === 0) break;
78
- if (this.isRqbV2Query) if (this.useJitMapper) yield (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([row]);
78
+ if (this.isRqbV2Query) if (this.useJitMappers) yield (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([row]);
79
79
  else {
80
80
  const mapped = customResultMapper([row]);
81
81
  if (this.rqbConfig.isFirst) yield mapped;
@@ -84,7 +84,7 @@ var BunMySqlPreparedQuery = class extends MySqlPreparedQuery {
84
84
  else if (hasRowsMapper) if (customResultMapper) {
85
85
  const mappedRow = customResultMapper([row]);
86
86
  yield Array.isArray(mappedRow) ? mappedRow[0] : mappedRow;
87
- } else yield this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))([row])[0] : mapResultRow(fields, row, joinsNotNullableMap);
87
+ } else yield this.useJitMappers ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))([row])[0] : mapResultRow(fields, row, joinsNotNullableMap);
88
88
  else yield row;
89
89
  }
90
90
  }
@@ -105,10 +105,10 @@ var BunMySqlSession = class BunMySqlSession extends MySqlSession {
105
105
  this.mode = options.mode;
106
106
  }
107
107
  prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
108
- return new BunMySqlPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds);
108
+ return new BunMySqlPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds);
109
109
  }
110
110
  prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
111
- return new BunMySqlPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds, true, config);
111
+ return new BunMySqlPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds, true, config);
112
112
  }
113
113
  /** @internal */
114
114
  async query(query, params) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../../src/bun-sql/mysql/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL as BunSQL, TransactionSQL } from 'bun';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class BunMySqlPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'BunMySqlPreparedQuery';\n\tprivate jitMapper?:\n\t\t| RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t| RelationalRowsMapper<T['execute']>;\n\n\tconstructor(\n\t\tprivate client: BunSQL,\n\t\tprivate query: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tlogger,\n\t\t\tparams: rawParams,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tconst params = fillPlaceholders(rawParams, placeholderValues);\n\n\t\tlogger.logQuery(query, params);\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(query, params, async () => {\n\t\t\t\treturn await client.unsafe(query, params);\n\t\t\t});\n\n\t\t\tconst insertId = res.lastInsertRowid;\n\t\t\tconst affectedRows = res.affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(query, params, async () => {\n\t\t\treturn await client.unsafe(query, params).values();\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper =\n\t\t\t\tthis.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\tfields!,\n\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t))(rows)\n\t\t\t: rows.map((row: unknown[]) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query, params);\n\n\t\tconst { client, query, customResultMapper } = this;\n\t\tconst rows = await client.unsafe(query, params);\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst { fields, params: queryParams, query, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(queryParams, placeholderValues);\n\t\tconst rows = await this.queryWithCache(query, params, async () => {\n\t\t\treturn await client.unsafe(query, params).values();\n\t\t});\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\n\t\tfor (const row of rows) {\n\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (this.isRqbV2Query) {\n\t\t\t\tif (this.useJitMapper) {\n\t\t\t\t\tyield (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))([row]);\n\t\t\t\t} else {\n\t\t\t\t\tconst mapped = (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])([row]);\n\t\t\t\t\tif (this.rqbConfig!.isFirst) yield mapped;\n\t\t\t\t\telse yield ((<any[]> mapped)[0]);\n\t\t\t\t}\n\t\t\t} else if (hasRowsMapper) {\n\t\t\t\tif (customResultMapper) {\n\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t} else {\n\t\t\t\t\tyield this.useJitMapper\n\t\t\t\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t\t\t: T['execute'])[]>\n\t\t\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\t\t\tfields!,\n\t\t\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t\t\t))([row])[0] as T['execute']\n\t\t\t\t\t\t: mapResultRow(fields!, row, joinsNotNullableMap);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tyield row as T['execute'];\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface BunMySqlSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n\tmode: Mode;\n}\n\nexport class BunMySqlSession<\n\tTSQL extends BunSQL,\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlSession';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\treadonly options: BunMySqlSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<BunMySqlPreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new BunMySqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<BunMySqlPreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<BunMySqlPreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new BunMySqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t) as any;\n\t}\n\n\t/** @internal */\n\tasync query(query: string, params: unknown[]): Promise<Record<string, unknown>[]> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.unsafe(query, params);\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.unsafe(querySql.sql, querySql.params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst query = this.dialect.sqlToQuery(sql);\n\t\tconst data = await this.client.unsafe(query.sql, query.params).values();\n\n\t\tconst count = data[0][0];\n\t\tif (typeof count === 'number') return count;\n\t\treturn Number(count);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: BunMySqlTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst startTransactionSql = config\n\t\t\t? this.getStartTransactionSQL(config)?.inlineParams().toQuery(this.dialect).sql.slice(18) ?? ''\n\t\t\t: '';\n\n\t\tif (config?.isolationLevel) throw new Error(\"Driver doesn't support setting isolation level on transaction\");\n\n\t\treturn this.client.begin(startTransactionSql, async (client) => {\n\t\t\tconst session = new BunMySqlSession<TransactionSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunMySqlTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\t0,\n\t\t\t\tthis.mode,\n\t\t\t);\n\t\t\t// if (config) {\n\t\t\t// \tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\t// \tif (setTransactionConfigSql) {\n\t\t\t// \t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t// \t}\n\t\t\t// }\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunMySqlTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tBunMySqlQueryResultHKT,\n\tBunMySqlPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: BunMySqlTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn (<BunMySqlSession<TransactionSQL, any, any, any>> this.session).client.savepoint((client) => {\n\t\t\tconst session = new BunMySqlSession<SavepointSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\t(<BunMySqlSession<any, any, any, any>> this.session).options,\n\t\t\t);\n\t\t\tconst tx = new BunMySqlTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.nestedIndex + 1,\n\t\t\t\tthis.mode,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport interface BunMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: Record<string, unknown>[] & Record<string, unknown>;\n}\n\nexport interface BunMySqlPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: BunMySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../../src/bun-sql/mysql/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL as BunSQL, TransactionSQL } from 'bun';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\ttype Mode,\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n\ttype MySqlTransactionConfig,\n\ttype PreparedQueryKind,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class BunMySqlPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'BunMySqlPreparedQuery';\n\tprivate jitMapper?:\n\t\t| RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t| RelationalRowsMapper<T['execute']>;\n\n\tconstructor(\n\t\tprivate client: BunSQL,\n\t\tprivate query: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMappers: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tlogger,\n\t\t\tparams: rawParams,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tconst params = fillPlaceholders(rawParams, placeholderValues);\n\n\t\tlogger.logQuery(query, params);\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(query, params, async () => {\n\t\t\t\treturn await client.unsafe(query, params);\n\t\t\t});\n\n\t\t\tconst insertId = res.lastInsertRowid;\n\t\t\tconst affectedRows = res.affectedRows;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(query, params, async () => {\n\t\t\treturn await client.unsafe(query, params).values();\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper =\n\t\t\t\tthis.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>\n\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\tfields!,\n\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t))(rows)\n\t\t\t: rows.map((row: unknown[]) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.query, params);\n\n\t\tconst { client, query, customResultMapper } = this;\n\t\tconst rows = await client.unsafe(query, params);\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(rows);\n\t}\n\n\tasync *iterator(\n\t\tplaceholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {\n\t\tconst { fields, params: queryParams, query, joinsNotNullableMap, client, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(queryParams, placeholderValues);\n\t\tconst rows = await this.queryWithCache(query, params, async () => {\n\t\t\treturn await client.unsafe(query, params).values();\n\t\t});\n\t\tconst hasRowsMapper = Boolean(fields || customResultMapper);\n\n\t\tfor (const row of rows) {\n\t\t\tif (row === undefined || (Array.isArray(row) && row.length === 0)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (this.isRqbV2Query) {\n\t\t\t\tif (this.useJitMappers) {\n\t\t\t\t\tyield (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))([row]);\n\t\t\t\t} else {\n\t\t\t\t\tconst mapped = (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])([row]);\n\t\t\t\t\tif (this.rqbConfig!.isFirst) yield mapped;\n\t\t\t\t\telse yield ((<any[]> mapped)[0]);\n\t\t\t\t}\n\t\t\t} else if (hasRowsMapper) {\n\t\t\t\tif (customResultMapper) {\n\t\t\t\t\tconst mappedRow = (customResultMapper as (rows: unknown[][]) => T['execute'])([row as unknown[]]);\n\t\t\t\t\tyield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);\n\t\t\t\t} else {\n\t\t\t\t\tyield this.useJitMappers\n\t\t\t\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<(T['execute'] extends any[] ? T['execute'][number]\n\t\t\t\t\t\t\t: T['execute'])[]>\n\t\t\t\t\t\t\t?? makeJitQueryMapper<(T['execute'] extends any[] ? T['execute'][number] : T['execute'])[]>(\n\t\t\t\t\t\t\t\tfields!,\n\t\t\t\t\t\t\t\tjoinsNotNullableMap,\n\t\t\t\t\t\t\t))([row])[0] as T['execute']\n\t\t\t\t\t\t: mapResultRow(fields!, row, joinsNotNullableMap);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tyield row as T['execute'];\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport interface BunMySqlSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n\tmode: Mode;\n}\n\nexport class BunMySqlSession<\n\tTSQL extends BunSQL,\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<MySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlSession';\n\n\tprivate logger: Logger;\n\tprivate mode: Mode;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: MySqlDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\treadonly options: BunMySqlSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.mode = options.mode;\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PreparedQueryKind<BunMySqlPreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new BunMySqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<BunMySqlPreparedQueryHKT, T>;\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<BunMySqlPreparedQueryHKT, T> {\n\t\t// Add returningId fields\n\t\t// Each driver gets them from response from database\n\t\treturn new BunMySqlPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t) as any;\n\t}\n\n\t/** @internal */\n\tasync query(query: string, params: unknown[]): Promise<Record<string, unknown>[]> {\n\t\tthis.logger.logQuery(query, params);\n\t\tconst result = await this.client.unsafe(query, params);\n\t\treturn result;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.unsafe(querySql.sql, querySql.params);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst query = this.dialect.sqlToQuery(sql);\n\t\tconst data = await this.client.unsafe(query.sql, query.params).values();\n\n\t\tconst count = data[0][0];\n\t\tif (typeof count === 'number') return count;\n\t\treturn Number(count);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: BunMySqlTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t\tconfig?: MySqlTransactionConfig,\n\t): Promise<T> {\n\t\tconst startTransactionSql = config\n\t\t\t? this.getStartTransactionSQL(config)?.inlineParams().toQuery(this.dialect).sql.slice(18) ?? ''\n\t\t\t: '';\n\n\t\tif (config?.isolationLevel) throw new Error(\"Driver doesn't support setting isolation level on transaction\");\n\n\t\treturn this.client.begin(startTransactionSql, async (client) => {\n\t\t\tconst session = new BunMySqlSession<TransactionSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunMySqlTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\t0,\n\t\t\t\tthis.mode,\n\t\t\t);\n\t\t\t// if (config) {\n\t\t\t// \tconst setTransactionConfigSql = this.getSetTransactionSQL(config);\n\t\t\t// \tif (setTransactionConfigSql) {\n\t\t\t// \t\tawait tx.execute(setTransactionConfigSql);\n\t\t\t// \t}\n\t\t\t// }\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunMySqlTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tBunMySqlQueryResultHKT,\n\tBunMySqlPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: BunMySqlTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn (<BunMySqlSession<TransactionSQL, any, any, any>> this.session).client.savepoint((client) => {\n\t\t\tconst session = new BunMySqlSession<SavepointSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\t(<BunMySqlSession<any, any, any, any>> this.session).options,\n\t\t\t);\n\t\t\tconst tx = new BunMySqlTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.nestedIndex + 1,\n\t\t\t\tthis.mode,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport interface BunMySqlQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: Record<string, unknown>[] & Record<string, unknown>;\n}\n\nexport interface BunMySqlPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: BunMySqlPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
3
+ let __pg_core_array_ts = require("../../pg-core/array.cjs");
4
+ let __pg_core_codecs_ts = require("../../pg-core/codecs.cjs");
5
+
6
+ //#region src/bun-sql/postgres/codecs.ts
7
+ const bunSqlPgCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
8
+ date: { normalizeParamArray: __pg_core_array_ts.makePgArray },
9
+ "date:string": {
10
+ cast: __pg_core_codecs_ts.castToText,
11
+ castArray: __pg_core_codecs_ts.castToTextArr,
12
+ normalizeParamArray: __pg_core_array_ts.makePgArray
13
+ },
14
+ uuid: {
15
+ castArray: __pg_core_codecs_ts.castToTextArr,
16
+ normalizeParamArray: __pg_core_array_ts.makePgArray
17
+ },
18
+ timestamp: { normalizeParamArray: __pg_core_array_ts.makePgArray },
19
+ timestamptz: { normalizeParamArray: __pg_core_array_ts.makePgArray },
20
+ "timestamp:string": {
21
+ cast: __pg_core_codecs_ts.castToText,
22
+ castArray: __pg_core_codecs_ts.castToTextArr,
23
+ normalizeParamArray: __pg_core_array_ts.makePgArray
24
+ },
25
+ "timestamptz:string": {
26
+ cast: __pg_core_codecs_ts.castToText,
27
+ castArray: __pg_core_codecs_ts.castToTextArr,
28
+ normalizeParamArray: __pg_core_array_ts.makePgArray
29
+ },
30
+ float4: {
31
+ cast: __pg_core_codecs_ts.castToText,
32
+ castArray: __pg_core_codecs_ts.castToTextArr,
33
+ normalize: Number,
34
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(Number),
35
+ normalizeParamArray: __pg_core_array_ts.makePgArray
36
+ },
37
+ bigint: { normalizeParamArray: __pg_core_array_ts.makePgArray },
38
+ "bigint:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
39
+ "bigint:string": {
40
+ cast: __pg_core_codecs_ts.castToText,
41
+ castArray: __pg_core_codecs_ts.castToTextArr,
42
+ normalizeParamArray: __pg_core_array_ts.makePgArray
43
+ },
44
+ bigserial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
45
+ "bigserial:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
46
+ int: {
47
+ normalizeArray: (value, dimensions) => {
48
+ if (dimensions <= 1) {
49
+ if (value instanceof Int32Array) return Array.from(value);
50
+ return value;
51
+ }
52
+ const stack = [{
53
+ arr: value,
54
+ depth: 1
55
+ }];
56
+ while (stack.length > 0) {
57
+ const { arr, depth } = stack.pop();
58
+ if (depth === dimensions - 1) for (let i = 0; i < arr.length; i++) {
59
+ const leaf = arr[i];
60
+ if (leaf instanceof Int32Array) arr[i] = Array.from(leaf);
61
+ }
62
+ else for (let i = 0; i < arr.length; i++) stack.push({
63
+ arr: arr[i],
64
+ depth: depth + 1
65
+ });
66
+ }
67
+ return value;
68
+ },
69
+ normalizeParamArray: __pg_core_array_ts.makePgArray
70
+ },
71
+ bit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
72
+ bool: { normalizeParamArray: __pg_core_array_ts.makePgArray },
73
+ box: { normalizeParamArray: __pg_core_array_ts.makePgArray },
74
+ box2d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
75
+ box3d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
76
+ char: { normalizeParamArray: __pg_core_array_ts.makePgArray },
77
+ cidr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
78
+ circle: { normalizeParamArray: __pg_core_array_ts.makePgArray },
79
+ datemultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
80
+ daterange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
81
+ float8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
82
+ geography: { normalizeParamArray: __pg_core_array_ts.makePgArray },
83
+ inet: { normalizeParamArray: __pg_core_array_ts.makePgArray },
84
+ int4multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
85
+ int4range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
86
+ int8multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
87
+ int8range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
88
+ lseg: { normalizeParamArray: __pg_core_array_ts.makePgArray },
89
+ macaddr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
90
+ money: { normalizeParamArray: __pg_core_array_ts.makePgArray },
91
+ nummultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
92
+ numrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
93
+ oid: { normalizeParamArray: __pg_core_array_ts.makePgArray },
94
+ path: { normalizeParamArray: __pg_core_array_ts.makePgArray },
95
+ polygon: { normalizeParamArray: __pg_core_array_ts.makePgArray },
96
+ raster: { normalizeParamArray: __pg_core_array_ts.makePgArray },
97
+ regclass: { normalizeParamArray: __pg_core_array_ts.makePgArray },
98
+ regconfig: { normalizeParamArray: __pg_core_array_ts.makePgArray },
99
+ regdictionary: { normalizeParamArray: __pg_core_array_ts.makePgArray },
100
+ regnamespace: { normalizeParamArray: __pg_core_array_ts.makePgArray },
101
+ regoper: { normalizeParamArray: __pg_core_array_ts.makePgArray },
102
+ regoperator: { normalizeParamArray: __pg_core_array_ts.makePgArray },
103
+ regproc: { normalizeParamArray: __pg_core_array_ts.makePgArray },
104
+ regprocedure: { normalizeParamArray: __pg_core_array_ts.makePgArray },
105
+ regrole: { normalizeParamArray: __pg_core_array_ts.makePgArray },
106
+ regtype: { normalizeParamArray: __pg_core_array_ts.makePgArray },
107
+ serial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
108
+ smallint: { normalizeParamArray: __pg_core_array_ts.makePgArray },
109
+ smallserial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
110
+ text: { normalizeParamArray: __pg_core_array_ts.makePgArray },
111
+ time: { normalizeParamArray: __pg_core_array_ts.makePgArray },
112
+ timetz: { normalizeParamArray: __pg_core_array_ts.makePgArray },
113
+ tsmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
114
+ tsquery: { normalizeParamArray: __pg_core_array_ts.makePgArray },
115
+ tsrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
116
+ tstzmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
117
+ tstzrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
118
+ tsvector: { normalizeParamArray: __pg_core_array_ts.makePgArray },
119
+ varbit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
120
+ varchar: { normalizeParamArray: __pg_core_array_ts.makePgArray },
121
+ xml: { normalizeParamArray: __pg_core_array_ts.makePgArray },
122
+ bytea: { normalizeParamArray: __pg_core_array_ts.makePgArray },
123
+ enum: { normalizeParamArray: __pg_core_array_ts.makePgArray },
124
+ json: { normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true) },
125
+ jsonb: { normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true) },
126
+ geometry: {
127
+ normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY),
128
+ normalizeParamArray: __pg_core_array_ts.makePgArray
129
+ },
130
+ "geometry:tuple": {
131
+ normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
132
+ normalizeParamArray: __pg_core_array_ts.makePgArray
133
+ },
134
+ interval: {
135
+ castArray: __pg_core_codecs_ts.castToTextArr,
136
+ normalizeParamArray: __pg_core_array_ts.makePgArray
137
+ },
138
+ line: {
139
+ cast: __pg_core_codecs_ts.castToText,
140
+ castArray: __pg_core_codecs_ts.castToTextArr,
141
+ normalizeParamArray: __pg_core_array_ts.makePgArray
142
+ },
143
+ "line:tuple": {
144
+ cast: __pg_core_codecs_ts.castToText,
145
+ castArray: __pg_core_codecs_ts.castToTextArr,
146
+ normalizeParamArray: __pg_core_array_ts.makePgArray
147
+ },
148
+ macaddr8: {
149
+ castArrayInJson: __pg_core_codecs_ts.castToTextArr,
150
+ castArray: __pg_core_codecs_ts.castToTextArr,
151
+ normalizeParamArray: __pg_core_array_ts.makePgArray
152
+ },
153
+ numeric: { normalizeParamArray: __pg_core_array_ts.makePgArray },
154
+ "numeric:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
155
+ "numeric:bigint": { normalizeParamArray: __pg_core_array_ts.makePgArray },
156
+ point: {
157
+ cast: __pg_core_codecs_ts.castToText,
158
+ castArray: __pg_core_codecs_ts.castToTextArr,
159
+ normalizeParamArray: __pg_core_array_ts.makePgArray
160
+ },
161
+ "point:tuple": {
162
+ cast: __pg_core_codecs_ts.castToText,
163
+ castArray: __pg_core_codecs_ts.castToTextArr,
164
+ normalizeParamArray: __pg_core_array_ts.makePgArray
165
+ },
166
+ halfvec: { normalizeParamArray: __pg_core_array_ts.makePgArray },
167
+ sparsevec: {
168
+ normalizeArray: __pg_core_array_ts.parsePgArray,
169
+ normalizeParamArray: __pg_core_array_ts.makePgArray
170
+ },
171
+ vector: { normalizeParamArray: __pg_core_array_ts.makePgArray }
172
+ });
173
+
174
+ //#endregion
175
+ exports.bunSqlPgCodecs = bunSqlPgCodecs;
176
+ //# sourceMappingURL=codecs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.cjs","names":["makePgArray","castToText","castToTextArr","parseGeometryXY","parseGeometryTuple","parsePgArray"],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\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\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\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\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\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"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { PartialWithUndefined } from "../../utils.cjs";
2
+ import { Codec } from "../../codecs.cjs";
3
+ import * as __pg_core_codecs_ts0 from "../../pg-core/codecs.cjs";
4
+
5
+ //#region src/bun-sql/postgres/codecs.d.ts
6
+ declare const bunSqlPgCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
7
+ //#endregion
8
+ export { bunSqlPgCodecs };
9
+ //# sourceMappingURL=codecs.d.cts.map
@@ -0,0 +1,9 @@
1
+ import { PartialWithUndefined } from "../../utils.js";
2
+ import { Codec } from "../../codecs.js";
3
+ import * as __pg_core_codecs_ts0 from "../../pg-core/codecs.js";
4
+
5
+ //#region src/bun-sql/postgres/codecs.d.ts
6
+ declare const bunSqlPgCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
7
+ //#endregion
8
+ export { bunSqlPgCodecs };
9
+ //# sourceMappingURL=codecs.d.ts.map
@@ -0,0 +1,174 @@
1
+ import { makePgArray, parsePgArray } from "../../pg-core/array.js";
2
+ import { arrayCompatNormalize, arrayCompatNormalizeInput, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs } from "../../pg-core/codecs.js";
3
+
4
+ //#region src/bun-sql/postgres/codecs.ts
5
+ const bunSqlPgCodecs = refineGenericPgCodecs({
6
+ date: { normalizeParamArray: makePgArray },
7
+ "date:string": {
8
+ cast: castToText,
9
+ castArray: castToTextArr,
10
+ normalizeParamArray: makePgArray
11
+ },
12
+ uuid: {
13
+ castArray: castToTextArr,
14
+ normalizeParamArray: makePgArray
15
+ },
16
+ timestamp: { normalizeParamArray: makePgArray },
17
+ timestamptz: { normalizeParamArray: makePgArray },
18
+ "timestamp:string": {
19
+ cast: castToText,
20
+ castArray: castToTextArr,
21
+ normalizeParamArray: makePgArray
22
+ },
23
+ "timestamptz:string": {
24
+ cast: castToText,
25
+ castArray: castToTextArr,
26
+ normalizeParamArray: makePgArray
27
+ },
28
+ float4: {
29
+ cast: castToText,
30
+ castArray: castToTextArr,
31
+ normalize: Number,
32
+ normalizeArray: arrayCompatNormalize(Number),
33
+ normalizeParamArray: makePgArray
34
+ },
35
+ bigint: { normalizeParamArray: makePgArray },
36
+ "bigint:number": { normalizeParamArray: makePgArray },
37
+ "bigint:string": {
38
+ cast: castToText,
39
+ castArray: castToTextArr,
40
+ normalizeParamArray: makePgArray
41
+ },
42
+ bigserial: { normalizeParamArray: makePgArray },
43
+ "bigserial:number": { normalizeParamArray: makePgArray },
44
+ int: {
45
+ normalizeArray: (value, dimensions) => {
46
+ if (dimensions <= 1) {
47
+ if (value instanceof Int32Array) return Array.from(value);
48
+ return value;
49
+ }
50
+ const stack = [{
51
+ arr: value,
52
+ depth: 1
53
+ }];
54
+ while (stack.length > 0) {
55
+ const { arr, depth } = stack.pop();
56
+ if (depth === dimensions - 1) for (let i = 0; i < arr.length; i++) {
57
+ const leaf = arr[i];
58
+ if (leaf instanceof Int32Array) arr[i] = Array.from(leaf);
59
+ }
60
+ else for (let i = 0; i < arr.length; i++) stack.push({
61
+ arr: arr[i],
62
+ depth: depth + 1
63
+ });
64
+ }
65
+ return value;
66
+ },
67
+ normalizeParamArray: makePgArray
68
+ },
69
+ bit: { normalizeParamArray: makePgArray },
70
+ bool: { normalizeParamArray: makePgArray },
71
+ box: { normalizeParamArray: makePgArray },
72
+ box2d: { normalizeParamArray: makePgArray },
73
+ box3d: { normalizeParamArray: makePgArray },
74
+ char: { normalizeParamArray: makePgArray },
75
+ cidr: { normalizeParamArray: makePgArray },
76
+ circle: { normalizeParamArray: makePgArray },
77
+ datemultirange: { normalizeParamArray: makePgArray },
78
+ daterange: { normalizeParamArray: makePgArray },
79
+ float8: { normalizeParamArray: makePgArray },
80
+ geography: { normalizeParamArray: makePgArray },
81
+ inet: { normalizeParamArray: makePgArray },
82
+ int4multirange: { normalizeParamArray: makePgArray },
83
+ int4range: { normalizeParamArray: makePgArray },
84
+ int8multirange: { normalizeParamArray: makePgArray },
85
+ int8range: { normalizeParamArray: makePgArray },
86
+ lseg: { normalizeParamArray: makePgArray },
87
+ macaddr: { normalizeParamArray: makePgArray },
88
+ money: { normalizeParamArray: makePgArray },
89
+ nummultirange: { normalizeParamArray: makePgArray },
90
+ numrange: { normalizeParamArray: makePgArray },
91
+ oid: { normalizeParamArray: makePgArray },
92
+ path: { normalizeParamArray: makePgArray },
93
+ polygon: { normalizeParamArray: makePgArray },
94
+ raster: { normalizeParamArray: makePgArray },
95
+ regclass: { normalizeParamArray: makePgArray },
96
+ regconfig: { normalizeParamArray: makePgArray },
97
+ regdictionary: { normalizeParamArray: makePgArray },
98
+ regnamespace: { normalizeParamArray: makePgArray },
99
+ regoper: { normalizeParamArray: makePgArray },
100
+ regoperator: { normalizeParamArray: makePgArray },
101
+ regproc: { normalizeParamArray: makePgArray },
102
+ regprocedure: { normalizeParamArray: makePgArray },
103
+ regrole: { normalizeParamArray: makePgArray },
104
+ regtype: { normalizeParamArray: makePgArray },
105
+ serial: { normalizeParamArray: makePgArray },
106
+ smallint: { normalizeParamArray: makePgArray },
107
+ smallserial: { normalizeParamArray: makePgArray },
108
+ text: { normalizeParamArray: makePgArray },
109
+ time: { normalizeParamArray: makePgArray },
110
+ timetz: { normalizeParamArray: makePgArray },
111
+ tsmultirange: { normalizeParamArray: makePgArray },
112
+ tsquery: { normalizeParamArray: makePgArray },
113
+ tsrange: { normalizeParamArray: makePgArray },
114
+ tstzmultirange: { normalizeParamArray: makePgArray },
115
+ tstzrange: { normalizeParamArray: makePgArray },
116
+ tsvector: { normalizeParamArray: makePgArray },
117
+ varbit: { normalizeParamArray: makePgArray },
118
+ varchar: { normalizeParamArray: makePgArray },
119
+ xml: { normalizeParamArray: makePgArray },
120
+ bytea: { normalizeParamArray: makePgArray },
121
+ enum: { normalizeParamArray: makePgArray },
122
+ json: { normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true) },
123
+ jsonb: { normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true) },
124
+ geometry: {
125
+ normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
126
+ normalizeParamArray: makePgArray
127
+ },
128
+ "geometry:tuple": {
129
+ normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
130
+ normalizeParamArray: makePgArray
131
+ },
132
+ interval: {
133
+ castArray: castToTextArr,
134
+ normalizeParamArray: makePgArray
135
+ },
136
+ line: {
137
+ cast: castToText,
138
+ castArray: castToTextArr,
139
+ normalizeParamArray: makePgArray
140
+ },
141
+ "line:tuple": {
142
+ cast: castToText,
143
+ castArray: castToTextArr,
144
+ normalizeParamArray: makePgArray
145
+ },
146
+ macaddr8: {
147
+ castArrayInJson: castToTextArr,
148
+ castArray: castToTextArr,
149
+ normalizeParamArray: makePgArray
150
+ },
151
+ numeric: { normalizeParamArray: makePgArray },
152
+ "numeric:number": { normalizeParamArray: makePgArray },
153
+ "numeric:bigint": { normalizeParamArray: makePgArray },
154
+ point: {
155
+ cast: castToText,
156
+ castArray: castToTextArr,
157
+ normalizeParamArray: makePgArray
158
+ },
159
+ "point:tuple": {
160
+ cast: castToText,
161
+ castArray: castToTextArr,
162
+ normalizeParamArray: makePgArray
163
+ },
164
+ halfvec: { normalizeParamArray: makePgArray },
165
+ sparsevec: {
166
+ normalizeArray: parsePgArray,
167
+ normalizeParamArray: makePgArray
168
+ },
169
+ vector: { normalizeParamArray: makePgArray }
170
+ });
171
+
172
+ //#endregion
173
+ export { bunSqlPgCodecs };
174
+ //# sourceMappingURL=codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.js","names":[],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\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\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\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\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\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"],"mappings":"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"}