drizzle-orm 0.43.1-d1468f0 → 0.43.1-e3d1c4f

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 (866) hide show
  1. package/aws-data-api/pg/driver.cjs +7 -10
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +4 -4
  4. package/aws-data-api/pg/driver.d.ts +4 -4
  5. package/aws-data-api/pg/driver.js +7 -10
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +26 -20
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +6 -16
  10. package/aws-data-api/pg/session.d.ts +6 -16
  11. package/aws-data-api/pg/session.js +26 -20
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.d.cts +4 -3
  15. package/better-sqlite3/driver.d.ts +4 -3
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/session.cjs +7 -13
  18. package/better-sqlite3/session.cjs.map +1 -1
  19. package/better-sqlite3/session.d.cts +6 -16
  20. package/better-sqlite3/session.d.ts +6 -16
  21. package/better-sqlite3/session.js +7 -13
  22. package/better-sqlite3/session.js.map +1 -1
  23. package/bun-sql/driver.cjs +3 -6
  24. package/bun-sql/driver.cjs.map +1 -1
  25. package/bun-sql/driver.d.cts +4 -3
  26. package/bun-sql/driver.d.ts +4 -3
  27. package/bun-sql/driver.js +3 -6
  28. package/bun-sql/driver.js.map +1 -1
  29. package/bun-sql/session.cjs +26 -29
  30. package/bun-sql/session.cjs.map +1 -1
  31. package/bun-sql/session.d.cts +6 -15
  32. package/bun-sql/session.d.ts +6 -15
  33. package/bun-sql/session.js +26 -29
  34. package/bun-sql/session.js.map +1 -1
  35. package/bun-sqlite/driver.cjs.map +1 -1
  36. package/bun-sqlite/driver.d.cts +4 -3
  37. package/bun-sqlite/driver.d.ts +4 -3
  38. package/bun-sqlite/driver.js.map +1 -1
  39. package/bun-sqlite/session.cjs +5 -5
  40. package/bun-sqlite/session.cjs.map +1 -1
  41. package/bun-sqlite/session.d.cts +5 -5
  42. package/bun-sqlite/session.d.ts +5 -5
  43. package/bun-sqlite/session.js +5 -5
  44. package/bun-sqlite/session.js.map +1 -1
  45. package/column-builder.cjs.map +1 -1
  46. package/column-builder.d.cts +7 -2
  47. package/column-builder.d.ts +7 -2
  48. package/column-builder.js.map +1 -1
  49. package/column.cjs +2 -0
  50. package/column.cjs.map +1 -1
  51. package/column.d.cts +6 -0
  52. package/column.d.ts +6 -0
  53. package/column.js +2 -0
  54. package/column.js.map +1 -1
  55. package/d1/driver.cjs +3 -6
  56. package/d1/driver.cjs.map +1 -1
  57. package/d1/driver.d.cts +2 -1
  58. package/d1/driver.d.ts +2 -1
  59. package/d1/driver.js +3 -6
  60. package/d1/driver.js.map +1 -1
  61. package/d1/session.cjs +24 -29
  62. package/d1/session.cjs.map +1 -1
  63. package/d1/session.d.cts +8 -17
  64. package/d1/session.d.ts +8 -17
  65. package/d1/session.js +24 -29
  66. package/d1/session.js.map +1 -1
  67. package/durable-sqlite/driver.cjs.map +1 -1
  68. package/durable-sqlite/driver.d.cts +2 -1
  69. package/durable-sqlite/driver.d.ts +2 -1
  70. package/durable-sqlite/driver.js.map +1 -1
  71. package/durable-sqlite/session.cjs +6 -6
  72. package/durable-sqlite/session.cjs.map +1 -1
  73. package/durable-sqlite/session.d.cts +5 -5
  74. package/durable-sqlite/session.d.ts +5 -5
  75. package/durable-sqlite/session.js +6 -6
  76. package/durable-sqlite/session.js.map +1 -1
  77. package/expo-sqlite/driver.cjs.map +1 -1
  78. package/expo-sqlite/driver.d.cts +2 -1
  79. package/expo-sqlite/driver.d.ts +2 -1
  80. package/expo-sqlite/driver.js.map +1 -1
  81. package/expo-sqlite/session.cjs +5 -5
  82. package/expo-sqlite/session.cjs.map +1 -1
  83. package/expo-sqlite/session.d.cts +5 -5
  84. package/expo-sqlite/session.d.ts +5 -5
  85. package/expo-sqlite/session.js +5 -5
  86. package/expo-sqlite/session.js.map +1 -1
  87. package/{cache/core/cache.cjs → extension-core/gel/index.cjs} +9 -23
  88. package/extension-core/gel/index.cjs.map +1 -0
  89. package/extension-core/gel/index.d.cts +67 -0
  90. package/extension-core/gel/index.d.ts +67 -0
  91. package/extension-core/gel/index.js +9 -0
  92. package/extension-core/gel/index.js.map +1 -0
  93. package/extension-core/index.cjs +42 -0
  94. package/extension-core/index.cjs.map +1 -0
  95. package/extension-core/index.d.cts +9 -0
  96. package/extension-core/index.d.ts +9 -0
  97. package/extension-core/index.js +15 -0
  98. package/extension-core/index.js.map +1 -0
  99. package/{errors → extension-core/mysql}/index.cjs +9 -16
  100. package/extension-core/mysql/index.cjs.map +1 -0
  101. package/extension-core/mysql/index.d.cts +69 -0
  102. package/extension-core/mysql/index.d.ts +69 -0
  103. package/extension-core/mysql/index.js +9 -0
  104. package/extension-core/mysql/index.js.map +1 -0
  105. package/extension-core/pg/index.cjs +33 -0
  106. package/extension-core/pg/index.cjs.map +1 -0
  107. package/extension-core/pg/index.d.cts +67 -0
  108. package/extension-core/pg/index.d.ts +67 -0
  109. package/extension-core/pg/index.js +9 -0
  110. package/extension-core/pg/index.js.map +1 -0
  111. package/extension-core/singlestore/index.cjs +33 -0
  112. package/extension-core/singlestore/index.cjs.map +1 -0
  113. package/extension-core/singlestore/index.d.cts +67 -0
  114. package/extension-core/singlestore/index.d.ts +67 -0
  115. package/extension-core/singlestore/index.js +9 -0
  116. package/extension-core/singlestore/index.js.map +1 -0
  117. package/extension-core/sqlite/index.cjs +33 -0
  118. package/extension-core/sqlite/index.cjs.map +1 -0
  119. package/extension-core/sqlite/index.d.cts +68 -0
  120. package/extension-core/sqlite/index.d.ts +68 -0
  121. package/extension-core/sqlite/index.js +9 -0
  122. package/extension-core/sqlite/index.js.map +1 -0
  123. package/extensions/hook/gel/index.cjs +47 -0
  124. package/extensions/hook/gel/index.cjs.map +1 -0
  125. package/extensions/hook/gel/index.d.cts +11 -0
  126. package/extensions/hook/gel/index.d.ts +11 -0
  127. package/extensions/hook/gel/index.js +22 -0
  128. package/extensions/hook/gel/index.js.map +1 -0
  129. package/extensions/hook/mysql/index.cjs +47 -0
  130. package/extensions/hook/mysql/index.cjs.map +1 -0
  131. package/extensions/hook/mysql/index.d.cts +11 -0
  132. package/extensions/hook/mysql/index.d.ts +11 -0
  133. package/extensions/hook/mysql/index.js +22 -0
  134. package/extensions/hook/mysql/index.js.map +1 -0
  135. package/extensions/hook/pg/index.cjs +47 -0
  136. package/extensions/hook/pg/index.cjs.map +1 -0
  137. package/extensions/hook/pg/index.d.cts +11 -0
  138. package/extensions/hook/pg/index.d.ts +11 -0
  139. package/extensions/hook/pg/index.js +22 -0
  140. package/extensions/hook/pg/index.js.map +1 -0
  141. package/extensions/hook/singlestore/index.cjs +47 -0
  142. package/extensions/hook/singlestore/index.cjs.map +1 -0
  143. package/extensions/hook/singlestore/index.d.cts +11 -0
  144. package/extensions/hook/singlestore/index.d.ts +11 -0
  145. package/extensions/hook/singlestore/index.js +22 -0
  146. package/extensions/hook/singlestore/index.js.map +1 -0
  147. package/extensions/hook/sqlite/index.cjs +47 -0
  148. package/extensions/hook/sqlite/index.cjs.map +1 -0
  149. package/extensions/hook/sqlite/index.d.cts +11 -0
  150. package/extensions/hook/sqlite/index.d.ts +11 -0
  151. package/extensions/hook/sqlite/index.js +22 -0
  152. package/extensions/hook/sqlite/index.js.map +1 -0
  153. package/extensions/s3-file/common.cjs +321 -0
  154. package/extensions/s3-file/common.cjs.map +1 -0
  155. package/extensions/s3-file/common.d.cts +88 -0
  156. package/extensions/s3-file/common.d.ts +88 -0
  157. package/extensions/s3-file/common.js +288 -0
  158. package/extensions/s3-file/common.js.map +1 -0
  159. package/extensions/s3-file/gel/column.cjs +124 -0
  160. package/extensions/s3-file/gel/column.cjs.map +1 -0
  161. package/extensions/s3-file/gel/column.d.cts +105 -0
  162. package/extensions/s3-file/gel/column.d.ts +105 -0
  163. package/extensions/s3-file/gel/column.js +103 -0
  164. package/extensions/s3-file/gel/column.js.map +1 -0
  165. package/extensions/s3-file/gel/extension.cjs +271 -0
  166. package/extensions/s3-file/gel/extension.cjs.map +1 -0
  167. package/extensions/s3-file/gel/extension.d.cts +18 -0
  168. package/extensions/s3-file/gel/extension.d.ts +18 -0
  169. package/extensions/s3-file/gel/extension.js +257 -0
  170. package/extensions/s3-file/gel/extension.js.map +1 -0
  171. package/{cache/upstash → extensions/s3-file/gel}/index.cjs +6 -4
  172. package/extensions/s3-file/gel/index.cjs.map +1 -0
  173. package/extensions/s3-file/gel/index.d.cts +2 -0
  174. package/extensions/s3-file/gel/index.d.ts +2 -0
  175. package/extensions/s3-file/gel/index.js +3 -0
  176. package/extensions/s3-file/gel/index.js.map +1 -0
  177. package/{cache/core → extensions/s3-file}/index.cjs +4 -4
  178. package/extensions/s3-file/index.cjs.map +1 -0
  179. package/extensions/s3-file/index.d.cts +1 -0
  180. package/extensions/s3-file/index.d.ts +1 -0
  181. package/extensions/s3-file/index.js +2 -0
  182. package/extensions/s3-file/index.js.map +1 -0
  183. package/extensions/s3-file/mysql/column.cjs +121 -0
  184. package/extensions/s3-file/mysql/column.cjs.map +1 -0
  185. package/extensions/s3-file/mysql/column.d.cts +63 -0
  186. package/extensions/s3-file/mysql/column.d.ts +63 -0
  187. package/extensions/s3-file/mysql/column.js +97 -0
  188. package/extensions/s3-file/mysql/column.js.map +1 -0
  189. package/extensions/s3-file/mysql/extension.cjs +250 -0
  190. package/extensions/s3-file/mysql/extension.cjs.map +1 -0
  191. package/extensions/s3-file/mysql/extension.d.cts +18 -0
  192. package/extensions/s3-file/mysql/extension.d.ts +18 -0
  193. package/extensions/s3-file/mysql/extension.js +236 -0
  194. package/extensions/s3-file/mysql/extension.js.map +1 -0
  195. package/extensions/s3-file/mysql/index.cjs +25 -0
  196. package/extensions/s3-file/mysql/index.cjs.map +1 -0
  197. package/extensions/s3-file/mysql/index.d.cts +2 -0
  198. package/extensions/s3-file/mysql/index.d.ts +2 -0
  199. package/extensions/s3-file/mysql/index.js +3 -0
  200. package/extensions/s3-file/mysql/index.js.map +1 -0
  201. package/extensions/s3-file/pg/column.cjs +124 -0
  202. package/extensions/s3-file/pg/column.cjs.map +1 -0
  203. package/extensions/s3-file/pg/column.d.cts +105 -0
  204. package/extensions/s3-file/pg/column.d.ts +105 -0
  205. package/extensions/s3-file/pg/column.js +103 -0
  206. package/extensions/s3-file/pg/column.js.map +1 -0
  207. package/extensions/s3-file/pg/extension.cjs +272 -0
  208. package/extensions/s3-file/pg/extension.cjs.map +1 -0
  209. package/extensions/s3-file/pg/extension.d.cts +18 -0
  210. package/extensions/s3-file/pg/extension.d.ts +18 -0
  211. package/extensions/s3-file/pg/extension.js +258 -0
  212. package/extensions/s3-file/pg/extension.js.map +1 -0
  213. package/{cache/core/types.cjs → extensions/s3-file/pg/index.cjs} +11 -3
  214. package/extensions/s3-file/pg/index.cjs.map +1 -0
  215. package/extensions/s3-file/pg/index.d.cts +2 -0
  216. package/extensions/s3-file/pg/index.d.ts +2 -0
  217. package/extensions/s3-file/pg/index.js +3 -0
  218. package/extensions/s3-file/pg/index.js.map +1 -0
  219. package/extensions/s3-file/singlestore/column.cjs +121 -0
  220. package/extensions/s3-file/singlestore/column.cjs.map +1 -0
  221. package/extensions/s3-file/singlestore/column.d.cts +63 -0
  222. package/extensions/s3-file/singlestore/column.d.ts +63 -0
  223. package/extensions/s3-file/singlestore/column.js +97 -0
  224. package/extensions/s3-file/singlestore/column.js.map +1 -0
  225. package/extensions/s3-file/singlestore/extension.cjs +247 -0
  226. package/extensions/s3-file/singlestore/extension.cjs.map +1 -0
  227. package/extensions/s3-file/singlestore/extension.d.cts +18 -0
  228. package/extensions/s3-file/singlestore/extension.d.ts +18 -0
  229. package/extensions/s3-file/singlestore/extension.js +233 -0
  230. package/extensions/s3-file/singlestore/extension.js.map +1 -0
  231. package/extensions/s3-file/singlestore/index.cjs +25 -0
  232. package/extensions/s3-file/singlestore/index.cjs.map +1 -0
  233. package/extensions/s3-file/singlestore/index.d.cts +2 -0
  234. package/extensions/s3-file/singlestore/index.d.ts +2 -0
  235. package/extensions/s3-file/singlestore/index.js +3 -0
  236. package/extensions/s3-file/singlestore/index.js.map +1 -0
  237. package/extensions/s3-file/sqlite/column.cjs +121 -0
  238. package/extensions/s3-file/sqlite/column.cjs.map +1 -0
  239. package/extensions/s3-file/sqlite/column.d.cts +63 -0
  240. package/extensions/s3-file/sqlite/column.d.ts +63 -0
  241. package/extensions/s3-file/sqlite/column.js +97 -0
  242. package/extensions/s3-file/sqlite/column.js.map +1 -0
  243. package/extensions/s3-file/sqlite/extension.cjs +250 -0
  244. package/extensions/s3-file/sqlite/extension.cjs.map +1 -0
  245. package/extensions/s3-file/sqlite/extension.d.cts +18 -0
  246. package/extensions/s3-file/sqlite/extension.d.ts +18 -0
  247. package/extensions/s3-file/sqlite/extension.js +236 -0
  248. package/extensions/s3-file/sqlite/extension.js.map +1 -0
  249. package/extensions/s3-file/sqlite/index.cjs +25 -0
  250. package/extensions/s3-file/sqlite/index.cjs.map +1 -0
  251. package/extensions/s3-file/sqlite/index.d.cts +2 -0
  252. package/extensions/s3-file/sqlite/index.d.ts +2 -0
  253. package/extensions/s3-file/sqlite/index.js +3 -0
  254. package/extensions/s3-file/sqlite/index.js.map +1 -0
  255. package/gel/driver.cjs +6 -11
  256. package/gel/driver.cjs.map +1 -1
  257. package/gel/driver.d.cts +6 -6
  258. package/gel/driver.d.ts +6 -6
  259. package/gel/driver.js +6 -11
  260. package/gel/driver.js.map +1 -1
  261. package/gel/session.cjs +19 -31
  262. package/gel/session.cjs.map +1 -1
  263. package/gel/session.d.cts +5 -14
  264. package/gel/session.d.ts +5 -14
  265. package/gel/session.js +19 -31
  266. package/gel/session.js.map +1 -1
  267. package/gel-core/columns/common.cjs +8 -0
  268. package/gel-core/columns/common.cjs.map +1 -1
  269. package/gel-core/columns/common.d.cts +2 -0
  270. package/gel-core/columns/common.d.ts +2 -0
  271. package/gel-core/columns/common.js +8 -0
  272. package/gel-core/columns/common.js.map +1 -1
  273. package/gel-core/db.cjs +5 -6
  274. package/gel-core/db.cjs.map +1 -1
  275. package/gel-core/db.d.cts +3 -5
  276. package/gel-core/db.d.ts +3 -5
  277. package/gel-core/db.js +5 -6
  278. package/gel-core/db.js.map +1 -1
  279. package/gel-core/dialect.cjs +25 -19
  280. package/gel-core/dialect.cjs.map +1 -1
  281. package/gel-core/dialect.d.cts +7 -6
  282. package/gel-core/dialect.d.ts +7 -6
  283. package/gel-core/dialect.js +26 -20
  284. package/gel-core/dialect.js.map +1 -1
  285. package/gel-core/query-builders/delete.cjs +6 -5
  286. package/gel-core/query-builders/delete.cjs.map +1 -1
  287. package/gel-core/query-builders/delete.js +6 -5
  288. package/gel-core/query-builders/delete.js.map +1 -1
  289. package/gel-core/query-builders/insert.cjs +31 -9
  290. package/gel-core/query-builders/insert.cjs.map +1 -1
  291. package/gel-core/query-builders/insert.js +33 -11
  292. package/gel-core/query-builders/insert.js.map +1 -1
  293. package/gel-core/query-builders/query.cjs +12 -1
  294. package/gel-core/query-builders/query.cjs.map +1 -1
  295. package/gel-core/query-builders/query.js +12 -1
  296. package/gel-core/query-builders/query.js.map +1 -1
  297. package/gel-core/query-builders/select.cjs +12 -30
  298. package/gel-core/query-builders/select.cjs.map +1 -1
  299. package/gel-core/query-builders/select.d.cts +0 -9
  300. package/gel-core/query-builders/select.d.ts +0 -9
  301. package/gel-core/query-builders/select.js +12 -30
  302. package/gel-core/query-builders/select.js.map +1 -1
  303. package/gel-core/query-builders/update.cjs +7 -6
  304. package/gel-core/query-builders/update.cjs.map +1 -1
  305. package/gel-core/query-builders/update.js +7 -6
  306. package/gel-core/query-builders/update.js.map +1 -1
  307. package/gel-core/session.cjs +48 -82
  308. package/gel-core/session.cjs.map +1 -1
  309. package/gel-core/session.d.cts +12 -17
  310. package/gel-core/session.d.ts +12 -17
  311. package/gel-core/session.js +49 -83
  312. package/gel-core/session.js.map +1 -1
  313. package/gel-core/utils.cjs +0 -16
  314. package/gel-core/utils.cjs.map +1 -1
  315. package/gel-core/utils.d.cts +4 -8
  316. package/gel-core/utils.d.ts +4 -8
  317. package/gel-core/utils.js +0 -15
  318. package/gel-core/utils.js.map +1 -1
  319. package/libsql/driver-core.cjs +3 -6
  320. package/libsql/driver-core.cjs.map +1 -1
  321. package/libsql/driver-core.js +3 -6
  322. package/libsql/driver-core.js.map +1 -1
  323. package/libsql/driver.cjs +4 -1
  324. package/libsql/driver.cjs.map +1 -1
  325. package/libsql/driver.d.cts +4 -3
  326. package/libsql/driver.d.ts +4 -3
  327. package/libsql/driver.js +4 -1
  328. package/libsql/driver.js.map +1 -1
  329. package/libsql/http/index.cjs +4 -1
  330. package/libsql/http/index.cjs.map +1 -1
  331. package/libsql/http/index.d.cts +4 -3
  332. package/libsql/http/index.d.ts +4 -3
  333. package/libsql/http/index.js +4 -1
  334. package/libsql/http/index.js.map +1 -1
  335. package/libsql/node/index.cjs +4 -1
  336. package/libsql/node/index.cjs.map +1 -1
  337. package/libsql/node/index.d.cts +4 -3
  338. package/libsql/node/index.d.ts +4 -3
  339. package/libsql/node/index.js +4 -1
  340. package/libsql/node/index.js.map +1 -1
  341. package/libsql/session.cjs +37 -34
  342. package/libsql/session.cjs.map +1 -1
  343. package/libsql/session.d.cts +9 -18
  344. package/libsql/session.d.ts +9 -18
  345. package/libsql/session.js +37 -34
  346. package/libsql/session.js.map +1 -1
  347. package/libsql/sqlite3/index.cjs +4 -1
  348. package/libsql/sqlite3/index.cjs.map +1 -1
  349. package/libsql/sqlite3/index.d.cts +4 -3
  350. package/libsql/sqlite3/index.d.ts +4 -3
  351. package/libsql/sqlite3/index.js +4 -1
  352. package/libsql/sqlite3/index.js.map +1 -1
  353. package/libsql/wasm/index.cjs +4 -1
  354. package/libsql/wasm/index.cjs.map +1 -1
  355. package/libsql/wasm/index.d.cts +4 -3
  356. package/libsql/wasm/index.d.ts +4 -3
  357. package/libsql/wasm/index.js +4 -1
  358. package/libsql/wasm/index.js.map +1 -1
  359. package/libsql/web/index.cjs +4 -1
  360. package/libsql/web/index.cjs.map +1 -1
  361. package/libsql/web/index.d.cts +4 -3
  362. package/libsql/web/index.d.ts +4 -3
  363. package/libsql/web/index.js +4 -1
  364. package/libsql/web/index.js.map +1 -1
  365. package/libsql/ws/index.cjs +4 -1
  366. package/libsql/ws/index.cjs.map +1 -1
  367. package/libsql/ws/index.d.cts +4 -3
  368. package/libsql/ws/index.d.ts +4 -3
  369. package/libsql/ws/index.js +4 -1
  370. package/libsql/ws/index.js.map +1 -1
  371. package/mysql-core/db.cjs +5 -6
  372. package/mysql-core/db.cjs.map +1 -1
  373. package/mysql-core/db.d.cts +3 -5
  374. package/mysql-core/db.d.ts +3 -5
  375. package/mysql-core/db.js +5 -6
  376. package/mysql-core/db.js.map +1 -1
  377. package/mysql-core/dialect.cjs +30 -23
  378. package/mysql-core/dialect.cjs.map +1 -1
  379. package/mysql-core/dialect.d.cts +8 -7
  380. package/mysql-core/dialect.d.ts +8 -7
  381. package/mysql-core/dialect.js +31 -24
  382. package/mysql-core/dialect.js.map +1 -1
  383. package/mysql-core/query-builders/delete.cjs +5 -7
  384. package/mysql-core/query-builders/delete.cjs.map +1 -1
  385. package/mysql-core/query-builders/delete.js +5 -7
  386. package/mysql-core/query-builders/delete.js.map +1 -1
  387. package/mysql-core/query-builders/insert.cjs +30 -13
  388. package/mysql-core/query-builders/insert.cjs.map +1 -1
  389. package/mysql-core/query-builders/insert.d.cts +0 -2
  390. package/mysql-core/query-builders/insert.d.ts +0 -2
  391. package/mysql-core/query-builders/insert.js +32 -15
  392. package/mysql-core/query-builders/insert.js.map +1 -1
  393. package/mysql-core/query-builders/query.cjs +14 -2
  394. package/mysql-core/query-builders/query.cjs.map +1 -1
  395. package/mysql-core/query-builders/query.js +14 -2
  396. package/mysql-core/query-builders/query.js.map +1 -1
  397. package/mysql-core/query-builders/select.cjs +14 -30
  398. package/mysql-core/query-builders/select.cjs.map +1 -1
  399. package/mysql-core/query-builders/select.d.cts +0 -9
  400. package/mysql-core/query-builders/select.d.ts +0 -9
  401. package/mysql-core/query-builders/select.js +15 -31
  402. package/mysql-core/query-builders/select.js.map +1 -1
  403. package/mysql-core/query-builders/update.cjs +13 -11
  404. package/mysql-core/query-builders/update.cjs.map +1 -1
  405. package/mysql-core/query-builders/update.d.cts +0 -2
  406. package/mysql-core/query-builders/update.d.ts +0 -2
  407. package/mysql-core/query-builders/update.js +13 -11
  408. package/mysql-core/query-builders/update.js.map +1 -1
  409. package/mysql-core/session.cjs +42 -80
  410. package/mysql-core/session.cjs.map +1 -1
  411. package/mysql-core/session.d.cts +14 -18
  412. package/mysql-core/session.d.ts +14 -18
  413. package/mysql-core/session.js +43 -81
  414. package/mysql-core/session.js.map +1 -1
  415. package/mysql-core/utils.cjs +0 -16
  416. package/mysql-core/utils.cjs.map +1 -1
  417. package/mysql-core/utils.d.cts +2 -6
  418. package/mysql-core/utils.d.ts +2 -6
  419. package/mysql-core/utils.js +0 -15
  420. package/mysql-core/utils.js.map +1 -1
  421. package/mysql-proxy/driver.cjs +3 -2
  422. package/mysql-proxy/driver.cjs.map +1 -1
  423. package/mysql-proxy/driver.d.cts +2 -1
  424. package/mysql-proxy/driver.d.ts +2 -1
  425. package/mysql-proxy/driver.js +3 -2
  426. package/mysql-proxy/driver.js.map +1 -1
  427. package/mysql-proxy/session.cjs +10 -20
  428. package/mysql-proxy/session.cjs.map +1 -1
  429. package/mysql-proxy/session.d.cts +5 -16
  430. package/mysql-proxy/session.d.ts +5 -16
  431. package/mysql-proxy/session.js +10 -20
  432. package/mysql-proxy/session.js.map +1 -1
  433. package/mysql2/driver.cjs +6 -12
  434. package/mysql2/driver.cjs.map +1 -1
  435. package/mysql2/driver.d.cts +4 -4
  436. package/mysql2/driver.d.ts +4 -4
  437. package/mysql2/driver.js +6 -12
  438. package/mysql2/driver.js.map +1 -1
  439. package/mysql2/session.cjs +16 -22
  440. package/mysql2/session.cjs.map +1 -1
  441. package/mysql2/session.d.cts +5 -15
  442. package/mysql2/session.d.ts +5 -15
  443. package/mysql2/session.js +16 -22
  444. package/mysql2/session.js.map +1 -1
  445. package/neon-http/driver.cjs +5 -10
  446. package/neon-http/driver.cjs.map +1 -1
  447. package/neon-http/driver.d.cts +6 -6
  448. package/neon-http/driver.d.ts +6 -6
  449. package/neon-http/driver.js +5 -10
  450. package/neon-http/driver.js.map +1 -1
  451. package/neon-http/session.cjs +20 -28
  452. package/neon-http/session.cjs.map +1 -1
  453. package/neon-http/session.d.cts +5 -14
  454. package/neon-http/session.d.ts +5 -14
  455. package/neon-http/session.js +20 -28
  456. package/neon-http/session.js.map +1 -1
  457. package/neon-serverless/driver.cjs +6 -11
  458. package/neon-serverless/driver.cjs.map +1 -1
  459. package/neon-serverless/driver.d.cts +6 -6
  460. package/neon-serverless/driver.d.ts +6 -6
  461. package/neon-serverless/driver.js +6 -11
  462. package/neon-serverless/driver.js.map +1 -1
  463. package/neon-serverless/session.cjs +27 -27
  464. package/neon-serverless/session.cjs.map +1 -1
  465. package/neon-serverless/session.d.cts +5 -14
  466. package/neon-serverless/session.d.ts +5 -14
  467. package/neon-serverless/session.js +27 -27
  468. package/neon-serverless/session.js.map +1 -1
  469. package/node-postgres/driver.cjs +6 -11
  470. package/node-postgres/driver.cjs.map +1 -1
  471. package/node-postgres/driver.d.cts +6 -6
  472. package/node-postgres/driver.d.ts +6 -6
  473. package/node-postgres/driver.js +6 -11
  474. package/node-postgres/driver.js.map +1 -1
  475. package/node-postgres/session.cjs +21 -25
  476. package/node-postgres/session.cjs.map +1 -1
  477. package/node-postgres/session.d.cts +5 -15
  478. package/node-postgres/session.d.ts +5 -15
  479. package/node-postgres/session.js +21 -25
  480. package/node-postgres/session.js.map +1 -1
  481. package/op-sqlite/driver.cjs +1 -5
  482. package/op-sqlite/driver.cjs.map +1 -1
  483. package/op-sqlite/driver.d.cts +2 -1
  484. package/op-sqlite/driver.d.ts +2 -1
  485. package/op-sqlite/driver.js +1 -5
  486. package/op-sqlite/driver.js.map +1 -1
  487. package/op-sqlite/session.cjs +11 -25
  488. package/op-sqlite/session.cjs.map +1 -1
  489. package/op-sqlite/session.d.cts +6 -16
  490. package/op-sqlite/session.d.ts +6 -16
  491. package/op-sqlite/session.js +11 -25
  492. package/op-sqlite/session.js.map +1 -1
  493. package/package.json +331 -50
  494. package/pg-core/columns/common.cjs +2 -0
  495. package/pg-core/columns/common.cjs.map +1 -1
  496. package/pg-core/columns/common.js +2 -0
  497. package/pg-core/columns/common.js.map +1 -1
  498. package/pg-core/db.cjs +5 -6
  499. package/pg-core/db.cjs.map +1 -1
  500. package/pg-core/db.d.cts +3 -5
  501. package/pg-core/db.d.ts +3 -5
  502. package/pg-core/db.js +5 -6
  503. package/pg-core/db.js.map +1 -1
  504. package/pg-core/dialect.cjs +26 -19
  505. package/pg-core/dialect.cjs.map +1 -1
  506. package/pg-core/dialect.d.cts +7 -6
  507. package/pg-core/dialect.d.ts +7 -6
  508. package/pg-core/dialect.js +27 -20
  509. package/pg-core/dialect.js.map +1 -1
  510. package/pg-core/query-builders/delete.cjs +7 -7
  511. package/pg-core/query-builders/delete.cjs.map +1 -1
  512. package/pg-core/query-builders/delete.d.cts +0 -2
  513. package/pg-core/query-builders/delete.d.ts +0 -2
  514. package/pg-core/query-builders/delete.js +7 -7
  515. package/pg-core/query-builders/delete.js.map +1 -1
  516. package/pg-core/query-builders/insert.cjs +37 -11
  517. package/pg-core/query-builders/insert.cjs.map +1 -1
  518. package/pg-core/query-builders/insert.d.cts +0 -2
  519. package/pg-core/query-builders/insert.d.ts +0 -2
  520. package/pg-core/query-builders/insert.js +39 -13
  521. package/pg-core/query-builders/insert.js.map +1 -1
  522. package/pg-core/query-builders/query.cjs +12 -1
  523. package/pg-core/query-builders/query.cjs.map +1 -1
  524. package/pg-core/query-builders/query.js +12 -1
  525. package/pg-core/query-builders/query.js.map +1 -1
  526. package/pg-core/query-builders/select.cjs +14 -33
  527. package/pg-core/query-builders/select.cjs.map +1 -1
  528. package/pg-core/query-builders/select.d.cts +6 -15
  529. package/pg-core/query-builders/select.d.ts +6 -15
  530. package/pg-core/query-builders/select.js +14 -33
  531. package/pg-core/query-builders/select.js.map +1 -1
  532. package/pg-core/query-builders/update.cjs +8 -8
  533. package/pg-core/query-builders/update.cjs.map +1 -1
  534. package/pg-core/query-builders/update.d.cts +1 -3
  535. package/pg-core/query-builders/update.d.ts +1 -3
  536. package/pg-core/query-builders/update.js +9 -13
  537. package/pg-core/query-builders/update.js.map +1 -1
  538. package/pg-core/session.cjs +45 -78
  539. package/pg-core/session.cjs.map +1 -1
  540. package/pg-core/session.d.cts +12 -17
  541. package/pg-core/session.d.ts +12 -17
  542. package/pg-core/session.js +46 -79
  543. package/pg-core/session.js.map +1 -1
  544. package/pg-core/utils.cjs +0 -16
  545. package/pg-core/utils.cjs.map +1 -1
  546. package/pg-core/utils.d.cts +4 -8
  547. package/pg-core/utils.d.ts +4 -8
  548. package/pg-core/utils.js +1 -16
  549. package/pg-core/utils.js.map +1 -1
  550. package/pg-proxy/driver.cjs +3 -7
  551. package/pg-proxy/driver.cjs.map +1 -1
  552. package/pg-proxy/driver.d.cts +2 -1
  553. package/pg-proxy/driver.d.ts +2 -1
  554. package/pg-proxy/driver.js +3 -7
  555. package/pg-proxy/driver.js.map +1 -1
  556. package/pg-proxy/session.cjs +10 -18
  557. package/pg-proxy/session.cjs.map +1 -1
  558. package/pg-proxy/session.d.cts +5 -14
  559. package/pg-proxy/session.d.ts +5 -14
  560. package/pg-proxy/session.js +10 -18
  561. package/pg-proxy/session.js.map +1 -1
  562. package/pglite/driver.cjs +6 -11
  563. package/pglite/driver.cjs.map +1 -1
  564. package/pglite/driver.d.cts +6 -6
  565. package/pglite/driver.d.ts +6 -6
  566. package/pglite/driver.js +6 -11
  567. package/pglite/driver.js.map +1 -1
  568. package/pglite/session.cjs +23 -25
  569. package/pglite/session.cjs.map +1 -1
  570. package/pglite/session.d.cts +5 -14
  571. package/pglite/session.d.ts +5 -14
  572. package/pglite/session.js +23 -25
  573. package/pglite/session.js.map +1 -1
  574. package/planetscale-serverless/driver.cjs +3 -6
  575. package/planetscale-serverless/driver.cjs.map +1 -1
  576. package/planetscale-serverless/driver.d.cts +4 -4
  577. package/planetscale-serverless/driver.d.ts +4 -4
  578. package/planetscale-serverless/driver.js +3 -6
  579. package/planetscale-serverless/driver.js.map +1 -1
  580. package/planetscale-serverless/session.cjs +25 -25
  581. package/planetscale-serverless/session.cjs.map +1 -1
  582. package/planetscale-serverless/session.d.cts +6 -17
  583. package/planetscale-serverless/session.d.ts +6 -17
  584. package/planetscale-serverless/session.js +25 -25
  585. package/planetscale-serverless/session.js.map +1 -1
  586. package/postgres-js/driver.cjs +3 -6
  587. package/postgres-js/driver.cjs.map +1 -1
  588. package/postgres-js/driver.d.cts +4 -3
  589. package/postgres-js/driver.d.ts +4 -3
  590. package/postgres-js/driver.js +3 -6
  591. package/postgres-js/driver.js.map +1 -1
  592. package/postgres-js/session.cjs +30 -31
  593. package/postgres-js/session.cjs.map +1 -1
  594. package/postgres-js/session.d.cts +6 -15
  595. package/postgres-js/session.d.ts +6 -15
  596. package/postgres-js/session.js +30 -31
  597. package/postgres-js/session.js.map +1 -1
  598. package/prisma/mysql/driver.cjs +3 -3
  599. package/prisma/mysql/driver.cjs.map +1 -1
  600. package/prisma/mysql/driver.d.cts +3 -2
  601. package/prisma/mysql/driver.d.ts +3 -2
  602. package/prisma/mysql/driver.js +3 -3
  603. package/prisma/mysql/driver.js.map +1 -1
  604. package/prisma/mysql/session.cjs +10 -11
  605. package/prisma/mysql/session.cjs.map +1 -1
  606. package/prisma/mysql/session.d.cts +7 -6
  607. package/prisma/mysql/session.d.ts +7 -6
  608. package/prisma/mysql/session.js +10 -11
  609. package/prisma/mysql/session.js.map +1 -1
  610. package/prisma/pg/driver.cjs +3 -3
  611. package/prisma/pg/driver.cjs.map +1 -1
  612. package/prisma/pg/driver.d.cts +2 -1
  613. package/prisma/pg/driver.d.ts +2 -1
  614. package/prisma/pg/driver.js +3 -3
  615. package/prisma/pg/driver.js.map +1 -1
  616. package/prisma/pg/session.cjs +7 -7
  617. package/prisma/pg/session.cjs.map +1 -1
  618. package/prisma/pg/session.d.cts +6 -5
  619. package/prisma/pg/session.d.ts +6 -5
  620. package/prisma/pg/session.js +7 -7
  621. package/prisma/pg/session.js.map +1 -1
  622. package/prisma/sqlite/driver.cjs +7 -1
  623. package/prisma/sqlite/driver.cjs.map +1 -1
  624. package/prisma/sqlite/driver.d.cts +2 -1
  625. package/prisma/sqlite/driver.d.ts +2 -1
  626. package/prisma/sqlite/driver.js +7 -1
  627. package/prisma/sqlite/driver.js.map +1 -1
  628. package/prisma/sqlite/session.cjs +6 -6
  629. package/prisma/sqlite/session.cjs.map +1 -1
  630. package/prisma/sqlite/session.d.cts +6 -5
  631. package/prisma/sqlite/session.d.ts +6 -5
  632. package/prisma/sqlite/session.js +6 -6
  633. package/prisma/sqlite/session.js.map +1 -1
  634. package/query-builders/query-builder.cjs.map +1 -1
  635. package/query-builders/query-builder.d.cts +1 -2
  636. package/query-builders/query-builder.d.ts +1 -2
  637. package/query-builders/query-builder.js.map +1 -1
  638. package/singlestore/driver.cjs +28 -29
  639. package/singlestore/driver.cjs.map +1 -1
  640. package/singlestore/driver.d.cts +4 -4
  641. package/singlestore/driver.d.ts +4 -4
  642. package/singlestore/driver.js +28 -29
  643. package/singlestore/driver.js.map +1 -1
  644. package/singlestore/session.cjs +16 -22
  645. package/singlestore/session.cjs.map +1 -1
  646. package/singlestore/session.d.cts +5 -15
  647. package/singlestore/session.d.ts +5 -15
  648. package/singlestore/session.js +16 -22
  649. package/singlestore/session.js.map +1 -1
  650. package/singlestore-core/db.cjs +5 -6
  651. package/singlestore-core/db.cjs.map +1 -1
  652. package/singlestore-core/db.d.cts +3 -5
  653. package/singlestore-core/db.d.ts +3 -5
  654. package/singlestore-core/db.js +5 -6
  655. package/singlestore-core/db.js.map +1 -1
  656. package/singlestore-core/dialect.cjs +25 -18
  657. package/singlestore-core/dialect.cjs.map +1 -1
  658. package/singlestore-core/dialect.d.cts +7 -6
  659. package/singlestore-core/dialect.d.ts +7 -6
  660. package/singlestore-core/dialect.js +26 -19
  661. package/singlestore-core/dialect.js.map +1 -1
  662. package/singlestore-core/query-builders/delete.cjs +5 -7
  663. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  664. package/singlestore-core/query-builders/delete.js +5 -7
  665. package/singlestore-core/query-builders/delete.js.map +1 -1
  666. package/singlestore-core/query-builders/insert.cjs +30 -11
  667. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  668. package/singlestore-core/query-builders/insert.js +32 -13
  669. package/singlestore-core/query-builders/insert.js.map +1 -1
  670. package/singlestore-core/query-builders/query.cjs +12 -1
  671. package/singlestore-core/query-builders/query.cjs.map +1 -1
  672. package/singlestore-core/query-builders/query.js +12 -1
  673. package/singlestore-core/query-builders/query.js.map +1 -1
  674. package/singlestore-core/query-builders/select.cjs +14 -31
  675. package/singlestore-core/query-builders/select.cjs.map +1 -1
  676. package/singlestore-core/query-builders/select.d.cts +0 -9
  677. package/singlestore-core/query-builders/select.d.ts +0 -9
  678. package/singlestore-core/query-builders/select.js +14 -31
  679. package/singlestore-core/query-builders/select.js.map +1 -1
  680. package/singlestore-core/query-builders/update.cjs +6 -8
  681. package/singlestore-core/query-builders/update.cjs.map +1 -1
  682. package/singlestore-core/query-builders/update.js +6 -8
  683. package/singlestore-core/query-builders/update.js.map +1 -1
  684. package/singlestore-core/session.cjs +42 -80
  685. package/singlestore-core/session.cjs.map +1 -1
  686. package/singlestore-core/session.d.cts +14 -17
  687. package/singlestore-core/session.d.ts +14 -17
  688. package/singlestore-core/session.js +43 -81
  689. package/singlestore-core/session.js.map +1 -1
  690. package/singlestore-core/utils.cjs +0 -16
  691. package/singlestore-core/utils.cjs.map +1 -1
  692. package/singlestore-core/utils.d.cts +0 -3
  693. package/singlestore-core/utils.d.ts +0 -3
  694. package/singlestore-core/utils.js +0 -15
  695. package/singlestore-core/utils.js.map +1 -1
  696. package/singlestore-proxy/driver.cjs +3 -2
  697. package/singlestore-proxy/driver.cjs.map +1 -1
  698. package/singlestore-proxy/driver.d.cts +2 -1
  699. package/singlestore-proxy/driver.d.ts +2 -1
  700. package/singlestore-proxy/driver.js +3 -2
  701. package/singlestore-proxy/driver.js.map +1 -1
  702. package/singlestore-proxy/session.cjs +8 -8
  703. package/singlestore-proxy/session.cjs.map +1 -1
  704. package/singlestore-proxy/session.d.cts +5 -6
  705. package/singlestore-proxy/session.d.ts +5 -6
  706. package/singlestore-proxy/session.js +8 -8
  707. package/singlestore-proxy/session.js.map +1 -1
  708. package/sql/sql.cjs +24 -12
  709. package/sql/sql.cjs.map +1 -1
  710. package/sql/sql.d.cts +12 -0
  711. package/sql/sql.d.ts +12 -0
  712. package/sql/sql.js +23 -12
  713. package/sql/sql.js.map +1 -1
  714. package/sql-js/driver.cjs.map +1 -1
  715. package/sql-js/driver.d.cts +2 -1
  716. package/sql-js/driver.d.ts +2 -1
  717. package/sql-js/driver.js.map +1 -1
  718. package/sql-js/session.cjs +4 -4
  719. package/sql-js/session.cjs.map +1 -1
  720. package/sql-js/session.d.cts +4 -4
  721. package/sql-js/session.d.ts +4 -4
  722. package/sql-js/session.js +4 -4
  723. package/sql-js/session.js.map +1 -1
  724. package/sqlite-core/db.cjs +5 -6
  725. package/sqlite-core/db.cjs.map +1 -1
  726. package/sqlite-core/db.d.cts +3 -5
  727. package/sqlite-core/db.d.ts +3 -5
  728. package/sqlite-core/db.js +5 -6
  729. package/sqlite-core/db.js.map +1 -1
  730. package/sqlite-core/dialect.cjs +30 -19
  731. package/sqlite-core/dialect.cjs.map +1 -1
  732. package/sqlite-core/dialect.d.cts +7 -6
  733. package/sqlite-core/dialect.d.ts +7 -6
  734. package/sqlite-core/dialect.js +31 -20
  735. package/sqlite-core/dialect.js.map +1 -1
  736. package/sqlite-core/query-builders/delete.cjs +5 -5
  737. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  738. package/sqlite-core/query-builders/delete.js +5 -5
  739. package/sqlite-core/query-builders/delete.js.map +1 -1
  740. package/sqlite-core/query-builders/insert.cjs +25 -8
  741. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  742. package/sqlite-core/query-builders/insert.js +32 -10
  743. package/sqlite-core/query-builders/insert.js.map +1 -1
  744. package/sqlite-core/query-builders/query.cjs +12 -1
  745. package/sqlite-core/query-builders/query.cjs.map +1 -1
  746. package/sqlite-core/query-builders/query.js +12 -1
  747. package/sqlite-core/query-builders/query.js.map +1 -1
  748. package/sqlite-core/query-builders/select.cjs +15 -34
  749. package/sqlite-core/query-builders/select.cjs.map +1 -1
  750. package/sqlite-core/query-builders/select.d.cts +0 -9
  751. package/sqlite-core/query-builders/select.d.ts +0 -9
  752. package/sqlite-core/query-builders/select.js +15 -34
  753. package/sqlite-core/query-builders/select.js.map +1 -1
  754. package/sqlite-core/query-builders/update.cjs +6 -6
  755. package/sqlite-core/query-builders/update.cjs.map +1 -1
  756. package/sqlite-core/query-builders/update.js +6 -6
  757. package/sqlite-core/query-builders/update.js.map +1 -1
  758. package/sqlite-core/session.cjs +78 -90
  759. package/sqlite-core/session.cjs.map +1 -1
  760. package/sqlite-core/session.d.cts +20 -24
  761. package/sqlite-core/session.d.ts +20 -24
  762. package/sqlite-core/session.js +79 -91
  763. package/sqlite-core/session.js.map +1 -1
  764. package/sqlite-core/utils.cjs +0 -16
  765. package/sqlite-core/utils.cjs.map +1 -1
  766. package/sqlite-core/utils.d.cts +2 -6
  767. package/sqlite-core/utils.d.ts +2 -6
  768. package/sqlite-core/utils.js +0 -15
  769. package/sqlite-core/utils.js.map +1 -1
  770. package/sqlite-proxy/driver.cjs +4 -10
  771. package/sqlite-proxy/driver.cjs.map +1 -1
  772. package/sqlite-proxy/driver.d.cts +3 -2
  773. package/sqlite-proxy/driver.d.ts +3 -2
  774. package/sqlite-proxy/driver.js +4 -10
  775. package/sqlite-proxy/driver.js.map +1 -1
  776. package/sqlite-proxy/session.cjs +24 -29
  777. package/sqlite-proxy/session.cjs.map +1 -1
  778. package/sqlite-proxy/session.d.cts +8 -17
  779. package/sqlite-proxy/session.d.ts +8 -17
  780. package/sqlite-proxy/session.js +24 -29
  781. package/sqlite-proxy/session.js.map +1 -1
  782. package/subquery.cjs +3 -4
  783. package/subquery.cjs.map +1 -1
  784. package/subquery.d.cts +1 -2
  785. package/subquery.d.ts +1 -2
  786. package/subquery.js +3 -4
  787. package/subquery.js.map +1 -1
  788. package/tidb-serverless/driver.cjs +9 -6
  789. package/tidb-serverless/driver.cjs.map +1 -1
  790. package/tidb-serverless/driver.d.cts +4 -4
  791. package/tidb-serverless/driver.d.ts +4 -4
  792. package/tidb-serverless/driver.js +9 -6
  793. package/tidb-serverless/driver.js.map +1 -1
  794. package/tidb-serverless/session.cjs +25 -25
  795. package/tidb-serverless/session.cjs.map +1 -1
  796. package/tidb-serverless/session.d.cts +6 -17
  797. package/tidb-serverless/session.d.ts +6 -17
  798. package/tidb-serverless/session.js +25 -25
  799. package/tidb-serverless/session.js.map +1 -1
  800. package/tracing.cjs.map +1 -1
  801. package/tracing.js.map +1 -1
  802. package/utils.cjs +34 -24
  803. package/utils.cjs.map +1 -1
  804. package/utils.d.cts +5 -4
  805. package/utils.d.ts +5 -4
  806. package/utils.js +35 -15
  807. package/utils.js.map +1 -1
  808. package/vercel-postgres/driver.cjs +10 -12
  809. package/vercel-postgres/driver.cjs.map +1 -1
  810. package/vercel-postgres/driver.d.cts +6 -6
  811. package/vercel-postgres/driver.d.ts +6 -6
  812. package/vercel-postgres/driver.js +10 -12
  813. package/vercel-postgres/driver.js.map +1 -1
  814. package/vercel-postgres/session.cjs +22 -27
  815. package/vercel-postgres/session.cjs.map +1 -1
  816. package/vercel-postgres/session.d.cts +5 -14
  817. package/vercel-postgres/session.d.ts +5 -14
  818. package/vercel-postgres/session.js +22 -27
  819. package/vercel-postgres/session.js.map +1 -1
  820. package/version.cjs +1 -1
  821. package/version.d.cts +1 -1
  822. package/version.d.ts +1 -1
  823. package/version.js +1 -1
  824. package/xata-http/driver.cjs +8 -10
  825. package/xata-http/driver.cjs.map +1 -1
  826. package/xata-http/driver.d.cts +4 -4
  827. package/xata-http/driver.d.ts +4 -4
  828. package/xata-http/driver.js +8 -10
  829. package/xata-http/driver.js.map +1 -1
  830. package/xata-http/session.cjs +12 -24
  831. package/xata-http/session.cjs.map +1 -1
  832. package/xata-http/session.d.cts +5 -14
  833. package/xata-http/session.d.ts +5 -14
  834. package/xata-http/session.js +12 -24
  835. package/xata-http/session.js.map +1 -1
  836. package/cache/core/cache.cjs.map +0 -1
  837. package/cache/core/cache.d.cts +0 -35
  838. package/cache/core/cache.d.ts +0 -35
  839. package/cache/core/cache.js +0 -22
  840. package/cache/core/cache.js.map +0 -1
  841. package/cache/core/index.cjs.map +0 -1
  842. package/cache/core/index.d.cts +0 -1
  843. package/cache/core/index.d.ts +0 -1
  844. package/cache/core/index.js +0 -2
  845. package/cache/core/index.js.map +0 -1
  846. package/cache/core/types.cjs.map +0 -1
  847. package/cache/core/types.d.cts +0 -33
  848. package/cache/core/types.d.ts +0 -33
  849. package/cache/core/types.js +0 -1
  850. package/cache/core/types.js.map +0 -1
  851. package/cache/upstash/cache.cjs +0 -191
  852. package/cache/upstash/cache.cjs.map +0 -1
  853. package/cache/upstash/cache.d.cts +0 -59
  854. package/cache/upstash/cache.d.ts +0 -59
  855. package/cache/upstash/cache.js +0 -166
  856. package/cache/upstash/cache.js.map +0 -1
  857. package/cache/upstash/index.cjs.map +0 -1
  858. package/cache/upstash/index.d.cts +0 -1
  859. package/cache/upstash/index.d.ts +0 -1
  860. package/cache/upstash/index.js +0 -2
  861. package/cache/upstash/index.js.map +0 -1
  862. package/errors/index.cjs.map +0 -1
  863. package/errors/index.d.cts +0 -6
  864. package/errors/index.d.ts +0 -6
  865. package/errors/index.js +0 -16
  866. package/errors/index.js.map +0 -1
