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,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ const require_neon_http_codecs = require('./codecs.cjs');
3
4
  const require_neon_http_session = require('./session.cjs');
4
5
  let __entity_ts = require("../entity.cjs");
6
+ let __utils_ts = require("../utils.cjs");
5
7
  let __logger_ts = require("../logger.cjs");
6
- let __pg_core_array_ts = require("../pg-core/array.cjs");
7
8
  let __pg_core_async_db_ts = require("../pg-core/async/db.cjs");
8
- let __pg_core_codecs_ts = require("../pg-core/codecs.cjs");
9
9
  let __pg_core_dialect_ts = require("../pg-core/dialect.cjs");
10
10
  let _neondatabase_serverless = require("@neondatabase/serverless");
11
11
 
@@ -23,66 +23,10 @@ var NeonHttpDatabase = class NeonHttpDatabase extends __pg_core_async_db_ts.PgAs
23
23
  return this.session.batch(batch);
24
24
  }
25
25
  };
26
- const neonHttpCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
27
- bigint: {
28
- normalize: BigInt,
29
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
30
- },
31
- bigserial: {
32
- normalize: BigInt,
33
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
34
- },
35
- bit: { normalizeArray: __pg_core_array_ts.parsePgArray },
36
- bytea: { normalizeParam: String },
37
- date: {
38
- castArray: __pg_core_codecs_ts.castToTextArr,
39
- normalize: __pg_core_codecs_ts.textToDate,
40
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
41
- },
42
- "date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
43
- timestamp: {
44
- castArray: __pg_core_codecs_ts.castToTextArr,
45
- normalize: __pg_core_codecs_ts.textToDateWithTz,
46
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
47
- },
48
- timestamptz: {
49
- castArray: __pg_core_codecs_ts.castToTextArr,
50
- normalize: __pg_core_codecs_ts.textToDate,
51
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
52
- },
53
- "timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
54
- "timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
55
- geometry: { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY) },
56
- "geometry:tuple": { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple) },
57
- interval: { castArray: __pg_core_codecs_ts.castToTextArr },
58
- json: { normalizeParam: (v) => JSON.stringify(v) },
59
- jsonb: { normalizeParam: (v) => JSON.stringify(v) },
60
- line: {
61
- cast: __pg_core_codecs_ts.castToText,
62
- castArray: __pg_core_codecs_ts.castToTextArr
63
- },
64
- "line:tuple": {
65
- cast: __pg_core_codecs_ts.castToText,
66
- castArray: __pg_core_codecs_ts.castToTextArr
67
- },
68
- macaddr8: {
69
- castArrayInJson: __pg_core_codecs_ts.castToTextArr,
70
- castArray: __pg_core_codecs_ts.castToTextArr
71
- },
72
- point: {
73
- cast: __pg_core_codecs_ts.castToText,
74
- castArray: __pg_core_codecs_ts.castToTextArr
75
- },
76
- "point:tuple": {
77
- cast: __pg_core_codecs_ts.castToText,
78
- castArray: __pg_core_codecs_ts.castToTextArr
79
- },
80
- sparsevec: { normalizeArray: __pg_core_array_ts.parsePgArray }
81
- });
82
26
  function construct(client, config = {}) {
83
27
  const dialect = new __pg_core_dialect_ts.PgDialect({
84
- useJitMappers: config.useJitMappers,
85
- codecs: config.codecs ?? neonHttpCodecs
28
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
29
+ codecs: config.codecs ?? require_neon_http_codecs.neonHttpCodecs
86
30
  });
87
31
  let logger;
88
32
  if (config.logger === true) logger = new __logger_ts.DefaultLogger();
@@ -132,5 +76,4 @@ Object.defineProperty(exports, 'drizzle', {
132
76
  return drizzle;
133
77
  }
134
78
  });
