drizzle-orm 1.0.0-beta.21 → 1.0.0-beta.21-4fa69ab

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 (1591) hide show
  1. package/_relations.cjs.map +1 -1
  2. package/_relations.d.cts +2 -13
  3. package/_relations.d.ts +2 -13
  4. package/_relations.js.map +1 -1
  5. package/aws-data-api/common/index.cjs +2 -0
  6. package/aws-data-api/common/index.cjs.map +1 -1
  7. package/aws-data-api/common/index.js +2 -0
  8. package/aws-data-api/common/index.js.map +1 -1
  9. package/aws-data-api/pg/driver.cjs +93 -20
  10. package/aws-data-api/pg/driver.cjs.map +1 -1
  11. package/aws-data-api/pg/driver.d.cts +17 -13
  12. package/aws-data-api/pg/driver.d.ts +16 -12
  13. package/aws-data-api/pg/driver.js +93 -20
  14. package/aws-data-api/pg/driver.js.map +1 -1
  15. package/aws-data-api/pg/index.cjs +1 -1
  16. package/aws-data-api/pg/index.d.cts +3 -3
  17. package/aws-data-api/pg/index.d.ts +3 -3
  18. package/aws-data-api/pg/index.js +3 -3
  19. package/aws-data-api/pg/migrator.cjs.map +1 -1
  20. package/aws-data-api/pg/migrator.d.cts +1 -1
  21. package/aws-data-api/pg/migrator.d.ts +1 -1
  22. package/aws-data-api/pg/migrator.js.map +1 -1
  23. package/aws-data-api/pg/session.cjs +44 -113
  24. package/aws-data-api/pg/session.cjs.map +1 -1
  25. package/aws-data-api/pg/session.d.cts +12 -42
  26. package/aws-data-api/pg/session.d.ts +12 -42
  27. package/aws-data-api/pg/session.js +46 -114
  28. package/aws-data-api/pg/session.js.map +1 -1
  29. package/better-sqlite3/driver.cjs +5 -2
  30. package/better-sqlite3/driver.cjs.map +1 -1
  31. package/better-sqlite3/driver.d.ts +1 -1
  32. package/better-sqlite3/driver.js +5 -2
  33. package/better-sqlite3/driver.js.map +1 -1
  34. package/better-sqlite3/session.cjs +15 -14
  35. package/better-sqlite3/session.cjs.map +1 -1
  36. package/better-sqlite3/session.d.cts +10 -6
  37. package/better-sqlite3/session.d.ts +10 -6
  38. package/better-sqlite3/session.js +16 -15
  39. package/better-sqlite3/session.js.map +1 -1
  40. package/bun-sql/driver.cjs.map +1 -1
  41. package/bun-sql/driver.d.cts +7 -6
  42. package/bun-sql/driver.d.ts +7 -6
  43. package/bun-sql/driver.js.map +1 -1
  44. package/bun-sql/index.cjs +0 -1
  45. package/bun-sql/index.d.cts +2 -2
  46. package/bun-sql/index.d.ts +2 -2
  47. package/bun-sql/index.js +2 -2
  48. package/bun-sql/migrator.cjs.map +1 -1
  49. package/bun-sql/migrator.d.cts +2 -2
  50. package/bun-sql/migrator.d.ts +2 -2
  51. package/bun-sql/migrator.js.map +1 -1
  52. package/bun-sql/mysql/driver.cjs +4 -3
  53. package/bun-sql/mysql/driver.cjs.map +1 -1
  54. package/bun-sql/mysql/driver.js +3 -2
  55. package/bun-sql/mysql/driver.js.map +1 -1
  56. package/bun-sql/mysql/session.cjs +36 -23
  57. package/bun-sql/mysql/session.cjs.map +1 -1
  58. package/bun-sql/mysql/session.d.cts +10 -4
  59. package/bun-sql/mysql/session.d.ts +11 -5
  60. package/bun-sql/mysql/session.js +37 -24
  61. package/bun-sql/mysql/session.js.map +1 -1
  62. package/bun-sql/postgres/driver.cjs +143 -19
  63. package/bun-sql/postgres/driver.cjs.map +1 -1
  64. package/bun-sql/postgres/driver.d.cts +10 -6
  65. package/bun-sql/postgres/driver.d.ts +10 -6
  66. package/bun-sql/postgres/driver.js +143 -19
  67. package/bun-sql/postgres/driver.js.map +1 -1
  68. package/bun-sql/postgres/index.cjs +1 -1
  69. package/bun-sql/postgres/index.d.cts +3 -3
  70. package/bun-sql/postgres/index.d.ts +3 -3
  71. package/bun-sql/postgres/index.js +3 -3
  72. package/bun-sql/postgres/migrator.cjs.map +1 -1
  73. package/bun-sql/postgres/migrator.d.cts +1 -1
  74. package/bun-sql/postgres/migrator.d.ts +1 -1
  75. package/bun-sql/postgres/migrator.js.map +1 -1
  76. package/bun-sql/postgres/session.cjs +16 -111
  77. package/bun-sql/postgres/session.cjs.map +1 -1
  78. package/bun-sql/postgres/session.d.cts +11 -33
  79. package/bun-sql/postgres/session.d.ts +10 -32
  80. package/bun-sql/postgres/session.js +17 -111
  81. package/bun-sql/postgres/session.js.map +1 -1
  82. package/bun-sql/session.cjs +0 -1
  83. package/bun-sql/session.d.cts +2 -2
  84. package/bun-sql/session.d.ts +2 -2
  85. package/bun-sql/session.js +2 -2
  86. package/bun-sql/sqlite/driver.cjs +4 -3
  87. package/bun-sql/sqlite/driver.cjs.map +1 -1
  88. package/bun-sql/sqlite/driver.d.ts +1 -1
  89. package/bun-sql/sqlite/driver.js +3 -2
  90. package/bun-sql/sqlite/driver.js.map +1 -1
  91. package/bun-sql/sqlite/session.cjs +17 -16
  92. package/bun-sql/sqlite/session.cjs.map +1 -1
  93. package/bun-sql/sqlite/session.d.cts +9 -6
  94. package/bun-sql/sqlite/session.d.ts +9 -6
  95. package/bun-sql/sqlite/session.js +18 -17
  96. package/bun-sql/sqlite/session.js.map +1 -1
  97. package/bun-sqlite/driver.cjs +5 -2
  98. package/bun-sqlite/driver.cjs.map +1 -1
  99. package/bun-sqlite/driver.d.ts +1 -1
  100. package/bun-sqlite/driver.js +5 -2
  101. package/bun-sqlite/driver.js.map +1 -1
  102. package/bun-sqlite/session.cjs +15 -14
  103. package/bun-sqlite/session.cjs.map +1 -1
  104. package/bun-sqlite/session.d.cts +10 -6
  105. package/bun-sqlite/session.d.ts +10 -6
  106. package/bun-sqlite/session.js +16 -15
  107. package/bun-sqlite/session.js.map +1 -1
  108. package/cache/core/cache-effect.d.cts +1 -1
  109. package/cache/core/cache-effect.d.ts +1 -1
  110. package/cache/upstash/cache.d.cts +1 -1
  111. package/cache/upstash/cache.d.ts +1 -1
  112. package/cockroach/driver.cjs +9 -3
  113. package/cockroach/driver.cjs.map +1 -1
  114. package/cockroach/driver.d.cts +1 -0
  115. package/cockroach/driver.d.ts +2 -1
  116. package/cockroach/driver.js +9 -3
  117. package/cockroach/driver.js.map +1 -1
  118. package/cockroach/session.cjs +7 -9
  119. package/cockroach/session.cjs.map +1 -1
  120. package/cockroach/session.d.cts +5 -3
  121. package/cockroach/session.d.ts +6 -4
  122. package/cockroach/session.js +8 -10
  123. package/cockroach/session.js.map +1 -1
  124. package/cockroach-core/columns/bigint.cjs +4 -4
  125. package/cockroach-core/columns/bigint.cjs.map +1 -1
  126. package/cockroach-core/columns/bigint.d.cts +2 -2
  127. package/cockroach-core/columns/bigint.d.ts +2 -2
  128. package/cockroach-core/columns/bigint.js +4 -4
  129. package/cockroach-core/columns/bigint.js.map +1 -1
  130. package/cockroach-core/columns/common.cjs +4 -4
  131. package/cockroach-core/columns/common.cjs.map +1 -1
  132. package/cockroach-core/columns/common.d.cts +2 -2
  133. package/cockroach-core/columns/common.d.ts +2 -2
  134. package/cockroach-core/columns/common.js +4 -4
  135. package/cockroach-core/columns/common.js.map +1 -1
  136. package/cockroach-core/columns/custom.cjs +4 -4
  137. package/cockroach-core/columns/custom.cjs.map +1 -1
  138. package/cockroach-core/columns/custom.d.cts +2 -2
  139. package/cockroach-core/columns/custom.d.ts +2 -2
  140. package/cockroach-core/columns/custom.js +4 -4
  141. package/cockroach-core/columns/custom.js.map +1 -1
  142. package/cockroach-core/columns/date.cjs +6 -6
  143. package/cockroach-core/columns/date.cjs.map +1 -1
  144. package/cockroach-core/columns/date.d.cts +3 -3
  145. package/cockroach-core/columns/date.d.ts +3 -3
  146. package/cockroach-core/columns/date.js +6 -6
  147. package/cockroach-core/columns/date.js.map +1 -1
  148. package/cockroach-core/columns/decimal.cjs +4 -4
  149. package/cockroach-core/columns/decimal.cjs.map +1 -1
  150. package/cockroach-core/columns/decimal.d.cts +2 -2
  151. package/cockroach-core/columns/decimal.d.ts +2 -2
  152. package/cockroach-core/columns/decimal.js +4 -4
  153. package/cockroach-core/columns/decimal.js.map +1 -1
  154. package/cockroach-core/columns/float.cjs +2 -2
  155. package/cockroach-core/columns/float.cjs.map +1 -1
  156. package/cockroach-core/columns/float.d.cts +1 -1
  157. package/cockroach-core/columns/float.d.ts +1 -1
  158. package/cockroach-core/columns/float.js +2 -2
  159. package/cockroach-core/columns/float.js.map +1 -1
  160. package/cockroach-core/columns/geometry.cjs +8 -8
  161. package/cockroach-core/columns/geometry.cjs.map +1 -1
  162. package/cockroach-core/columns/geometry.d.cts +5 -5
  163. package/cockroach-core/columns/geometry.d.ts +5 -5
  164. package/cockroach-core/columns/geometry.js +8 -8
  165. package/cockroach-core/columns/geometry.js.map +1 -1
  166. package/cockroach-core/columns/integer.cjs +2 -2
  167. package/cockroach-core/columns/integer.cjs.map +1 -1
  168. package/cockroach-core/columns/integer.d.cts +1 -1
  169. package/cockroach-core/columns/integer.d.ts +1 -1
  170. package/cockroach-core/columns/integer.js +2 -2
  171. package/cockroach-core/columns/integer.js.map +1 -1
  172. package/cockroach-core/columns/jsonb.cjs +4 -4
  173. package/cockroach-core/columns/jsonb.cjs.map +1 -1
  174. package/cockroach-core/columns/jsonb.d.cts +2 -2
  175. package/cockroach-core/columns/jsonb.d.ts +2 -2
  176. package/cockroach-core/columns/jsonb.js +4 -4
  177. package/cockroach-core/columns/jsonb.js.map +1 -1
  178. package/cockroach-core/columns/vector.cjs +4 -4
  179. package/cockroach-core/columns/vector.cjs.map +1 -1
  180. package/cockroach-core/columns/vector.d.cts +2 -2
  181. package/cockroach-core/columns/vector.d.ts +2 -2
  182. package/cockroach-core/columns/vector.js +4 -4
  183. package/cockroach-core/columns/vector.js.map +1 -1
  184. package/cockroach-core/db.cjs +1 -1
  185. package/cockroach-core/db.cjs.map +1 -1
  186. package/cockroach-core/db.js +1 -1
  187. package/cockroach-core/db.js.map +1 -1
  188. package/cockroach-core/dialect.cjs +1 -1
  189. package/cockroach-core/dialect.d.ts +1 -1
  190. package/cockroach-core/dialect.js +1 -1
  191. package/cockroach-core/query-builders/delete.cjs +6 -2
  192. package/cockroach-core/query-builders/delete.cjs.map +1 -1
  193. package/cockroach-core/query-builders/delete.d.cts +1 -1
  194. package/cockroach-core/query-builders/delete.d.ts +1 -1
  195. package/cockroach-core/query-builders/delete.js +6 -2
  196. package/cockroach-core/query-builders/delete.js.map +1 -1
  197. package/cockroach-core/query-builders/insert.cjs +6 -2
  198. package/cockroach-core/query-builders/insert.cjs.map +1 -1
  199. package/cockroach-core/query-builders/insert.js +6 -2
  200. package/cockroach-core/query-builders/insert.js.map +1 -1
  201. package/cockroach-core/query-builders/query.cjs +2 -2
  202. package/cockroach-core/query-builders/query.cjs.map +1 -1
  203. package/cockroach-core/query-builders/query.js +2 -2
  204. package/cockroach-core/query-builders/query.js.map +1 -1
  205. package/cockroach-core/query-builders/raw.cjs +0 -4
  206. package/cockroach-core/query-builders/raw.cjs.map +1 -1
  207. package/cockroach-core/query-builders/raw.js +0 -4
  208. package/cockroach-core/query-builders/raw.js.map +1 -1
  209. package/cockroach-core/query-builders/refresh-materialized-view.cjs +2 -2
  210. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  211. package/cockroach-core/query-builders/refresh-materialized-view.js +2 -2
  212. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
  213. package/cockroach-core/query-builders/select.cjs +6 -2
  214. package/cockroach-core/query-builders/select.cjs.map +1 -1
  215. package/cockroach-core/query-builders/select.js +6 -2
  216. package/cockroach-core/query-builders/select.js.map +1 -1
  217. package/cockroach-core/query-builders/update.cjs +6 -2
  218. package/cockroach-core/query-builders/update.cjs.map +1 -1
  219. package/cockroach-core/query-builders/update.js +6 -2
  220. package/cockroach-core/query-builders/update.js.map +1 -1
  221. package/cockroach-core/session.cjs +2 -2
  222. package/cockroach-core/session.cjs.map +1 -1
  223. package/cockroach-core/session.d.cts +1 -1
  224. package/cockroach-core/session.d.ts +1 -1
  225. package/cockroach-core/session.js +2 -2
  226. package/cockroach-core/session.js.map +1 -1
  227. package/cockroach-core/table.cjs +1 -1
  228. package/cockroach-core/table.cjs.map +1 -1
  229. package/cockroach-core/table.js +1 -1
  230. package/cockroach-core/table.js.map +1 -1
  231. package/codecs.cjs +77 -0
  232. package/codecs.cjs.map +1 -0
  233. package/codecs.d.cts +68 -0
  234. package/codecs.d.ts +68 -0
  235. package/codecs.js +74 -0
  236. package/codecs.js.map +1 -0
  237. package/column.cjs +10 -5
  238. package/column.cjs.map +1 -1
  239. package/column.d.cts +3 -3
  240. package/column.d.ts +3 -3
  241. package/column.js +10 -5
  242. package/column.js.map +1 -1
  243. package/d1/driver.cjs +3 -2
  244. package/d1/driver.cjs.map +1 -1
  245. package/d1/driver.d.ts +1 -1
  246. package/d1/driver.js +3 -2
  247. package/d1/driver.js.map +1 -1
  248. package/d1/session.cjs +16 -14
  249. package/d1/session.cjs.map +1 -1
  250. package/d1/session.d.cts +9 -6
  251. package/d1/session.d.ts +9 -6
  252. package/d1/session.js +17 -15
  253. package/d1/session.js.map +1 -1
  254. package/durable-sqlite/driver.cjs +5 -2
  255. package/durable-sqlite/driver.cjs.map +1 -1
  256. package/durable-sqlite/driver.d.ts +1 -1
  257. package/durable-sqlite/driver.js +5 -2
  258. package/durable-sqlite/driver.js.map +1 -1
  259. package/durable-sqlite/session.cjs +15 -14
  260. package/durable-sqlite/session.cjs.map +1 -1
  261. package/durable-sqlite/session.d.cts +10 -6
  262. package/durable-sqlite/session.d.ts +10 -6
  263. package/durable-sqlite/session.js +16 -15
  264. package/durable-sqlite/session.js.map +1 -1
  265. package/effect-postgres/driver.cjs +99 -13
  266. package/effect-postgres/driver.cjs.map +1 -1
  267. package/effect-postgres/driver.d.cts +12 -8
  268. package/effect-postgres/driver.d.ts +12 -8
  269. package/effect-postgres/driver.js +99 -13
  270. package/effect-postgres/driver.js.map +1 -1
  271. package/effect-postgres/index.cjs +1 -1
  272. package/effect-postgres/index.d.cts +3 -3
  273. package/effect-postgres/index.d.ts +3 -3
  274. package/effect-postgres/index.js +3 -3
  275. package/effect-postgres/migrator.cjs.map +1 -1
  276. package/effect-postgres/migrator.d.cts +1 -1
  277. package/effect-postgres/migrator.d.ts +1 -1
  278. package/effect-postgres/migrator.js.map +1 -1
  279. package/effect-postgres/session.cjs +12 -71
  280. package/effect-postgres/session.cjs.map +1 -1
  281. package/effect-postgres/session.d.cts +14 -31
  282. package/effect-postgres/session.d.ts +16 -33
  283. package/effect-postgres/session.js +13 -71
  284. package/effect-postgres/session.js.map +1 -1
  285. package/expo-sqlite/driver.cjs +5 -2
  286. package/expo-sqlite/driver.cjs.map +1 -1
  287. package/expo-sqlite/driver.d.ts +1 -1
  288. package/expo-sqlite/driver.js +5 -2
  289. package/expo-sqlite/driver.js.map +1 -1
  290. package/expo-sqlite/session.cjs +15 -14
  291. package/expo-sqlite/session.cjs.map +1 -1
  292. package/expo-sqlite/session.d.cts +10 -6
  293. package/expo-sqlite/session.d.ts +10 -6
  294. package/expo-sqlite/session.js +16 -15
  295. package/expo-sqlite/session.js.map +1 -1
  296. package/gel/driver.cjs +4 -2
  297. package/gel/driver.cjs.map +1 -1
  298. package/gel/driver.d.cts +1 -0
  299. package/gel/driver.d.ts +2 -1
  300. package/gel/driver.js +4 -2
  301. package/gel/driver.js.map +1 -1
  302. package/gel/session.cjs +12 -12
  303. package/gel/session.cjs.map +1 -1
  304. package/gel/session.d.cts +8 -5
  305. package/gel/session.d.ts +9 -6
  306. package/gel/session.js +13 -13
  307. package/gel/session.js.map +1 -1
  308. package/gel-core/columns/bigintT.cjs +2 -2
  309. package/gel-core/columns/bigintT.cjs.map +1 -1
  310. package/gel-core/columns/bigintT.d.cts +1 -1
  311. package/gel-core/columns/bigintT.d.ts +1 -1
  312. package/gel-core/columns/bigintT.js +2 -2
  313. package/gel-core/columns/bigintT.js.map +1 -1
  314. package/gel-core/columns/common.cjs +2 -2
  315. package/gel-core/columns/common.cjs.map +1 -1
  316. package/gel-core/columns/common.d.cts +1 -1
  317. package/gel-core/columns/common.d.ts +1 -1
  318. package/gel-core/columns/common.js +2 -2
  319. package/gel-core/columns/common.js.map +1 -1
  320. package/gel-core/columns/custom.cjs +4 -4
  321. package/gel-core/columns/custom.cjs.map +1 -1
  322. package/gel-core/columns/custom.d.cts +2 -2
  323. package/gel-core/columns/custom.d.ts +2 -2
  324. package/gel-core/columns/custom.js +4 -4
  325. package/gel-core/columns/custom.js.map +1 -1
  326. package/gel-core/columns/double-precision.cjs +2 -2
  327. package/gel-core/columns/double-precision.cjs.map +1 -1
  328. package/gel-core/columns/double-precision.d.cts +1 -1
  329. package/gel-core/columns/double-precision.d.ts +1 -1
  330. package/gel-core/columns/double-precision.js +2 -2
  331. package/gel-core/columns/double-precision.js.map +1 -1
  332. package/gel-core/columns/timestamptz.cjs +2 -2
  333. package/gel-core/columns/timestamptz.cjs.map +1 -1
  334. package/gel-core/columns/timestamptz.d.cts +1 -1
  335. package/gel-core/columns/timestamptz.d.ts +1 -1
  336. package/gel-core/columns/timestamptz.js +2 -2
  337. package/gel-core/columns/timestamptz.js.map +1 -1
  338. package/gel-core/db.cjs +1 -1
  339. package/gel-core/db.cjs.map +1 -1
  340. package/gel-core/db.d.ts +1 -1
  341. package/gel-core/db.js +1 -1
  342. package/gel-core/db.js.map +1 -1
  343. package/gel-core/query-builders/_query.cjs +2 -2
  344. package/gel-core/query-builders/_query.cjs.map +1 -1
  345. package/gel-core/query-builders/_query.js +2 -2
  346. package/gel-core/query-builders/_query.js.map +1 -1
  347. package/gel-core/query-builders/delete.cjs +2 -2
  348. package/gel-core/query-builders/delete.cjs.map +1 -1
  349. package/gel-core/query-builders/delete.js +2 -2
  350. package/gel-core/query-builders/delete.js.map +1 -1
  351. package/gel-core/query-builders/insert.cjs +2 -2
  352. package/gel-core/query-builders/insert.cjs.map +1 -1
  353. package/gel-core/query-builders/insert.js +2 -2
  354. package/gel-core/query-builders/insert.js.map +1 -1
  355. package/gel-core/query-builders/query.cjs +13 -5
  356. package/gel-core/query-builders/query.cjs.map +1 -1
  357. package/gel-core/query-builders/query.d.ts +1 -1
  358. package/gel-core/query-builders/query.js +14 -6
  359. package/gel-core/query-builders/query.js.map +1 -1
  360. package/gel-core/query-builders/raw.cjs +0 -4
  361. package/gel-core/query-builders/raw.cjs.map +1 -1
  362. package/gel-core/query-builders/raw.js +0 -4
  363. package/gel-core/query-builders/raw.js.map +1 -1
  364. package/gel-core/query-builders/refresh-materialized-view.cjs +2 -2
  365. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  366. package/gel-core/query-builders/refresh-materialized-view.js +2 -2
  367. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -1
  368. package/gel-core/query-builders/select.cjs +6 -2
  369. package/gel-core/query-builders/select.cjs.map +1 -1
  370. package/gel-core/query-builders/select.js +6 -2
  371. package/gel-core/query-builders/select.js.map +1 -1
  372. package/gel-core/query-builders/update.cjs +2 -2
  373. package/gel-core/query-builders/update.cjs.map +1 -1
  374. package/gel-core/query-builders/update.js +2 -2
  375. package/gel-core/query-builders/update.js.map +1 -1
  376. package/gel-core/session.cjs +2 -2
  377. package/gel-core/session.cjs.map +1 -1
  378. package/gel-core/session.d.cts +3 -3
  379. package/gel-core/session.d.ts +3 -3
  380. package/gel-core/session.js +2 -2
  381. package/gel-core/session.js.map +1 -1
  382. package/gel-core/table.cjs +1 -1
  383. package/gel-core/table.cjs.map +1 -1
  384. package/gel-core/table.js +1 -1
  385. package/gel-core/table.js.map +1 -1
  386. package/index.cjs +6 -0
  387. package/index.d.cts +6 -6
  388. package/index.d.ts +6 -6
  389. package/index.js +4 -4
  390. package/libsql/driver-core.cjs +3 -2
  391. package/libsql/driver-core.cjs.map +1 -1
  392. package/libsql/driver-core.d.ts +1 -1
  393. package/libsql/driver-core.js +3 -2
  394. package/libsql/driver-core.js.map +1 -1
  395. package/libsql/session.cjs +13 -14
  396. package/libsql/session.cjs.map +1 -1
  397. package/libsql/session.d.cts +9 -6
  398. package/libsql/session.d.ts +9 -6
  399. package/libsql/session.js +14 -15
  400. package/libsql/session.js.map +1 -1
  401. package/mssql-core/columns/bigint.cjs +2 -2
  402. package/mssql-core/columns/bigint.cjs.map +1 -1
  403. package/mssql-core/columns/bigint.d.cts +1 -1
  404. package/mssql-core/columns/bigint.d.ts +1 -1
  405. package/mssql-core/columns/bigint.js +2 -2
  406. package/mssql-core/columns/bigint.js.map +1 -1
  407. package/mssql-core/columns/custom.cjs +4 -4
  408. package/mssql-core/columns/custom.cjs.map +1 -1
  409. package/mssql-core/columns/custom.d.cts +2 -2
  410. package/mssql-core/columns/custom.d.ts +2 -2
  411. package/mssql-core/columns/custom.js +4 -4
  412. package/mssql-core/columns/custom.js.map +1 -1
  413. package/mssql-core/columns/date.cjs +4 -4
  414. package/mssql-core/columns/date.cjs.map +1 -1
  415. package/mssql-core/columns/date.d.cts +2 -2
  416. package/mssql-core/columns/date.d.ts +2 -2
  417. package/mssql-core/columns/date.js +4 -4
  418. package/mssql-core/columns/date.js.map +1 -1
  419. package/mssql-core/columns/datetime.cjs +2 -2
  420. package/mssql-core/columns/datetime.cjs.map +1 -1
  421. package/mssql-core/columns/datetime.d.cts +1 -1
  422. package/mssql-core/columns/datetime.d.ts +1 -1
  423. package/mssql-core/columns/datetime.js +2 -2
  424. package/mssql-core/columns/datetime.js.map +1 -1
  425. package/mssql-core/columns/datetime2.cjs +2 -2
  426. package/mssql-core/columns/datetime2.cjs.map +1 -1
  427. package/mssql-core/columns/datetime2.d.cts +1 -1
  428. package/mssql-core/columns/datetime2.d.ts +1 -1
  429. package/mssql-core/columns/datetime2.js +2 -2
  430. package/mssql-core/columns/datetime2.js.map +1 -1
  431. package/mssql-core/columns/datetimeoffset.cjs +2 -2
  432. package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
  433. package/mssql-core/columns/datetimeoffset.d.cts +1 -1
  434. package/mssql-core/columns/datetimeoffset.d.ts +1 -1
  435. package/mssql-core/columns/datetimeoffset.js +2 -2
  436. package/mssql-core/columns/datetimeoffset.js.map +1 -1
  437. package/mssql-core/columns/decimal.cjs +4 -4
  438. package/mssql-core/columns/decimal.cjs.map +1 -1
  439. package/mssql-core/columns/decimal.d.cts +2 -2
  440. package/mssql-core/columns/decimal.d.ts +2 -2
  441. package/mssql-core/columns/decimal.js +4 -4
  442. package/mssql-core/columns/decimal.js.map +1 -1
  443. package/mssql-core/columns/numeric.cjs +4 -4
  444. package/mssql-core/columns/numeric.cjs.map +1 -1
  445. package/mssql-core/columns/numeric.d.cts +2 -2
  446. package/mssql-core/columns/numeric.d.ts +2 -2
  447. package/mssql-core/columns/numeric.js +4 -4
  448. package/mssql-core/columns/numeric.js.map +1 -1
  449. package/mssql-core/columns/smallint.cjs +2 -2
  450. package/mssql-core/columns/smallint.cjs.map +1 -1
  451. package/mssql-core/columns/smallint.d.cts +1 -1
  452. package/mssql-core/columns/smallint.d.ts +1 -1
  453. package/mssql-core/columns/smallint.js +2 -2
  454. package/mssql-core/columns/smallint.js.map +1 -1
  455. package/mssql-core/columns/time.cjs +2 -2
  456. package/mssql-core/columns/time.cjs.map +1 -1
  457. package/mssql-core/columns/time.d.cts +1 -1
  458. package/mssql-core/columns/time.d.ts +1 -1
  459. package/mssql-core/columns/time.js +2 -2
  460. package/mssql-core/columns/time.js.map +1 -1
  461. package/mssql-core/columns/tinyint.cjs +2 -2
  462. package/mssql-core/columns/tinyint.cjs.map +1 -1
  463. package/mssql-core/columns/tinyint.d.cts +1 -1
  464. package/mssql-core/columns/tinyint.d.ts +1 -1
  465. package/mssql-core/columns/tinyint.js +2 -2
  466. package/mssql-core/columns/tinyint.js.map +1 -1
  467. package/mssql-core/columns/varchar.cjs +4 -4
  468. package/mssql-core/columns/varchar.cjs.map +1 -1
  469. package/mssql-core/columns/varchar.d.cts +2 -2
  470. package/mssql-core/columns/varchar.d.ts +2 -2
  471. package/mssql-core/columns/varchar.js +4 -4
  472. package/mssql-core/columns/varchar.js.map +1 -1
  473. package/mssql-core/dialect.cjs +1 -1
  474. package/mssql-core/dialect.d.ts +1 -1
  475. package/mssql-core/dialect.js +1 -1
  476. package/mssql-core/query-builders/select.cjs +4 -0
  477. package/mssql-core/query-builders/select.cjs.map +1 -1
  478. package/mssql-core/query-builders/select.js +4 -0
  479. package/mssql-core/query-builders/select.js.map +1 -1
  480. package/mssql-core/query-builders/update.d.ts +1 -1
  481. package/mssql-core/table.cjs +1 -1
  482. package/mssql-core/table.cjs.map +1 -1
  483. package/mssql-core/table.js +1 -1
  484. package/mssql-core/table.js.map +1 -1
  485. package/mysql-core/columns/bigint.cjs +8 -8
  486. package/mysql-core/columns/bigint.cjs.map +1 -1
  487. package/mysql-core/columns/bigint.d.cts +4 -4
  488. package/mysql-core/columns/bigint.d.ts +4 -4
  489. package/mysql-core/columns/bigint.js +8 -8
  490. package/mysql-core/columns/bigint.js.map +1 -1
  491. package/mysql-core/columns/binary.cjs +2 -2
  492. package/mysql-core/columns/binary.cjs.map +1 -1
  493. package/mysql-core/columns/binary.d.cts +1 -1
  494. package/mysql-core/columns/binary.d.ts +1 -1
  495. package/mysql-core/columns/binary.js +2 -2
  496. package/mysql-core/columns/binary.js.map +1 -1
  497. package/mysql-core/columns/blob.cjs +4 -4
  498. package/mysql-core/columns/blob.cjs.map +1 -1
  499. package/mysql-core/columns/blob.d.cts +2 -2
  500. package/mysql-core/columns/blob.d.ts +2 -2
  501. package/mysql-core/columns/blob.js +4 -4
  502. package/mysql-core/columns/blob.js.map +1 -1
  503. package/mysql-core/columns/boolean.cjs +2 -2
  504. package/mysql-core/columns/boolean.cjs.map +1 -1
  505. package/mysql-core/columns/boolean.d.cts +1 -1
  506. package/mysql-core/columns/boolean.d.ts +1 -1
  507. package/mysql-core/columns/boolean.js +2 -2
  508. package/mysql-core/columns/boolean.js.map +1 -1
  509. package/mysql-core/columns/custom.cjs +4 -4
  510. package/mysql-core/columns/custom.cjs.map +1 -1
  511. package/mysql-core/columns/custom.d.cts +2 -2
  512. package/mysql-core/columns/custom.d.ts +2 -2
  513. package/mysql-core/columns/custom.js +4 -4
  514. package/mysql-core/columns/custom.js.map +1 -1
  515. package/mysql-core/columns/date.cjs +4 -4
  516. package/mysql-core/columns/date.cjs.map +1 -1
  517. package/mysql-core/columns/date.d.cts +2 -2
  518. package/mysql-core/columns/date.d.ts +2 -2
  519. package/mysql-core/columns/date.js +4 -4
  520. package/mysql-core/columns/date.js.map +1 -1
  521. package/mysql-core/columns/datetime.cjs +8 -8
  522. package/mysql-core/columns/datetime.cjs.map +1 -1
  523. package/mysql-core/columns/datetime.d.cts +4 -4
  524. package/mysql-core/columns/datetime.d.ts +4 -4
  525. package/mysql-core/columns/datetime.js +8 -8
  526. package/mysql-core/columns/datetime.js.map +1 -1
  527. package/mysql-core/columns/decimal.cjs +4 -4
  528. package/mysql-core/columns/decimal.cjs.map +1 -1
  529. package/mysql-core/columns/decimal.d.cts +2 -2
  530. package/mysql-core/columns/decimal.d.ts +2 -2
  531. package/mysql-core/columns/decimal.js +4 -4
  532. package/mysql-core/columns/decimal.js.map +1 -1
  533. package/mysql-core/columns/float.cjs +2 -2
  534. package/mysql-core/columns/float.cjs.map +1 -1
  535. package/mysql-core/columns/float.d.cts +1 -1
  536. package/mysql-core/columns/float.d.ts +1 -1
  537. package/mysql-core/columns/float.js +2 -2
  538. package/mysql-core/columns/float.js.map +1 -1
  539. package/mysql-core/columns/int.cjs +2 -2
  540. package/mysql-core/columns/int.cjs.map +1 -1
  541. package/mysql-core/columns/int.d.cts +1 -1
  542. package/mysql-core/columns/int.d.ts +1 -1
  543. package/mysql-core/columns/int.js +2 -2
  544. package/mysql-core/columns/int.js.map +1 -1
  545. package/mysql-core/columns/json.cjs +2 -2
  546. package/mysql-core/columns/json.cjs.map +1 -1
  547. package/mysql-core/columns/json.d.cts +1 -1
  548. package/mysql-core/columns/json.d.ts +1 -1
  549. package/mysql-core/columns/json.js +2 -2
  550. package/mysql-core/columns/json.js.map +1 -1
  551. package/mysql-core/columns/mediumint.cjs +2 -2
  552. package/mysql-core/columns/mediumint.cjs.map +1 -1
  553. package/mysql-core/columns/mediumint.d.cts +1 -1
  554. package/mysql-core/columns/mediumint.d.ts +1 -1
  555. package/mysql-core/columns/mediumint.js +2 -2
  556. package/mysql-core/columns/mediumint.js.map +1 -1
  557. package/mysql-core/columns/serial.cjs +2 -2
  558. package/mysql-core/columns/serial.cjs.map +1 -1
  559. package/mysql-core/columns/serial.d.cts +1 -1
  560. package/mysql-core/columns/serial.d.ts +1 -1
  561. package/mysql-core/columns/serial.js +2 -2
  562. package/mysql-core/columns/serial.js.map +1 -1
  563. package/mysql-core/columns/smallint.cjs +2 -2
  564. package/mysql-core/columns/smallint.cjs.map +1 -1
  565. package/mysql-core/columns/smallint.d.cts +1 -1
  566. package/mysql-core/columns/smallint.d.ts +1 -1
  567. package/mysql-core/columns/smallint.js +2 -2
  568. package/mysql-core/columns/smallint.js.map +1 -1
  569. package/mysql-core/columns/time.cjs +2 -2
  570. package/mysql-core/columns/time.cjs.map +1 -1
  571. package/mysql-core/columns/time.d.cts +1 -1
  572. package/mysql-core/columns/time.d.ts +1 -1
  573. package/mysql-core/columns/time.js +2 -2
  574. package/mysql-core/columns/time.js.map +1 -1
  575. package/mysql-core/columns/timestamp.cjs +8 -8
  576. package/mysql-core/columns/timestamp.cjs.map +1 -1
  577. package/mysql-core/columns/timestamp.d.cts +4 -4
  578. package/mysql-core/columns/timestamp.d.ts +4 -4
  579. package/mysql-core/columns/timestamp.js +8 -8
  580. package/mysql-core/columns/timestamp.js.map +1 -1
  581. package/mysql-core/columns/tinyint.cjs +2 -2
  582. package/mysql-core/columns/tinyint.cjs.map +1 -1
  583. package/mysql-core/columns/tinyint.d.cts +1 -1
  584. package/mysql-core/columns/tinyint.d.ts +1 -1
  585. package/mysql-core/columns/tinyint.js +2 -2
  586. package/mysql-core/columns/tinyint.js.map +1 -1
  587. package/mysql-core/columns/varbinary.cjs +2 -2
  588. package/mysql-core/columns/varbinary.cjs.map +1 -1
  589. package/mysql-core/columns/varbinary.d.cts +1 -1
  590. package/mysql-core/columns/varbinary.d.ts +1 -1
  591. package/mysql-core/columns/varbinary.js +2 -2
  592. package/mysql-core/columns/varbinary.js.map +1 -1
  593. package/mysql-core/columns/year.cjs +2 -2
  594. package/mysql-core/columns/year.cjs.map +1 -1
  595. package/mysql-core/columns/year.d.cts +1 -1
  596. package/mysql-core/columns/year.d.ts +1 -1
  597. package/mysql-core/columns/year.js +2 -2
  598. package/mysql-core/columns/year.js.map +1 -1
  599. package/mysql-core/db.d.ts +1 -1
  600. package/mysql-core/dialect.cjs +1 -1
  601. package/mysql-core/dialect.d.ts +1 -1
  602. package/mysql-core/dialect.js +1 -1
  603. package/mysql-core/query-builders/query.cjs +13 -5
  604. package/mysql-core/query-builders/query.cjs.map +1 -1
  605. package/mysql-core/query-builders/query.d.ts +1 -1
  606. package/mysql-core/query-builders/query.js +13 -5
  607. package/mysql-core/query-builders/query.js.map +1 -1
  608. package/mysql-core/query-builders/select.cjs +4 -0
  609. package/mysql-core/query-builders/select.cjs.map +1 -1
  610. package/mysql-core/query-builders/select.js +4 -0
  611. package/mysql-core/query-builders/select.js.map +1 -1
  612. package/mysql-core/session.cjs +1 -2
  613. package/mysql-core/session.cjs.map +1 -1
  614. package/mysql-core/session.d.cts +3 -4
  615. package/mysql-core/session.d.ts +3 -4
  616. package/mysql-core/session.js +1 -2
  617. package/mysql-core/session.js.map +1 -1
  618. package/mysql-core/table.cjs +1 -1
  619. package/mysql-core/table.cjs.map +1 -1
  620. package/mysql-core/table.js +1 -1
  621. package/mysql-core/table.js.map +1 -1
  622. package/mysql-proxy/driver.cjs +5 -2
  623. package/mysql-proxy/driver.cjs.map +1 -1
  624. package/mysql-proxy/driver.js +5 -2
  625. package/mysql-proxy/driver.js.map +1 -1
  626. package/mysql-proxy/session.cjs +25 -18
  627. package/mysql-proxy/session.cjs.map +1 -1
  628. package/mysql-proxy/session.d.cts +11 -4
  629. package/mysql-proxy/session.d.ts +12 -5
  630. package/mysql-proxy/session.js +26 -19
  631. package/mysql-proxy/session.js.map +1 -1
  632. package/mysql2/driver.cjs +3 -2
  633. package/mysql2/driver.cjs.map +1 -1
  634. package/mysql2/driver.d.cts +1 -0
  635. package/mysql2/driver.d.ts +3 -2
  636. package/mysql2/driver.js +3 -2
  637. package/mysql2/driver.js.map +1 -1
  638. package/mysql2/session.cjs +48 -38
  639. package/mysql2/session.cjs.map +1 -1
  640. package/mysql2/session.d.cts +11 -4
  641. package/mysql2/session.d.ts +12 -5
  642. package/mysql2/session.js +49 -39
  643. package/mysql2/session.js.map +1 -1
  644. package/neon-http/driver.cjs +34 -65
  645. package/neon-http/driver.cjs.map +1 -1
  646. package/neon-http/driver.d.cts +15 -19
  647. package/neon-http/driver.d.ts +16 -20
  648. package/neon-http/driver.js +34 -64
  649. package/neon-http/driver.js.map +1 -1
  650. package/neon-http/index.cjs +2 -4
  651. package/neon-http/index.d.cts +3 -3
  652. package/neon-http/index.d.ts +3 -3
  653. package/neon-http/index.js +3 -3
  654. package/neon-http/migrator.cjs +1 -1
  655. package/neon-http/migrator.cjs.map +1 -1
  656. package/neon-http/migrator.d.cts +1 -1
  657. package/neon-http/migrator.d.ts +1 -1
  658. package/neon-http/migrator.js +1 -1
  659. package/neon-http/migrator.js.map +1 -1
  660. package/neon-http/session.cjs +27 -116
  661. package/neon-http/session.cjs.map +1 -1
  662. package/neon-http/session.d.cts +10 -38
  663. package/neon-http/session.d.ts +10 -38
  664. package/neon-http/session.js +29 -116
  665. package/neon-http/session.js.map +1 -1
  666. package/neon-serverless/driver.cjs +14 -32
  667. package/neon-serverless/driver.cjs.map +1 -1
  668. package/neon-serverless/driver.d.cts +12 -17
  669. package/neon-serverless/driver.d.ts +13 -18
  670. package/neon-serverless/driver.js +14 -31
  671. package/neon-serverless/driver.js.map +1 -1
  672. package/neon-serverless/index.cjs +2 -3
  673. package/neon-serverless/index.d.cts +3 -3
  674. package/neon-serverless/index.d.ts +3 -3
  675. package/neon-serverless/index.js +3 -3
  676. package/neon-serverless/migrator.cjs.map +1 -1
  677. package/neon-serverless/migrator.d.cts +1 -1
  678. package/neon-serverless/migrator.d.ts +1 -1
  679. package/neon-serverless/migrator.js.map +1 -1
  680. package/neon-serverless/session.cjs +32 -108
  681. package/neon-serverless/session.cjs.map +1 -1
  682. package/neon-serverless/session.d.cts +9 -32
  683. package/neon-serverless/session.d.ts +9 -32
  684. package/neon-serverless/session.js +34 -109
  685. package/neon-serverless/session.js.map +1 -1
  686. package/netlify-db/driver.cjs +36 -43
  687. package/netlify-db/driver.cjs.map +1 -1
  688. package/netlify-db/driver.d.cts +29 -29
  689. package/netlify-db/driver.d.ts +31 -31
  690. package/netlify-db/driver.js +35 -42
  691. package/netlify-db/driver.js.map +1 -1
  692. package/netlify-db/index.cjs +3 -2
  693. package/netlify-db/index.d.cts +3 -3
  694. package/netlify-db/index.d.ts +3 -3
  695. package/netlify-db/index.js +2 -2
  696. package/netlify-db/migrator.cjs.map +1 -1
  697. package/netlify-db/migrator.d.cts +1 -1
  698. package/netlify-db/migrator.d.ts +1 -1
  699. package/netlify-db/migrator.js.map +1 -1
  700. package/netlify-db/session.cjs +61 -39
  701. package/netlify-db/session.cjs.map +1 -1
  702. package/netlify-db/session.d.cts +22 -23
  703. package/netlify-db/session.d.ts +23 -24
  704. package/netlify-db/session.js +63 -41
  705. package/netlify-db/session.js.map +1 -1
  706. package/node-mssql/driver.cjs +9 -3
  707. package/node-mssql/driver.cjs.map +1 -1
  708. package/node-mssql/driver.d.cts +1 -0
  709. package/node-mssql/driver.d.ts +2 -1
  710. package/node-mssql/driver.js +9 -3
  711. package/node-mssql/driver.js.map +1 -1
  712. package/node-mssql/session.cjs +6 -4
  713. package/node-mssql/session.cjs.map +1 -1
  714. package/node-mssql/session.d.cts +4 -1
  715. package/node-mssql/session.d.ts +5 -2
  716. package/node-mssql/session.js +7 -5
  717. package/node-mssql/session.js.map +1 -1
  718. package/node-postgres/driver.cjs +15 -18
  719. package/node-postgres/driver.cjs.map +1 -1
  720. package/node-postgres/driver.d.cts +11 -6
  721. package/node-postgres/driver.d.ts +12 -7
  722. package/node-postgres/driver.js +15 -18
  723. package/node-postgres/driver.js.map +1 -1
  724. package/node-postgres/index.cjs +2 -2
  725. package/node-postgres/index.d.cts +3 -3
  726. package/node-postgres/index.d.ts +3 -3
  727. package/node-postgres/index.js +3 -3
  728. package/node-postgres/migrator.cjs.map +1 -1
  729. package/node-postgres/migrator.d.cts +1 -1
  730. package/node-postgres/migrator.d.ts +1 -1
  731. package/node-postgres/migrator.js.map +1 -1
  732. package/node-postgres/session.cjs +32 -125
  733. package/node-postgres/session.cjs.map +1 -1
  734. package/node-postgres/session.d.cts +10 -30
  735. package/node-postgres/session.d.ts +9 -29
  736. package/node-postgres/session.js +34 -126
  737. package/node-postgres/session.js.map +1 -1
  738. package/node-sqlite/driver.cjs +1 -1
  739. package/node-sqlite/driver.d.ts +1 -1
  740. package/node-sqlite/driver.js +1 -1
  741. package/node-sqlite/session.cjs +4 -9
  742. package/node-sqlite/session.cjs.map +1 -1
  743. package/node-sqlite/session.d.cts +3 -4
  744. package/node-sqlite/session.d.ts +4 -5
  745. package/node-sqlite/session.js +4 -9
  746. package/node-sqlite/session.js.map +1 -1
  747. package/op-sqlite/driver.cjs +3 -2
  748. package/op-sqlite/driver.cjs.map +1 -1
  749. package/op-sqlite/driver.d.ts +1 -1
  750. package/op-sqlite/driver.js +3 -2
  751. package/op-sqlite/driver.js.map +1 -1
  752. package/op-sqlite/session.cjs +17 -15
  753. package/op-sqlite/session.cjs.map +1 -1
  754. package/op-sqlite/session.d.cts +10 -6
  755. package/op-sqlite/session.d.ts +10 -6
  756. package/op-sqlite/session.js +18 -16
  757. package/op-sqlite/session.js.map +1 -1
  758. package/operations.d.cts +3 -0
  759. package/operations.d.ts +3 -0
  760. package/package.json +43 -31
  761. package/pg-core/{utils/array.cjs → array.cjs} +1 -1
  762. package/pg-core/array.cjs.map +1 -0
  763. package/pg-core/{utils/array.d.cts → array.d.cts} +1 -1
  764. package/pg-core/{utils/array.d.ts → array.d.ts} +1 -1
  765. package/pg-core/{utils/array.js → array.js} +1 -1
  766. package/pg-core/array.js.map +1 -0
  767. package/pg-core/async/count.cjs +2 -9
  768. package/pg-core/async/count.cjs.map +1 -1
  769. package/pg-core/async/count.js +2 -9
  770. package/pg-core/async/count.js.map +1 -1
  771. package/pg-core/async/db.cjs +8 -28
  772. package/pg-core/async/db.cjs.map +1 -1
  773. package/pg-core/async/db.d.cts +5 -13
  774. package/pg-core/async/db.d.ts +6 -14
  775. package/pg-core/async/db.js +8 -28
  776. package/pg-core/async/db.js.map +1 -1
  777. package/pg-core/async/delete.cjs +7 -12
  778. package/pg-core/async/delete.cjs.map +1 -1
  779. package/pg-core/async/delete.js +7 -12
  780. package/pg-core/async/delete.js.map +1 -1
  781. package/pg-core/async/insert.cjs +7 -12
  782. package/pg-core/async/insert.cjs.map +1 -1
  783. package/pg-core/async/insert.js +7 -12
  784. package/pg-core/async/insert.js.map +1 -1
  785. package/pg-core/async/query.cjs +8 -14
  786. package/pg-core/async/query.cjs.map +1 -1
  787. package/pg-core/async/query.js +8 -14
  788. package/pg-core/async/query.js.map +1 -1
  789. package/pg-core/async/refresh-materialized-view.cjs +1 -9
  790. package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
  791. package/pg-core/async/refresh-materialized-view.js +1 -9
  792. package/pg-core/async/refresh-materialized-view.js.map +1 -1
  793. package/pg-core/async/select.cjs +4 -13
  794. package/pg-core/async/select.cjs.map +1 -1
  795. package/pg-core/async/select.js +4 -13
  796. package/pg-core/async/select.js.map +1 -1
  797. package/pg-core/async/session.cjs +44 -20
  798. package/pg-core/async/session.cjs.map +1 -1
  799. package/pg-core/async/session.d.cts +25 -31
  800. package/pg-core/async/session.d.ts +26 -32
  801. package/pg-core/async/session.js +45 -21
  802. package/pg-core/async/session.js.map +1 -1
  803. package/pg-core/async/update.cjs +11 -15
  804. package/pg-core/async/update.cjs.map +1 -1
  805. package/pg-core/async/update.js +11 -15
  806. package/pg-core/async/update.js.map +1 -1
  807. package/pg-core/codecs.cjs +156 -0
  808. package/pg-core/codecs.cjs.map +1 -0
  809. package/pg-core/codecs.d.cts +27 -0
  810. package/pg-core/codecs.d.ts +27 -0
  811. package/pg-core/codecs.js +148 -0
  812. package/pg-core/codecs.js.map +1 -0
  813. package/pg-core/columns/bigint.cjs +10 -9
  814. package/pg-core/columns/bigint.cjs.map +1 -1
  815. package/pg-core/columns/bigint.d.cts +2 -3
  816. package/pg-core/columns/bigint.d.ts +2 -3
  817. package/pg-core/columns/bigint.js +10 -9
  818. package/pg-core/columns/bigint.js.map +1 -1
  819. package/pg-core/columns/bigserial.cjs +6 -6
  820. package/pg-core/columns/bigserial.cjs.map +1 -1
  821. package/pg-core/columns/bigserial.d.cts +1 -2
  822. package/pg-core/columns/bigserial.d.ts +1 -2
  823. package/pg-core/columns/bigserial.js +6 -6
  824. package/pg-core/columns/bigserial.js.map +1 -1
  825. package/pg-core/columns/boolean.cjs +2 -0
  826. package/pg-core/columns/boolean.cjs.map +1 -1
  827. package/pg-core/columns/boolean.js +2 -0
  828. package/pg-core/columns/boolean.js.map +1 -1
  829. package/pg-core/columns/bytea.cjs +2 -8
  830. package/pg-core/columns/bytea.cjs.map +1 -1
  831. package/pg-core/columns/bytea.d.cts +0 -1
  832. package/pg-core/columns/bytea.d.ts +0 -1
  833. package/pg-core/columns/bytea.js +2 -8
  834. package/pg-core/columns/bytea.js.map +1 -1
  835. package/pg-core/columns/char.cjs +2 -0
  836. package/pg-core/columns/char.cjs.map +1 -1
  837. package/pg-core/columns/char.js +2 -0
  838. package/pg-core/columns/char.js.map +1 -1
  839. package/pg-core/columns/cidr.cjs +2 -0
  840. package/pg-core/columns/cidr.cjs.map +1 -1
  841. package/pg-core/columns/cidr.js +2 -0
  842. package/pg-core/columns/cidr.js.map +1 -1
  843. package/pg-core/columns/common.cjs +10 -8
  844. package/pg-core/columns/common.cjs.map +1 -1
  845. package/pg-core/columns/common.d.cts +34 -39
  846. package/pg-core/columns/common.d.ts +34 -39
  847. package/pg-core/columns/common.js +10 -8
  848. package/pg-core/columns/common.js.map +1 -1
  849. package/pg-core/columns/custom.cjs +16 -46
  850. package/pg-core/columns/custom.cjs.map +1 -1
  851. package/pg-core/columns/custom.d.cts +17 -8
  852. package/pg-core/columns/custom.d.ts +17 -8
  853. package/pg-core/columns/custom.js +16 -46
  854. package/pg-core/columns/custom.js.map +1 -1
  855. package/pg-core/columns/date.cjs +11 -12
  856. package/pg-core/columns/date.cjs.map +1 -1
  857. package/pg-core/columns/date.d.cts +3 -4
  858. package/pg-core/columns/date.d.ts +3 -4
  859. package/pg-core/columns/date.js +11 -12
  860. package/pg-core/columns/date.js.map +1 -1
  861. package/pg-core/columns/double-precision.cjs +2 -4
  862. package/pg-core/columns/double-precision.cjs.map +1 -1
  863. package/pg-core/columns/double-precision.d.cts +0 -1
  864. package/pg-core/columns/double-precision.d.ts +0 -1
  865. package/pg-core/columns/double-precision.js +2 -4
  866. package/pg-core/columns/double-precision.js.map +1 -1
  867. package/pg-core/columns/enum.cjs +4 -0
  868. package/pg-core/columns/enum.cjs.map +1 -1
  869. package/pg-core/columns/enum.js +4 -0
  870. package/pg-core/columns/enum.js.map +1 -1
  871. package/pg-core/columns/index.d.cts +2 -2
  872. package/pg-core/columns/index.d.ts +2 -2
  873. package/pg-core/columns/inet.cjs +2 -0
  874. package/pg-core/columns/inet.cjs.map +1 -1
  875. package/pg-core/columns/inet.js +2 -0
  876. package/pg-core/columns/inet.js.map +1 -1
  877. package/pg-core/columns/integer.cjs +2 -4
  878. package/pg-core/columns/integer.cjs.map +1 -1
  879. package/pg-core/columns/integer.d.cts +0 -1
  880. package/pg-core/columns/integer.d.ts +0 -1
  881. package/pg-core/columns/integer.js +2 -4
  882. package/pg-core/columns/integer.js.map +1 -1
  883. package/pg-core/columns/interval.cjs +2 -0
  884. package/pg-core/columns/interval.cjs.map +1 -1
  885. package/pg-core/columns/interval.js +2 -0
  886. package/pg-core/columns/interval.js.map +1 -1
  887. package/pg-core/columns/json.cjs +2 -11
  888. package/pg-core/columns/json.cjs.map +1 -1
  889. package/pg-core/columns/json.d.cts +0 -2
  890. package/pg-core/columns/json.d.ts +0 -2
  891. package/pg-core/columns/json.js +2 -11
  892. package/pg-core/columns/json.js.map +1 -1
  893. package/pg-core/columns/jsonb.cjs +2 -11
  894. package/pg-core/columns/jsonb.cjs.map +1 -1
  895. package/pg-core/columns/jsonb.d.cts +0 -2
  896. package/pg-core/columns/jsonb.d.ts +0 -2
  897. package/pg-core/columns/jsonb.js +2 -11
  898. package/pg-core/columns/jsonb.js.map +1 -1
  899. package/pg-core/columns/line.cjs +12 -8
  900. package/pg-core/columns/line.cjs.map +1 -1
  901. package/pg-core/columns/line.d.cts +5 -5
  902. package/pg-core/columns/line.d.ts +5 -5
  903. package/pg-core/columns/line.js +12 -8
  904. package/pg-core/columns/line.js.map +1 -1
  905. package/pg-core/columns/macaddr.cjs +2 -0
  906. package/pg-core/columns/macaddr.cjs.map +1 -1
  907. package/pg-core/columns/macaddr.js +2 -0
  908. package/pg-core/columns/macaddr.js.map +1 -1
  909. package/pg-core/columns/macaddr8.cjs +2 -0
  910. package/pg-core/columns/macaddr8.cjs.map +1 -1
  911. package/pg-core/columns/macaddr8.js +2 -0
  912. package/pg-core/columns/macaddr8.js.map +1 -1
  913. package/pg-core/columns/numeric.cjs +12 -15
  914. package/pg-core/columns/numeric.cjs.map +1 -1
  915. package/pg-core/columns/numeric.d.cts +4 -5
  916. package/pg-core/columns/numeric.d.ts +4 -5
  917. package/pg-core/columns/numeric.js +12 -15
  918. package/pg-core/columns/numeric.js.map +1 -1
  919. package/pg-core/columns/point.cjs +19 -21
  920. package/pg-core/columns/point.cjs.map +1 -1
  921. package/pg-core/columns/point.d.cts +5 -11
  922. package/pg-core/columns/point.d.ts +5 -11
  923. package/pg-core/columns/point.js +19 -21
  924. package/pg-core/columns/point.js.map +1 -1
  925. package/pg-core/columns/postgis_extension/geometry.cjs +12 -9
  926. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  927. package/pg-core/columns/postgis_extension/geometry.d.cts +5 -5
  928. package/pg-core/columns/postgis_extension/geometry.d.ts +5 -5
  929. package/pg-core/columns/postgis_extension/geometry.js +12 -9
  930. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  931. package/pg-core/columns/real.cjs +2 -4
  932. package/pg-core/columns/real.cjs.map +1 -1
  933. package/pg-core/columns/real.d.cts +0 -1
  934. package/pg-core/columns/real.d.ts +0 -1
  935. package/pg-core/columns/real.js +2 -4
  936. package/pg-core/columns/real.js.map +1 -1
  937. package/pg-core/columns/serial.cjs +2 -0
  938. package/pg-core/columns/serial.cjs.map +1 -1
  939. package/pg-core/columns/serial.js +2 -0
  940. package/pg-core/columns/serial.js.map +1 -1
  941. package/pg-core/columns/smallint.cjs +2 -4
  942. package/pg-core/columns/smallint.cjs.map +1 -1
  943. package/pg-core/columns/smallint.d.cts +0 -1
  944. package/pg-core/columns/smallint.d.ts +0 -1
  945. package/pg-core/columns/smallint.js +2 -4
  946. package/pg-core/columns/smallint.js.map +1 -1
  947. package/pg-core/columns/smallserial.cjs +2 -0
  948. package/pg-core/columns/smallserial.cjs.map +1 -1
  949. package/pg-core/columns/smallserial.js +2 -0
  950. package/pg-core/columns/smallserial.js.map +1 -1
  951. package/pg-core/columns/text.cjs +2 -0
  952. package/pg-core/columns/text.cjs.map +1 -1
  953. package/pg-core/columns/text.js +2 -0
  954. package/pg-core/columns/text.js.map +1 -1
  955. package/pg-core/columns/time.cjs +2 -0
  956. package/pg-core/columns/time.cjs.map +1 -1
  957. package/pg-core/columns/time.js +2 -0
  958. package/pg-core/columns/time.js.map +1 -1
  959. package/pg-core/columns/timestamp.cjs +13 -14
  960. package/pg-core/columns/timestamp.cjs.map +1 -1
  961. package/pg-core/columns/timestamp.d.cts +3 -4
  962. package/pg-core/columns/timestamp.d.ts +3 -4
  963. package/pg-core/columns/timestamp.js +13 -14
  964. package/pg-core/columns/timestamp.js.map +1 -1
  965. package/pg-core/columns/uuid.cjs +2 -0
  966. package/pg-core/columns/uuid.cjs.map +1 -1
  967. package/pg-core/columns/uuid.js +2 -0
  968. package/pg-core/columns/uuid.js.map +1 -1
  969. package/pg-core/columns/varchar.cjs +2 -0
  970. package/pg-core/columns/varchar.cjs.map +1 -1
  971. package/pg-core/columns/varchar.js +2 -0
  972. package/pg-core/columns/varchar.js.map +1 -1
  973. package/pg-core/columns/vector_extension/bit.cjs +2 -0
  974. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  975. package/pg-core/columns/vector_extension/bit.js +2 -0
  976. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  977. package/pg-core/columns/vector_extension/halfvec.cjs +6 -4
  978. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  979. package/pg-core/columns/vector_extension/halfvec.d.cts +2 -2
  980. package/pg-core/columns/vector_extension/halfvec.d.ts +2 -2
  981. package/pg-core/columns/vector_extension/halfvec.js +6 -4
  982. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  983. package/pg-core/columns/vector_extension/sparsevec.cjs +2 -0
  984. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  985. package/pg-core/columns/vector_extension/sparsevec.js +2 -0
  986. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  987. package/pg-core/columns/vector_extension/vector.cjs +6 -4
  988. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  989. package/pg-core/columns/vector_extension/vector.d.cts +2 -2
  990. package/pg-core/columns/vector_extension/vector.d.ts +2 -2
  991. package/pg-core/columns/vector_extension/vector.js +6 -4
  992. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  993. package/pg-core/dialect.cjs +73 -226
  994. package/pg-core/dialect.cjs.map +1 -1
  995. package/pg-core/dialect.d.cts +27 -34
  996. package/pg-core/dialect.d.ts +27 -34
  997. package/pg-core/dialect.js +78 -230
  998. package/pg-core/dialect.js.map +1 -1
  999. package/pg-core/effect/count.cjs +1 -1
  1000. package/pg-core/effect/count.cjs.map +1 -1
  1001. package/pg-core/effect/count.d.cts +2 -2
  1002. package/pg-core/effect/count.d.ts +2 -2
  1003. package/pg-core/effect/count.js +1 -1
  1004. package/pg-core/effect/count.js.map +1 -1
  1005. package/pg-core/effect/db.cjs +9 -18
  1006. package/pg-core/effect/db.cjs.map +1 -1
  1007. package/pg-core/effect/db.d.cts +7 -11
  1008. package/pg-core/effect/db.d.ts +6 -10
  1009. package/pg-core/effect/db.js +9 -18
  1010. package/pg-core/effect/db.js.map +1 -1
  1011. package/pg-core/effect/delete.cjs +7 -5
  1012. package/pg-core/effect/delete.cjs.map +1 -1
  1013. package/pg-core/effect/delete.d.cts +1 -1
  1014. package/pg-core/effect/delete.d.ts +1 -1
  1015. package/pg-core/effect/delete.js +7 -5
  1016. package/pg-core/effect/delete.js.map +1 -1
  1017. package/pg-core/effect/insert.cjs +7 -5
  1018. package/pg-core/effect/insert.cjs.map +1 -1
  1019. package/pg-core/effect/insert.d.cts +1 -1
  1020. package/pg-core/effect/insert.d.ts +1 -1
  1021. package/pg-core/effect/insert.js +7 -5
  1022. package/pg-core/effect/insert.js.map +1 -1
  1023. package/pg-core/effect/query.cjs +7 -6
  1024. package/pg-core/effect/query.cjs.map +1 -1
  1025. package/pg-core/effect/query.d.cts +1 -1
  1026. package/pg-core/effect/query.d.ts +1 -1
  1027. package/pg-core/effect/query.js +7 -6
  1028. package/pg-core/effect/query.js.map +1 -1
  1029. package/pg-core/effect/refresh-materialized-view.cjs +1 -2
  1030. package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
  1031. package/pg-core/effect/refresh-materialized-view.d.cts +1 -1
  1032. package/pg-core/effect/refresh-materialized-view.d.ts +1 -1
  1033. package/pg-core/effect/refresh-materialized-view.js +1 -2
  1034. package/pg-core/effect/refresh-materialized-view.js.map +1 -1
  1035. package/pg-core/effect/select.cjs +3 -5
  1036. package/pg-core/effect/select.cjs.map +1 -1
  1037. package/pg-core/effect/select.d.cts +1 -1
  1038. package/pg-core/effect/select.d.ts +1 -1
  1039. package/pg-core/effect/select.js +3 -5
  1040. package/pg-core/effect/select.js.map +1 -1
  1041. package/pg-core/effect/session.cjs +28 -17
  1042. package/pg-core/effect/session.cjs.map +1 -1
  1043. package/pg-core/effect/session.d.cts +24 -28
  1044. package/pg-core/effect/session.d.ts +25 -29
  1045. package/pg-core/effect/session.js +29 -18
  1046. package/pg-core/effect/session.js.map +1 -1
  1047. package/pg-core/effect/update.cjs +8 -8
  1048. package/pg-core/effect/update.cjs.map +1 -1
  1049. package/pg-core/effect/update.d.cts +1 -1
  1050. package/pg-core/effect/update.d.ts +1 -1
  1051. package/pg-core/effect/update.js +8 -8
  1052. package/pg-core/effect/update.js.map +1 -1
  1053. package/pg-core/index.cjs +4 -4
  1054. package/pg-core/index.d.cts +4 -4
  1055. package/pg-core/index.d.ts +4 -4
  1056. package/pg-core/index.js +1 -1
  1057. package/pg-core/query-builders/delete.cjs +6 -2
  1058. package/pg-core/query-builders/delete.cjs.map +1 -1
  1059. package/pg-core/query-builders/delete.d.cts +2 -0
  1060. package/pg-core/query-builders/delete.d.ts +2 -0
  1061. package/pg-core/query-builders/delete.js +6 -2
  1062. package/pg-core/query-builders/delete.js.map +1 -1
  1063. package/pg-core/query-builders/insert.cjs +7 -2
  1064. package/pg-core/query-builders/insert.cjs.map +1 -1
  1065. package/pg-core/query-builders/insert.d.cts +2 -0
  1066. package/pg-core/query-builders/insert.d.ts +2 -0
  1067. package/pg-core/query-builders/insert.js +7 -2
  1068. package/pg-core/query-builders/insert.js.map +1 -1
  1069. package/pg-core/query-builders/query-builder.cjs +2 -1
  1070. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  1071. package/pg-core/query-builders/query-builder.js +2 -1
  1072. package/pg-core/query-builders/query-builder.js.map +1 -1
  1073. package/pg-core/query-builders/query.cjs +0 -1
  1074. package/pg-core/query-builders/query.cjs.map +1 -1
  1075. package/pg-core/query-builders/query.d.cts +2 -1
  1076. package/pg-core/query-builders/query.d.ts +2 -1
  1077. package/pg-core/query-builders/query.js +0 -1
  1078. package/pg-core/query-builders/query.js.map +1 -1
  1079. package/pg-core/query-builders/raw.cjs +0 -4
  1080. package/pg-core/query-builders/raw.cjs.map +1 -1
  1081. package/pg-core/query-builders/raw.js +0 -4
  1082. package/pg-core/query-builders/raw.js.map +1 -1
  1083. package/pg-core/query-builders/select.cjs +6 -2
  1084. package/pg-core/query-builders/select.cjs.map +1 -1
  1085. package/pg-core/query-builders/select.d.cts +1 -0
  1086. package/pg-core/query-builders/select.d.ts +1 -0
  1087. package/pg-core/query-builders/select.js +6 -2
  1088. package/pg-core/query-builders/select.js.map +1 -1
  1089. package/pg-core/query-builders/select.types.d.cts +1 -0
  1090. package/pg-core/query-builders/select.types.d.ts +1 -0
  1091. package/pg-core/query-builders/update.cjs +6 -2
  1092. package/pg-core/query-builders/update.cjs.map +1 -1
  1093. package/pg-core/query-builders/update.d.cts +2 -0
  1094. package/pg-core/query-builders/update.d.ts +2 -0
  1095. package/pg-core/query-builders/update.js +6 -2
  1096. package/pg-core/query-builders/update.js.map +1 -1
  1097. package/pg-core/session.cjs +3 -5
  1098. package/pg-core/session.cjs.map +1 -1
  1099. package/pg-core/session.d.cts +4 -7
  1100. package/pg-core/session.d.ts +4 -7
  1101. package/pg-core/session.js +3 -5
  1102. package/pg-core/session.js.map +1 -1
  1103. package/pg-core/table.cjs +1 -1
  1104. package/pg-core/table.cjs.map +1 -1
  1105. package/pg-core/table.js +1 -1
  1106. package/pg-core/table.js.map +1 -1
  1107. package/pg-core/utils.cjs.map +1 -1
  1108. package/pg-core/utils.d.cts +7 -1
  1109. package/pg-core/utils.d.ts +7 -1
  1110. package/pg-core/utils.js.map +1 -1
  1111. package/pg-core/view.cjs +2 -2
  1112. package/pg-core/view.cjs.map +1 -1
  1113. package/pg-core/view.js +2 -2
  1114. package/pg-core/view.js.map +1 -1
  1115. package/pg-proxy/driver.cjs +10 -15
  1116. package/pg-proxy/driver.cjs.map +1 -1
  1117. package/pg-proxy/driver.d.cts +6 -3
  1118. package/pg-proxy/driver.d.ts +6 -3
  1119. package/pg-proxy/driver.js +10 -14
  1120. package/pg-proxy/driver.js.map +1 -1
  1121. package/pg-proxy/index.cjs +0 -2
  1122. package/pg-proxy/index.d.cts +2 -2
  1123. package/pg-proxy/index.d.ts +2 -2
  1124. package/pg-proxy/index.js +2 -2
  1125. package/pg-proxy/migrator.cjs.map +1 -1
  1126. package/pg-proxy/migrator.d.cts +1 -1
  1127. package/pg-proxy/migrator.d.ts +1 -1
  1128. package/pg-proxy/migrator.js.map +1 -1
  1129. package/pg-proxy/session.cjs +8 -84
  1130. package/pg-proxy/session.cjs.map +1 -1
  1131. package/pg-proxy/session.d.cts +9 -32
  1132. package/pg-proxy/session.d.ts +9 -32
  1133. package/pg-proxy/session.js +10 -84
  1134. package/pg-proxy/session.js.map +1 -1
  1135. package/pglite/driver.cjs +71 -33
  1136. package/pglite/driver.cjs.map +1 -1
  1137. package/pglite/driver.d.cts +12 -17
  1138. package/pglite/driver.d.ts +13 -18
  1139. package/pglite/driver.js +71 -32
  1140. package/pglite/driver.js.map +1 -1
  1141. package/pglite/index.cjs +2 -3
  1142. package/pglite/index.d.cts +3 -3
  1143. package/pglite/index.d.ts +3 -3
  1144. package/pglite/index.js +3 -3
  1145. package/pglite/migrator.cjs.map +1 -1
  1146. package/pglite/migrator.d.cts +1 -1
  1147. package/pglite/migrator.d.ts +1 -1
  1148. package/pglite/migrator.js.map +1 -1
  1149. package/pglite/session.cjs +24 -85
  1150. package/pglite/session.cjs.map +1 -1
  1151. package/pglite/session.d.cts +9 -30
  1152. package/pglite/session.d.ts +9 -30
  1153. package/pglite/session.js +26 -86
  1154. package/pglite/session.js.map +1 -1
  1155. package/planetscale-serverless/driver.cjs +3 -2
  1156. package/planetscale-serverless/driver.cjs.map +1 -1
  1157. package/planetscale-serverless/driver.d.cts +1 -0
  1158. package/planetscale-serverless/driver.d.ts +1 -0
  1159. package/planetscale-serverless/driver.js +3 -2
  1160. package/planetscale-serverless/driver.js.map +1 -1
  1161. package/planetscale-serverless/session.cjs +26 -19
  1162. package/planetscale-serverless/session.cjs.map +1 -1
  1163. package/planetscale-serverless/session.d.cts +12 -6
  1164. package/planetscale-serverless/session.d.ts +13 -7
  1165. package/planetscale-serverless/session.js +27 -20
  1166. package/planetscale-serverless/session.js.map +1 -1
  1167. package/postgres-js/driver.cjs +124 -19
  1168. package/postgres-js/driver.cjs.map +1 -1
  1169. package/postgres-js/driver.d.cts +10 -6
  1170. package/postgres-js/driver.d.ts +10 -6
  1171. package/postgres-js/driver.js +124 -19
  1172. package/postgres-js/driver.js.map +1 -1
  1173. package/postgres-js/index.cjs +2 -2
  1174. package/postgres-js/index.d.cts +3 -3
  1175. package/postgres-js/index.d.ts +3 -3
  1176. package/postgres-js/index.js +3 -3
  1177. package/postgres-js/migrator.cjs.map +1 -1
  1178. package/postgres-js/migrator.d.cts +1 -1
  1179. package/postgres-js/migrator.d.ts +1 -1
  1180. package/postgres-js/migrator.js.map +1 -1
  1181. package/postgres-js/session.cjs +16 -111
  1182. package/postgres-js/session.cjs.map +1 -1
  1183. package/postgres-js/session.d.cts +10 -31
  1184. package/postgres-js/session.d.ts +9 -30
  1185. package/postgres-js/session.js +17 -111
  1186. package/postgres-js/session.js.map +1 -1
  1187. package/prisma/mysql/session.cjs +2 -1
  1188. package/prisma/mysql/session.cjs.map +1 -1
  1189. package/prisma/mysql/session.d.cts +1 -0
  1190. package/prisma/mysql/session.d.ts +2 -1
  1191. package/prisma/mysql/session.js +2 -1
  1192. package/prisma/mysql/session.js.map +1 -1
  1193. package/prisma/pg/driver.cjs +9 -3
  1194. package/prisma/pg/driver.cjs.map +1 -1
  1195. package/prisma/pg/driver.d.cts +7 -3
  1196. package/prisma/pg/driver.d.ts +7 -3
  1197. package/prisma/pg/driver.js +9 -4
  1198. package/prisma/pg/driver.js.map +1 -1
  1199. package/prisma/pg/index.cjs +2 -2
  1200. package/prisma/pg/index.d.cts +3 -3
  1201. package/prisma/pg/index.d.ts +3 -3
  1202. package/prisma/pg/index.js +3 -3
  1203. package/prisma/pg/session.cjs +1 -25
  1204. package/prisma/pg/session.cjs.map +1 -1
  1205. package/prisma/pg/session.d.cts +3 -15
  1206. package/prisma/pg/session.d.ts +2 -14
  1207. package/prisma/pg/session.js +2 -25
  1208. package/prisma/pg/session.js.map +1 -1
  1209. package/prisma/sqlite/session.cjs +0 -3
  1210. package/prisma/sqlite/session.cjs.map +1 -1
  1211. package/prisma/sqlite/session.d.cts +0 -1
  1212. package/prisma/sqlite/session.d.ts +1 -2
  1213. package/prisma/sqlite/session.js +0 -3
  1214. package/prisma/sqlite/session.js.map +1 -1
  1215. package/query-builders/query-builder.cjs +4 -0
  1216. package/query-builders/query-builder.cjs.map +1 -1
  1217. package/query-builders/query-builder.js +4 -0
  1218. package/query-builders/query-builder.js.map +1 -1
  1219. package/relations.cjs +84 -23
  1220. package/relations.cjs.map +1 -1
  1221. package/relations.d.cts +41 -16
  1222. package/relations.d.ts +41 -16
  1223. package/relations.js +83 -24
  1224. package/relations.js.map +1 -1
  1225. package/row-mappers/index.cjs +1 -1
  1226. package/row-mappers/index.cjs.map +1 -1
  1227. package/row-mappers/index.js +1 -1
  1228. package/row-mappers/index.js.map +1 -1
  1229. package/singlestore/driver.cjs +4 -2
  1230. package/singlestore/driver.cjs.map +1 -1
  1231. package/singlestore/driver.d.cts +2 -1
  1232. package/singlestore/driver.d.ts +3 -2
  1233. package/singlestore/driver.js +4 -2
  1234. package/singlestore/driver.js.map +1 -1
  1235. package/singlestore/session.cjs +16 -6
  1236. package/singlestore/session.cjs.map +1 -1
  1237. package/singlestore/session.d.cts +8 -4
  1238. package/singlestore/session.d.ts +8 -4
  1239. package/singlestore/session.js +17 -7
  1240. package/singlestore/session.js.map +1 -1
  1241. package/singlestore-core/columns/bigint.cjs +4 -4
  1242. package/singlestore-core/columns/bigint.cjs.map +1 -1
  1243. package/singlestore-core/columns/bigint.d.cts +2 -2
  1244. package/singlestore-core/columns/bigint.d.ts +2 -2
  1245. package/singlestore-core/columns/bigint.js +4 -4
  1246. package/singlestore-core/columns/bigint.js.map +1 -1
  1247. package/singlestore-core/columns/binary.cjs +2 -2
  1248. package/singlestore-core/columns/binary.cjs.map +1 -1
  1249. package/singlestore-core/columns/binary.d.cts +1 -1
  1250. package/singlestore-core/columns/binary.d.ts +1 -1
  1251. package/singlestore-core/columns/binary.js +2 -2
  1252. package/singlestore-core/columns/binary.js.map +1 -1
  1253. package/singlestore-core/columns/boolean.cjs +2 -2
  1254. package/singlestore-core/columns/boolean.cjs.map +1 -1
  1255. package/singlestore-core/columns/boolean.d.cts +1 -1
  1256. package/singlestore-core/columns/boolean.d.ts +1 -1
  1257. package/singlestore-core/columns/boolean.js +2 -2
  1258. package/singlestore-core/columns/boolean.js.map +1 -1
  1259. package/singlestore-core/columns/custom.cjs +4 -4
  1260. package/singlestore-core/columns/custom.cjs.map +1 -1
  1261. package/singlestore-core/columns/custom.d.cts +2 -2
  1262. package/singlestore-core/columns/custom.d.ts +2 -2
  1263. package/singlestore-core/columns/custom.js +4 -4
  1264. package/singlestore-core/columns/custom.js.map +1 -1
  1265. package/singlestore-core/columns/date.cjs +2 -2
  1266. package/singlestore-core/columns/date.cjs.map +1 -1
  1267. package/singlestore-core/columns/date.d.cts +1 -1
  1268. package/singlestore-core/columns/date.d.ts +1 -1
  1269. package/singlestore-core/columns/date.js +2 -2
  1270. package/singlestore-core/columns/date.js.map +1 -1
  1271. package/singlestore-core/columns/datetime.cjs +6 -6
  1272. package/singlestore-core/columns/datetime.cjs.map +1 -1
  1273. package/singlestore-core/columns/datetime.d.cts +3 -3
  1274. package/singlestore-core/columns/datetime.d.ts +3 -3
  1275. package/singlestore-core/columns/datetime.js +6 -6
  1276. package/singlestore-core/columns/datetime.js.map +1 -1
  1277. package/singlestore-core/columns/decimal.cjs +4 -4
  1278. package/singlestore-core/columns/decimal.cjs.map +1 -1
  1279. package/singlestore-core/columns/decimal.d.cts +2 -2
  1280. package/singlestore-core/columns/decimal.d.ts +2 -2
  1281. package/singlestore-core/columns/decimal.js +4 -4
  1282. package/singlestore-core/columns/decimal.js.map +1 -1
  1283. package/singlestore-core/columns/float.cjs +2 -2
  1284. package/singlestore-core/columns/float.cjs.map +1 -1
  1285. package/singlestore-core/columns/float.d.cts +1 -1
  1286. package/singlestore-core/columns/float.d.ts +1 -1
  1287. package/singlestore-core/columns/float.js +2 -2
  1288. package/singlestore-core/columns/float.js.map +1 -1
  1289. package/singlestore-core/columns/int.cjs +2 -2
  1290. package/singlestore-core/columns/int.cjs.map +1 -1
  1291. package/singlestore-core/columns/int.d.cts +1 -1
  1292. package/singlestore-core/columns/int.d.ts +1 -1
  1293. package/singlestore-core/columns/int.js +2 -2
  1294. package/singlestore-core/columns/int.js.map +1 -1
  1295. package/singlestore-core/columns/json.cjs +2 -2
  1296. package/singlestore-core/columns/json.cjs.map +1 -1
  1297. package/singlestore-core/columns/json.d.cts +1 -1
  1298. package/singlestore-core/columns/json.d.ts +1 -1
  1299. package/singlestore-core/columns/json.js +2 -2
  1300. package/singlestore-core/columns/json.js.map +1 -1
  1301. package/singlestore-core/columns/mediumint.cjs +2 -2
  1302. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  1303. package/singlestore-core/columns/mediumint.d.cts +1 -1
  1304. package/singlestore-core/columns/mediumint.d.ts +1 -1
  1305. package/singlestore-core/columns/mediumint.js +2 -2
  1306. package/singlestore-core/columns/mediumint.js.map +1 -1
  1307. package/singlestore-core/columns/serial.cjs +2 -2
  1308. package/singlestore-core/columns/serial.cjs.map +1 -1
  1309. package/singlestore-core/columns/serial.d.cts +1 -1
  1310. package/singlestore-core/columns/serial.d.ts +1 -1
  1311. package/singlestore-core/columns/serial.js +2 -2
  1312. package/singlestore-core/columns/serial.js.map +1 -1
  1313. package/singlestore-core/columns/smallint.cjs +2 -2
  1314. package/singlestore-core/columns/smallint.cjs.map +1 -1
  1315. package/singlestore-core/columns/smallint.d.cts +1 -1
  1316. package/singlestore-core/columns/smallint.d.ts +1 -1
  1317. package/singlestore-core/columns/smallint.js +2 -2
  1318. package/singlestore-core/columns/smallint.js.map +1 -1
  1319. package/singlestore-core/columns/timestamp.cjs +6 -6
  1320. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  1321. package/singlestore-core/columns/timestamp.d.cts +3 -3
  1322. package/singlestore-core/columns/timestamp.d.ts +3 -3
  1323. package/singlestore-core/columns/timestamp.js +6 -6
  1324. package/singlestore-core/columns/timestamp.js.map +1 -1
  1325. package/singlestore-core/columns/tinyint.cjs +2 -2
  1326. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  1327. package/singlestore-core/columns/tinyint.d.cts +1 -1
  1328. package/singlestore-core/columns/tinyint.d.ts +1 -1
  1329. package/singlestore-core/columns/tinyint.js +2 -2
  1330. package/singlestore-core/columns/tinyint.js.map +1 -1
  1331. package/singlestore-core/columns/varbinary.cjs +2 -2
  1332. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  1333. package/singlestore-core/columns/varbinary.d.cts +1 -1
  1334. package/singlestore-core/columns/varbinary.d.ts +1 -1
  1335. package/singlestore-core/columns/varbinary.js +2 -2
  1336. package/singlestore-core/columns/varbinary.js.map +1 -1
  1337. package/singlestore-core/columns/vector.cjs +8 -8
  1338. package/singlestore-core/columns/vector.cjs.map +1 -1
  1339. package/singlestore-core/columns/vector.d.cts +4 -4
  1340. package/singlestore-core/columns/vector.d.ts +4 -4
  1341. package/singlestore-core/columns/vector.js +8 -8
  1342. package/singlestore-core/columns/vector.js.map +1 -1
  1343. package/singlestore-core/columns/year.cjs +2 -2
  1344. package/singlestore-core/columns/year.cjs.map +1 -1
  1345. package/singlestore-core/columns/year.d.cts +1 -1
  1346. package/singlestore-core/columns/year.d.ts +1 -1
  1347. package/singlestore-core/columns/year.js +2 -2
  1348. package/singlestore-core/columns/year.js.map +1 -1
  1349. package/singlestore-core/db.d.ts +1 -1
  1350. package/singlestore-core/dialect.cjs +1 -1
  1351. package/singlestore-core/dialect.d.ts +1 -1
  1352. package/singlestore-core/dialect.js +1 -1
  1353. package/singlestore-core/query-builders/query.cjs +13 -5
  1354. package/singlestore-core/query-builders/query.cjs.map +1 -1
  1355. package/singlestore-core/query-builders/query.d.ts +1 -1
  1356. package/singlestore-core/query-builders/query.js +13 -5
  1357. package/singlestore-core/query-builders/query.js.map +1 -1
  1358. package/singlestore-core/query-builders/select.cjs +4 -0
  1359. package/singlestore-core/query-builders/select.cjs.map +1 -1
  1360. package/singlestore-core/query-builders/select.js +4 -0
  1361. package/singlestore-core/query-builders/select.js.map +1 -1
  1362. package/singlestore-core/session.cjs.map +1 -1
  1363. package/singlestore-core/session.d.cts +2 -2
  1364. package/singlestore-core/session.d.ts +2 -2
  1365. package/singlestore-core/session.js.map +1 -1
  1366. package/singlestore-core/table.cjs +1 -1
  1367. package/singlestore-core/table.cjs.map +1 -1
  1368. package/singlestore-core/table.js +1 -1
  1369. package/singlestore-core/table.js.map +1 -1
  1370. package/singlestore-proxy/driver.cjs +5 -2
  1371. package/singlestore-proxy/driver.cjs.map +1 -1
  1372. package/singlestore-proxy/driver.js +5 -2
  1373. package/singlestore-proxy/driver.js.map +1 -1
  1374. package/singlestore-proxy/session.cjs +11 -6
  1375. package/singlestore-proxy/session.cjs.map +1 -1
  1376. package/singlestore-proxy/session.d.cts +9 -4
  1377. package/singlestore-proxy/session.d.ts +9 -4
  1378. package/singlestore-proxy/session.js +12 -7
  1379. package/singlestore-proxy/session.js.map +1 -1
  1380. package/sql/index.cjs +1 -0
  1381. package/sql/index.d.cts +2 -2
  1382. package/sql/index.d.ts +2 -2
  1383. package/sql/index.js +2 -2
  1384. package/sql/sql.cjs +32 -11
  1385. package/sql/sql.cjs.map +1 -1
  1386. package/sql/sql.d.cts +15 -5
  1387. package/sql/sql.d.ts +15 -5
  1388. package/sql/sql.js +32 -12
  1389. package/sql/sql.js.map +1 -1
  1390. package/sql-js/driver.cjs +5 -2
  1391. package/sql-js/driver.cjs.map +1 -1
  1392. package/sql-js/driver.d.ts +1 -1
  1393. package/sql-js/driver.js +5 -2
  1394. package/sql-js/driver.js.map +1 -1
  1395. package/sql-js/session.cjs +14 -14
  1396. package/sql-js/session.cjs.map +1 -1
  1397. package/sql-js/session.d.cts +10 -6
  1398. package/sql-js/session.d.ts +10 -6
  1399. package/sql-js/session.js +15 -15
  1400. package/sql-js/session.js.map +1 -1
  1401. package/sqlite-cloud/driver.cjs +3 -2
  1402. package/sqlite-cloud/driver.cjs.map +1 -1
  1403. package/sqlite-cloud/driver.d.ts +1 -1
  1404. package/sqlite-cloud/driver.js +3 -2
  1405. package/sqlite-cloud/driver.js.map +1 -1
  1406. package/sqlite-cloud/session.cjs +20 -19
  1407. package/sqlite-cloud/session.cjs.map +1 -1
  1408. package/sqlite-cloud/session.d.cts +9 -6
  1409. package/sqlite-cloud/session.d.ts +9 -6
  1410. package/sqlite-cloud/session.js +21 -20
  1411. package/sqlite-cloud/session.js.map +1 -1
  1412. package/sqlite-core/columns/blob.cjs +10 -10
  1413. package/sqlite-core/columns/blob.cjs.map +1 -1
  1414. package/sqlite-core/columns/blob.d.cts +5 -5
  1415. package/sqlite-core/columns/blob.d.ts +5 -5
  1416. package/sqlite-core/columns/blob.js +10 -10
  1417. package/sqlite-core/columns/blob.js.map +1 -1
  1418. package/sqlite-core/columns/custom.cjs +4 -4
  1419. package/sqlite-core/columns/custom.cjs.map +1 -1
  1420. package/sqlite-core/columns/custom.d.cts +2 -2
  1421. package/sqlite-core/columns/custom.d.ts +2 -2
  1422. package/sqlite-core/columns/custom.js +4 -4
  1423. package/sqlite-core/columns/custom.js.map +1 -1
  1424. package/sqlite-core/columns/integer.cjs +8 -8
  1425. package/sqlite-core/columns/integer.cjs.map +1 -1
  1426. package/sqlite-core/columns/integer.d.cts +4 -4
  1427. package/sqlite-core/columns/integer.d.ts +4 -4
  1428. package/sqlite-core/columns/integer.js +8 -8
  1429. package/sqlite-core/columns/integer.js.map +1 -1
  1430. package/sqlite-core/columns/numeric.cjs +4 -4
  1431. package/sqlite-core/columns/numeric.cjs.map +1 -1
  1432. package/sqlite-core/columns/numeric.d.cts +2 -2
  1433. package/sqlite-core/columns/numeric.d.ts +2 -2
  1434. package/sqlite-core/columns/numeric.js +4 -4
  1435. package/sqlite-core/columns/numeric.js.map +1 -1
  1436. package/sqlite-core/columns/text.cjs +4 -4
  1437. package/sqlite-core/columns/text.cjs.map +1 -1
  1438. package/sqlite-core/columns/text.d.cts +2 -2
  1439. package/sqlite-core/columns/text.d.ts +2 -2
  1440. package/sqlite-core/columns/text.js +4 -4
  1441. package/sqlite-core/columns/text.js.map +1 -1
  1442. package/sqlite-core/db.d.ts +1 -1
  1443. package/sqlite-core/dialect.cjs +2 -2
  1444. package/sqlite-core/dialect.d.ts +1 -1
  1445. package/sqlite-core/dialect.js +2 -2
  1446. package/sqlite-core/query-builders/_query.cjs +1 -1
  1447. package/sqlite-core/query-builders/_query.cjs.map +1 -1
  1448. package/sqlite-core/query-builders/_query.js +1 -1
  1449. package/sqlite-core/query-builders/_query.js.map +1 -1
  1450. package/sqlite-core/query-builders/delete.cjs +1 -1
  1451. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  1452. package/sqlite-core/query-builders/delete.js +1 -1
  1453. package/sqlite-core/query-builders/delete.js.map +1 -1
  1454. package/sqlite-core/query-builders/insert.cjs +1 -1
  1455. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1456. package/sqlite-core/query-builders/insert.js +1 -1
  1457. package/sqlite-core/query-builders/insert.js.map +1 -1
  1458. package/sqlite-core/query-builders/query.cjs +13 -5
  1459. package/sqlite-core/query-builders/query.cjs.map +1 -1
  1460. package/sqlite-core/query-builders/query.d.ts +1 -1
  1461. package/sqlite-core/query-builders/query.js +13 -5
  1462. package/sqlite-core/query-builders/query.js.map +1 -1
  1463. package/sqlite-core/query-builders/raw.cjs +0 -4
  1464. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  1465. package/sqlite-core/query-builders/raw.js +0 -4
  1466. package/sqlite-core/query-builders/raw.js.map +1 -1
  1467. package/sqlite-core/query-builders/select.cjs +5 -1
  1468. package/sqlite-core/query-builders/select.cjs.map +1 -1
  1469. package/sqlite-core/query-builders/select.js +5 -1
  1470. package/sqlite-core/query-builders/select.js.map +1 -1
  1471. package/sqlite-core/query-builders/update.cjs +1 -1
  1472. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1473. package/sqlite-core/query-builders/update.js +1 -1
  1474. package/sqlite-core/query-builders/update.js.map +1 -1
  1475. package/sqlite-core/session.cjs +8 -8
  1476. package/sqlite-core/session.cjs.map +1 -1
  1477. package/sqlite-core/session.d.cts +5 -5
  1478. package/sqlite-core/session.d.ts +5 -5
  1479. package/sqlite-core/session.js +8 -8
  1480. package/sqlite-core/session.js.map +1 -1
  1481. package/sqlite-core/table.cjs +1 -1
  1482. package/sqlite-core/table.cjs.map +1 -1
  1483. package/sqlite-core/table.js +1 -1
  1484. package/sqlite-core/table.js.map +1 -1
  1485. package/sqlite-proxy/driver.cjs +3 -2
  1486. package/sqlite-proxy/driver.cjs.map +1 -1
  1487. package/sqlite-proxy/driver.d.ts +1 -1
  1488. package/sqlite-proxy/driver.js +3 -2
  1489. package/sqlite-proxy/driver.js.map +1 -1
  1490. package/sqlite-proxy/session.cjs +19 -16
  1491. package/sqlite-proxy/session.cjs.map +1 -1
  1492. package/sqlite-proxy/session.d.cts +11 -7
  1493. package/sqlite-proxy/session.d.ts +11 -7
  1494. package/sqlite-proxy/session.js +20 -17
  1495. package/sqlite-proxy/session.js.map +1 -1
  1496. package/table.d.cts +1 -1
  1497. package/table.d.ts +1 -1
  1498. package/tidb-serverless/driver.cjs +3 -2
  1499. package/tidb-serverless/driver.cjs.map +1 -1
  1500. package/tidb-serverless/driver.d.cts +1 -0
  1501. package/tidb-serverless/driver.d.ts +1 -0
  1502. package/tidb-serverless/driver.js +3 -2
  1503. package/tidb-serverless/driver.js.map +1 -1
  1504. package/tidb-serverless/session.cjs +24 -36
  1505. package/tidb-serverless/session.cjs.map +1 -1
  1506. package/tidb-serverless/session.d.cts +10 -4
  1507. package/tidb-serverless/session.d.ts +11 -5
  1508. package/tidb-serverless/session.js +25 -37
  1509. package/tidb-serverless/session.js.map +1 -1
  1510. package/tursodatabase/driver-core.cjs +3 -2
  1511. package/tursodatabase/driver-core.cjs.map +1 -1
  1512. package/tursodatabase/driver-core.d.ts +1 -1
  1513. package/tursodatabase/driver-core.js +3 -2
  1514. package/tursodatabase/driver-core.js.map +1 -1
  1515. package/tursodatabase/session.cjs +19 -18
  1516. package/tursodatabase/session.cjs.map +1 -1
  1517. package/tursodatabase/session.d.cts +9 -6
  1518. package/tursodatabase/session.d.ts +9 -6
  1519. package/tursodatabase/session.js +20 -19
  1520. package/tursodatabase/session.js.map +1 -1
  1521. package/up-migrations/effect-pg.cjs +3 -3
  1522. package/up-migrations/effect-pg.cjs.map +1 -1
  1523. package/up-migrations/effect-pg.js +3 -3
  1524. package/up-migrations/effect-pg.js.map +1 -1
  1525. package/up-migrations/pg.cjs +3 -8
  1526. package/up-migrations/pg.cjs.map +1 -1
  1527. package/up-migrations/pg.d.cts +1 -1
  1528. package/up-migrations/pg.d.ts +1 -1
  1529. package/up-migrations/pg.js +3 -8
  1530. package/up-migrations/pg.js.map +1 -1
  1531. package/up-migrations/sqlite.d.ts +2 -2
  1532. package/utils.cjs +128 -6
  1533. package/utils.cjs.map +1 -1
  1534. package/utils.d.cts +10 -3
  1535. package/utils.d.ts +10 -3
  1536. package/utils.js +126 -7
  1537. package/utils.js.map +1 -1
  1538. package/vercel-postgres/driver.cjs +14 -32
  1539. package/vercel-postgres/driver.cjs.map +1 -1
  1540. package/vercel-postgres/driver.d.cts +12 -17
  1541. package/vercel-postgres/driver.d.ts +13 -18
  1542. package/vercel-postgres/driver.js +14 -31
  1543. package/vercel-postgres/driver.js.map +1 -1
  1544. package/vercel-postgres/index.cjs +2 -3
  1545. package/vercel-postgres/index.d.cts +3 -3
  1546. package/vercel-postgres/index.d.ts +3 -3
  1547. package/vercel-postgres/index.js +3 -3
  1548. package/vercel-postgres/migrator.cjs.map +1 -1
  1549. package/vercel-postgres/migrator.d.cts +1 -1
  1550. package/vercel-postgres/migrator.d.ts +1 -1
  1551. package/vercel-postgres/migrator.js.map +1 -1
  1552. package/vercel-postgres/session.cjs +32 -110
  1553. package/vercel-postgres/session.cjs.map +1 -1
  1554. package/vercel-postgres/session.d.cts +9 -32
  1555. package/vercel-postgres/session.d.ts +9 -32
  1556. package/vercel-postgres/session.js +34 -111
  1557. package/vercel-postgres/session.js.map +1 -1
  1558. package/xata-http/driver.cjs +91 -31
  1559. package/xata-http/driver.cjs.map +1 -1
  1560. package/xata-http/driver.d.cts +10 -16
  1561. package/xata-http/driver.d.ts +11 -17
  1562. package/xata-http/driver.js +91 -30
  1563. package/xata-http/driver.js.map +1 -1
  1564. package/xata-http/index.cjs +2 -4
  1565. package/xata-http/index.d.cts +3 -3
  1566. package/xata-http/index.d.ts +3 -3
  1567. package/xata-http/index.js +3 -3
  1568. package/xata-http/migrator.cjs +1 -1
  1569. package/xata-http/migrator.cjs.map +1 -1
  1570. package/xata-http/migrator.d.cts +1 -1
  1571. package/xata-http/migrator.d.ts +1 -1
  1572. package/xata-http/migrator.js +1 -1
  1573. package/xata-http/migrator.js.map +1 -1
  1574. package/xata-http/session.cjs +23 -109
  1575. package/xata-http/session.cjs.map +1 -1
  1576. package/xata-http/session.d.cts +7 -33
  1577. package/xata-http/session.d.ts +6 -32
  1578. package/xata-http/session.js +25 -109
  1579. package/xata-http/session.js.map +1 -1
  1580. package/pg-core/query-builders/_query.cjs +0 -101
  1581. package/pg-core/query-builders/_query.cjs.map +0 -1
  1582. package/pg-core/query-builders/_query.d.cts +0 -55
  1583. package/pg-core/query-builders/_query.d.ts +0 -55
  1584. package/pg-core/query-builders/_query.js +0 -97
  1585. package/pg-core/query-builders/_query.js.map +0 -1
  1586. package/pg-core/utils/array.cjs.map +0 -1
  1587. package/pg-core/utils/array.js.map +0 -1
  1588. package/pg-core/utils/index.cjs +0 -6
  1589. package/pg-core/utils/index.d.cts +0 -2
  1590. package/pg-core/utils/index.d.ts +0 -2
  1591. package/pg-core/utils/index.js +0 -3
