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_postgres_js_codecs = require('./codecs.cjs');
3
4
  const require_postgres_js_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 postgres = require("postgres");
11
11
  postgres = require_runtime.__toESM(postgres);
@@ -14,143 +14,6 @@ postgres = require_runtime.__toESM(postgres);
14
14
  var PostgresJsDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
15
15
  static [__entity_ts.entityKind] = "PostgresJsDatabase";
16
16
  };
17
- const postgresJsCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
18
- interval: { normalizeParamArray: __pg_core_array_ts.makePgArray },
19
- point: { normalizeParamArray: __pg_core_array_ts.makePgArray },
20
- "point:tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
21
- line: { normalizeParamArray: __pg_core_array_ts.makePgArray },
22
- "line:tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
23
- macaddr8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
24
- json: {
25
- normalizeParam: (v) => JSON.stringify(v),
26
- normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true)
27
- },
28
- jsonb: {
29
- normalizeParam: (v) => JSON.stringify(v),
30
- normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true)
31
- },
32
- bit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
33
- bool: { normalizeParamArray: __pg_core_array_ts.makePgArray },
34
- box: { normalizeParamArray: __pg_core_array_ts.makePgArray },
35
- box2d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
36
- box3d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
37
- char: { normalizeParamArray: __pg_core_array_ts.makePgArray },
38
- cidr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
39
- circle: { normalizeParamArray: __pg_core_array_ts.makePgArray },
40
- datemultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
41
- daterange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
42
- float8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
43
- geography: { normalizeParamArray: __pg_core_array_ts.makePgArray },
44
- halfvec: {
45
- normalize: __pg_core_codecs_ts.parsePgVector,
46
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parsePgVector),
47
- normalizeParamArray: __pg_core_array_ts.makePgArray
48
- },
49
- inet: { normalizeParamArray: __pg_core_array_ts.makePgArray },
50
- int4multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
51
- int4range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
52
- int8multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
53
- int8range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
54
- lseg: { normalizeParamArray: __pg_core_array_ts.makePgArray },
55
- macaddr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
56
- money: { normalizeParamArray: __pg_core_array_ts.makePgArray },
57
- nummultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
58
- numrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
59
- oid: { normalizeParamArray: __pg_core_array_ts.makePgArray },
60
- path: { normalizeParamArray: __pg_core_array_ts.makePgArray },
61
- polygon: { normalizeParamArray: __pg_core_array_ts.makePgArray },
62
- raster: { normalizeParamArray: __pg_core_array_ts.makePgArray },
63
- regclass: { normalizeParamArray: __pg_core_array_ts.makePgArray },
64
- regconfig: { normalizeParamArray: __pg_core_array_ts.makePgArray },
65
- regdictionary: { normalizeParamArray: __pg_core_array_ts.makePgArray },
66
- regnamespace: { normalizeParamArray: __pg_core_array_ts.makePgArray },
67
- regoper: { normalizeParamArray: __pg_core_array_ts.makePgArray },
68
- regoperator: { normalizeParamArray: __pg_core_array_ts.makePgArray },
69
- regproc: { normalizeParamArray: __pg_core_array_ts.makePgArray },
70
- regprocedure: { normalizeParamArray: __pg_core_array_ts.makePgArray },
71
- regrole: { normalizeParamArray: __pg_core_array_ts.makePgArray },
72
- regtype: { normalizeParamArray: __pg_core_array_ts.makePgArray },
73
- serial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
74
- smallint: { normalizeParamArray: __pg_core_array_ts.makePgArray },
75
- smallserial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
76
- sparsevec: { normalizeParamArray: __pg_core_array_ts.makePgArray },
77
- text: { normalizeParamArray: __pg_core_array_ts.makePgArray },
78
- time: { normalizeParamArray: __pg_core_array_ts.makePgArray },
79
- timetz: { normalizeParamArray: __pg_core_array_ts.makePgArray },
80
- tsmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
81
- tsquery: { normalizeParamArray: __pg_core_array_ts.makePgArray },
82
- tsrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
83
- tstzmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
84
- tstzrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
85
- tsvector: { normalizeParamArray: __pg_core_array_ts.makePgArray },
86
- varbit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
87
- varchar: { normalizeParamArray: __pg_core_array_ts.makePgArray },
88
- vector: {
89
- normalize: __pg_core_codecs_ts.parsePgVector,
90
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parsePgVector),
91
- normalizeParamArray: __pg_core_array_ts.makePgArray
92
- },
93
- xml: { normalizeParamArray: __pg_core_array_ts.makePgArray },
94
- bytea: { normalizeParamArray: __pg_core_array_ts.makePgArray },
95
- enum: { normalizeParamArray: __pg_core_array_ts.makePgArray },
96
- geometry: {
97
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parseGeometryXY),
98
- normalizeParamArray: __pg_core_array_ts.makePgArray
99
- },
100
- "geometry:tuple": {
101
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
102
- normalizeParamArray: __pg_core_array_ts.makePgArray
103
- },
104
- numeric: { normalizeParamArray: __pg_core_array_ts.makePgArray },
105
- "numeric:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
106
- "numeric:bigint": { normalizeParamArray: __pg_core_array_ts.makePgArray },
107
- bigint: {
108
- normalize: BigInt,
109
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
110
- normalizeParamArray: __pg_core_array_ts.makePgArray
111
- },
112
- "bigint:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
113
- "bigint:string": { normalizeParamArray: __pg_core_array_ts.makePgArray },
114
- bigserial: {
115
- normalize: BigInt,
116
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
117
- normalizeParamArray: __pg_core_array_ts.makePgArray
118
- },
119
- "bigserial:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
120
- float4: { normalizeParamArray: __pg_core_array_ts.makePgArray },
121
- int: { normalizeParamArray: __pg_core_array_ts.makePgArray },
122
- uuid: { normalizeParamArray: __pg_core_array_ts.makePgArray },
123
- date: {
124
- castArray: __pg_core_codecs_ts.castToTextArr,
125
- normalize: __pg_core_codecs_ts.textToDate,
126
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate),
127
- normalizeParamArray: __pg_core_array_ts.makePgArray
128
- },
129
- "date:string": {
130
- castArray: __pg_core_codecs_ts.castToTextArr,
131
- normalizeParamArray: __pg_core_array_ts.makePgArray
132
- },
133
- timestamp: {
134
- castArray: __pg_core_codecs_ts.castToTextArr,
135
- normalize: __pg_core_codecs_ts.textToDateWithTz,
136
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz),
137
- normalizeParamArray: __pg_core_array_ts.makePgArray
138
- },
139
- timestamptz: {
140
- castArray: __pg_core_codecs_ts.castToTextArr,
141
- normalize: __pg_core_codecs_ts.textToDate,
142
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate),
143
- normalizeParamArray: __pg_core_array_ts.makePgArray
144
- },
145
- "timestamp:string": {
146
- castArray: __pg_core_codecs_ts.castToTextArr,
147
- normalizeParamArray: __pg_core_array_ts.makePgArray
148
- },
149
- "timestamptz:string": {
150
- castArray: __pg_core_codecs_ts.castToTextArr,
151
- normalizeParamArray: __pg_core_array_ts.makePgArray
152
- }
153
- });
154
17
  function construct(client, config = {}) {
155
18
  const transparentParser = (val) => val;
156
19
  for (const type of [
@@ -169,8 +32,8 @@ function construct(client, config = {}) {
169
32
  client.options.serializers["114"] = transparentParser;
170
33
  client.options.serializers["3802"] = transparentParser;
171
34
  const dialect = new __pg_core_dialect_ts.PgDialect({
172
- useJitMappers: config.useJitMappers,
173
- codecs: config.codecs ?? postgresJsCodecs
35
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
36
+ codecs: config.codecs ?? require_postgres_js_codecs.postgresJsCodecs
174
37
  });
175
38
  let logger;
176
39
  if (config.logger === true) logger = new __logger_ts.DefaultLogger();
@@ -213,5 +76,4 @@ Object.defineProperty(exports, 'drizzle', {
213
76
  return drizzle;
214
77
  }
215
78
  });
216
- exports.postgresJsCodecs = postgresJsCodecs;
217
79
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","makePgArray","parsePgVector","parseGeometryXY","parseGeometryTuple","castToTextArr","textToDate","textToDateWithTz","PgDialect","DefaultLogger","PostgresJsSession"],"sources":["../../src/postgres-js/driver.ts"],"sourcesContent":["import pgClient, { type Options, type PostgresType, type Sql } from 'postgres';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgVector,\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 { PostgresJsQueryResultHKT } from './session.ts';\nimport { PostgresJsSession } from './session.ts';\n\nexport class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'PostgresJsDatabase';\n}\n\nexport const postgresJsCodecs = refineGenericPgCodecs({\n\tinterval: { normalizeParamArray: makePgArray },\n\tpoint: { normalizeParamArray: makePgArray },\n\t'point:tuple': { normalizeParamArray: makePgArray },\n\tline: { normalizeParamArray: makePgArray },\n\t'line:tuple': { normalizeParamArray: makePgArray },\n\tmacaddr8: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\n\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\thalfvec: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\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\tsparsevec: { 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\tvector: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tgeometry: {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalize: BigInt, normalizeArray: arrayCompatNormalize(BigInt), normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\tuuid: { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Sql,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PostgresJsDatabase<TRelations> & {\n\t$client: Sql;\n} {\n\tconst transparentParser = (val: any) => val;\n\n\t// Override postgres.js default date parsers: https://github.com/porsager/postgres/discussions/761\n\tfor (const type of ['1184', '1082', '1083', '1114', '1182', '1185', '1115', '1231']) {\n\t\tclient.options.parsers[type as any] = transparentParser;\n\t\tclient.options.serializers[type as any] = transparentParser;\n\t}\n\tclient.options.serializers['114'] = transparentParser;\n\tclient.options.serializers['3802'] = transparentParser;\n\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? postgresJsCodecs,\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 PostgresJsSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PostgresJsDatabase(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 Sql = Sql,\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 | ({ url?: string } & Options<Record<string, PostgresType>>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PostgresJsDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = pgClient(params[0] as string);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as {\n\t\tconnection?: { url?: string } & Options<Record<string, PostgresType>>;\n\t\tclient?: TClient;\n\t} & DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = pgClient(url, config);\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = pgClient(connection);\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): PostgresJsDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","postgresJsCodecs","DefaultLogger","PostgresJsSession"],"sources":["../../src/postgres-js/driver.ts"],"sourcesContent":["import pgClient, { type Options, type PostgresType, type Sql } from 'postgres';\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 { postgresJsCodecs } from './codecs.ts';\nimport type { PostgresJsQueryResultHKT } from './session.ts';\nimport { PostgresJsSession } from './session.ts';\n\nexport class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'PostgresJsDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Sql,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PostgresJsDatabase<TRelations> & {\n\t$client: Sql;\n} {\n\tconst transparentParser = (val: any) => val;\n\n\t// Override postgres.js default date parsers: https://github.com/porsager/postgres/discussions/761\n\tfor (const type of ['1184', '1082', '1083', '1114', '1182', '1185', '1115', '1231']) {\n\t\tclient.options.parsers[type as any] = transparentParser;\n\t\tclient.options.serializers[type as any] = transparentParser;\n\t}\n\tclient.options.serializers['114'] = transparentParser;\n\tclient.options.serializers['3802'] = transparentParser;\n\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? postgresJsCodecs,\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 PostgresJsSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PostgresJsDatabase(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 Sql = Sql,\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 | ({ url?: string } & Options<Record<string, PostgresType>>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PostgresJsDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = pgClient(params[0] as string);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as {\n\t\tconnection?: { url?: string } & Options<Record<string, PostgresType>>;\n\t\tclient?: TClient;\n\t} & DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = pgClient(url, config);\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = pgClient(connection);\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): PostgresJsDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,qBAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,qBAAqB,QAAa;AAGxC,MAAK,MAAM,QAAQ;EAAC;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAO,EAAE;AACpF,SAAO,QAAQ,QAAQ,QAAe;AACtC,SAAO,QAAQ,YAAY,QAAe;;AAE3C,QAAO,QAAQ,YAAY,SAAS;AACpC,QAAO,QAAQ,YAAY,UAAU;CAErC,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,mBAAmB,SAJlB,IAAIC,8CAAkB,QAAQ,SAAS,WAAW;EACjE;EACA,OAAO,OAAO;EACd,CAAC,EACkD,UAAU;AAC9D,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,SAGxB,QAAO,gCAFmB,OAAO,GAAa,EAEnB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAK1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,gCADmB,KAAK,OAAO,EACX,gBAAgB;;AAI5C,QAAO,gCADmB,WAAW,EACV,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -1,9 +1,6 @@
1
- import { PartialWithUndefined } from "../utils.cjs";
2
- import { Codec } from "../codecs.cjs";
3
1
  import { PostgresJsQueryResultHKT } 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 { Options, PostgresType, Sql } from "postgres";
@@ -12,7 +9,6 @@ import { Options, PostgresType, Sql } from "postgres";
12
9
  declare class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations> {
13
10
  static readonly [entityKind]: string;
14
11
  }
15
- declare const postgresJsCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
16
12
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends Sql = Sql>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
17
13
  connection: string | ({
18
14
  url?: string;
@@ -28,5 +24,5 @@ declare namespace drizzle {
28
24
  };
29
25
  }
30
26
  //#endregion
31
- export { PostgresJsDatabase, drizzle, postgresJsCodecs };
27
+ export { PostgresJsDatabase, drizzle };
32
28
  //# sourceMappingURL=driver.d.cts.map
@@ -1,9 +1,6 @@
1
- import { PartialWithUndefined } from "../utils.js";
2
- import { Codec } from "../codecs.js";
3
1
  import { PostgresJsQueryResultHKT } 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 { Options, PostgresType, Sql } from "postgres";
9
6
  import { DrizzlePgConfig } from "../pg-core/utils.js";
@@ -12,7 +9,6 @@ import { DrizzlePgConfig } from "../pg-core/utils.js";
12
9
  declare class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations> {
13
10
  static readonly [entityKind]: string;
14
11
  }
15
- declare const postgresJsCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
16
12
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends Sql = Sql>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
17
13
  connection: string | ({
18
14
  url?: string;
@@ -28,5 +24,5 @@ declare namespace drizzle {
28
24
  };
29
25
  }
30
26
  //#endregion
31
- export { PostgresJsDatabase, drizzle, postgresJsCodecs };
27
+ export { PostgresJsDatabase, drizzle };
32
28
  //# sourceMappingURL=driver.d.ts.map
@@ -1,9 +1,9 @@
1
+ import { postgresJsCodecs } from "./codecs.js";
1
2
  import { PostgresJsSession } 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 { makePgArray } from "../pg-core/array.js";
5
6
  import { PgAsyncDatabase } from "../pg-core/async/db.js";
6
- import { arrayCompatNormalize, arrayCompatNormalizeInput, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgVector, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
7
7
  import { PgDialect } from "../pg-core/dialect.js";
8
8
  import pgClient from "postgres";
9
9
 
@@ -11,143 +11,6 @@ import pgClient from "postgres";
11
11
  var PostgresJsDatabase = class extends PgAsyncDatabase {
12
12
  static [entityKind] = "PostgresJsDatabase";
13
13
  };
14
- const postgresJsCodecs = refineGenericPgCodecs({
15
- interval: { normalizeParamArray: makePgArray },
16
- point: { normalizeParamArray: makePgArray },
17
- "point:tuple": { normalizeParamArray: makePgArray },
18
- line: { normalizeParamArray: makePgArray },
19
- "line:tuple": { normalizeParamArray: makePgArray },
20
- macaddr8: { normalizeParamArray: makePgArray },
21
- json: {
22
- normalizeParam: (v) => JSON.stringify(v),
23
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
24
- },
25
- jsonb: {
26
- normalizeParam: (v) => JSON.stringify(v),
27
- normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
28
- },
29
- bit: { normalizeParamArray: makePgArray },
30
- bool: { normalizeParamArray: makePgArray },
31
- box: { normalizeParamArray: makePgArray },
32
- box2d: { normalizeParamArray: makePgArray },
33
- box3d: { normalizeParamArray: makePgArray },
34
- char: { normalizeParamArray: makePgArray },
35
- cidr: { normalizeParamArray: makePgArray },
36
- circle: { normalizeParamArray: makePgArray },
37
- datemultirange: { normalizeParamArray: makePgArray },
38
- daterange: { normalizeParamArray: makePgArray },
39
- float8: { normalizeParamArray: makePgArray },
40
- geography: { normalizeParamArray: makePgArray },
41
- halfvec: {
42
- normalize: parsePgVector,
43
- normalizeArray: arrayCompatNormalize(parsePgVector),
44
- normalizeParamArray: makePgArray
45
- },
46
- inet: { normalizeParamArray: makePgArray },
47
- int4multirange: { normalizeParamArray: makePgArray },
48
- int4range: { normalizeParamArray: makePgArray },
49
- int8multirange: { normalizeParamArray: makePgArray },
50
- int8range: { normalizeParamArray: makePgArray },
51
- lseg: { normalizeParamArray: makePgArray },
52
- macaddr: { normalizeParamArray: makePgArray },
53
- money: { normalizeParamArray: makePgArray },
54
- nummultirange: { normalizeParamArray: makePgArray },
55
- numrange: { normalizeParamArray: makePgArray },
56
- oid: { normalizeParamArray: makePgArray },
57
- path: { normalizeParamArray: makePgArray },
58
- polygon: { normalizeParamArray: makePgArray },
59
- raster: { normalizeParamArray: makePgArray },
60
- regclass: { normalizeParamArray: makePgArray },
61
- regconfig: { normalizeParamArray: makePgArray },
62
- regdictionary: { normalizeParamArray: makePgArray },
63
- regnamespace: { normalizeParamArray: makePgArray },
64
- regoper: { normalizeParamArray: makePgArray },
65
- regoperator: { normalizeParamArray: makePgArray },
66
- regproc: { normalizeParamArray: makePgArray },
67
- regprocedure: { normalizeParamArray: makePgArray },
68
- regrole: { normalizeParamArray: makePgArray },
69
- regtype: { normalizeParamArray: makePgArray },
70
- serial: { normalizeParamArray: makePgArray },
71
- smallint: { normalizeParamArray: makePgArray },
72
- smallserial: { normalizeParamArray: makePgArray },
73
- sparsevec: { normalizeParamArray: makePgArray },
74
- text: { normalizeParamArray: makePgArray },
75
- time: { normalizeParamArray: makePgArray },
76
- timetz: { normalizeParamArray: makePgArray },
77
- tsmultirange: { normalizeParamArray: makePgArray },
78
- tsquery: { normalizeParamArray: makePgArray },
79
- tsrange: { normalizeParamArray: makePgArray },
80
- tstzmultirange: { normalizeParamArray: makePgArray },
81
- tstzrange: { normalizeParamArray: makePgArray },
82
- tsvector: { normalizeParamArray: makePgArray },
83
- varbit: { normalizeParamArray: makePgArray },
84
- varchar: { normalizeParamArray: makePgArray },
85
- vector: {
86
- normalize: parsePgVector,
87
- normalizeArray: arrayCompatNormalize(parsePgVector),
88
- normalizeParamArray: makePgArray
89
- },
90
- xml: { normalizeParamArray: makePgArray },
91
- bytea: { normalizeParamArray: makePgArray },
92
- enum: { normalizeParamArray: makePgArray },
93
- geometry: {
94
- normalizeArray: arrayCompatNormalize(parseGeometryXY),
95
- normalizeParamArray: makePgArray
96
- },
97
- "geometry:tuple": {
98
- normalizeArray: arrayCompatNormalize(parseGeometryTuple),
99
- normalizeParamArray: makePgArray
100
- },
101
- numeric: { normalizeParamArray: makePgArray },
102
- "numeric:number": { normalizeParamArray: makePgArray },
103
- "numeric:bigint": { normalizeParamArray: makePgArray },
104
- bigint: {
105
- normalize: BigInt,
106
- normalizeArray: arrayCompatNormalize(BigInt),
107
- normalizeParamArray: makePgArray
108
- },
109
- "bigint:number": { normalizeParamArray: makePgArray },
110
- "bigint:string": { normalizeParamArray: makePgArray },
111
- bigserial: {
112
- normalize: BigInt,
113
- normalizeArray: arrayCompatNormalize(BigInt),
114
- normalizeParamArray: makePgArray
115
- },
116
- "bigserial:number": { normalizeParamArray: makePgArray },
117
- float4: { normalizeParamArray: makePgArray },
118
- int: { normalizeParamArray: makePgArray },
119
- uuid: { normalizeParamArray: makePgArray },
120
- date: {
121
- castArray: castToTextArr,
122
- normalize: textToDate,
123
- normalizeArray: arrayCompatNormalize(textToDate),
124
- normalizeParamArray: makePgArray
125
- },
126
- "date:string": {
127
- castArray: castToTextArr,
128
- normalizeParamArray: makePgArray
129
- },
130
- timestamp: {
131
- castArray: castToTextArr,
132
- normalize: textToDateWithTz,
133
- normalizeArray: arrayCompatNormalize(textToDateWithTz),
134
- normalizeParamArray: makePgArray
135
- },
136
- timestamptz: {
137
- castArray: castToTextArr,
138
- normalize: textToDate,
139
- normalizeArray: arrayCompatNormalize(textToDate),
140
- normalizeParamArray: makePgArray
141
- },
142
- "timestamp:string": {
143
- castArray: castToTextArr,
144
- normalizeParamArray: makePgArray
145
- },
146
- "timestamptz:string": {
147
- castArray: castToTextArr,
148
- normalizeParamArray: makePgArray
149
- }
150
- });
151
14
  function construct(client, config = {}) {
152
15
  const transparentParser = (val) => val;
153
16
  for (const type of [
@@ -166,7 +29,7 @@ function construct(client, config = {}) {
166
29
  client.options.serializers["114"] = transparentParser;
167
30
  client.options.serializers["3802"] = transparentParser;
168
31
  const dialect = new PgDialect({
169
- useJitMappers: config.useJitMappers,
32
+ useJitMappers: jitCompatCheck(config.useJitMappers),
170
33
  codecs: config.codecs ?? postgresJsCodecs
171
34
  });
172
35
  let logger;
@@ -203,5 +66,5 @@ function drizzle(...params) {
203
66
  })(drizzle || (drizzle = {}));
204
67
 
205
68
  //#endregion
206
- export { PostgresJsDatabase, drizzle, postgresJsCodecs };
69
+ export { PostgresJsDatabase, drizzle };
207
70
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/postgres-js/driver.ts"],"sourcesContent":["import pgClient, { type Options, type PostgresType, type Sql } from 'postgres';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgVector,\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 { PostgresJsQueryResultHKT } from './session.ts';\nimport { PostgresJsSession } from './session.ts';\n\nexport class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'PostgresJsDatabase';\n}\n\nexport const postgresJsCodecs = refineGenericPgCodecs({\n\tinterval: { normalizeParamArray: makePgArray },\n\tpoint: { normalizeParamArray: makePgArray },\n\t'point:tuple': { normalizeParamArray: makePgArray },\n\tline: { normalizeParamArray: makePgArray },\n\t'line:tuple': { normalizeParamArray: makePgArray },\n\tmacaddr8: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\n\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\thalfvec: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\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\tsparsevec: { 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\tvector: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tgeometry: {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalize: BigInt, normalizeArray: arrayCompatNormalize(BigInt), normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\tuuid: { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Sql,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PostgresJsDatabase<TRelations> & {\n\t$client: Sql;\n} {\n\tconst transparentParser = (val: any) => val;\n\n\t// Override postgres.js default date parsers: https://github.com/porsager/postgres/discussions/761\n\tfor (const type of ['1184', '1082', '1083', '1114', '1182', '1185', '1115', '1231']) {\n\t\tclient.options.parsers[type as any] = transparentParser;\n\t\tclient.options.serializers[type as any] = transparentParser;\n\t}\n\tclient.options.serializers['114'] = transparentParser;\n\tclient.options.serializers['3802'] = transparentParser;\n\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? postgresJsCodecs,\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 PostgresJsSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PostgresJsDatabase(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 Sql = Sql,\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 | ({ url?: string } & Options<Record<string, PostgresType>>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PostgresJsDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = pgClient(params[0] as string);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as {\n\t\tconnection?: { url?: string } & Options<Record<string, PostgresType>>;\n\t\tclient?: TClient;\n\t} & DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = pgClient(url, config);\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = pgClient(connection);\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): PostgresJsDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/postgres-js/driver.ts"],"sourcesContent":["import pgClient, { type Options, type PostgresType, type Sql } from 'postgres';\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 { postgresJsCodecs } from './codecs.ts';\nimport type { PostgresJsQueryResultHKT } from './session.ts';\nimport { PostgresJsSession } from './session.ts';\n\nexport class PostgresJsDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<PostgresJsQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'PostgresJsDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Sql,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PostgresJsDatabase<TRelations> & {\n\t$client: Sql;\n} {\n\tconst transparentParser = (val: any) => val;\n\n\t// Override postgres.js default date parsers: https://github.com/porsager/postgres/discussions/761\n\tfor (const type of ['1184', '1082', '1083', '1114', '1182', '1185', '1115', '1231']) {\n\t\tclient.options.parsers[type as any] = transparentParser;\n\t\tclient.options.serializers[type as any] = transparentParser;\n\t}\n\tclient.options.serializers['114'] = transparentParser;\n\tclient.options.serializers['3802'] = transparentParser;\n\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? postgresJsCodecs,\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 PostgresJsSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PostgresJsDatabase(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 Sql = Sql,\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 | ({ url?: string } & Options<Record<string, PostgresType>>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PostgresJsDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = pgClient(params[0] as string);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as {\n\t\tconnection?: { url?: string } & Options<Record<string, PostgresType>>;\n\t\tclient?: TClient;\n\t} & DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = pgClient(url, config);\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = pgClient(connection);\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): PostgresJsDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,qBAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,qBAAqB,QAAa;AAGxC,MAAK,MAAM,QAAQ;EAAC;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAQ;EAAO,EAAE;AACpF,SAAO,QAAQ,QAAQ,QAAe;AACtC,SAAO,QAAQ,YAAY,QAAe;;AAE3C,QAAO,QAAQ,YAAY,SAAS;AACpC,QAAO,QAAQ,YAAY,UAAU;CAErC,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;CAKxC,MAAM,KAAK,IAAI,mBAAmB,SAJlB,IAAI,kBAAkB,QAAQ,SAAS,WAAW;EACjE;EACA,OAAO,OAAO;EACd,CAAC,EACkD,UAAU;AAC9D,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,SAGxB,QAAO,UAFU,SAAS,OAAO,GAAa,EAEnB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAK1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,SAAS,KAAK,OAAO,EACX,gBAAgB;;AAI5C,QAAO,UADU,SAAS,WAAW,EACV,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_postgres_js_codecs = require('./codecs.cjs');
2
3
  const require_postgres_js_session = require('./session.cjs');
3
4
  const require_postgres_js_driver = require('./driver.cjs');
4
5
 
@@ -11,4 +12,4 @@ Object.defineProperty(exports, 'drizzle', {
11
12
  return require_postgres_js_driver.drizzle;
12
13
  }
13
14
  });
14
- exports.postgresJsCodecs = require_postgres_js_driver.postgresJsCodecs;
15
+ exports.postgresJsCodecs = require_postgres_js_codecs.postgresJsCodecs;
@@ -1,3 +1,4 @@
1
+ import { postgresJsCodecs } from "./codecs.cjs";
1
2
  import { PostgresJsQueryResultHKT, PostgresJsSession, PostgresJsSessionOptions, PostgresJsTransaction } from "./session.cjs";
2
- import { PostgresJsDatabase, drizzle, postgresJsCodecs } from "./driver.cjs";
3
+ import { PostgresJsDatabase, drizzle } from "./driver.cjs";
3
4
  export { PostgresJsDatabase, PostgresJsQueryResultHKT, PostgresJsSession, PostgresJsSessionOptions, PostgresJsTransaction, drizzle, postgresJsCodecs };
@@ -1,3 +1,4 @@
1
+ import { postgresJsCodecs } from "./codecs.js";
1
2
  import { PostgresJsQueryResultHKT, PostgresJsSession, PostgresJsSessionOptions, PostgresJsTransaction } from "./session.js";
2
- import { PostgresJsDatabase, drizzle, postgresJsCodecs } from "./driver.js";
3
+ import { PostgresJsDatabase, drizzle } from "./driver.js";
3
4
  export { PostgresJsDatabase, PostgresJsQueryResultHKT, PostgresJsSession, PostgresJsSessionOptions, PostgresJsTransaction, drizzle, postgresJsCodecs };
@@ -1,4 +1,5 @@
1
+ import { postgresJsCodecs } from "./codecs.js";
1
2
  import { PostgresJsSession, PostgresJsTransaction } from "./session.js";
2
- import { PostgresJsDatabase, drizzle, postgresJsCodecs } from "./driver.js";
3
+ import { PostgresJsDatabase, drizzle } from "./driver.js";
3
4
 
4
5
  export { PostgresJsDatabase, PostgresJsSession, PostgresJsTransaction, drizzle, postgresJsCodecs };
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_singlestore_session = require('./session.cjs');
4
4
  let __entity_ts = require("../entity.cjs");
5
+ let __utils_ts = require("../utils.cjs");
5
6
  let __version_ts = require("../version.cjs");
6
7
  let __logger_ts = require("../logger.cjs");
7
8
  let ___relations_ts = require("../_relations.cjs");
@@ -20,7 +21,7 @@ var SingleStoreDriverDriver = class {
20
21
  createSession(schema, relations) {
21
22
  return new require_singlestore_session.SingleStoreDriverSession(this.client, this.dialect, relations, schema, {
22
23
  logger: this.options.logger,
23
- useJitMapper: this.options.useJitMapper ?? false,
24
+ useJitMappers: this.options.useJitMappers ?? false,
24
25
  cache: this.options.cache
25
26
  });
26
27
  }
@@ -47,7 +48,7 @@ function construct(client, config = {}) {
47
48
  const db = new SingleStoreDriverDatabase(dialect, new SingleStoreDriverDriver(clientForInstance, dialect, {
48
49
  logger,
49
50
  cache: config.cache,
50
- useJitMapper: config.useJitMappers
51
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
51
52
  }).createSession(schema, relations), relations, schema);
52
53
  db.$client = client;
53
54
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","SingleStoreDriverSession","SingleStoreDatabase","SingleStoreDialect","DefaultLogger","createTableRelationsHelpers","npmVersion"],"sources":["../../src/singlestore/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/_relations.ts';\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 type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { SingleStoreDatabase } from '~/singlestore-core/db.ts';\nimport { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { npmVersion } from '~/version.ts';\nimport type {\n\tSingleStoreDriverClient,\n\tSingleStoreDriverPreparedQueryHKT,\n\tSingleStoreDriverQueryResultHKT,\n} from './session.ts';\nimport { SingleStoreDriverSession } from './session.ts';\n\nexport interface SingleStoreDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class SingleStoreDriverDriver {\n\tstatic readonly [entityKind]: string = 'SingleStoreDriverDriver';\n\n\tconstructor(\n\t\tprivate client: SingleStoreDriverClient,\n\t\tprivate dialect: SingleStoreDialect,\n\t\tprivate options: SingleStoreDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\trelations: AnyRelations,\n\t): SingleStoreDriverSession<Record<string, unknown>, AnyRelations, TablesRelationalConfig> {\n\t\treturn new SingleStoreDriverSession(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMapper: this.options.useJitMapper ?? false,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { SingleStoreDatabase } from '~/singlestore-core/db.ts';\n\nexport class SingleStoreDriverDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends SingleStoreDatabase<SingleStoreDriverQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDriverDatabase';\n}\n\nexport type SingleStoreDriverDrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: SingleStoreDriverDrizzleConfig<TSchema, TRelations> = {},\n): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t$client: AnySingleStoreDriverConnection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new SingleStoreDialect();\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 clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new SingleStoreDriverDriver(clientForInstance as SingleStoreDriverClient, dialect, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst session = driver.createSession(schema, relations);\n\tconst db = new SingleStoreDriverDatabase(dialect, session, relations, schema as any) as SingleStoreDriverDatabase<\n\t\tTSchema\n\t>;\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\ninterface CallbackClient {\n\tpromise(): SingleStoreDriverClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnySingleStoreDriverConnection = Pool | Connection | CallbackPool | CallbackConnection;\n\nconst CONNECTION_ATTRS: PoolOptions['connectAttributes'] = {\n\t_connector_name: 'SingleStore Drizzle ORM Driver',\n\t_connector_version: npmVersion,\n};\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnySingleStoreDriverConnection = CallbackPool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tSingleStoreDriverDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& SingleStoreDriverDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t$client: AnySingleStoreDriverConnection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t\tconnectAttributes: CONNECTION_ATTRS,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& SingleStoreDriverDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tlet opts: PoolOptions = {};\n\topts = typeof connection === 'string'\n\t\t? {\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t\tconnectAttributes: CONNECTION_ATTRS,\n\t\t}\n\t\t: {\n\t\t\t...connection,\n\t\t\tconnectAttributes: {\n\t\t\t\t...connection!.connectAttributes,\n\t\t\t\t...CONNECTION_ATTRS,\n\t\t\t},\n\t\t};\n\n\tconst instance = createPool(opts);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: SingleStoreDriverDrizzleConfig<TSchema, TRelations>,\n\t): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAa,0BAAb,MAAqC;CACpC,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAAoC,EAAE,EAC7C;EAHO;EACA;EACA;;CAIT,cACC,QACA,WAC0F;AAC1F,SAAO,IAAIC,qDAAyB,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACjF,QAAQ,KAAK,QAAQ;GACrB,cAAc,KAAK,QAAQ,gBAAgB;GAC3C,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAMJ,IAAa,4BAAb,cAGUC,6CAA6G;CACtH,QAA0BF,0BAAsB;;AAUjD,SAAS,UAKR,QACA,SAA8D,EAAE,EAG/D;CACD,MAAM,UAAU,IAAIG,kDAAoB;CACxC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,oBAAoB,iBAAiB,OAAO,GAAG,OAAO,SAAS,GAAG;CAExE,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,kEACL,OAAO,QACPC,4CACA;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAOxC,MAAM,KAAK,IAAI,0BAA0B,SAN1B,IAAI,wBAAwB,mBAA8C,SAAS;EACjG;EACA,OAAO,OAAO;EACd,cAAc,OAAO;EACrB,CAAC,CACqB,cAAc,QAAQ,UAAU,EACI,WAAW,OAAc;AAGpF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAOR,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;AAKlC,MAAM,mBAAqD;CAC1D,iBAAiB;CACjB,oBAAoBC;CACpB;AAED,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,UAAU;EAClC,MAAM,mBAAmB,OAAO;AAMhC,SAAO,iCALqB;GAC3B,KAAK;GACL,mBAAmB;GACnB,CAAC,EAEyB,OAAO,GAAG;;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;CAEnD,IAAI,OAAoB,EAAE;AAC1B,QAAO,OAAO,eAAe,WAC1B;EACD,KAAK;EACL,mBAAmB;EACnB,mBAAmB;EACnB,GACC;EACD,GAAG;EACH,mBAAmB;GAClB,GAAG,WAAY;GACf,GAAG;GACH;EACD;AAKF,QAFW,iCADiB,KAAK,EACF,cAAc;;;CAMtC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","SingleStoreDriverSession","SingleStoreDatabase","SingleStoreDialect","DefaultLogger","createTableRelationsHelpers","npmVersion"],"sources":["../../src/singlestore/driver.ts"],"sourcesContent":["import { type Connection as CallbackConnection, createPool, type Pool as CallbackPool, type PoolOptions } from 'mysql2';\nimport type { Connection, Pool } from 'mysql2/promise';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/_relations.ts';\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 type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { SingleStoreDatabase } from '~/singlestore-core/db.ts';\nimport { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { npmVersion } from '~/version.ts';\nimport type {\n\tSingleStoreDriverClient,\n\tSingleStoreDriverPreparedQueryHKT,\n\tSingleStoreDriverQueryResultHKT,\n} from './session.ts';\nimport { SingleStoreDriverSession } from './session.ts';\n\nexport interface SingleStoreDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class SingleStoreDriverDriver {\n\tstatic readonly [entityKind]: string = 'SingleStoreDriverDriver';\n\n\tconstructor(\n\t\tprivate client: SingleStoreDriverClient,\n\t\tprivate dialect: SingleStoreDialect,\n\t\tprivate options: SingleStoreDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\trelations: AnyRelations,\n\t): SingleStoreDriverSession<Record<string, unknown>, AnyRelations, TablesRelationalConfig> {\n\t\treturn new SingleStoreDriverSession(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers ?? false,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { SingleStoreDatabase } from '~/singlestore-core/db.ts';\n\nexport class SingleStoreDriverDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends SingleStoreDatabase<SingleStoreDriverQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDriverDatabase';\n}\n\nexport type SingleStoreDriverDrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: SingleStoreDriverDrizzleConfig<TSchema, TRelations> = {},\n): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t$client: AnySingleStoreDriverConnection extends TClient ? CallbackPool : TClient;\n} {\n\tconst dialect = new SingleStoreDialect();\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 clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new SingleStoreDriverDriver(clientForInstance as SingleStoreDriverClient, dialect, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(schema, relations);\n\tconst db = new SingleStoreDriverDatabase(dialect, session, relations, schema as any) as SingleStoreDriverDatabase<\n\t\tTSchema\n\t>;\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\ninterface CallbackClient {\n\tpromise(): SingleStoreDriverClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnySingleStoreDriverConnection = Pool | Connection | CallbackPool | CallbackConnection;\n\nconst CONNECTION_ATTRS: PoolOptions['connectAttributes'] = {\n\t_connector_name: 'SingleStore Drizzle ORM Driver',\n\t_connector_version: npmVersion,\n};\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnySingleStoreDriverConnection = CallbackPool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tSingleStoreDriverDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& SingleStoreDriverDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t$client: AnySingleStoreDriverConnection extends TClient ? CallbackPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t\tconnectAttributes: CONNECTION_ATTRS,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& SingleStoreDriverDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tlet opts: PoolOptions = {};\n\topts = typeof connection === 'string'\n\t\t? {\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t\tconnectAttributes: CONNECTION_ATTRS,\n\t\t}\n\t\t: {\n\t\t\t...connection,\n\t\t\tconnectAttributes: {\n\t\t\t\t...connection!.connectAttributes,\n\t\t\t\t...CONNECTION_ATTRS,\n\t\t\t},\n\t\t};\n\n\tconst instance = createPool(opts);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: SingleStoreDriverDrizzleConfig<TSchema, TRelations>,\n\t): SingleStoreDriverDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,IAAa,0BAAb,MAAqC;CACpC,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAAoC,EAAE,EAC7C;EAHO;EACA;EACA;;CAIT,cACC,QACA,WAC0F;AAC1F,SAAO,IAAIC,qDAAyB,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACjF,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ,iBAAiB;GAC7C,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAMJ,IAAa,4BAAb,cAGUC,6CAA6G;CACtH,QAA0BF,0BAAsB;;AAUjD,SAAS,UAKR,QACA,SAA8D,EAAE,EAG/D;CACD,MAAM,UAAU,IAAIG,kDAAoB;CACxC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,oBAAoB,iBAAiB,OAAO,GAAG,OAAO,SAAS,GAAG;CAExE,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,kEACL,OAAO,QACPC,4CACA;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAOxC,MAAM,KAAK,IAAI,0BAA0B,SAN1B,IAAI,wBAAwB,mBAA8C,SAAS;EACjG;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,QAAQ,UAAU,EACI,WAAW,OAAc;AAGpF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAOR,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;AAKlC,MAAM,mBAAqD;CAC1D,iBAAiB;CACjB,oBAAoBC;CACpB;AAED,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,UAAU;EAClC,MAAM,mBAAmB,OAAO;AAMhC,SAAO,iCALqB;GAC3B,KAAK;GACL,mBAAmB;GACnB,CAAC,EAEyB,OAAO,GAAG;;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;CAEnD,IAAI,OAAoB,EAAE;AAC1B,QAAO,OAAO,eAAe,WAC1B;EACD,KAAK;EACL,mBAAmB;EACnB,mBAAmB;EACnB,GACC;EACD,GAAG;EACH,mBAAmB;GAClB,GAAG,WAAY;GACf,GAAG;GACH;EACD;AAKF,QAFW,iCADiB,KAAK,EACF,cAAc;;;CAMtC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -14,7 +14,7 @@ import { SingleStoreDatabase, SingleStoreDatabase as SingleStoreDatabase$1 } fro
14
14
  interface SingleStoreDriverOptions {
15
15
  logger?: Logger;
16
16
  cache?: Cache;
17
- useJitMapper?: boolean;
17
+ useJitMappers?: boolean;
18
18
  }
19
19
  declare class SingleStoreDriverDriver {
20
20
  private client;
@@ -14,7 +14,7 @@ import { SingleStoreDialect } from "../singlestore-core/dialect.js";
14
14
  interface SingleStoreDriverOptions {
15
15
  logger?: Logger;
16
16
  cache?: Cache;
17
- useJitMapper?: boolean;
17
+ useJitMappers?: boolean;
18
18
  }
19
19
  declare class SingleStoreDriverDriver {
20
20
  private client;