135
- exports.neonHttpCodecs = neonHttpCodecs;
136
79
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NeonHttpSession","parsePgArray","castToTextArr","textToDate","textToDateWithTz","parseGeometryXY","parseGeometryTuple","castToText","PgDialect","DefaultLogger","types"],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport const neonHttpCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tbytea: {\n\t\tnormalizeParam: String,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\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\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\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 NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<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.cjs","names":["PgAsyncDatabase","entityKind","NeonHttpSession","PgDialect","neonHttpCodecs","DefaultLogger","types"],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\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\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\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 NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<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":";;;;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJA,sCACT;CACC,QAA0BC,0BAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAIC,0CAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,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;CAExC,MAAM,UAAU,IAAIH,0CAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,gCAAM,cAAcI,+BAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,gCAAM,cAAcA,+BAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,gCAAM,cAAcA,+BAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,gCAAM,cAAcA,+BAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,6CADe,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,6CAFe,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,6CAFe,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,9 +1,6 @@
1
- import { PartialWithUndefined } from "../utils.cjs";
2
- import { Codec } from "../codecs.cjs";
3
1
  import { NeonHttpQueryResultHKT, NeonHttpSession } from "./session.cjs";
4
2
  import { entityKind } from "../entity.cjs";
5
3
  import { AnyRelations, EmptyRelations } from "../relations.cjs";
6
- import * as __pg_core_codecs_ts0 from "../pg-core/codecs.cjs";
7
4
  import { PgAsyncDatabase } from "../pg-core/async/db.cjs";
8
5
  import { DrizzlePgConfig } from "../pg-core/utils.cjs";
9
6
  import { BatchItem, BatchResponse } from "../batch.cjs";
@@ -17,7 +14,6 @@ declare class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>
17
14
  $withAuth(token: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>): Omit<this, '$withAuth'>;
18
15
  batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
19
16
  }