@@ -1,7 +1,8 @@
1
1
  import { entityKind } from "../entity.js";
2
- import { mapResultRow } from "../utils.js";
2
+ import { makeJitQueryMapper, mapResultRow } from "../utils.js";
3
3
  import { fillPlaceholders, sql } from "../sql/sql.js";
4
4
  import { NoopLogger } from "../logger.js";
5
+ import { makeJitRqbMapper } from "../relations.js";
5
6
  import { SQLiteTransaction } from "../sqlite-core/index.js";
6
7
  import { SQLitePreparedQuery as SQLitePreparedQuery$1, SQLiteSession as SQLiteSession$1 } from "../sqlite-core/session.js";
7
8
 
@@ -14,13 +15,14 @@ var ExpoSQLiteSession = class extends SQLiteSession$1 {
14
15
  this.client = client;
15
16
  this.relations = relations;
16
17
  this.schema = schema;
18
+ this.options = options;
17
19
  this.logger = options.logger ?? new NoopLogger();
18
20
  }
19
- prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper) {
20
- return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, isResponseInArrayMode, customResultMapper);
21
+ prepareQuery(query, fields, executeMethod, customResultMapper) {
22
+ return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMapper, customResultMapper);
21
23
  }
22
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
23
- return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, false, customResultMapper, true);
24
+ prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
25
+ return new ExpoSQLitePreparedQuery(this.client.prepareSync(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMapper, customResultMapper, true, config);
24
26
  }