@@ -23,93 +23,18 @@ __export(session_exports, {
23
23
  GelTransaction: () => GelTransaction
24
24
  });
25
25
  module.exports = __toCommonJS(session_exports);
26
- var import_cache = require("../cache/core/cache.cjs");
27
26
  var import_entity = require("../entity.cjs");
28
27
  var import_errors = require("../errors.cjs");
29
- var import_errors2 = require("../errors/index.cjs");
30
28
  var import_tracing = require("../tracing.cjs");
31
- var import_utils = require("../utils.cjs");
32
29
  var import_db = require("./db.cjs");
33
30
  class GelPreparedQuery {
34
- constructor(query, cache, queryMetadata, cacheConfig) {
31
+ constructor(query, extensions, hookContext) {
35
32
  this.query = query;
36
- this.cache = cache;
37
- this.queryMetadata = queryMetadata;
38
- this.cacheConfig = cacheConfig;
39
- if (cache && cache.strategy() === "all" && cacheConfig === void 0) {
40
- this.cacheConfig = { enable: true, autoInvalidate: true };
41
- }
42
- if (!this.cacheConfig?.enable) {
43
- this.cacheConfig = void 0;
44
- }
45
- }
46
- /** @internal */
47
- async queryWithCache(queryString, params, query) {
48
- if (this.cache === void 0 || (0, import_entity.is)(this.cache, import_cache.NoopCache) || this.queryMetadata === void 0) {
49
- try {
50
- return await query();
51
- } catch (e) {
52
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
53
- }
54
- }
55
- if (this.cacheConfig && !this.cacheConfig.enable) {
56
- try {
57
- return await query();
58
- } catch (e) {
59
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
60
- }
61
- }
62
- if ((this.queryMetadata.type === "insert" || this.queryMetadata.type === "update" || this.queryMetadata.type === "delete") && this.queryMetadata.tables.length > 0) {
63
- try {
64
- const [res] = await Promise.all([
65
- query(),
66
- this.cache.onMutate({ tables: this.queryMetadata.tables })
67
- ]);
68
- return res;
69
- } catch (e) {
70
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
71
- }
72
- }
73
- if (!this.cacheConfig) {
74
- try {
75
- return await query();
76
- } catch (e) {
77
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
78
- }
79
- }
80
- if (this.queryMetadata.type === "select") {
81
- const fromCache = await this.cache.get(
82
- this.cacheConfig.tag ?? (await (0, import_utils.hashQuery)(queryString, params)),
83
- this.queryMetadata.tables,
84
- this.cacheConfig.tag !== void 0,
85
- this.cacheConfig.autoInvalidate
86
- );
87
- if (fromCache === void 0) {
88
- let result;
89
- try {
90
- result = await query();
91
- } catch (e) {
92
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
93
- }
94
- await this.cache.put(
95
- this.cacheConfig.tag ?? (await (0, import_utils.hashQuery)(queryString, params)),
96
- result,
97
- // make sure we send tables that were used in a query only if user wants to invalidate it on each write
98
- this.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],
99
- this.cacheConfig.tag !== void 0,
100
- this.cacheConfig.config
101
- );
102
- return result;
103
- }
104
- return fromCache;
105
- }
106
- try {
107
- return await query();
108
- } catch (e) {
109
- throw new import_errors2.DrizzleQueryError(queryString, params, e);
110
- }
33
+ this.extensions = extensions;
34
+ this.hookContext = hookContext;
111
35
  }
112
36
  authToken;
37
+ extensionMetas = [];
113
38
  getQuery() {
114
39
  return this.query;
115
40
  }
@@ -119,10 +44,51 @@ class GelPreparedQuery {
119
44
  static [import_entity.entityKind] = "GelPreparedQuery";
120
45
  /** @internal */
121
46
  joinsNotNullableMap;
47
+ async execute(placeholderValues) {
48
+ const {
49
+ extensions,
50
+ hookContext,
51
+ query: {
52
+ sql: queryString,
53
+ params
54
+ },
55
+ extensionMetas
56
+ } = this;
57
+ if (!extensions?.length || !hookContext)
58
+ return await this._execute(placeholderValues);
59
+ await import_tracing.tracer.startActiveSpan("drizzle.hooks.beforeExecute", async () => {
60
+ for (const [i, extension] of extensions.entries()) {
61
+ const ext = extension;
62
+ const config = {
63
+ ...hookContext,
64
+ stage: "before",
65
+ sql: queryString,
66
+ params,
67
+ placeholders: placeholderValues,
68
+ metadata: extensionMetas[i]
69
+ };
70
+ await ext.hook(config);
71
+ extensionMetas[i] = config.metadata;
72
+ }
73
+ });
74
+ const res = await this._execute(placeholderValues);
75
+ return await import_tracing.tracer.startActiveSpan("drizzle.hooks.afterExecute", async () => {
76
+ for (const [i, ext] of extensions.entries()) {
77
+ await ext.hook({
78
+ ...hookContext,
79
+ metadata: extensionMetas[i],
80
+ stage: "after",
81
+ data: res
82
+ });
83
+ }
84
+ return res;
85
+ });
86
+ }
122
87
  }
123
88
  class GelSession {
124
- constructor(dialect) {
89
+ constructor(dialect, extensions) {
125
90
  this.dialect = dialect;
91
+ this.extensions = extensions;
126
92
  }
127
93
  static [import_entity.entityKind] = "GelSession";
128
94
  execute(query) {
@@ -154,8 +120,8 @@ class GelSession {
154
120
  }
155
121
  }
156
122
  class GelTransaction extends import_db.GelDatabase {
157
- constructor(dialect, session, schema) {
158
- super(dialect, session, schema);
123
+ constructor(dialect, session, schema, extensions) {
124
+ super(dialect, session, schema, extensions);
159
125
  this.schema = schema;
160
126
  }
161
127
  static [import_entity.entityKind] = "GelTransaction";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport { DrizzleQueryError } from '~/errors/index.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { hashQuery, type NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(\n\t\tprotected query: Query,\n\t\tprivate cache?: Cache,\n\t\t// per query related metadata\n\t\tprivate queryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\t// config that was passed through $withCache\n\t\tprivate cacheConfig?: WithCacheConfig,\n\t) {\n\t\t// it means that no $withCache options were passed and it should be just enabled\n\t\tif (cache && cache.strategy() === 'all' && cacheConfig === undefined) {\n\t\t\tthis.cacheConfig = { enable: true, autoInvalidate: true };\n\t\t}\n\t\tif (!this.cacheConfig?.enable) {\n\t\t\tthis.cacheConfig = undefined;\n\t\t}\n\t}\n\n\t/** @internal */\n\tprotected async queryWithCache<T>(\n\t\tqueryString: string,\n\t\tparams: any[],\n\t\tquery: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (this.cache === undefined || is(this.cache, NoopCache) || this.queryMetadata === undefined) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any mutations, if globally is false\n\t\tif (this.cacheConfig && !this.cacheConfig.enable) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// For mutate queries, we should query the database, wait for a response, and then perform invalidation\n\t\tif (\n\t\t\t(\n\t\t\t\tthis.queryMetadata.type === 'insert' || this.queryMetadata.type === 'update'\n\t\t\t\t|| this.queryMetadata.type === 'delete'\n\t\t\t) && this.queryMetadata.tables.length > 0\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst [res] = await Promise.all([\n\t\t\t\t\tquery(),\n\t\t\t\t\tthis.cache.onMutate({ tables: this.queryMetadata.tables }),\n\t\t\t\t]);\n\t\t\t\treturn res;\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any reads if globally disabled\n\t\tif (!this.cacheConfig) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\tif (this.queryMetadata.type === 'select') {\n\t\t\tconst fromCache = await this.cache.get(\n\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\tthis.queryMetadata.tables,\n\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\tthis.cacheConfig.autoInvalidate,\n\t\t\t);\n\t\t\tif (fromCache === undefined) {\n\t\t\t\tlet result;\n\t\t\t\ttry {\n\t\t\t\t\tresult = await query();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t\t}\n\n\t\t\t\t// put actual key\n\t\t\t\tawait this.cache.put(\n\t\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\t\tresult,\n\t\t\t\t\t// make sure we send tables that were used in a query only if user wants to invalidate it on each write\n\t\t\t\t\tthis.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],\n\t\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\t\tthis.cacheConfig.config,\n\t\t\t\t);\n\t\t\t\t// put flag if we should invalidate or not\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn fromCache as unknown as T;\n\t\t}\n\t\ttry {\n\t\t\treturn await query();\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t}\n\t}\n\n\tprotected authToken?: NeonAuthToken;\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect) {}\n\n\tabstract prepareQuery<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[][], mapColumnValue?: (value: unknown) => 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): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":"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","names":["import_errors"]}
1
+ {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { BlankGelHookContext, DrizzleGelExtension, DrizzleGelHookContext } from '~/extension-core/gel/index.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(\n\t\tprotected query: Query,\n\t\tprotected extensions?: DrizzleGelExtension[],\n\t\tprotected hookContext?: BlankGelHookContext,\n\t) {}\n\n\tprotected authToken?: NeonAuthToken;\n\tprivate extensionMetas: unknown[] = [];\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tasync execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']> {\n\t\tconst {\n\t\t\textensions,\n\t\t\thookContext,\n\t\t\tquery: {\n\t\t\t\tsql: queryString,\n\t\t\t\tparams,\n\t\t\t},\n\t\t\textensionMetas,\n\t\t} = this;\n\t\tif (!extensions?.length || !hookContext) return await this._execute(placeholderValues);\n\n\t\tawait tracer.startActiveSpan('drizzle.hooks.beforeExecute', async () => {\n\t\t\tfor (const [i, extension] of extensions.entries()) {\n\t\t\t\tconst ext = extension!;\n\t\t\t\tconst config = {\n\t\t\t\t\t...hookContext,\n\t\t\t\t\tstage: 'before',\n\t\t\t\t\tsql: queryString,\n\t\t\t\t\tparams: params,\n\t\t\t\t\tplaceholders: placeholderValues,\n\t\t\t\t\tmetadata: extensionMetas[i],\n\t\t\t\t} as DrizzleGelHookContext;\n\n\t\t\t\tawait ext.hook(config);\n\t\t\t\textensionMetas[i] = config.metadata;\n\t\t\t}\n\t\t});\n\n\t\tconst res = await this._execute(placeholderValues);\n\n\t\treturn await tracer.startActiveSpan('drizzle.hooks.afterExecute', async () => {\n\t\t\tfor (const [i, ext] of extensions.entries()) {\n\t\t\t\tawait ext.hook({\n\t\t\t\t\t...hookContext,\n\t\t\t\t\tmetadata: extensionMetas[i],\n\t\t\t\t\tstage: 'after',\n\t\t\t\t\tdata: res as unknown[],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn res;\n\t\t});\n\t}\n\n\tprotected abstract _execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect, readonly extensions?: DrizzleGelExtension[]) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\thookContext?: BlankGelHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\textensions?: DrizzleGelExtension[],\n\t) {\n\t\tsuper(dialect, session, schema, extensions);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAAyC;AAKzC,qBAAuB;AAEvB,gBAA4B;AAUrB,MAAe,iBAAyE;AAAA,EAC9F,YACW,OACA,YACA,aACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EAEO;AAAA,EACF,iBAA4B,CAAC;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,MAAM,QAAQ,mBAAoE;AACjF,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACN,KAAK;AAAA,QACL;AAAA,MACD;AAAA,MACA;AAAA,IACD,IAAI;AACJ,QAAI,CAAC,YAAY,UAAU,CAAC;AAAa,aAAO,MAAM,KAAK,SAAS,iBAAiB;AAErF,UAAM,sBAAO,gBAAgB,+BAA+B,YAAY;AACvE,iBAAW,CAAC,GAAG,SAAS,KAAK,WAAW,QAAQ,GAAG;AAClD,cAAM,MAAM;AACZ,cAAM,SAAS;AAAA,UACd,GAAG;AAAA,UACH,OAAO;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,cAAc;AAAA,UACd,UAAU,eAAe,CAAC;AAAA,QAC3B;AAEA,cAAM,IAAI,KAAK,MAAM;AACrB,uBAAe,CAAC,IAAI,OAAO;AAAA,MAC5B;AAAA,IACD,CAAC;AAED,UAAM,MAAM,MAAM,KAAK,SAAS,iBAAiB;AAEjD,WAAO,MAAM,sBAAO,gBAAgB,8BAA8B,YAAY;AAC7E,iBAAW,CAAC,GAAG,GAAG,KAAK,WAAW,QAAQ,GAAG;AAC5C,cAAM,IAAI,KAAK;AAAA,UACd,GAAG;AAAA,UACH,UAAU,eAAe,CAAC;AAAA,UAC1B,OAAO;AAAA,UACP,MAAM;AAAA,QACP,CAAC;AAAA,MACF;AAEA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AASD;AAEO,MAAe,WAIpB;AAAA,EAGD,YAAsB,SAA8B,YAAoC;AAAlE;AAA8B;AAAA,EAAqC;AAAA,EAFzF,QAAiB,wBAAU,IAAY;AAAA,EAavC,QAAW,OAAwB;AAClC,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,sBAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ,MAAS;AAAA,IAClC,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAAA,EAEA,MAAM,MAAM,KAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA6B,GAAG;AAEvD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,OAAO;AAAA,IACf;AAAA,EACD;AAKD;AAEO,MAAe,uBAIZ,sBAAgD;AAAA,EAGzD,YACC,SACA,SACU,QAKV,YACC;AACD,UAAM,SAAS,SAAS,QAAQ,UAAU;AAPhC;AAAA,EAQX;AAAA,EAbA,QAA0B,wBAAU,IAAY;AAAA,EAehD,WAAkB;AACjB,UAAM,IAAI,uCAAyB;AAAA,EACpC;AAKD;","names":[]}
@@ -1,10 +1,9 @@
1
- import { type Cache } from "../cache/core/cache.cjs";
2
- import type { WithCacheConfig } from "../cache/core/types.cjs";
3
1
  import { entityKind } from "../entity.cjs";
2
+ import type { BlankGelHookContext, DrizzleGelExtension } from "../extension-core/gel/index.cjs";
4
3
  import type { TablesRelationalConfig } from "../relations.cjs";
5
4
  import type { PreparedQuery } from "../session.cjs";
6
5
  import type { Query, SQL } from "../sql/index.cjs";
7
- import { type NeonAuthToken } from "../utils.cjs";
6
+ import type { NeonAuthToken } from "../utils.cjs";
8
7
  import { GelDatabase } from "./db.cjs";
9
8
  import type { GelDialect } from "./dialect.cjs";
10
9
  import type { SelectedFieldsOrdered } from "./query-builders/select.types.cjs";
@@ -15,28 +14,24 @@ export interface PreparedQueryConfig {
15
14
  }
16
15
  export declare abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {
17
16
  protected query: Query;
18
- private cache?;
19
- private queryMetadata?;
20
- private cacheConfig?;
21
- constructor(query: Query, cache?: Cache | undefined, queryMetadata?: {
22
- type: 'select' | 'update' | 'delete' | 'insert';
23
- tables: string[];
24
- } | undefined, cacheConfig?: WithCacheConfig | undefined);
17
+ protected extensions?: DrizzleGelExtension[] | undefined;
18
+ protected hookContext?: BlankGelHookContext | undefined;
19
+ constructor(query: Query, extensions?: DrizzleGelExtension[] | undefined, hookContext?: BlankGelHookContext | undefined);
25
20
  protected authToken?: NeonAuthToken;
21
+ private extensionMetas;
26
22
  getQuery(): Query;
27
23
  mapResult(response: unknown, _isFromBatch?: boolean): unknown;
28
24
  static readonly [entityKind]: string;
29
- abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
25
+ execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
26
+ protected abstract _execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
30
27
  }
31
28
  export declare abstract class GelSession<TQueryResult extends GelQueryResultHKT = any, // TO
32
29
  TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
33
30
  protected dialect: GelDialect;
31
+ readonly extensions?: DrizzleGelExtension[] | undefined;
34
32
  static readonly [entityKind]: string;
35
- constructor(dialect: GelDialect);
36
- abstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'], queryMetadata?: {
37
- type: 'select' | 'update' | 'delete' | 'insert';
38
- tables: string[];
39
- }, cacheConfig?: WithCacheConfig): GelPreparedQuery<T>;
33
+ constructor(dialect: GelDialect, extensions?: DrizzleGelExtension[] | undefined);
34
+ abstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankGelHookContext, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute']): GelPreparedQuery<T>;
40
35
  execute<T>(query: SQL): Promise<T>;
41
36
  all<T = unknown>(query: SQL): Promise<T[]>;
42
37
  count(sql: SQL): Promise<number>;
@@ -53,7 +48,7 @@ export declare abstract class GelTransaction<TQueryResult extends GelQueryResult
53
48
  fullSchema: Record<string, unknown>;
54
49
  schema: TSchema;
55
50
  tableNamesMap: Record<string, string>;
56
- } | undefined);
51
+ } | undefined, extensions?: DrizzleGelExtension[]);
57
52
  rollback(): never;
58
53
  abstract transaction<T>(transaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
59
54
  }
@@ -1,10 +1,9 @@
1
- import { type Cache } from "../cache/core/cache.js";
2
- import type { WithCacheConfig } from "../cache/core/types.js";
3
1
  import { entityKind } from "../entity.js";
2
+ import type { BlankGelHookContext, DrizzleGelExtension } from "../extension-core/gel/index.js";
4
3
  import type { TablesRelationalConfig } from "../relations.js";
5
4
  import type { PreparedQuery } from "../session.js";
6
5
  import type { Query, SQL } from "../sql/index.js";
7
- import { type NeonAuthToken } from "../utils.js";
6
+ import type { NeonAuthToken } from "../utils.js";
8
7
  import { GelDatabase } from "./db.js";
9
8
  import type { GelDialect } from "./dialect.js";
10
9
  import type { SelectedFieldsOrdered } from "./query-builders/select.types.js";
@@ -15,28 +14,24 @@ export interface PreparedQueryConfig {
15
14
  }
16
15
  export declare abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {
17
16
  protected query: Query;
18
- private cache?;
19
- private queryMetadata?;
20
- private cacheConfig?;
21
- constructor(query: Query, cache?: Cache | undefined, queryMetadata?: {
22
- type: 'select' | 'update' | 'delete' | 'insert';
23
- tables: string[];
24
- } | undefined, cacheConfig?: WithCacheConfig | undefined);
17
+ protected extensions?: DrizzleGelExtension[] | undefined;
18
+ protected hookContext?: BlankGelHookContext | undefined;
19
+ constructor(query: Query, extensions?: DrizzleGelExtension[] | undefined, hookContext?: BlankGelHookContext | undefined);
25
20
  protected authToken?: NeonAuthToken;
21
+ private extensionMetas;
26
22
  getQuery(): Query;
27
23
  mapResult(response: unknown, _isFromBatch?: boolean): unknown;
28
24
  static readonly [entityKind]: string;
29
- abstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
25
+ execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
26
+ protected abstract _execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;
30
27
  }
31
28
  export declare abstract class GelSession<TQueryResult extends GelQueryResultHKT = any, // TO
32
29
  TFullSchema extends Record<string, unknown> = Record<string, never>, TSchema extends TablesRelationalConfig = Record<string, never>> {
33
30
  protected dialect: GelDialect;
31
+ readonly extensions?: DrizzleGelExtension[] | undefined;
34
32
  static readonly [entityKind]: string;
35
- constructor(dialect: GelDialect);
36
- abstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'], queryMetadata?: {
37
- type: 'select' | 'update' | 'delete' | 'insert';
38
- tables: string[];
39
- }, cacheConfig?: WithCacheConfig): GelPreparedQuery<T>;
33
+ constructor(dialect: GelDialect, extensions?: DrizzleGelExtension[] | undefined);
34
+ abstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankGelHookContext, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute']): GelPreparedQuery<T>;
40
35
  execute<T>(query: SQL): Promise<T>;