20
- declare const neonHttpCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
21
17
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
22
18
  connection: string | ({
23
19
  connectionString: string;
@@ -33,5 +29,5 @@ declare namespace drizzle {
33
29
  };
34
30
  }
35
31
  //#endregion
36
- export { NeonHttpDatabase, drizzle, neonHttpCodecs };
32
+ export { NeonHttpDatabase, drizzle };
37
33
  //# sourceMappingURL=driver.d.cts.map
@@ -1,9 +1,6 @@
1
- import { PartialWithUndefined } from "../utils.js";
2
- import { Codec } from "../codecs.js";
3
1
  import { NeonHttpQueryResultHKT, NeonHttpSession } from "./session.js";
4
2
  import { entityKind } from "../entity.js";
5
3
  import { PgAsyncDatabase } from "../pg-core/async/db.js";
6
- import * as __pg_core_codecs_ts0 from "../pg-core/codecs.js";
7
4
  import { AnyRelations, EmptyRelations } from "../relations.js";
8
5
  import { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from "@neondatabase/serverless";
9
6
  import { DrizzlePgConfig } from "../pg-core/utils.js";
@@ -17,7 +14,6 @@ declare class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>
17
14
  $withAuth(token: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>): Omit<this, '$withAuth'>;
18
15
  batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
19
16
  }
20
- declare const neonHttpCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
21
17
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
22
18
  connection: string | ({
23
19
  connectionString: string;
@@ -33,5 +29,5 @@ declare namespace drizzle {
33
29
  };
34
30
  }
35
31
  //#endregion
36
- export { NeonHttpDatabase, drizzle, neonHttpCodecs };
32
+ export { NeonHttpDatabase, drizzle };
37
33
  //# sourceMappingURL=driver.d.ts.map
@@ -1,9 +1,9 @@
1
+ import { neonHttpCodecs } from "./codecs.js";
1
2
  import { NeonHttpSession } from "./session.js";
2
3
  import { entityKind } from "../entity.js";
4
+ import { jitCompatCheck } from "../utils.js";
3
5
  import { DefaultLogger } from "../logger.js";
4
- import { parsePgArray } from "../pg-core/array.js";
5
6
  import { PgAsyncDatabase } from "../pg-core/async/db.js";
6
- import { arrayCompatNormalize, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
7
7
  import { PgDialect } from "../pg-core/dialect.js";
8
8
  import { neon, types } from "@neondatabase/serverless";
9
9
 
@@ -21,65 +21,9 @@ var NeonHttpDatabase = class NeonHttpDatabase extends PgAsyncDatabase {
21
21
  return this.session.batch(batch);
22
22
  }
23
23
  };
24
- const neonHttpCodecs = refineGenericPgCodecs({
25
- bigint: {
26
- normalize: BigInt,
27
- normalizeArray: arrayCompatNormalize(BigInt)
28
- },
29
- bigserial: {
30
- normalize: BigInt,
31
- normalizeArray: arrayCompatNormalize(BigInt)
32
- },
33
- bit: { normalizeArray: parsePgArray },
34
- bytea: { normalizeParam: String },
35
- date: {
36
- castArray: castToTextArr,
37
- normalize: textToDate,
38
- normalizeArray: arrayCompatNormalize(textToDate)
39
- },
40
- "date:string": { castArray: castToTextArr },
41
- timestamp: {
42
- castArray: castToTextArr,
43
- normalize: textToDateWithTz,
44
- normalizeArray: arrayCompatNormalize(textToDateWithTz)
45
- },
46
- timestamptz: {
47
- castArray: castToTextArr,
48
- normalize: textToDate,
49
- normalizeArray: arrayCompatNormalize(textToDate)
50
- },
51
- "timestamp:string": { castArray: castToTextArr },
52
- "timestamptz:string": { castArray: castToTextArr },
53
- geometry: { normalizeArray: parsePgArrayAndNormalize(parseGeometryXY) },
54
- "geometry:tuple": { normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple) },
55
- interval: { castArray: castToTextArr },
56
- json: { normalizeParam: (v) => JSON.stringify(v) },
57
- jsonb: { normalizeParam: (v) => JSON.stringify(v) },
58
- line: {
59
- cast: castToText,
60
- castArray: castToTextArr
61
- },
62
- "line:tuple": {
63
- cast: castToText,
64
- castArray: castToTextArr
65
- },
66
- macaddr8: {
67
- castArrayInJson: castToTextArr,
68
- castArray: castToTextArr
69
- },
70
- point: {
71
- cast: castToText,
72
- castArray: castToTextArr
73
- },
74
- "point:tuple": {
75
- cast: castToText,
76
- castArray: castToTextArr
77
- },
78
- sparsevec: { normalizeArray: parsePgArray }
79
- });
80
24
  function construct(client, config = {}) {
81
25
  const dialect = new PgDialect({
82
- useJitMappers: config.useJitMappers,
26
+ useJitMappers: jitCompatCheck(config.useJitMappers),
83
27
  codecs: config.codecs ?? neonHttpCodecs
84
28
  });
85
29
  let logger;
@@ -123,5 +67,5 @@ function drizzle(...params) {
123
67
  })(drizzle || (drizzle = {}));
124
68
 
125
69
  //#endregion
126
- export { NeonHttpDatabase, drizzle, neonHttpCodecs };
70
+ export { NeonHttpDatabase, drizzle };
127
71
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport const neonHttpCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tbytea: {\n\t\tnormalizeParam: String,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\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\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\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 NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<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/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\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\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\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 NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<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":";;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJ,gBACT;CACC,QAA0B,cAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAI,gBAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,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;CAExC,MAAM,UAAU,IAAI,gBAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,OAAM,cAAc,MAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,OAAM,cAAc,MAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,OAAM,cAAc,MAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,OAAM,cAAc,MAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,UADU,KAAK,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,UAFU,KAAK,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,UAFU,KAAK,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_neon_http_codecs = require('./codecs.cjs');
2
3
  const require_neon_http_session = require('./session.cjs');
3
4
  const require_neon_http_driver = require('./driver.cjs');
4
5
 
@@ -10,4 +11,4 @@ Object.defineProperty(exports, 'drizzle', {
10
11
  return require_neon_http_driver.drizzle;
11
12
  }
12
13
  });
13
- exports.neonHttpCodecs = require_neon_http_driver.neonHttpCodecs;
14
+ exports.neonHttpCodecs = require_neon_http_codecs.neonHttpCodecs;
@@ -1,3 +1,4 @@
1
+ import { neonHttpCodecs } from "./codecs.cjs";
1
2
  import { NeonHttpClient, NeonHttpQueryResult, NeonHttpQueryResultHKT, NeonHttpSession, NeonHttpSessionOptions } from "./session.cjs";
2
- import { NeonHttpDatabase, drizzle, neonHttpCodecs } from "./driver.cjs";
3
+ import { NeonHttpDatabase, drizzle } from "./driver.cjs";
3
4
  export { NeonHttpClient, NeonHttpDatabase, NeonHttpQueryResult, NeonHttpQueryResultHKT, NeonHttpSession, NeonHttpSessionOptions, drizzle, neonHttpCodecs };
@@ -1,3 +1,4 @@
1
+ import { neonHttpCodecs } from "./codecs.js";
1
2
  import { NeonHttpClient, NeonHttpQueryResult, NeonHttpQueryResultHKT, NeonHttpSession, NeonHttpSessionOptions } from "./session.js";
2
- import { NeonHttpDatabase, drizzle, neonHttpCodecs } from "./driver.js";
3
+ import { NeonHttpDatabase, drizzle } from "./driver.js";
3
4
  export { NeonHttpClient, NeonHttpDatabase, NeonHttpQueryResult, NeonHttpQueryResultHKT, NeonHttpSession, NeonHttpSessionOptions, drizzle, neonHttpCodecs };
@@ -1,4 +1,5 @@
1
+ import { neonHttpCodecs } from "./codecs.js";
1
2
  import { NeonHttpSession } from "./session.js";
2
- import { NeonHttpDatabase, drizzle, neonHttpCodecs } from "./driver.js";
3
+ import { NeonHttpDatabase, drizzle } from "./driver.js";
3
4
 
4
5
  export { NeonHttpDatabase, NeonHttpSession, drizzle, neonHttpCodecs };
@@ -0,0 +1,65 @@
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/neon-serverless/codecs.ts
7
+ const neonServerlessCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
8
+ bigint: {
9
+ normalize: BigInt,
10
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
11
+ },
12
+ bigserial: {
13
+ normalize: BigInt,
14
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
15
+ },
16
+ bit: { normalizeArray: __pg_core_array_ts.parsePgArray },
17
+ date: {
18
+ castArray: __pg_core_codecs_ts.castToTextArr,
19
+ normalize: __pg_core_codecs_ts.textToDate,
20
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
21
+ },
22
+ "date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
23
+ timestamp: {
24
+ castArray: __pg_core_codecs_ts.castToTextArr,
25
+ normalize: __pg_core_codecs_ts.textToDateWithTz,
26
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
27
+ },
28
+ timestamptz: {
29
+ castArray: __pg_core_codecs_ts.castToTextArr,
30
+ normalize: __pg_core_codecs_ts.textToDate,
31
+ normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
32
+ },
33
+ "timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
34
+ "timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
35
+ geometry: { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY) },
36
+ "geometry:tuple": { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple) },
37
+ interval: { castArray: __pg_core_codecs_ts.castToTextArr },
38
+ json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
39
+ jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
40
+ line: {
41
+ cast: __pg_core_codecs_ts.castToText,
42
+ castArray: __pg_core_codecs_ts.castToTextArr
43
+ },
44
+ "line:tuple": {
45
+ cast: __pg_core_codecs_ts.castToText,
46
+ castArray: __pg_core_codecs_ts.castToTextArr
47
+ },
48
+ macaddr8: {
49
+ castArrayInJson: __pg_core_codecs_ts.castToTextArr,
50
+ castArray: __pg_core_codecs_ts.castToTextArr
51
+ },
52
+ point: {
53
+ cast: __pg_core_codecs_ts.castToText,
54
+ castArray: __pg_core_codecs_ts.castToTextArr
55
+ },
56
+ "point:tuple": {
57
+ cast: __pg_core_codecs_ts.castToText,
58
+ castArray: __pg_core_codecs_ts.castToTextArr
59
+ },
60
+ sparsevec: { normalizeArray: __pg_core_array_ts.parsePgArray }
61
+ });
62
+
63
+ //#endregion
64
+ exports.neonServerlessCodecs = neonServerlessCodecs;
65
+ //# sourceMappingURL=codecs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.cjs","names":["parsePgArray","castToTextArr","textToDate","textToDateWithTz","parseGeometryXY","parseGeometryTuple","castToText"],"sources":["../../src/neon-serverless/codecs.ts"],"sourcesContent":["import { parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const neonServerlessCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\t// driver handles objects, other types need to be stringified\n\tjson: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n"],"mappings":";;;;;;AAaA,MAAa,sEAA6C;CACzD,QAAQ;EACP,WAAW;EACX,8DAAqC,OAAO;EAC5C;CACD,WAAW;EACV,WAAW;EACX,8DAAqC,OAAO;EAC5C;CACD,KAAK,EACJ,gBAAgBA,iCAChB;CACD,MAAM;EACL,WAAWC;EACX,WAAWC;EACX,8DAAqCA,+BAAW;EAChD;CACD,eAAe,EACd,WAAWD,mCACX;CACD,WAAW;EACV,WAAWA;EACX,WAAWE;EACX,8DAAqCA,qCAAiB;EACtD;CACD,aAAa;EACZ,WAAWF;EACX,WAAWC;EACX,8DAAqCA,+BAAW;EAChD;CACD,oBAAoB,EACnB,WAAWD,mCACX;CACD,sBAAsB,EACrB,WAAWA,mCACX;CACD,UAAU,EACT,kEAAyCG,oCAAgB,EACzD;CACD,kBAAkB,EACjB,kEAAyCC,uCAAmB,EAC5D;CACD,UAAU,EACT,WAAWJ,mCACX;CAED,MAAM,EACL,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,OAAO,EACN,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,MAAM;EACL,MAAMK;EACN,WAAWL;EACX;CACD,cAAc;EACb,MAAMK;EACN,WAAWL;EACX;CACD,UAAU;EACT,iBAAiBA;EACjB,WAAWA;EACX;CACD,OAAO;EACN,MAAMK;EACN,WAAWL;EACX;CACD,eAAe;EACd,MAAMK;EACN,WAAWL;EACX;CACD,WAAW,EACV,gBAAgBD,iCAChB;CACD,CAAC"}
@@ -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/neon-serverless/codecs.d.ts
6
+ declare const neonServerlessCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
7
+ //#endregion
8
+ export { neonServerlessCodecs };
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/neon-serverless/codecs.d.ts
6
+ declare const neonServerlessCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
7
+ //#endregion
8
+ export { neonServerlessCodecs };
9
+ //# sourceMappingURL=codecs.d.ts.map
@@ -0,0 +1,63 @@
1
+ import { parsePgArray } from "../pg-core/array.js";
2
+ import { arrayCompatNormalize, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
3
+
4
+ //#region src/neon-serverless/codecs.ts
5
+ const neonServerlessCodecs = refineGenericPgCodecs({
6
+ bigint: {
7
+ normalize: BigInt,
8
+ normalizeArray: arrayCompatNormalize(BigInt)
9
+ },
10
+ bigserial: {
11
+ normalize: BigInt,
12
+ normalizeArray: arrayCompatNormalize(BigInt)
13
+ },
14
+ bit: { normalizeArray: parsePgArray },
15
+ date: {
16
+ castArray: castToTextArr,
17
+ normalize: textToDate,
18
+ normalizeArray: arrayCompatNormalize(textToDate)
19
+ },
20
+ "date:string": { castArray: castToTextArr },
21
+ timestamp: {
22
+ castArray: castToTextArr,
23
+ normalize: textToDateWithTz,
24
+ normalizeArray: arrayCompatNormalize(textToDateWithTz)
25
+ },
26
+ timestamptz: {
27
+ castArray: castToTextArr,
28
+ normalize: textToDate,
29
+ normalizeArray: arrayCompatNormalize(textToDate)
30
+ },
31
+ "timestamp:string": { castArray: castToTextArr },
32
+ "timestamptz:string": { castArray: castToTextArr },
33
+ geometry: { normalizeArray: parsePgArrayAndNormalize(parseGeometryXY) },
34
+ "geometry:tuple": { normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple) },
35
+ interval: { castArray: castToTextArr },
36
+ json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
37
+ jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
38
+ line: {
39
+ cast: castToText,
40
+ castArray: castToTextArr
41
+ },
42
+ "line:tuple": {
43
+ cast: castToText,
44
+ castArray: castToTextArr
45
+ },
46
+ macaddr8: {
47
+ castArrayInJson: castToTextArr,
48
+ castArray: castToTextArr
49
+ },
50
+ point: {
51
+ cast: castToText,
52
+ castArray: castToTextArr
53
+ },
54
+ "point:tuple": {
55
+ cast: castToText,
56
+ castArray: castToTextArr
57
+ },
58
+ sparsevec: { normalizeArray: parsePgArray }
59
+ });
60
+
61
+ //#endregion
62
+ export { neonServerlessCodecs };
63
+ //# sourceMappingURL=codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.js","names":[],"sources":["../../src/neon-serverless/codecs.ts"],"sourcesContent":["import { parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const neonServerlessCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\t// driver handles objects, other types need to be stringified\n\tjson: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n"],"mappings":";;;;AAaA,MAAa,uBAAuB,sBAAsB;CACzD,QAAQ;EACP,WAAW;EACX,gBAAgB,qBAAqB,OAAO;EAC5C;CACD,WAAW;EACV,WAAW;EACX,gBAAgB,qBAAqB,OAAO;EAC5C;CACD,KAAK,EACJ,gBAAgB,cAChB;CACD,MAAM;EACL,WAAW;EACX,WAAW;EACX,gBAAgB,qBAAqB,WAAW;EAChD;CACD,eAAe,EACd,WAAW,eACX;CACD,WAAW;EACV,WAAW;EACX,WAAW;EACX,gBAAgB,qBAAqB,iBAAiB;EACtD;CACD,aAAa;EACZ,WAAW;EACX,WAAW;EACX,gBAAgB,qBAAqB,WAAW;EAChD;CACD,oBAAoB,EACnB,WAAW,eACX;CACD,sBAAsB,EACrB,WAAW,eACX;CACD,UAAU,EACT,gBAAgB,yBAAyB,gBAAgB,EACzD;CACD,kBAAkB,EACjB,gBAAgB,yBAAyB,mBAAmB,EAC5D;CACD,UAAU,EACT,WAAW,eACX;CAED,MAAM,EACL,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,OAAO,EACN,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,MAAM;EACL,MAAM;EACN,WAAW;EACX;CACD,cAAc;EACb,MAAM;EACN,WAAW;EACX;CACD,UAAU;EACT,iBAAiB;EACjB,WAAW;EACX;CACD,OAAO;EACN,MAAM;EACN,WAAW;EACX;CACD,eAAe;EACd,MAAM;EACN,WAAW;EACX;CACD,WAAW,EACV,gBAAgB,cAChB;CACD,CAAC"}
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ const require_neon_serverless_codecs = require('./codecs.cjs');
3
4
  const require_neon_serverless_session = require('./session.cjs');