25
27
  transaction(transaction, config = {}) {
26
28
  const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
@@ -53,14 +55,16 @@ var ExpoSQLiteTransaction = class ExpoSQLiteTransaction extends SQLiteTransactio
53
55
  };
54
56
  var ExpoSQLitePreparedQuery = class extends SQLitePreparedQuery$1 {
55
57
  static [entityKind] = "ExpoSQLitePreparedQuery";
56
- constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
58
+ jitMapper;
59
+ constructor(stmt, query, logger, fields, executeMethod, useJitMapper, customResultMapper, isRqbV2Query, rqbConfig) {
57
60
  super("sync", executeMethod, query);
58
61
  this.stmt = stmt;
59
62
  this.logger = logger;
60
63
  this.fields = fields;
61
- this._isResponseInArrayMode = _isResponseInArrayMode;
64
+ this.useJitMapper = useJitMapper;
62
65
  this.customResultMapper = customResultMapper;
63
66
  this.isRqbV2Query = isRqbV2Query;
67
+ this.rqbConfig = rqbConfig;
64
68
  }
65
69
  run(placeholderValues) {
66
70
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
@@ -81,13 +85,14 @@ var ExpoSQLitePreparedQuery = class extends SQLitePreparedQuery$1 {
81
85
  }
82
86
  const rows = this.values(placeholderValues);
83
87
  if (customResultMapper) return customResultMapper(rows);
84
- return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
88
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
85
89
  }
86
90
  allRqbV2(placeholderValues) {
87
91
  const { query, logger, stmt, customResultMapper } = this;
88
92
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
89
93
  logger.logQuery(query.sql, params);
90
- return customResultMapper(stmt.executeSync(params).getAllSync());
94
+ const rows = stmt.executeSync(params).getAllSync();
95
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(rows) : customResultMapper(rows);
91
96
  }
92
97
  get(placeholderValues) {
93
98
  if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
@@ -99,7 +104,7 @@ var ExpoSQLitePreparedQuery = class extends SQLitePreparedQuery$1 {
99
104
  const row = rows[0];
100
105
  if (!row) return;
101
106
  if (customResultMapper) return customResultMapper(rows);
102
- return mapResultRow(fields, row, joinsNotNullableMap);
107
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))([row])[0] : mapResultRow(this.fields, row, this.joinsNotNullableMap);
103
108
  }
