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
package/pglite/driver.cjs CHANGED
@@ -1,12 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ const require_pglite_codecs = require('./codecs.cjs');
3
4
  const require_pglite_session = require('./session.cjs');
4
5
  let __entity_ts = require("../entity.cjs");
5
6
  let __utils_ts = require("../utils.cjs");
6
7
  let __logger_ts = require("../logger.cjs");
7
- let __pg_core_array_ts = require("../pg-core/array.cjs");
8
8
  let __pg_core_async_db_ts = require("../pg-core/async/db.cjs");
9
- let __pg_core_codecs_ts = require("../pg-core/codecs.cjs");
10
9
  let __pg_core_dialect_ts = require("../pg-core/dialect.cjs");
11
10
  let _electric_sql_pglite = require("@electric-sql/pglite");
12
11
 
@@ -14,91 +13,10 @@ let _electric_sql_pglite = require("@electric-sql/pglite");
14
13
  var PgliteDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
15
14
  static [__entity_ts.entityKind] = "PgliteDatabase";
16
15
  };
17
- const pgliteCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
18
- bigint: {
19
- cast: __pg_core_codecs_ts.castToText,
20
- castArray: __pg_core_codecs_ts.castToTextArr,
21
- normalize: BigInt,
22
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
23
- },
24
- "bigint:string": {
25
- cast: __pg_core_codecs_ts.castToText,
26
- castArray: __pg_core_codecs_ts.castToTextArr
27
- },
28
- "bigint:number": {
29
- cast: __pg_core_codecs_ts.castToText,
30
- castArray: __pg_core_codecs_ts.castToTextArr
31
- },
32
- bigserial: {
33
- normalize: BigInt,
34
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
35
- cast: __pg_core_codecs_ts.castToText,
36
- castArray: __pg_core_codecs_ts.castToTextArr
37
- },
38
- "bigserial:number": {
39
- cast: __pg_core_codecs_ts.castToText,
40
- castArray: __pg_core_codecs_ts.castToTextArr
41
- },
42
- bytea: {
43
- normalizeInJson: typeof Buffer === "undefined" ? __utils_ts.base64ToUint8Array : __pg_core_codecs_ts.genericPgCodecs.bytea?.normalizeInJson,
44
- normalizeArrayInJson: typeof Buffer === "undefined" ? (0, __pg_core_codecs_ts.arrayCompatNormalize)(__utils_ts.base64ToUint8Array) : __pg_core_codecs_ts.genericPgCodecs.bytea?.normalizeArrayInJson,
45
- normalize: typeof Buffer === "undefined" ? void 0 : (v) => Buffer.from(v),
46
- normalizeArray: typeof Buffer === "undefined" ? void 0 : (0, __pg_core_codecs_ts.arrayCompatNormalize)((v) => Buffer.from(v))
47
- },
48
- interval: { castArray: __pg_core_codecs_ts.castToTextArr },
49
- date: {
50
- castArray: __pg_core_codecs_ts.castToTextArr,
51
- normalize: __pg_core_codecs_ts.textToDate,
52
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
53
- },
54
- "date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
55
- timestamp: {
56
- castArray: __pg_core_codecs_ts.castToTextArr,
57
- normalize: __pg_core_codecs_ts.textToDateWithTz,
58
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
59
- },
60
- timestamptz: {
61
- castArray: __pg_core_codecs_ts.castToTextArr,
62
- normalize: __pg_core_codecs_ts.textToDate,
63
- normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
64
- },
65
- "timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
66
- "timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
67
- json: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
68
- jsonb: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
69
- geometry: {
70
- normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY),
71
- castParam: (name) => `${name}::geometry`,
72
- castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
73
- normalizeParamArray: __pg_core_array_ts.makePgArray
74
- },
75
- "geometry:tuple": {
76
- normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
77
- castParam: (name) => `${name}::geometry`,
78
- castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
79
- normalizeParamArray: __pg_core_array_ts.makePgArray
80
- },
81
- halfvec: {
82
- castParam: (name) => `${name}::halfvec`,
83
- castArrayParam: (name, dimensions) => `${name}::halfvec${"[]".repeat(dimensions)}`,
84
- normalizeParamArray: __pg_core_array_ts.makePgArray
85
- },
86
- vector: {
87
- castParam: (name) => `${name}::vector`,
88
- castArrayParam: (name, dimensions) => `${name}::vector${"[]".repeat(dimensions)}`,
89
- normalizeParamArray: __pg_core_array_ts.makePgArray
90
- },
91
- sparsevec: {
92
- normalizeArray: __pg_core_array_ts.parsePgArray,
93
- castParam: (name) => `${name}::sparsevec`,
94
- castArrayParam: (name, dimensions) => `${name}::sparsevec${"[]".repeat(dimensions)}`,
95
- normalizeParamArray: __pg_core_array_ts.makePgArray
96
- }
97
- });
98
16
  function construct(client, config = {}) {
99
17
  const dialect = new __pg_core_dialect_ts.PgDialect({
100
- useJitMappers: config.useJitMappers,
101
- codecs: config.codecs ?? pgliteCodecs
18
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
19
+ codecs: config.codecs ?? require_pglite_codecs.pgliteCodecs
102
20
  });
103
21
  let logger;
104
22
  if (config.logger === true) logger = new __logger_ts.DefaultLogger();
@@ -138,5 +56,4 @@ Object.defineProperty(exports, 'drizzle', {
138
56
  return drizzle;
139
57
  }
140
58
  });