4
5
  let __entity_ts = require("../entity.cjs");
6
+ let __utils_ts = require("../utils.cjs");
5
7
  let __logger_ts = require("../logger.cjs");
6
- let __pg_core_array_ts = require("../pg-core/array.cjs");
7
8
  let __pg_core_async_db_ts = require("../pg-core/async/db.cjs");
8
- let __pg_core_codecs_ts = require("../pg-core/codecs.cjs");
9
9
  let __pg_core_dialect_ts = require("../pg-core/dialect.cjs");
10
10
  let _neondatabase_serverless = require("@neondatabase/serverless");
11
11
 
@@ -13,65 +13,10 @@ let _neondatabase_serverless = require("@neondatabase/serverless");
13
13
  var NeonDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
14
14
  static [__entity_ts.entityKind] = "NeonServerlessDatabase";
15
15
  };
16
- const neonServerlessCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
17
- bigint: {
18
- normalize: BigInt,
19
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
20
- },
21
- bigserial: {
22
- normalize: BigInt,
23
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
24
- },
25
- bit: { normalizeArray: __pg_core_array_ts.parsePgArray },
26
- date: {
27
- castArray: __pg_core_codecs_ts.castToTextArr,
28
- normalize: __pg_core_codecs_ts.textToDate,
29
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
30
- },
31
- "date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
32
- timestamp: {
33
- castArray: __pg_core_codecs_ts.castToTextArr,
34
- normalize: __pg_core_codecs_ts.textToDateWithTz,
35
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
36
- },
37
- timestamptz: {
38
- castArray: __pg_core_codecs_ts.castToTextArr,
39
- normalize: __pg_core_codecs_ts.textToDate,
40
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
41
- },
42
- "timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
43
- "timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
44
- geometry: { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY) },
45
- "geometry:tuple": { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple) },
46
- interval: { castArray: __pg_core_codecs_ts.castToTextArr },
47
- json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
48
- jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
49
- line: {
50
- cast: __pg_core_codecs_ts.castToText,
51
- castArray: __pg_core_codecs_ts.castToTextArr
52
- },
53
- "line:tuple": {
54
- cast: __pg_core_codecs_ts.castToText,
55
- castArray: __pg_core_codecs_ts.castToTextArr
56
- },
57
- macaddr8: {
58
- castArrayInJson: __pg_core_codecs_ts.castToTextArr,
59
- castArray: __pg_core_codecs_ts.castToTextArr
60
- },
61
- point: {
62
- cast: __pg_core_codecs_ts.castToText,
63
- castArray: __pg_core_codecs_ts.castToTextArr
64
- },
65
- "point:tuple": {
66
- cast: __pg_core_codecs_ts.castToText,
67
- castArray: __pg_core_codecs_ts.castToTextArr
68
- },
69
- sparsevec: { normalizeArray: __pg_core_array_ts.parsePgArray }
70
- });
71
16
  function construct(client, config = {}) {
72
17
  const dialect = new __pg_core_dialect_ts.PgDialect({
73
- useJitMappers: config.useJitMappers,
74
- codecs: config.codecs ?? neonServerlessCodecs
18
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
19
+ codecs: config.codecs ?? require_neon_serverless_codecs.neonServerlessCodecs
75
20
  });
76
21
  let logger;
77
22
  if (config.logger === true) logger = new __logger_ts.DefaultLogger();
@@ -108,5 +53,4 @@ Object.defineProperty(exports, 'drizzle', {
108
53
  return drizzle;
109
54
  }
110
55
  });