104
109
  getRqbV2(placeholderValues) {
105
110
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
@@ -107,17 +112,13 @@ var ExpoSQLitePreparedQuery = class extends SQLitePreparedQuery$1 {
107
112
  const { stmt, customResultMapper } = this;
108
113
  const row = stmt.executeSync(params).getFirstSync();
109
114
  if (!row) return;
110
- return customResultMapper([row]);
115
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))([row]) : customResultMapper([row]);
111
116
  }
112
117
  values(placeholderValues) {
113
118
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
114
119
  this.logger.logQuery(this.query.sql, params);
115
120
  return this.stmt.executeForRawResultSync(params).getAllSync();
116
121
  }
117
- /** @internal */
118
- isResponseInArrayMode() {
119
- return this._isResponseInArrayMode;
120
- }
121
122
  };
122
123
 
123
124
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":["SQLiteSession","SQLitePreparedQuery"],"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, mapResultRow } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.js","names":["SQLiteSession","SQLitePreparedQuery"],"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n\tuseJitMapper?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: ExpoSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(this.fields!, row, this.joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n}\n"],"mappings":"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"}
package/gel/driver.cjs CHANGED
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_gel_session = require('./session.cjs');
4
4
  let __entity_ts = require("../entity.cjs");
5
+ let __logger_ts = require("../logger.cjs");
5
6
  let ___relations_ts = require("../_relations.cjs");