141
- exports.pgliteCodecs = pgliteCodecs;
142
59
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","castToText","castToTextArr","base64ToUint8Array","genericPgCodecs","textToDate","textToDateWithTz","parseGeometryXY","makePgArray","parseGeometryTuple","parsePgArray","PgDialect","DefaultLogger","PgliteSession","PGlite"],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tgenericPgCodecs,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { base64ToUint8Array } from '~/utils.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nexport const pgliteCodecs = refineGenericPgCodecs({\n\t// Otherwise outputs are inconsistent\n\tbigint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigserial:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tbytea: {\n\t\tnormalizeInJson: typeof Buffer === 'undefined' ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,\n\t\tnormalizeArrayInJson: typeof Buffer === 'undefined'\n\t\t\t? arrayCompatNormalize(base64ToUint8Array)\n\t\t\t: genericPgCodecs.bytea?.normalizeArrayInJson,\n\t\tnormalize: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: (v: Uint8Array) => Buffer.from(v),\n\t\tnormalizeArray: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: arrayCompatNormalize((v: Uint8Array) => Buffer.from(v)),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: {\n\t\tcastParam: (name) => `${name}::halfvec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::halfvec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: {\n\t\tcastParam: (name) => `${name}::vector`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::vector${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tcastParam: (name) => `${name}::sparsevec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::sparsevec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? pgliteCodecs,\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 PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","pgliteCodecs","DefaultLogger","PgliteSession","PGlite"],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\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 { pgliteCodecs } from './codecs.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? pgliteCodecs,\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 PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<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":";;;;;;;;;;;;AAYA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UACR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,eACd,SALe,IAAIC,qCAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAID,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAajD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAEnD,QAAO,UADU,IAAIC,4BAAO,OAAO,GAAG,EACX,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,SAAS,GAAG,YAAY;AAIhC,SAAO,UAFU,IAAIA,4BAAO,SAAS,QAAQ,EAElB,gBAAgB;;AAK5C,QAAO,UAFU,IAAIA,4BAAO,WAAW,EAEZ,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -1,9 +1,6 @@
1
- import { Codec } from "../codecs.cjs";
2
1
  import { PgliteQueryResultHKT } from "./session.cjs";
3
2
  import { entityKind } from "../entity.cjs";
4
- import * as __utils_ts0 from "../utils.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 { PGlite, PGliteOptions } from "@electric-sql/pglite";
@@ -12,7 +9,6 @@ import { PGlite, PGliteOptions } from "@electric-sql/pglite";
12
9
  declare class PgliteDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {
13
10
  static readonly [entityKind]: string;
14
11
  }