111
- exports.neonServerlessCodecs = neonServerlessCodecs;
112
56
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","parsePgArray","castToTextArr","textToDate","textToDateWithTz","parseGeometryXY","parseGeometryTuple","castToText","PgDialect","DefaultLogger","NeonSession","Pool"],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nexport const neonServerlessCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\t// driver handles objects, other types need to be stringified\n\tjson: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\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 NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\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 NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<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":";;;;;;;;;;;;AA8BA,IAAa,eAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,MAAa,sEAA6C;CACzD,QAAQ;EACP,WAAW;EACX,8DAAqC,OAAO;EAC5C;CACD,WAAW;EACV,WAAW;EACX,8DAAqC,OAAO;EAC5C;CACD,KAAK,EACJ,gBAAgBC,iCAChB;CACD,MAAM;EACL,WAAWC;EACX,WAAWC;EACX,8DAAqCA,+BAAW;EAChD;CACD,eAAe,EACd,WAAWD,mCACX;CACD,WAAW;EACV,WAAWA;EACX,WAAWE;EACX,8DAAqCA,qCAAiB;EACtD;CACD,aAAa;EACZ,WAAWF;EACX,WAAWC;EACX,8DAAqCA,+BAAW;EAChD;CACD,oBAAoB,EACnB,WAAWD,mCACX;CACD,sBAAsB,EACrB,WAAWA,mCACX;CACD,UAAU,EACT,kEAAyCG,oCAAgB,EACzD;CACD,kBAAkB,EACjB,kEAAyCC,uCAAmB,EAC5D;CACD,UAAU,EACT,WAAWJ,mCACX;CAED,MAAM,EACL,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,OAAO,EACN,iBAAiB,MAAM,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EACzF;CACD,MAAM;EACL,MAAMK;EACN,WAAWL;EACX;CACD,cAAc;EACb,MAAMK;EACN,WAAWL;EACX;CACD,UAAU;EACT,iBAAiBA;EACjB,WAAWA;EACX;CACD,OAAO;EACN,MAAMK;EACN,WAAWL;EACX;CACD,eAAe;EACd,MAAMK;EACN,WAAWL;EACX;CACD,WAAW,EACV,gBAAgBD,iCAChB;CACD,CAAC;AAEF,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIO,+BAAU;EAC7B,eAAe,OAAO;EACtB,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAIC,4CAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIC,8BAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,qCAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAIA,8BAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAIA,8BAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","neonServerlessCodecs","DefaultLogger","NeonSession","Pool"],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonServerlessCodecs } from './codecs.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\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 NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\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 NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<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":";;;;;;;;;;;;AAoBA,IAAa,eAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,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;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAIC,4CAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIC,8BAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,qCAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAIA,8BAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAIA,8BAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}