6
7
  ___relations_ts = require_runtime.__toESM(___relations_ts);
7
- let __logger_ts = require("../logger.cjs");
8
8
  let __gel_core_dialect_ts = require("../gel-core/dialect.cjs");
9
9
  let gel = require("gel");
10
10
  let __gel_core_db_ts = require("../gel-core/db.cjs");
@@ -20,6 +20,7 @@ var GelDriver = class {
20
20
  createSession(relations, schema) {
21
21
  return new require_gel_session.GelDbSession(this.client, this.dialect, relations, schema, {
22
22
  logger: this.options.logger,
23
+ useJitMapper: this.options.useJitMapper ?? false,
23
24
  cache: this.options.cache
24
25
  });
25
26
  }
@@ -44,7 +45,8 @@ function construct(client, config = {}) {
44
45
  const relations = config.relations ?? {};
45
46
  const db = new GelJsDatabase(dialect, new GelDriver(client, dialect, {
46
47
  logger,
47
- cache: config.cache
48
+ cache: config.cache,
49
+ useJitMapper: config.useJitMappers
48
50
  }).createSession(relations, schema), relations, schema);
49
51
  db.$client = client;
50
52
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","GelDbSession","GelDatabase","GelDialect","DefaultLogger","V1"],"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport class GelJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends GelDatabase<GelQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\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(config.schema, V1.createTableRelationsHelpers);\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 GelDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\tconst db = new GelJsDatabase(dialect, session, relations, schema as any) as GelJsDatabase<TSchema>;\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 GelClient = Client,\n>(\n\t...params:\n\t\t| [string]\n\t\t| [string, DrizzleConfig<TSchema, TRelations>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\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): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema, TRelations>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = createClient(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): GelJsDatabase<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,YAAb,MAAuB;CACtB,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA4B,EAAE,EACrC;EAHO;EACA;EACA;;CAGT,cACC,WACA,QACiF;AACjF,SAAO,IAAIC,iCAAa,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACrE,QAAQ,KAAK,QAAQ;GACrB,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAIJ,IAAa,gBAAb,cAGUC,6BAAoD;CAC7D,QAA0BF,0BAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIG,iCAAW,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACzD,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,8BAA8B,OAAO,QAAQA,gBAAG,4BAA4B;AACpG,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAGxC,MAAM,KAAK,IAAI,cAAc,SAFd,IAAI,UAAU,QAAQ,SAAS;EAAE;EAAQ,OAAO,OAAO;EAAO,CAAC,CACvD,cAAc,WAAW,OAAO,EACR,WAAW,OAAc;AACxE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAgBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,gCAFuB,EAAE,KAAK,OAAO,IAAI,CAAC,EAEtB,OAAO,GAAqD;CAGxF,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAInD,QAAO,gCAFuB,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","GelDbSession","GelDatabase","GelDialect","DefaultLogger","V1"],"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new GelDbSession(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 class GelJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends GelDatabase<GelQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\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(config.schema, V1.createTableRelationsHelpers);\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 GelDriver(client, dialect, { logger, cache: config.cache, useJitMapper: config.useJitMappers });\n\tconst session = driver.createSession(relations, schema);\n\tconst db = new GelJsDatabase(dialect, session, relations, schema as any) as GelJsDatabase<TSchema>;\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 GelClient = Client,\n>(\n\t...params:\n\t\t| [string]\n\t\t| [string, DrizzleConfig<TSchema, TRelations>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\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): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema, TRelations>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = createClient(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): GelJsDatabase<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":";;;;;;;;;;;;AAoBA,IAAa,YAAb,MAAuB;CACtB,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA4B,EAAE,EACrC;EAHO;EACA;EACA;;CAGT,cACC,WACA,QACiF;AACjF,SAAO,IAAIC,iCAAa,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACrE,QAAQ,KAAK,QAAQ;GACrB,cAAc,KAAK,QAAQ,gBAAgB;GAC3C,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAIJ,IAAa,gBAAb,cAGUC,6BAAoD;CAC7D,QAA0BF,0BAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIG,iCAAW,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACzD,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,8BAA8B,OAAO,QAAQA,gBAAG,4BAA4B;AACpG,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAGxC,MAAM,KAAK,IAAI,cAAc,SAFd,IAAI,UAAU,QAAQ,SAAS;EAAE;EAAQ,OAAO,OAAO;EAAO,cAAc,OAAO;EAAe,CAAC,CAC3F,cAAc,WAAW,OAAO,EACR,WAAW,OAAc;AACxE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAgBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,gCAFuB,EAAE,KAAK,OAAO,IAAI,CAAC,EAEtB,OAAO,GAAqD;CAGxF,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAInD,QAAO,gCAFuB,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
package/gel/driver.d.cts CHANGED
@@ -14,6 +14,7 @@ import { GelDatabase } from "../gel-core/db.cjs";
14
14
  interface GelDriverOptions {
15
15
  logger?: Logger;
16
16
  cache?: Cache;
17
+ useJitMapper?: boolean;
17
18
  }
18
19
  declare class GelDriver {
19
20
  private client;
package/gel/driver.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { GelClient, GelDbSession } from "./session.js";
2
2
  import { entityKind } from "../entity.js";
3
3
  import { DrizzleConfig } from "../utils.js";
4
- import * as V1 from "../_relations.js";
5
4
  import { Logger } from "../logger.js";
6
5
  import { Cache } from "../cache/core/index.js";
6
+ import * as V1 from "../_relations.js";
7
7
  import { AnyRelations, EmptyRelations } from "../relations.js";
8
8
  import { GelDialect } from "../gel-core/dialect.js";
9
9
  import { Client, ConnectOptions } from "gel";
@@ -14,6 +14,7 @@ import { GelQueryResultHKT } from "../gel-core/session.js";
14
14
  interface GelDriverOptions {
15
15
  logger?: Logger;
16
16
  cache?: Cache;
17
+ useJitMapper?: boolean;
17
18
  }
18
19
  declare class GelDriver {
19
20
  private client;
package/gel/driver.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { GelDbSession } from "./session.js";
2
2
  import { entityKind } from "../entity.js";
3
- import * as V1 from "../_relations.js";
4
3
  import { DefaultLogger } from "../logger.js";
4
+ import * as V1 from "../_relations.js";
5
5
  import { GelDialect } from "../gel-core/dialect.js";
6
6
  import { createClient } from "gel";
7
7
  import { GelDatabase } from "../gel-core/db.js";
@@ -17,6 +17,7 @@ var GelDriver = class {
17
17
  createSession(relations, schema) {
18
18
  return new GelDbSession(this.client, this.dialect, relations, schema, {
19
19
  logger: this.options.logger,
20
+ useJitMapper: this.options.useJitMapper ?? false,
20
21
  cache: this.options.cache
21
22
  });
22
23
  }
@@ -41,7 +42,8 @@ function construct(client, config = {}) {
41
42
  const relations = config.relations ?? {};
42
43
  const db = new GelJsDatabase(dialect, new GelDriver(client, dialect, {
43
44
  logger,
44
- cache: config.cache
45
+ cache: config.cache,
46
+ useJitMapper: config.useJitMappers
45
47
  }).createSession(relations, schema), relations, schema);
46
48
  db.$client = client;
47
49
  db.$cache = config.cache;
package/gel/driver.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport class GelJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends GelDatabase<GelQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\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(config.schema, V1.createTableRelationsHelpers);\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 GelDriver(client, dialect, { logger, cache: config.cache });\n\tconst session = driver.createSession(relations, schema);\n\tconst db = new GelJsDatabase(dialect, session, relations, schema as any) as GelJsDatabase<TSchema>;\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 GelClient = Client,\n>(\n\t...params:\n\t\t| [string]\n\t\t| [string, DrizzleConfig<TSchema, TRelations>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\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): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema, TRelations>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = createClient(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): GelJsDatabase<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,YAAb,MAAuB;CACtB,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA4B,EAAE,EACrC;EAHO;EACA;EACA;;CAGT,cACC,WACA,QACiF;AACjF,SAAO,IAAI,aAAa,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACrE,QAAQ,KAAK,QAAQ;GACrB,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAIJ,IAAa,gBAAb,cAGU,YAAoD;CAC7D,QAA0B,cAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,WAAW,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACzD,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,8BAA8B,OAAO,QAAQ,GAAG,4BAA4B;AACpG,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAGxC,MAAM,KAAK,IAAI,cAAc,SAFd,IAAI,UAAU,QAAQ,SAAS;EAAE;EAAQ,OAAO,OAAO;EAAO,CAAC,CACvD,cAAc,WAAW,OAAO,EACR,WAAW,OAAc;AACxE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAgBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,aAAa,EAAE,KAAK,OAAO,IAAI,CAAC,EAEtB,OAAO,GAAqD;CAGxF,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAInD,QAAO,UAFU,aAAa,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new GelDbSession(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 class GelJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends GelDatabase<GelQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\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(config.schema, V1.createTableRelationsHelpers);\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 GelDriver(client, dialect, { logger, cache: config.cache, useJitMapper: config.useJitMappers });\n\tconst session = driver.createSession(relations, schema);\n\tconst db = new GelJsDatabase(dialect, session, relations, schema as any) as GelJsDatabase<TSchema>;\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 GelClient = Client,\n>(\n\t...params:\n\t\t| [string]\n\t\t| [string, DrizzleConfig<TSchema, TRelations>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\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): GelJsDatabase<TSchema, TRelations> & {\n\t$client: GelClient extends TClient ? Client : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema, TRelations>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = createClient(connection);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): GelJsDatabase<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":";;;;;;;;;AAoBA,IAAa,YAAb,MAAuB;CACtB,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA4B,EAAE,EACrC;EAHO;EACA;EACA;;CAGT,cACC,WACA,QACiF;AACjF,SAAO,IAAI,aAAa,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACrE,QAAQ,KAAK,QAAQ;GACrB,cAAc,KAAK,QAAQ,gBAAgB;GAC3C,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAIJ,IAAa,gBAAb,cAGU,YAAoD;CAC7D,QAA0B,cAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,WAAW,EAAE,QAAQ,OAAO,QAAQ,CAAC;CACzD,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,8BAA8B,OAAO,QAAQ,GAAG,4BAA4B;AACpG,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAGxC,MAAM,KAAK,IAAI,cAAc,SAFd,IAAI,UAAU,QAAQ,SAAS;EAAE;EAAQ,OAAO,OAAO;EAAO,cAAc,OAAO;EAAe,CAAC,CAC3F,cAAc,WAAW,OAAO,EACR,WAAW,OAAc;AACxE,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAgBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,aAAa,EAAE,KAAK,OAAO,IAAI,CAAC,EAEtB,OAAO,GAAqD;CAGxF,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAInD,QAAO,UAFU,aAAa,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
package/gel/session.cjs CHANGED
@@ -6,12 +6,14 @@ let __utils_ts = require("../utils.cjs");
6
6
  let __sql_sql_ts = require("../sql/sql.cjs");
7
7
  let __logger_ts = require("../logger.cjs");
8
8
  let __cache_core_index_ts = require("../cache/core/index.cjs");
9
+ let __relations_ts = require("../relations.cjs");
9
10
  let __gel_core_session_ts = require("../gel-core/session.cjs");
10
11
 
11
12
  //#region src/gel/session.ts
12
13
  var GelDbPreparedQuery = class extends __gel_core_session_ts.GelPreparedQuery {
13
14
  static [__entity_ts.entityKind] = "GelPreparedQuery";
14
- constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, _isResponseInArrayMode, customResultMapper, transaction = false, isRqbV2Query) {
15
+ jitMapper;
16
+ constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMapper, customResultMapper, transaction = false, isRqbV2Query, rqbConfig) {
15
17
  super({
16
18
  sql: queryString,
17
19
  params
@@ -21,10 +23,11 @@ var GelDbPreparedQuery = class extends __gel_core_session_ts.GelPreparedQuery {
21
23
  this.params = params;
22
24
  this.logger = logger;
23
25
  this.fields = fields;
24
- this._isResponseInArrayMode = _isResponseInArrayMode;
26
+ this.useJitMapper = useJitMapper;
25
27
  this.customResultMapper = customResultMapper;
26
28
  this.transaction = transaction;
27
29
  this.isRqbV2Query = isRqbV2Query;
30
+ this.rqbConfig = rqbConfig;
28
31
  }
29
32
  async execute(placeholderValues = {}) {
30
33
  if (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);
@@ -51,7 +54,8 @@ var GelDbPreparedQuery = class extends __gel_core_session_ts.GelPreparedQuery {
51
54
  });
52
55
  });
53
56
  return __tracing_ts.tracer.startActiveSpan("drizzle.mapResponse", () => {
54
- return customResultMapper ? customResultMapper(result) : result.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
57
+ if (customResultMapper) return customResultMapper(result);
58
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(result) : result.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
55
59
  });
56
60
  });
57
61
  }
@@ -68,7 +72,7 @@ var GelDbPreparedQuery = class extends __gel_core_session_ts.GelPreparedQuery {
68
72
  return client.querySQL(query, params.length ? params : void 0);
69
73
  });
70
74
  return __tracing_ts.tracer.startActiveSpan("drizzle.mapResponse", () => {
71
- return customResultMapper(result);
75
+ return this.useJitMapper ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(result) : customResultMapper(result);
72
76
  });
73
77
  });
74
78
  }
@@ -87,10 +91,6 @@ var GelDbPreparedQuery = class extends __gel_core_session_ts.GelPreparedQuery {
87
91
  });
88
92
  });
89
93
  }
90
- /** @internal */
91
- isResponseInArrayMode() {
92
- return this._isResponseInArrayMode;
93
- }
94
94
  };
95
95
  var GelDbSession = class GelDbSession extends __gel_core_session_ts.GelSession {
96
96
  static [__entity_ts.entityKind] = "GelDbSession";
@@ -105,11 +105,11 @@ var GelDbSession = class GelDbSession extends __gel_core_session_ts.GelSession {
105
105
  this.logger = options.logger ?? new __logger_ts.NoopLogger();
106
106
  this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
107
107
  }
108
- prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
109
- return new GelDbPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, isResponseInArrayMode, customResultMapper);
108
+ prepareQuery(query, fields, name, customResultMapper, queryMetadata, cacheConfig) {
109
+ return new GelDbPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMapper, customResultMapper);
110
110
  }