15
- declare const pgliteCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
16
12
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PGlite = PGlite>(...params: [] | [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
17
13
  connection?: (PGliteOptions & {
18
14
  dataDir?: string;
@@ -28,5 +24,5 @@ declare namespace drizzle {
28
24
  };
29
25
  }
30
26
  //#endregion
31
- export { PgliteDatabase, drizzle, pgliteCodecs };
27
+ export { PgliteDatabase, drizzle };
32
28
  //# sourceMappingURL=driver.d.cts.map
@@ -1,9 +1,6 @@
1
- import { Codec } from "../codecs.js";
2
1
  import { PgliteQueryResultHKT } from "./session.js";
3
2
  import { entityKind } from "../entity.js";
4
- import * as __utils_ts0 from "../utils.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 { PGlite, PGliteOptions } from "@electric-sql/pglite";
9
6
  import { DrizzlePgConfig } from "../pg-core/utils.js";
@@ -12,7 +9,6 @@ import { DrizzlePgConfig } from "../pg-core/utils.js";
12
9
  declare class PgliteDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {
13
10
  static readonly [entityKind]: string;
14
11
  }
15
- declare const pgliteCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
16
12
  declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PGlite = PGlite>(...params: [] | [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
17
13
  connection?: (PGliteOptions & {
18
14
  dataDir?: string;
@@ -28,5 +24,5 @@ declare namespace drizzle {
28
24
  };
29
25
  }
30
26
  //#endregion
31
- export { PgliteDatabase, drizzle, pgliteCodecs };
27
+ export { PgliteDatabase, drizzle };
32
28
  //# sourceMappingURL=driver.d.ts.map
package/pglite/driver.js CHANGED
@@ -1,10 +1,9 @@
1
+ import { pgliteCodecs } from "./codecs.js";
1
2
  import { PgliteSession } from "./session.js";
2
3
  import { entityKind } from "../entity.js";
3
- import { base64ToUint8Array } from "../utils.js";
4
+ import { jitCompatCheck } from "../utils.js";
4
5
  import { DefaultLogger } from "../logger.js";
5
- import { makePgArray, parsePgArray } from "../pg-core/array.js";
6
6
  import { PgAsyncDatabase } from "../pg-core/async/db.js";
7
- import { arrayCompatNormalize, castToText, castToTextArr, genericPgCodecs, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
8
7
  import { PgDialect } from "../pg-core/dialect.js";
9
8
  import { PGlite } from "@electric-sql/pglite";
10
9
 
@@ -12,90 +11,9 @@ import { PGlite } from "@electric-sql/pglite";
12
11
  var PgliteDatabase = class extends PgAsyncDatabase {
13
12
  static [entityKind] = "PgliteDatabase";
14
13
  };
15
- const pgliteCodecs = refineGenericPgCodecs({
16
- bigint: {
17
- cast: castToText,
18
- castArray: castToTextArr,
19
- normalize: BigInt,
20
- normalizeArray: arrayCompatNormalize(BigInt)
21
- },
22
- "bigint:string": {
23
- cast: castToText,
24
- castArray: castToTextArr
25
- },
26
- "bigint:number": {
27
- cast: castToText,
28
- castArray: castToTextArr
29
- },
30
- bigserial: {
31
- normalize: BigInt,
32
- normalizeArray: arrayCompatNormalize(BigInt),
33
- cast: castToText,
34
- castArray: castToTextArr
35
- },
36
- "bigserial:number": {
37
- cast: castToText,
38
- castArray: castToTextArr
39
- },
40
- bytea: {
41
- normalizeInJson: typeof Buffer === "undefined" ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,
42
- normalizeArrayInJson: typeof Buffer === "undefined" ? arrayCompatNormalize(base64ToUint8Array) : genericPgCodecs.bytea?.normalizeArrayInJson,
43
- normalize: typeof Buffer === "undefined" ? void 0 : (v) => Buffer.from(v),
44
- normalizeArray: typeof Buffer === "undefined" ? void 0 : arrayCompatNormalize((v) => Buffer.from(v))
45
- },
46
- interval: { castArray: castToTextArr },
47
- date: {
48
- castArray: castToTextArr,
49
- normalize: textToDate,
50
- normalizeArray: arrayCompatNormalize(textToDate)
51
- },
52
- "date:string": { castArray: castToTextArr },
53
- timestamp: {
54
- castArray: castToTextArr,
55
- normalize: textToDateWithTz,
56
- normalizeArray: arrayCompatNormalize(textToDateWithTz)
57
- },
58
- timestamptz: {
59
- castArray: castToTextArr,
60
- normalize: textToDate,
61
- normalizeArray: arrayCompatNormalize(textToDate)
62
- },
63
- "timestamp:string": { castArray: castToTextArr },
64
- "timestamptz:string": { castArray: castToTextArr },
65
- json: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
66
- jsonb: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
67
- geometry: {
68
- normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
69
- castParam: (name) => `${name}::geometry`,
70
- castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
71
- normalizeParamArray: makePgArray
72
- },
73
- "geometry:tuple": {
74
- normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
75
- castParam: (name) => `${name}::geometry`,
76
- castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
77
- normalizeParamArray: makePgArray
78
- },
79
- halfvec: {
80
- castParam: (name) => `${name}::halfvec`,
81
- castArrayParam: (name, dimensions) => `${name}::halfvec${"[]".repeat(dimensions)}`,
82
- normalizeParamArray: makePgArray
83
- },
84
- vector: {
85
- castParam: (name) => `${name}::vector`,
86
- castArrayParam: (name, dimensions) => `${name}::vector${"[]".repeat(dimensions)}`,
87
- normalizeParamArray: makePgArray
88
- },
89
- sparsevec: {
90
- normalizeArray: parsePgArray,
91
- castParam: (name) => `${name}::sparsevec`,
92
- castArrayParam: (name, dimensions) => `${name}::sparsevec${"[]".repeat(dimensions)}`,
93
- normalizeParamArray: makePgArray
94
- }
95
- });
96
14
  function construct(client, config = {}) {
97
15
  const dialect = new PgDialect({
98
- useJitMappers: config.useJitMappers,
16
+ useJitMappers: jitCompatCheck(config.useJitMappers),
99
17
  codecs: config.codecs ?? pgliteCodecs
100
18
  });
101
19
  let logger;
@@ -129,5 +47,5 @@ function drizzle(...params) {
129
47
  })(drizzle || (drizzle = {}));
130
48
 
131
49
  //#endregion
132
- export { PgliteDatabase, drizzle, pgliteCodecs };
50
+ export { PgliteDatabase, drizzle };
133
51
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tgenericPgCodecs,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { base64ToUint8Array } from '~/utils.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nexport const pgliteCodecs = refineGenericPgCodecs({\n\t// Otherwise outputs are inconsistent\n\tbigint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigserial:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tbytea: {\n\t\tnormalizeInJson: typeof Buffer === 'undefined' ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,\n\t\tnormalizeArrayInJson: typeof Buffer === 'undefined'\n\t\t\t? arrayCompatNormalize(base64ToUint8Array)\n\t\t\t: genericPgCodecs.bytea?.normalizeArrayInJson,\n\t\tnormalize: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: (v: Uint8Array) => Buffer.from(v),\n\t\tnormalizeArray: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: arrayCompatNormalize((v: Uint8Array) => Buffer.from(v)),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: {\n\t\tcastParam: (name) => `${name}::halfvec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::halfvec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: {\n\t\tcastParam: (name) => `${name}::vector`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::vector${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tcastParam: (name) => `${name}::sparsevec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::sparsevec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? pgliteCodecs,\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 PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\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 { pgliteCodecs } from './codecs.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? pgliteCodecs,\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 PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<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":";;;;;;;;;;AAYA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UACR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,eACd,SALe,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAID,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAajD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAEnD,QAAO,UADU,IAAI,OAAO,OAAO,GAAG,EACX,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,SAAS,GAAG,YAAY;AAIhC,SAAO,UAFU,IAAI,OAAO,SAAS,QAAQ,EAElB,gBAAgB;;AAK5C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
package/pglite/index.cjs CHANGED
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_pglite_codecs = require('./codecs.cjs');
2
3
  const require_pglite_session = require('./session.cjs');
3
4
  const require_pglite_driver = require('./driver.cjs');
4
5
 
@@ -11,4 +12,4 @@ Object.defineProperty(exports, 'drizzle', {
11
12
  return require_pglite_driver.drizzle;
12
13
  }
13
14
  });
14
- exports.pgliteCodecs = require_pglite_driver.pgliteCodecs;
15
+ exports.pgliteCodecs = require_pglite_codecs.pgliteCodecs;
@@ -1,3 +1,4 @@
1
+ import { pgliteCodecs } from "./codecs.cjs";
1
2
  import { PgliteClient, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction } from "./session.cjs";
2
- import { PgliteDatabase, drizzle, pgliteCodecs } from "./driver.cjs";
3
+ import { PgliteDatabase, drizzle } from "./driver.cjs";
3
4
  export { PgliteClient, PgliteDatabase, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction, drizzle, pgliteCodecs };
package/pglite/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { pgliteCodecs } from "./codecs.js";
1
2
  import { PgliteClient, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction } from "./session.js";
2
- import { PgliteDatabase, drizzle, pgliteCodecs } from "./driver.js";
3
+ import { PgliteDatabase, drizzle } from "./driver.js";
3
4
  export { PgliteClient, PgliteDatabase, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction, drizzle, pgliteCodecs };
package/pglite/index.js CHANGED
@@ -1,4 +1,5 @@
1
+ import { pgliteCodecs } from "./codecs.js";
1
2
  import { PgliteSession, PgliteTransaction } from "./session.js";
2
- import { PgliteDatabase, drizzle, pgliteCodecs } from "./driver.js";
3
+ import { PgliteDatabase, drizzle } from "./driver.js";
3
4
 
4
5
  export { PgliteDatabase, PgliteSession, PgliteTransaction, drizzle, pgliteCodecs };
@@ -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_planetscale_serverless_session = require('./session.cjs');
4
4
  let __entity_ts = require("../entity.cjs");
5
+ let __utils_ts = require("../utils.cjs");
5
6
  let __logger_ts = require("../logger.cjs");
6
7
  let ___relations_ts = require("../_relations.cjs");
7
8
  ___relations_ts = require_runtime.__toESM(___relations_ts);
@@ -43,7 +44,7 @@ const db = drizzle({ client });
43
44
  const db = new PlanetScaleDatabase(dialect, new require_planetscale_serverless_session.PlanetscaleSession(client, dialect, void 0, relations, schema, {
44
45
  logger,
45
46
  cache: config.cache,
46
- useJitMapper: config.useJitMappers
47
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
47
48
  }), relations, schema, "planetscale");
48
49
  db.$client = client;
49
50
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","Client","MySqlDialect","DefaultLogger","V1","PlanetscaleSession"],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\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?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAa,sBAAb,cAGUA,iCAA2F;CACpG,QAA0BC,0BAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkBC,8BACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAIC,0DAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,cAAc,OAAO;EACrB,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIJ,6BAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAIA,6BAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAIA,6BACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","Client","MySqlDialect","DefaultLogger","V1","PlanetscaleSession"],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\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?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,IAAa,sBAAb,cAGUA,iCAA2F;CACpG,QAA0BC,0BAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkBC,8BACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAIC,0DAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIJ,6BAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAIA,6BAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAIA,6BACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -10,7 +10,7 @@ import { Client, Config } from "@planetscale/database";
10
10
  interface PlanetscaleSDriverOptions {
11
11
  logger?: Logger;
12
12
  cache?: Cache;
13
- useJitMapper?: boolean;
13
+ useJitMappers?: boolean;
14
14
  }
15
15
  declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {
16
16
  static readonly [entityKind]: string;
@@ -10,7 +10,7 @@ import { Client, Config } from "@planetscale/database";
10
10
  interface PlanetscaleSDriverOptions {
11
11
  logger?: Logger;
12
12
  cache?: Cache;
13
- useJitMapper?: boolean;
13
+ useJitMappers?: boolean;
14
14
  }
15
15
  declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {
16
16
  static readonly [entityKind]: string;
@@ -1,5 +1,6 @@
1
1
  import { PlanetscaleSession } from "./session.js";
2
2
  import { entityKind } from "../entity.js";
3
+ import { jitCompatCheck } from "../utils.js";
3
4
  import { DefaultLogger } from "../logger.js";
4
5
  import * as V1 from "../_relations.js";
5
6
  import { MySqlDatabase } from "../mysql-core/db.js";
@@ -40,7 +41,7 @@ const db = drizzle({ client });
40
41
  const db = new PlanetScaleDatabase(dialect, new PlanetscaleSession(client, dialect, void 0, relations, schema, {
41
42
  logger,
42
43
  cache: config.cache,
43
- useJitMapper: config.useJitMappers
44
+ useJitMappers: jitCompatCheck(config.useJitMappers)
44
45
  }), relations, schema, "planetscale");
45
46
  db.$client = client;
46
47
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMapper: config.useJitMappers,\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\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?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;AAmBA,IAAa,sBAAb,cAGU,cAA2F;CACpG,QAA0B,cAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkB,QACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAI,mBAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,cAAc,OAAO;EACrB,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,OAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAI,OAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAI,OACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\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?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAmBA,IAAa,sBAAb,cAGU,cAA2F;CACpG,QAA0B,cAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkB,QACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAI,mBAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,OAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAI,OAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAI,OACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -15,14 +15,14 @@ var PlanetScalePreparedQuery = class extends __mysql_core_session_ts.MySqlPrepar
15
15
  jitMapper;
16
16
  rawQuery = { as: "object" };
17
17
  query = { as: "array" };
18
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMapper, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
18
+ constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMappers, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
19
19
  super(cache, queryMetadata, cacheConfig);
20
20
  this.client = client;
21
21
  this.queryString = queryString;
22
22
  this.params = params;
23
23
  this.logger = logger;
24
24
  this.fields = fields;
25
- this.useJitMapper = useJitMapper;
25
+ this.useJitMappers = useJitMappers;
26
26
  this.customResultMapper = customResultMapper;
27
27
  this.generatedIds = generatedIds;
28
28
  this.returningIds = returningIds;
@@ -61,14 +61,14 @@ var PlanetScalePreparedQuery = class extends __mysql_core_session_ts.MySqlPrepar
61
61
  return await client.execute(queryString, params, query);
62
62
  });
63
63
  if (customResultMapper) return customResultMapper(rows);
64
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
64
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
65
65
  }
66
66
  async executeRqbV2(placeholderValues = {}) {
67
67
  const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
68
68
  this.logger.logQuery(this.queryString, params);
69
69
  const { client, queryString, rawQuery, customResultMapper } = this;
70
70
  const res = await client.execute(queryString, params, rawQuery);
71
- return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(res.rows) : customResultMapper(res.rows);
71
+ return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(res.rows) : customResultMapper(res.rows);
72
72
  }
73
73
  iterator(_placeholderValues) {
74
74
  throw new Error("Streaming is not supported by the PlanetScale Serverless driver");
@@ -90,10 +90,10 @@ var PlanetscaleSession = class PlanetscaleSession extends __mysql_core_session_t
90
90
  this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
91
91
  }
92
92
  prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
93
- return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds);
93
+ return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds);
94
94
  }
95
95
  prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
96
- return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMapper, customResultMapper, generatedIds, returningIds, true, config);
96
+ return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds, true, config);
97
97
  }
98
98
  async query(query, params) {
99
99
  this.logger.logQuery(query, params);