41
36
  all<T = unknown>(query: SQL): Promise<T[]>;
42
37
  count(sql: SQL): Promise<number>;
@@ -53,7 +48,7 @@ export declare abstract class GelTransaction<TQueryResult extends GelQueryResult
53
48
  fullSchema: Record<string, unknown>;
54
49
  schema: TSchema;
55
50
  tableNamesMap: Record<string, string>;
56
- } | undefined);
51
+ } | undefined, extensions?: DrizzleGelExtension[]);
57
52
  rollback(): never;
58
53
  abstract transaction<T>(transaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
59
54
  }
@@ -1,90 +1,15 @@
1
- import { NoopCache } from "../cache/core/cache.js";
2
- import { entityKind, is } from "../entity.js";
1
+ import { entityKind } from "../entity.js";
3
2
  import { TransactionRollbackError } from "../errors.js";
4
- import { DrizzleQueryError } from "../errors/index.js";
5
3
  import { tracer } from "../tracing.js";
6
- import { hashQuery } from "../utils.js";
7
4
  import { GelDatabase } from "./db.js";
8
5
  class GelPreparedQuery {
9
- constructor(query, cache, queryMetadata, cacheConfig) {
6
+ constructor(query, extensions, hookContext) {
10
7
  this.query = query;
11
- this.cache = cache;
12
- this.queryMetadata = queryMetadata;
13
- this.cacheConfig = cacheConfig;
14
- if (cache && cache.strategy() === "all" && cacheConfig === void 0) {
15
- this.cacheConfig = { enable: true, autoInvalidate: true };
16
- }
17
- if (!this.cacheConfig?.enable) {
18
- this.cacheConfig = void 0;
19
- }
20
- }
21
- /** @internal */
22
- async queryWithCache(queryString, params, query) {
23
- if (this.cache === void 0 || is(this.cache, NoopCache) || this.queryMetadata === void 0) {
24
- try {
25
- return await query();
26
- } catch (e) {
27
- throw new DrizzleQueryError(queryString, params, e);
28
- }
29
- }
30
- if (this.cacheConfig && !this.cacheConfig.enable) {
31
- try {
32
- return await query();
33
- } catch (e) {
34
- throw new DrizzleQueryError(queryString, params, e);
35
- }
36
- }
37
- if ((this.queryMetadata.type === "insert" || this.queryMetadata.type === "update" || this.queryMetadata.type === "delete") && this.queryMetadata.tables.length > 0) {
38
- try {
39
- const [res] = await Promise.all([
40
- query(),
41
- this.cache.onMutate({ tables: this.queryMetadata.tables })
42
- ]);
43
- return res;
44
- } catch (e) {
45
- throw new DrizzleQueryError(queryString, params, e);
46
- }
47
- }
48
- if (!this.cacheConfig) {
49
- try {
50
- return await query();
51
- } catch (e) {
52
- throw new DrizzleQueryError(queryString, params, e);
53
- }
54
- }
55
- if (this.queryMetadata.type === "select") {
56
- const fromCache = await this.cache.get(
57
- this.cacheConfig.tag ?? (await hashQuery(queryString, params)),
58
- this.queryMetadata.tables,
59
- this.cacheConfig.tag !== void 0,
60
- this.cacheConfig.autoInvalidate
61
- );
62
- if (fromCache === void 0) {
63
- let result;
64
- try {
65
- result = await query();
66
- } catch (e) {
67
- throw new DrizzleQueryError(queryString, params, e);
68
- }
69
- await this.cache.put(
70
- this.cacheConfig.tag ?? (await hashQuery(queryString, params)),
71
- result,
72
- // make sure we send tables that were used in a query only if user wants to invalidate it on each write
73
- this.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],
74
- this.cacheConfig.tag !== void 0,
75
- this.cacheConfig.config
76
- );
77
- return result;
78
- }
79
- return fromCache;
80
- }
81
- try {
82
- return await query();
83
- } catch (e) {
84
- throw new DrizzleQueryError(queryString, params, e);
85
- }
8
+ this.extensions = extensions;
9
+ this.hookContext = hookContext;
86
10
  }
87
11
  authToken;
12
+ extensionMetas = [];
88
13
  getQuery() {
89
14
  return this.query;
90
15
  }
@@ -94,10 +19,51 @@ class GelPreparedQuery {
94
19
  static [entityKind] = "GelPreparedQuery";
95
20
  /** @internal */
96
21
  joinsNotNullableMap;
22
+ async execute(placeholderValues) {
23
+ const {
24
+ extensions,
25
+ hookContext,
26
+ query: {
27
+ sql: queryString,
28
+ params
29
+ },
30
+ extensionMetas
31
+ } = this;
32
+ if (!extensions?.length || !hookContext)
33
+ return await this._execute(placeholderValues);
34
+ await tracer.startActiveSpan("drizzle.hooks.beforeExecute", async () => {
35
+ for (const [i, extension] of extensions.entries()) {
36
+ const ext = extension;
37
+ const config = {
38
+ ...hookContext,
39
+ stage: "before",
40
+ sql: queryString,
41
+ params,
42
+ placeholders: placeholderValues,
43
+ metadata: extensionMetas[i]
44
+ };
45
+ await ext.hook(config);
46
+ extensionMetas[i] = config.metadata;
47
+ }
48
+ });
49
+ const res = await this._execute(placeholderValues);
50
+ return await tracer.startActiveSpan("drizzle.hooks.afterExecute", async () => {
51
+ for (const [i, ext] of extensions.entries()) {
52
+ await ext.hook({
53
+ ...hookContext,
54
+ metadata: extensionMetas[i],
55
+ stage: "after",
56
+ data: res
57
+ });
58
+ }
59
+ return res;
60
+ });
61
+ }
97
62
  }
98
63
  class GelSession {
99
- constructor(dialect) {
64
+ constructor(dialect, extensions) {
100
65
  this.dialect = dialect;
66
+ this.extensions = extensions;
101
67
  }
102
68
  static [entityKind] = "GelSession";
103
69
  execute(query) {
@@ -129,8 +95,8 @@ class GelSession {
129
95
  }
130
96
  }
131
97
  class GelTransaction extends GelDatabase {
132
- constructor(dialect, session, schema) {
133
- super(dialect, session, schema);
98
+ constructor(dialect, session, schema, extensions) {
99
+ super(dialect, session, schema, extensions);
134
100
  this.schema = schema;
135
101
  }
136
102
  static [entityKind] = "GelTransaction";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import { type Cache, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport { DrizzleQueryError } from '~/errors/index.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport { hashQuery, type NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(\n\t\tprotected query: Query,\n\t\tprivate cache?: Cache,\n\t\t// per query related metadata\n\t\tprivate queryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\t// config that was passed through $withCache\n\t\tprivate cacheConfig?: WithCacheConfig,\n\t) {\n\t\t// it means that no $withCache options were passed and it should be just enabled\n\t\tif (cache && cache.strategy() === 'all' && cacheConfig === undefined) {\n\t\t\tthis.cacheConfig = { enable: true, autoInvalidate: true };\n\t\t}\n\t\tif (!this.cacheConfig?.enable) {\n\t\t\tthis.cacheConfig = undefined;\n\t\t}\n\t}\n\n\t/** @internal */\n\tprotected async queryWithCache<T>(\n\t\tqueryString: string,\n\t\tparams: any[],\n\t\tquery: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (this.cache === undefined || is(this.cache, NoopCache) || this.queryMetadata === undefined) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any mutations, if globally is false\n\t\tif (this.cacheConfig && !this.cacheConfig.enable) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// For mutate queries, we should query the database, wait for a response, and then perform invalidation\n\t\tif (\n\t\t\t(\n\t\t\t\tthis.queryMetadata.type === 'insert' || this.queryMetadata.type === 'update'\n\t\t\t\t|| this.queryMetadata.type === 'delete'\n\t\t\t) && this.queryMetadata.tables.length > 0\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst [res] = await Promise.all([\n\t\t\t\t\tquery(),\n\t\t\t\t\tthis.cache.onMutate({ tables: this.queryMetadata.tables }),\n\t\t\t\t]);\n\t\t\t\treturn res;\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any reads if globally disabled\n\t\tif (!this.cacheConfig) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\tif (this.queryMetadata.type === 'select') {\n\t\t\tconst fromCache = await this.cache.get(\n\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\tthis.queryMetadata.tables,\n\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\tthis.cacheConfig.autoInvalidate,\n\t\t\t);\n\t\t\tif (fromCache === undefined) {\n\t\t\t\tlet result;\n\t\t\t\ttry {\n\t\t\t\t\tresult = await query();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t\t}\n\n\t\t\t\t// put actual key\n\t\t\t\tawait this.cache.put(\n\t\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\t\tresult,\n\t\t\t\t\t// make sure we send tables that were used in a query only if user wants to invalidate it on each write\n\t\t\t\t\tthis.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],\n\t\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\t\tthis.cacheConfig.config,\n\t\t\t\t);\n\t\t\t\t// put flag if we should invalidate or not\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn fromCache as unknown as T;\n\t\t}\n\t\ttry {\n\t\t\treturn await query();\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t}\n\t}\n\n\tprotected authToken?: NeonAuthToken;\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tabstract execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect) {}\n\n\tabstract prepareQuery<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[][], mapColumnValue?: (value: unknown) => 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): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t) {\n\t\tsuper(dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/gel-core/session.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TransactionRollbackError } from '~/errors.ts';\nimport type { BlankGelHookContext, DrizzleGelExtension, DrizzleGelHookContext } from '~/extension-core/gel/index.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/index.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport { GelDatabase } from './db.ts';\nimport type { GelDialect } from './dialect.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\texecute: unknown;\n\tall: unknown;\n\tvalues: unknown;\n}\n\nexport abstract class GelPreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {\n\tconstructor(\n\t\tprotected query: Query,\n\t\tprotected extensions?: DrizzleGelExtension[],\n\t\tprotected hookContext?: BlankGelHookContext,\n\t) {}\n\n\tprotected authToken?: NeonAuthToken;\n\tprivate extensionMetas: unknown[] = [];\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tmapResult(response: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn response;\n\t}\n\n\tstatic readonly [entityKind]: string = 'GelPreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record<string, boolean>;\n\n\tasync execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']> {\n\t\tconst {\n\t\t\textensions,\n\t\t\thookContext,\n\t\t\tquery: {\n\t\t\t\tsql: queryString,\n\t\t\t\tparams,\n\t\t\t},\n\t\t\textensionMetas,\n\t\t} = this;\n\t\tif (!extensions?.length || !hookContext) return await this._execute(placeholderValues);\n\n\t\tawait tracer.startActiveSpan('drizzle.hooks.beforeExecute', async () => {\n\t\t\tfor (const [i, extension] of extensions.entries()) {\n\t\t\t\tconst ext = extension!;\n\t\t\t\tconst config = {\n\t\t\t\t\t...hookContext,\n\t\t\t\t\tstage: 'before',\n\t\t\t\t\tsql: queryString,\n\t\t\t\t\tparams: params,\n\t\t\t\t\tplaceholders: placeholderValues,\n\t\t\t\t\tmetadata: extensionMetas[i],\n\t\t\t\t} as DrizzleGelHookContext;\n\n\t\t\t\tawait ext.hook(config);\n\t\t\t\textensionMetas[i] = config.metadata;\n\t\t\t}\n\t\t});\n\n\t\tconst res = await this._execute(placeholderValues);\n\n\t\treturn await tracer.startActiveSpan('drizzle.hooks.afterExecute', async () => {\n\t\t\tfor (const [i, ext] of extensions.entries()) {\n\t\t\t\tawait ext.hook({\n\t\t\t\t\t...hookContext,\n\t\t\t\t\tmetadata: extensionMetas[i],\n\t\t\t\t\tstage: 'after',\n\t\t\t\t\tdata: res as unknown[],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn res;\n\t\t});\n\t}\n\n\tprotected abstract _execute(placeholderValues?: Record<string, unknown>): Promise<T['execute']>;\n\n\t/** @internal */\n\tabstract all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport abstract class GelSession<\n\tTQueryResult extends GelQueryResultHKT = any, // TO\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> {\n\tstatic readonly [entityKind]: string = 'GelSession';\n\n\tconstructor(protected dialect: GelDialect, readonly extensions?: DrizzleGelExtension[]) {}\n\n\tabstract prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\thookContext?: BlankGelHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => T['execute'],\n\t): GelPreparedQuery<T>;\n\n\texecute<T>(query: SQL): Promise<T> {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\tconst prepared = tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\t\treturn this.prepareQuery<PreparedQueryConfig & { execute: T }>(\n\t\t\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn prepared.execute(undefined);\n\t\t});\n\t}\n\n\tall<T = unknown>(query: SQL): Promise<T[]> {\n\t\treturn this.prepareQuery<PreparedQueryConfig & { all: T[] }>(\n\t\t\tthis.dialect.sqlToQuery(query),\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfalse,\n\t\t).all();\n\t}\n\n\tasync count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\n\t\treturn Number(\n\t\t\tres[0]['count'],\n\t\t);\n\t}\n\n\tabstract transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport abstract class GelTransaction<\n\tTQueryResult extends GelQueryResultHKT,\n\tTFullSchema extends Record<string, unknown> = Record<string, never>,\n\tTSchema extends TablesRelationalConfig = Record<string, never>,\n> extends GelDatabase<TQueryResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'GelTransaction';\n\n\tconstructor(\n\t\tdialect: GelDialect,\n\t\tsession: GelSession<any, any, any>,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record<string, unknown>;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record<string, string>;\n\t\t} | undefined,\n\t\textensions?: DrizzleGelExtension[],\n\t) {\n\t\tsuper(dialect, session, schema, extensions);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n\n\tabstract override transaction<T>(\n\t\ttransaction: (tx: GelTransaction<TQueryResult, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T>;\n}\n\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n\nexport type GelQueryResultKind<TKind extends GelQueryResultHKT, TRow> = (TKind & {\n\treadonly row: TRow;\n})['type'];\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AAKzC,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AAUrB,MAAe,iBAAyE;AAAA,EAC9F,YACW,OACA,YACA,aACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EAEO;AAAA,EACF,iBAA4B,CAAC;AAAA,EAErC,WAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,UAAU,UAAmB,cAAiC;AAC7D,WAAO;AAAA,EACR;AAAA,EAEA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,MAAM,QAAQ,mBAAoE;AACjF,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACN,KAAK;AAAA,QACL;AAAA,MACD;AAAA,MACA;AAAA,IACD,IAAI;AACJ,QAAI,CAAC,YAAY,UAAU,CAAC;AAAa,aAAO,MAAM,KAAK,SAAS,iBAAiB;AAErF,UAAM,OAAO,gBAAgB,+BAA+B,YAAY;AACvE,iBAAW,CAAC,GAAG,SAAS,KAAK,WAAW,QAAQ,GAAG;AAClD,cAAM,MAAM;AACZ,cAAM,SAAS;AAAA,UACd,GAAG;AAAA,UACH,OAAO;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,cAAc;AAAA,UACd,UAAU,eAAe,CAAC;AAAA,QAC3B;AAEA,cAAM,IAAI,KAAK,MAAM;AACrB,uBAAe,CAAC,IAAI,OAAO;AAAA,MAC5B;AAAA,IACD,CAAC;AAED,UAAM,MAAM,MAAM,KAAK,SAAS,iBAAiB;AAEjD,WAAO,MAAM,OAAO,gBAAgB,8BAA8B,YAAY;AAC7E,iBAAW,CAAC,GAAG,GAAG,KAAK,WAAW,QAAQ,GAAG;AAC5C,cAAM,IAAI,KAAK;AAAA,UACd,GAAG;AAAA,UACH,UAAU,eAAe,CAAC;AAAA,UAC1B,OAAO;AAAA,UACP,MAAM;AAAA,QACP,CAAC;AAAA,MACF;AAEA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AASD;AAEO,MAAe,WAIpB;AAAA,EAGD,YAAsB,SAA8B,YAAoC;AAAlE;AAA8B;AAAA,EAAqC;AAAA,EAFzF,QAAiB,UAAU,IAAY;AAAA,EAavC,QAAW,OAAwB;AAClC,WAAO,OAAO,gBAAgB,qBAAqB,MAAM;AACxD,YAAM,WAAW,OAAO,gBAAgB,wBAAwB,MAAM;AACrE,eAAO,KAAK;AAAA,UACX,KAAK,QAAQ,WAAW,KAAK;AAAA,UAC7B;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAED,aAAO,SAAS,QAAQ,MAAS;AAAA,IAClC,CAAC;AAAA,EACF;AAAA,EAEA,IAAiB,OAA0B;AAC1C,WAAO,KAAK;AAAA,MACX,KAAK,QAAQ,WAAW,KAAK;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD,EAAE,IAAI;AAAA,EACP;AAAA,EAEA,MAAM,MAAM,KAA2B;AACtC,UAAM,MAAM,MAAM,KAAK,QAA6B,GAAG;AAEvD,WAAO;AAAA,MACN,IAAI,CAAC,EAAE,OAAO;AAAA,IACf;AAAA,EACD;AAKD;AAEO,MAAe,uBAIZ,YAAgD;AAAA,EAGzD,YACC,SACA,SACU,QAKV,YACC;AACD,UAAM,SAAS,SAAS,QAAQ,UAAU;AAPhC;AAAA,EAQX;AAAA,EAbA,QAA0B,UAAU,IAAY;AAAA,EAehD,WAAkB;AACjB,UAAM,IAAI,yBAAyB;AAAA,EACpC;AAKD;","names":[]}
@@ -18,15 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var utils_exports = {};
20
20
  __export(utils_exports, {
21
- extractUsedTable: () => extractUsedTable,
22
21
  getMaterializedViewConfig: () => getMaterializedViewConfig,
23
22
  getTableConfig: () => getTableConfig,
24
23
  getViewConfig: () => getViewConfig
25
24
  });
26
25
  module.exports = __toCommonJS(utils_exports);
27
26
  var import_entity = require("../entity.cjs");
28
- var import_sql = require("../sql/sql.cjs");
29
- var import_subquery = require("../subquery.cjs");
30
27
  var import_table = require("../table.cjs");
31
28
  var import_view_common = require("../view-common.cjs");
32
29
  var import_checks = require("./checks.cjs");
@@ -82,18 +79,6 @@ function getTableConfig(table) {
82
79
  enableRLS
83
80
  };
84
81
  }
85
- function extractUsedTable(table) {
86
- if ((0, import_entity.is)(table, import_table2.GelTable)) {
87
- return [`${table[import_table.Table.Symbol.BaseName]}`];
88
- }
89
- if ((0, import_entity.is)(table, import_subquery.Subquery)) {
90
- return table._.usedTables ?? [];
91
- }
92
- if ((0, import_entity.is)(table, import_sql.SQL)) {
93
- return table.usedTables ?? [];
94
- }
95
- return [];
96
- }
97
82
  function getViewConfig(view) {
98
83
  return {
99
84
  ...view[import_view_common.ViewBaseConfig],
@@ -108,7 +93,6 @@ function getMaterializedViewConfig(view) {
108
93
  }
109
94
  // Annotate the CommonJS export names for ESM import in node:
110
95
  0 && (module.exports = {
111
- extractUsedTable,
112
96
  getMaterializedViewConfig,
113
97
  getTableConfig,
114
98
  getViewConfig
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gel-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyGelColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { GelPolicy } from './policies.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { GelTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { GelViewBase } from './view-base.ts';\nimport { GelViewConfig } from './view-common.ts';\nimport { type GelMaterializedView, GelMaterializedViewConfig, type GelView } from './view.ts';\n\nexport function getTableConfig<TTable extends GelTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[GelTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst policies: GelPolicy[] = [];\n\tconst enableRLS: boolean = table[GelTable.Symbol.EnableRLS];\n\n\tconst extraConfigBuilder = table[GelTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of extraValues) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, GelPolicy)) {\n\t\t\t\tpolicies.push(builder);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tpolicies,\n\t\tenableRLS,\n\t};\n}\n\nexport function extractUsedTable(table: GelTable | Subquery | GelViewBase | SQL): string[] {\n\tif (is(table, GelTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: GelView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelViewConfig],\n\t};\n}\n\nexport function getMaterializedViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: GelMaterializedView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelMaterializedViewConfig],\n\t};\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyGelColumn<{ tableName: TForeignTableName }> };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,iBAAoB;AACpB,sBAAyB;AACzB,mBAAsB;AACtB,yBAA+B;AAC/B,oBAAyC;AAEzC,0BAAmD;AAEnD,qBAA6B;AAC7B,sBAA0B;AAC1B,0BAAmD;AACnD,IAAAA,gBAAyB;AACzB,+BAA+D;AAE/D,IAAAC,sBAA8B;AAC9B,kBAAkF;AAE3E,SAAS,eAAwC,OAAe;AACtE,QAAM,UAAU,OAAO,OAAO,MAAM,mBAAM,OAAO,OAAO,CAAC;AACzD,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,cAA4B,OAAO,OAAO,MAAM,uBAAS,OAAO,iBAAiB,CAAC;AACxF,QAAM,oBAAwC,CAAC;AAC/C,QAAM,OAAO,MAAM,mBAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,mBAAM,OAAO,MAAM;AACxC,QAAM,WAAwB,CAAC;AAC/B,QAAM,YAAqB,MAAM,uBAAS,OAAO,SAAS;AAE1D,QAAM,qBAAqB,MAAM,uBAAS,OAAO,kBAAkB;AAEnE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,mBAAM,OAAO,kBAAkB,CAAC;AAC7E,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,aAAa;AAClC,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,yBAAS,GAAG;AAClC,iBAAS,KAAK,OAAO;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,iBAAiB,OAA0D;AAC1F,UAAI,kBAAG,OAAO,sBAAQ,GAAG;AACxB,WAAO,CAAC,GAAG,MAAM,mBAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,UAAI,kBAAG,OAAO,wBAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,UAAI,kBAAG,OAAO,cAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAEO,SAAS,cAGd,MAAiC;AAClC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,iCAAa;AAAA,EACtB;AACD;AAEO,SAAS,0BAGd,MAA6C;AAC9C,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,qCAAyB;AAAA,EAClC;AACD;","names":["import_table","import_view_common"]}
1
+ {"version":3,"sources":["../../src/gel-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyGelColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { GelPolicy } from './policies.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { GelTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { GelViewConfig } from './view-common.ts';\nimport { type GelMaterializedView, GelMaterializedViewConfig, type GelView } from './view.ts';\n\nexport function getTableConfig<TTable extends GelTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[GelTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst policies: GelPolicy[] = [];\n\tconst enableRLS: boolean = table[GelTable.Symbol.EnableRLS];\n\n\tconst extraConfigBuilder = table[GelTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of extraValues) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, GelPolicy)) {\n\t\t\t\tpolicies.push(builder);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tpolicies,\n\t\tenableRLS,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: GelView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelViewConfig],\n\t};\n}\n\nexport function getMaterializedViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: GelMaterializedView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelMaterializedViewConfig],\n\t};\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyGelColumn<{ tableName: TForeignTableName }> };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,mBAAsB;AACtB,yBAA+B;AAC/B,oBAAyC;AAEzC,0BAAmD;AAEnD,qBAA6B;AAC7B,sBAA0B;AAC1B,0BAAmD;AACnD,IAAAA,gBAAyB;AACzB,+BAA+D;AAC/D,IAAAC,sBAA8B;AAC9B,kBAAkF;AAE3E,SAAS,eAAwC,OAAe;AACtE,QAAM,UAAU,OAAO,OAAO,MAAM,mBAAM,OAAO,OAAO,CAAC;AACzD,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,cAA4B,OAAO,OAAO,MAAM,uBAAS,OAAO,iBAAiB,CAAC;AACxF,QAAM,oBAAwC,CAAC;AAC/C,QAAM,OAAO,MAAM,mBAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,mBAAM,OAAO,MAAM;AACxC,QAAM,WAAwB,CAAC;AAC/B,QAAM,YAAqB,MAAM,uBAAS,OAAO,SAAS;AAE1D,QAAM,qBAAqB,MAAM,uBAAS,OAAO,kBAAkB;AAEnE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,mBAAM,OAAO,kBAAkB,CAAC;AAC7E,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,aAAa;AAClC,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,yBAAS,GAAG;AAClC,iBAAS,KAAK,OAAO;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAiC;AAClC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,iCAAa;AAAA,EACtB;AACD;AAEO,SAAS,0BAGd,MAA6C;AAC9C,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,qCAAyB;AAAA,EAClC;AACD;","names":["import_table","import_view_common"]}
@@ -1,5 +1,3 @@
1
- import { SQL } from "../sql/sql.cjs";
2
- import { Subquery } from "../subquery.cjs";
3
1
  import { type Check } from "./checks.cjs";
4
2
  import type { AnyGelColumn } from "./columns/index.cjs";
5
3
  import { type ForeignKey } from "./foreign-keys.cjs";
@@ -8,7 +6,6 @@ import { GelPolicy } from "./policies.cjs";
8
6
  import { type PrimaryKey } from "./primary-keys.cjs";
9
7
  import { GelTable } from "./table.cjs";
10
8
  import { type UniqueConstraint } from "./unique-constraint.cjs";
11
- import type { GelViewBase } from "./view-base.cjs";
12
9
  import { type GelMaterializedView, type GelView } from "./view.cjs";
13
10
  export declare function getTableConfig<TTable extends GelTable>(table: TTable): {
14
11
  columns: import("./index.ts").GelColumn<import("../column.ts").ColumnBaseConfig<import("../column-builder.ts").ColumnDataType, string>, {}, {}>[];
@@ -22,15 +19,14 @@ export declare function getTableConfig<TTable extends GelTable>(table: TTable):
22
19
  policies: GelPolicy[];
23
20
  enableRLS: boolean;
24
21
  };
25
- export declare function extractUsedTable(table: GelTable | Subquery | GelViewBase | SQL): string[];
26
22
  export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: GelView<TName, TExisting>): {
27
23
  with?: import("./view.ts").ViewWithConfig;
28
24
  name: TName;
29
25
  originalName: TName;
30
26
  schema: string | undefined;
31
- selectedFields: import("../sql/sql.ts").ColumnsSelection;
27
+ selectedFields: import("../index.ts").ColumnsSelection;
32
28
  isExisting: TExisting;
33
- query: TExisting extends true ? undefined : SQL<unknown>;
29
+ query: TExisting extends true ? undefined : import("../index.ts").SQL<unknown>;
34
30
  isAlias: boolean;
35
31
  };
36
32
  export declare function getMaterializedViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: GelMaterializedView<TName, TExisting>): {
@@ -41,9 +37,9 @@ export declare function getMaterializedViewConfig<TName extends string = string,
41
37
  name: TName;
42
38
  originalName: TName;
43
39
  schema: string | undefined;
44
- selectedFields: import("../sql/sql.ts").ColumnsSelection;
40
+ selectedFields: import("../index.ts").ColumnsSelection;
45
41
  isExisting: TExisting;
46
- query: TExisting extends true ? undefined : SQL<unknown>;
42
+ query: TExisting extends true ? undefined : import("../index.ts").SQL<unknown>;
47
43
  isAlias: boolean;
48
44
  };
49
45
  export type ColumnsWithTable<TTableName extends string, TForeignTableName extends string, TColumns extends AnyGelColumn<{