111
- prepareRelationalQuery(query, fields, name, customResultMapper) {
112
- return new GelDbPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, false, customResultMapper, void 0, true);
111
+ prepareRelationalQuery(query, fields, name, customResultMapper, config) {
112
+ return new GelDbPreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMapper, customResultMapper, void 0, true, config);
113
113
  }
114
114
  async transaction(transaction) {
115
115
  return await this.client.transaction(async (clientTx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","names":["GelPreparedQuery","entityKind","tracer","GelSession","NoopLogger","NoopCache","GelTransaction"],"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends GelPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\tconst { fields, queryString: query, client, joinsNotNullableMap, customResultMapper } = this;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\n\t\t\t\t\treturn await this.queryWithCache(query, params, async () => {\n\t\t\t\t\t\treturn await client.querySQL(query, params.length ? params : undefined);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = (await tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn await this.queryWithCache(query, params, async () => {\n\t\t\t\t\treturn await client.withSQLRowMode('array').querySQL(query, params.length ? params : undefined);\n\t\t\t\t});\n\t\t\t})) as unknown[][];\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? (customResultMapper as (rows: unknown[][]) => T['execute'])(result)\n\t\t\t\t\t: result.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\t\tconst { queryString: query, client, customResultMapper } = this;\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn client.querySQL(query, params.length ? params : undefined);\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\t\tresult as Record<string, unknown>[],\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn await tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\treturn await tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': this.queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn await this.queryWithCache(this.queryString, params, async () => {\n\t\t\t\t\treturn await this.client.withSQLRowMode('array').querySQL(\n\t\t\t\t\t\tthis.queryString,\n\t\t\t\t\t\tparams.length ? params : undefined,\n\t\t\t\t\t).then((\n\t\t\t\t\t\tresult,\n\t\t\t\t\t) => result);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface GelSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class GelDbSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends GelSession<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelDbSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tdialect: GelDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: GelSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): GelDbPreparedQuery<T> {\n\t\treturn new GelDbPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper?: (rows: Record<string, unknown>[]) => T['execute'],\n\t): GelDbPreparedQuery<T, true> {\n\t\treturn new GelDbPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn await (this.client as Client).transaction(async (clientTx) => {\n\t\t\tconst session = new GelDbSession(clientTx, this.dialect, this.relations, this.schema, this.options);\n\t\t\tconst tx = new GelDbTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn await transaction(tx);\n\t\t});\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\t\treturn Number(res[0]['count']);\n\t}\n}\n\nexport class GelDbTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelDbTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelDbTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst tx = new GelDbTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\t\treturn await transaction(tx);\n\t}\n}\n\n// TODO fix this\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"session.cjs","names":["GelPreparedQuery","entityKind","tracer","GelSession","NoopLogger","NoopCache","GelTransaction"],"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends GelPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\tprivate jitMapper?: RowsMapper<T['execute']> | RelationalRowsMapper<T['execute']>;\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper({ sql: queryString, params }, cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\tconst { fields, queryString: query, client, joinsNotNullableMap, customResultMapper } = this;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\n\t\t\t\t\treturn await this.queryWithCache(query, params, async () => {\n\t\t\t\t\t\treturn await client.querySQL(query, params.length ? params : undefined);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = (await tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn await this.queryWithCache(query, params, async () => {\n\t\t\t\t\treturn await client.withSQLRowMode('array').querySQL(query, params.length ? params : undefined);\n\t\t\t\t});\n\t\t\t})) as unknown[][];\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\tif (customResultMapper) {\n\t\t\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(result);\n\t\t\t\t}\n\n\t\t\t\treturn this.useJitMapper\n\t\t\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['execute']>\n\t\t\t\t\t\t?? makeJitQueryMapper<T['execute']>(fields!, joinsNotNullableMap))(result)\n\t\t\t\t\t: result.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tasync executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\t\tconst { queryString: query, client, customResultMapper } = this;\n\n\t\t\tconst result = await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn client.querySQL(query, params.length ? params : undefined);\n\t\t\t});\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn this.useJitMapper\n\t\t\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(result as Record<string, unknown>[])\n\t\t\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\t\t\tresult as Record<string, unknown>[],\n\t\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\tasync all(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn await tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\treturn await tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': this.queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn await this.queryWithCache(this.queryString, params, async () => {\n\t\t\t\t\treturn await this.client.withSQLRowMode('array').querySQL(\n\t\t\t\t\t\tthis.queryString,\n\t\t\t\t\t\tparams.length ? params : undefined,\n\t\t\t\t\t).then((\n\t\t\t\t\t\tresult,\n\t\t\t\t\t) => result);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n\nexport interface GelSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class GelDbSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends GelSession<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelDbSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tdialect: GelDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: GelSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): GelDbPreparedQuery<T> {\n\t\treturn new GelDbPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t): GelDbPreparedQuery<T, true> {\n\t\treturn new GelDbPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn await (this.client as Client).transaction(async (clientTx) => {\n\t\t\tconst session = new GelDbSession(clientTx, this.dialect, this.relations, this.schema, this.options);\n\t\t\tconst tx = new GelDbTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn await transaction(tx);\n\t\t});\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\t\treturn Number(res[0]['count']);\n\t}\n}\n\nexport class GelDbTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelDbTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelDbTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst tx = new GelDbTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t);\n\t\treturn await transaction(tx);\n\t}\n}\n\n// TODO fix this\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n"],"mappings":"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"}
package/gel/session.d.cts CHANGED
@@ -2,7 +2,7 @@ import { entityKind } from "../entity.cjs";
2
2
  import { Query, SQL } from "../sql/sql.cjs";
3
3
  import * as V1 from "../_relations.cjs";
4
4
  import { WithCacheConfig } from "../cache/core/types.cjs";
5
- import { AnyRelations } from "../relations.cjs";
5
+ import { AnyRelations, RelationalQueryMapperConfig } from "../relations.cjs";
6
6
  import { GelDialect } from "../gel-core/dialect.cjs";
7
7
  import { GelPreparedQuery, GelSession, GelTransaction, PreparedQueryConfig } from "../gel-core/session.cjs";
8
8
  import { Client } from "gel";
@@ -19,15 +19,17 @@ declare class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends
19
19
  private params;
20
20
  private logger;
21
21
  private fields;
22
- private _isResponseInArrayMode;
22
+ private useJitMapper;
23
23
  private customResultMapper?;
24
24
  private transaction;
25
25
  private isRqbV2Query?;
26
+ private rqbConfig?;
26
27
  static readonly [entityKind]: string;
28
+ private jitMapper?;
27
29
  constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
28
30
  type: 'select' | 'update' | 'delete' | 'insert';
29
31
  tables: string[];
30
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, transaction?: boolean, isRqbV2Query?: TIsRqbV2 | undefined);
32
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, transaction?: boolean, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
31
33
  execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
32
34
  executeRqbV2(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
33
35
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
@@ -35,6 +37,7 @@ declare class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends
35
37
  interface GelSessionOptions {
36
38
  logger?: Logger;
37
39
  cache?: Cache;
40
+ useJitMapper?: boolean;
38
41
  }
39
42
  declare class GelDbSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends GelSession<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {
40
43
  private client;
@@ -45,11 +48,11 @@ declare class GelDbSession<TFullSchema extends Record<string, unknown>, TRelatio
45
48
  private logger;
46
49
  private cache;
47
50
  constructor(client: GelClient, dialect: GelDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions);
48
- prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
51
+ prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
49
52
  type: 'select' | 'update' | 'delete' | 'insert';
50
53
  tables: string[];
51
54
  }, cacheConfig?: WithCacheConfig): GelDbPreparedQuery<T>;
52
- prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper?: (rows: Record<string, unknown>[]) => T['execute']): GelDbPreparedQuery<T, true>;
55
+ prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], config: RelationalQueryMapperConfig): GelDbPreparedQuery<T, true>;
53
56
  transaction<T>(transaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
54
57
  count(sql: SQL): Promise<number>;
55
58
  }
package/gel/session.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { Query, SQL } from "../sql/sql.js";
3
- import * as V1 from "../_relations.js";
4
3
  import { Logger } from "../logger.js";
5
4
  import { Cache } from "../cache/core/index.js";
6
- import { AnyRelations } from "../relations.js";
5
+ import * as V1 from "../_relations.js";
6
+ import { AnyRelations, RelationalQueryMapperConfig } from "../relations.js";
7
7
  import { GelDialect } from "../gel-core/dialect.js";
8
8
  import { Client } from "gel";
9
9
  import { GelPreparedQuery, GelSession, GelTransaction, PreparedQueryConfig } from "../gel-core/session.js";
@@ -19,15 +19,17 @@ declare class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends
19
19
  private params;
20
20
  private logger;
21
21
  private fields;
22
- private _isResponseInArrayMode;
22
+ private useJitMapper;
23
23
  private customResultMapper?;
24
24
  private transaction;
25
25
  private isRqbV2Query?;
26
+ private rqbConfig?;
26
27
  static readonly [entityKind]: string;
28
+ private jitMapper?;
27
29
  constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
28
30
  type: 'select' | 'update' | 'delete' | 'insert';
29
31
  tables: string[];
30
- } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, transaction?: boolean, isRqbV2Query?: TIsRqbV2 | undefined);
32
+ } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMapper: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, transaction?: boolean, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
31
33
  execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
32
34
  executeRqbV2(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
33
35
  all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
@@ -35,6 +37,7 @@ declare class GelDbPreparedQuery<T extends PreparedQueryConfig, TIsRqbV2 extends
35
37
  interface GelSessionOptions {
36
38
  logger?: Logger;
37
39
  cache?: Cache;
40
+ useJitMapper?: boolean;
38
41
  }
39
42
  declare class GelDbSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends GelSession<GelQueryResultHKT, TFullSchema, TRelations, TSchema> {
40
43
  private client;
@@ -45,11 +48,11 @@ declare class GelDbSession<TFullSchema extends Record<string, unknown>, TRelatio
45
48
  private logger;
46
49
  private cache;
47
50
  constructor(client: GelClient, dialect: GelDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions);
48
- prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
51
+ prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {
49
52
  type: 'select' | 'update' | 'delete' | 'insert';
50
53
  tables: string[];
51
54
  }, cacheConfig?: WithCacheConfig): GelDbPreparedQuery<T>;
52
- prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper?: (rows: Record<string, unknown>[]) => T['execute']): GelDbPreparedQuery<T, true>;
55
+ prepareRelationalQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], config: RelationalQueryMapperConfig): GelDbPreparedQuery<T, true>;
53
56
  transaction<T>(transaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
54
57
  count(sql: SQL): Promise<number>;
55
58
  }