drizzle-orm 0.39.2-aaa57ff → 0.39.2-eba7324

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 (1001) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +3 -3
  3. package/alias.d.ts +3 -3
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sql/driver.cjs +5 -16
  38. package/bun-sql/driver.cjs.map +1 -1
  39. package/bun-sql/driver.d.cts +6 -7
  40. package/bun-sql/driver.d.ts +6 -7
  41. package/bun-sql/driver.js +8 -6
  42. package/bun-sql/driver.js.map +1 -1
  43. package/bun-sql/migrator.cjs.map +1 -1
  44. package/bun-sql/migrator.d.cts +1 -2
  45. package/bun-sql/migrator.d.ts +1 -2
  46. package/bun-sql/migrator.js.map +1 -1
  47. package/bun-sql/session.cjs +6 -50
  48. package/bun-sql/session.cjs.map +1 -1
  49. package/bun-sql/session.d.cts +9 -14
  50. package/bun-sql/session.d.ts +9 -14
  51. package/bun-sql/session.js +6 -50
  52. package/bun-sql/session.js.map +1 -1
  53. package/bun-sqlite/driver.cjs +5 -22
  54. package/bun-sqlite/driver.cjs.map +1 -1
  55. package/bun-sqlite/driver.d.cts +6 -7
  56. package/bun-sqlite/driver.d.ts +6 -7
  57. package/bun-sqlite/driver.js +8 -12
  58. package/bun-sqlite/driver.js.map +1 -1
  59. package/bun-sqlite/migrator.cjs.map +1 -1
  60. package/bun-sqlite/migrator.d.cts +1 -2
  61. package/bun-sqlite/migrator.d.ts +1 -2
  62. package/bun-sqlite/migrator.js.map +1 -1
  63. package/bun-sqlite/session.cjs +4 -49
  64. package/bun-sqlite/session.cjs.map +1 -1
  65. package/bun-sqlite/session.d.cts +8 -14
  66. package/bun-sqlite/session.d.ts +8 -14
  67. package/bun-sqlite/session.js +4 -49
  68. package/bun-sqlite/session.js.map +1 -1
  69. package/column-builder.cjs.map +1 -1
  70. package/column-builder.d.cts +6 -5
  71. package/column-builder.d.ts +6 -5
  72. package/column-builder.js.map +1 -1
  73. package/d1/driver.cjs +5 -22
  74. package/d1/driver.cjs.map +1 -1
  75. package/d1/driver.d.cts +2 -3
  76. package/d1/driver.d.ts +2 -3
  77. package/d1/driver.js +8 -12
  78. package/d1/driver.js.map +1 -1
  79. package/d1/migrator.cjs.map +1 -1
  80. package/d1/migrator.d.cts +1 -2
  81. package/d1/migrator.d.ts +1 -2
  82. package/d1/migrator.js.map +1 -1
  83. package/d1/session.cjs +8 -50
  84. package/d1/session.cjs.map +1 -1
  85. package/d1/session.d.cts +8 -15
  86. package/d1/session.d.ts +8 -15
  87. package/d1/session.js +8 -50
  88. package/d1/session.js.map +1 -1
  89. package/durable-sqlite/driver.cjs +5 -16
  90. package/durable-sqlite/driver.cjs.map +1 -1
  91. package/durable-sqlite/driver.d.cts +2 -3
  92. package/durable-sqlite/driver.d.ts +2 -3
  93. package/durable-sqlite/driver.js +8 -6
  94. package/durable-sqlite/driver.js.map +1 -1
  95. package/durable-sqlite/migrator.cjs.map +1 -1
  96. package/durable-sqlite/migrator.d.cts +1 -2
  97. package/durable-sqlite/migrator.d.ts +1 -2
  98. package/durable-sqlite/migrator.js.map +1 -1
  99. package/durable-sqlite/session.cjs +4 -46
  100. package/durable-sqlite/session.cjs.map +1 -1
  101. package/durable-sqlite/session.d.cts +8 -14
  102. package/durable-sqlite/session.d.ts +8 -14
  103. package/durable-sqlite/session.js +4 -46
  104. package/durable-sqlite/session.js.map +1 -1
  105. package/expo-sqlite/driver.cjs +5 -22
  106. package/expo-sqlite/driver.cjs.map +1 -1
  107. package/expo-sqlite/driver.d.cts +2 -3
  108. package/expo-sqlite/driver.d.ts +2 -3
  109. package/expo-sqlite/driver.js +8 -12
  110. package/expo-sqlite/driver.js.map +1 -1
  111. package/expo-sqlite/migrator.cjs.map +1 -1
  112. package/expo-sqlite/migrator.d.cts +2 -3
  113. package/expo-sqlite/migrator.d.ts +2 -3
  114. package/expo-sqlite/migrator.js.map +1 -1
  115. package/expo-sqlite/query.cjs +2 -13
  116. package/expo-sqlite/query.cjs.map +1 -1
  117. package/expo-sqlite/query.d.cts +1 -2
  118. package/expo-sqlite/query.d.ts +1 -2
  119. package/expo-sqlite/query.js +2 -3
  120. package/expo-sqlite/query.js.map +1 -1
  121. package/expo-sqlite/session.cjs +4 -47
  122. package/expo-sqlite/session.cjs.map +1 -1
  123. package/expo-sqlite/session.d.cts +8 -14
  124. package/expo-sqlite/session.d.ts +8 -14
  125. package/expo-sqlite/session.js +4 -47
  126. package/expo-sqlite/session.js.map +1 -1
  127. package/gel/driver.cjs +97 -0
  128. package/gel/driver.cjs.map +1 -0
  129. package/gel/driver.d.cts +38 -0
  130. package/gel/driver.d.ts +38 -0
  131. package/gel/driver.js +74 -0
  132. package/gel/driver.js.map +1 -0
  133. package/gel/index.cjs +25 -0
  134. package/gel/index.cjs.map +1 -0
  135. package/gel/index.d.cts +2 -0
  136. package/gel/index.d.ts +2 -0
  137. package/gel/index.js +3 -0
  138. package/gel/index.js.map +1 -0
  139. package/gel/migrator.cjs +5 -0
  140. package/gel/migrator.cjs.map +1 -0
  141. package/gel/migrator.d.cts +1 -0
  142. package/gel/migrator.d.ts +1 -0
  143. package/gel/migrator.js +4 -0
  144. package/gel/migrator.js.map +1 -0
  145. package/gel/session.cjs +139 -0
  146. package/gel/session.cjs.map +1 -0
  147. package/gel/session.d.cts +47 -0
  148. package/gel/session.d.ts +47 -0
  149. package/gel/session.js +113 -0
  150. package/gel/session.js.map +1 -0
  151. package/gel-core/alias.cjs +32 -0
  152. package/gel-core/alias.cjs.map +1 -0
  153. package/gel-core/alias.d.cts +4 -0
  154. package/gel-core/alias.d.ts +4 -0
  155. package/gel-core/alias.js +8 -0
  156. package/gel-core/alias.js.map +1 -0
  157. package/gel-core/checks.cjs +58 -0
  158. package/gel-core/checks.cjs.map +1 -0
  159. package/gel-core/checks.d.cts +18 -0
  160. package/gel-core/checks.d.ts +18 -0
  161. package/gel-core/checks.js +32 -0
  162. package/gel-core/checks.js.map +1 -0
  163. package/gel-core/columns/all.cjs +72 -0
  164. package/gel-core/columns/all.cjs.map +1 -0
  165. package/gel-core/columns/all.d.cts +43 -0
  166. package/gel-core/columns/all.d.ts +43 -0
  167. package/gel-core/columns/all.js +48 -0
  168. package/gel-core/columns/all.js.map +1 -0
  169. package/gel-core/columns/bigint.cjs +54 -0
  170. package/gel-core/columns/bigint.cjs.map +1 -0
  171. package/gel-core/columns/bigint.d.cts +23 -0
  172. package/gel-core/columns/bigint.d.ts +23 -0
  173. package/gel-core/columns/bigint.js +28 -0
  174. package/gel-core/columns/bigint.js.map +1 -0
  175. package/gel-core/columns/bigintT.cjs +60 -0
  176. package/gel-core/columns/bigintT.cjs.map +1 -0
  177. package/gel-core/columns/bigintT.d.cts +24 -0
  178. package/gel-core/columns/bigintT.d.ts +24 -0
  179. package/gel-core/columns/bigintT.js +34 -0
  180. package/gel-core/columns/bigintT.js.map +1 -0
  181. package/gel-core/columns/boolean.cjs +53 -0
  182. package/gel-core/columns/boolean.cjs.map +1 -0
  183. package/gel-core/columns/boolean.d.cts +22 -0
  184. package/gel-core/columns/boolean.d.ts +22 -0
  185. package/gel-core/columns/boolean.js +27 -0
  186. package/gel-core/columns/boolean.js.map +1 -0
  187. package/gel-core/columns/bytes.cjs +56 -0
  188. package/gel-core/columns/bytes.cjs.map +1 -0
  189. package/gel-core/columns/bytes.d.cts +22 -0
  190. package/gel-core/columns/bytes.d.ts +22 -0
  191. package/gel-core/columns/bytes.js +30 -0
  192. package/gel-core/columns/bytes.js.map +1 -0
  193. package/gel-core/columns/common.cjs +213 -0
  194. package/gel-core/columns/common.cjs.map +1 -0
  195. package/gel-core/columns/common.d.cts +147 -0
  196. package/gel-core/columns/common.d.ts +147 -0
  197. package/gel-core/columns/common.js +184 -0
  198. package/gel-core/columns/common.js.map +1 -0
  199. package/gel-core/columns/custom.cjs +77 -0
  200. package/gel-core/columns/custom.cjs.map +1 -0
  201. package/gel-core/columns/custom.d.cts +155 -0
  202. package/gel-core/columns/custom.d.ts +155 -0
  203. package/gel-core/columns/custom.js +51 -0
  204. package/gel-core/columns/custom.js.map +1 -0
  205. package/gel-core/columns/date-duration.cjs +56 -0
  206. package/gel-core/columns/date-duration.cjs.map +1 -0
  207. package/gel-core/columns/date-duration.d.cts +23 -0
  208. package/gel-core/columns/date-duration.d.ts +23 -0
  209. package/gel-core/columns/date-duration.js +30 -0
  210. package/gel-core/columns/date-duration.js.map +1 -0
  211. package/gel-core/columns/date.common.cjs +37 -0
  212. package/gel-core/columns/date.common.cjs.map +1 -0
  213. package/gel-core/columns/date.common.d.cts +7 -0
  214. package/gel-core/columns/date.common.d.ts +7 -0
  215. package/gel-core/columns/date.common.js +13 -0
  216. package/gel-core/columns/date.common.js.map +1 -0
  217. package/gel-core/columns/decimal.cjs +56 -0
  218. package/gel-core/columns/decimal.cjs.map +1 -0
  219. package/gel-core/columns/decimal.d.cts +26 -0
  220. package/gel-core/columns/decimal.d.ts +26 -0
  221. package/gel-core/columns/decimal.js +30 -0
  222. package/gel-core/columns/decimal.js.map +1 -0
  223. package/gel-core/columns/double-precision.cjs +62 -0
  224. package/gel-core/columns/double-precision.cjs.map +1 -0
  225. package/gel-core/columns/double-precision.d.cts +23 -0
  226. package/gel-core/columns/double-precision.d.ts +23 -0
  227. package/gel-core/columns/double-precision.js +36 -0
  228. package/gel-core/columns/double-precision.js.map +1 -0
  229. package/gel-core/columns/duration.cjs +53 -0
  230. package/gel-core/columns/duration.cjs.map +1 -0
  231. package/gel-core/columns/duration.d.cts +23 -0
  232. package/gel-core/columns/duration.d.ts +23 -0
  233. package/gel-core/columns/duration.js +27 -0
  234. package/gel-core/columns/duration.js.map +1 -0
  235. package/gel-core/columns/index.cjs +65 -0
  236. package/gel-core/columns/index.cjs.map +1 -0
  237. package/gel-core/columns/index.d.cts +22 -0
  238. package/gel-core/columns/index.d.ts +22 -0
  239. package/gel-core/columns/index.js +23 -0
  240. package/gel-core/columns/index.js.map +1 -0
  241. package/gel-core/columns/int.common.cjs +67 -0
  242. package/gel-core/columns/int.common.cjs.map +1 -0
  243. package/gel-core/columns/int.common.d.cts +15 -0
  244. package/gel-core/columns/int.common.d.ts +15 -0
  245. package/gel-core/columns/int.common.js +43 -0
  246. package/gel-core/columns/int.common.js.map +1 -0
  247. package/gel-core/columns/integer.cjs +54 -0
  248. package/gel-core/columns/integer.cjs.map +1 -0
  249. package/gel-core/columns/integer.d.cts +23 -0
  250. package/gel-core/columns/integer.d.ts +23 -0
  251. package/gel-core/columns/integer.js +28 -0
  252. package/gel-core/columns/integer.js.map +1 -0
  253. package/gel-core/columns/json.cjs +56 -0
  254. package/gel-core/columns/json.cjs.map +1 -0
  255. package/gel-core/columns/json.d.cts +26 -0
  256. package/gel-core/columns/json.d.ts +26 -0
  257. package/gel-core/columns/json.js +30 -0
  258. package/gel-core/columns/json.js.map +1 -0
  259. package/gel-core/columns/localdate.cjs +57 -0
  260. package/gel-core/columns/localdate.cjs.map +1 -0
  261. package/gel-core/columns/localdate.d.cts +24 -0
  262. package/gel-core/columns/localdate.d.ts +24 -0
  263. package/gel-core/columns/localdate.js +31 -0
  264. package/gel-core/columns/localdate.js.map +1 -0
  265. package/gel-core/columns/localtime.cjs +57 -0
  266. package/gel-core/columns/localtime.cjs.map +1 -0
  267. package/gel-core/columns/localtime.d.cts +24 -0
  268. package/gel-core/columns/localtime.d.ts +24 -0
  269. package/gel-core/columns/localtime.js +31 -0
  270. package/gel-core/columns/localtime.js.map +1 -0
  271. package/gel-core/columns/real.cjs +57 -0
  272. package/gel-core/columns/real.cjs.map +1 -0
  273. package/gel-core/columns/real.d.cts +28 -0
  274. package/gel-core/columns/real.d.ts +28 -0
  275. package/gel-core/columns/real.js +31 -0
  276. package/gel-core/columns/real.js.map +1 -0
  277. package/gel-core/columns/relative-duration.cjs +56 -0
  278. package/gel-core/columns/relative-duration.cjs.map +1 -0
  279. package/gel-core/columns/relative-duration.d.cts +23 -0
  280. package/gel-core/columns/relative-duration.d.ts +23 -0
  281. package/gel-core/columns/relative-duration.js +30 -0
  282. package/gel-core/columns/relative-duration.js.map +1 -0
  283. package/gel-core/columns/smallint.cjs +54 -0
  284. package/gel-core/columns/smallint.cjs.map +1 -0
  285. package/gel-core/columns/smallint.d.cts +23 -0
  286. package/gel-core/columns/smallint.d.ts +23 -0
  287. package/gel-core/columns/smallint.js +28 -0
  288. package/gel-core/columns/smallint.js.map +1 -0
  289. package/gel-core/columns/text.cjs +54 -0
  290. package/gel-core/columns/text.cjs.map +1 -0
  291. package/gel-core/columns/text.d.cts +26 -0
  292. package/gel-core/columns/text.d.ts +26 -0
  293. package/gel-core/columns/text.js +28 -0
  294. package/gel-core/columns/text.js.map +1 -0
  295. package/gel-core/columns/timestamp.cjs +60 -0
  296. package/gel-core/columns/timestamp.cjs.map +1 -0
  297. package/gel-core/columns/timestamp.d.cts +28 -0
  298. package/gel-core/columns/timestamp.d.ts +28 -0
  299. package/gel-core/columns/timestamp.js +34 -0
  300. package/gel-core/columns/timestamp.js.map +1 -0
  301. package/gel-core/columns/timestamptz.cjs +60 -0
  302. package/gel-core/columns/timestamptz.cjs.map +1 -0
  303. package/gel-core/columns/timestamptz.d.cts +27 -0
  304. package/gel-core/columns/timestamptz.d.ts +27 -0
  305. package/gel-core/columns/timestamptz.js +34 -0
  306. package/gel-core/columns/timestamptz.js.map +1 -0
  307. package/gel-core/columns/uuid.cjs +53 -0
  308. package/gel-core/columns/uuid.cjs.map +1 -0
  309. package/gel-core/columns/uuid.d.cts +22 -0
  310. package/gel-core/columns/uuid.d.ts +22 -0
  311. package/gel-core/columns/uuid.js +27 -0
  312. package/gel-core/columns/uuid.js.map +1 -0
  313. package/gel-core/db.cjs +338 -0
  314. package/gel-core/db.cjs.map +1 -0
  315. package/gel-core/db.d.cts +281 -0
  316. package/gel-core/db.d.ts +281 -0
  317. package/gel-core/db.js +319 -0
  318. package/gel-core/db.js.map +1 -0
  319. package/gel-core/dialect.cjs +1142 -0
  320. package/gel-core/dialect.cjs.map +1 -0
  321. package/gel-core/dialect.d.cts +62 -0
  322. package/gel-core/dialect.d.ts +62 -0
  323. package/gel-core/dialect.js +1128 -0
  324. package/gel-core/dialect.js.map +1 -0
  325. package/gel-core/expressions.cjs +49 -0
  326. package/gel-core/expressions.cjs.map +1 -0
  327. package/gel-core/expressions.d.cts +8 -0
  328. package/gel-core/expressions.d.ts +8 -0
  329. package/gel-core/expressions.js +22 -0
  330. package/gel-core/expressions.js.map +1 -0
  331. package/gel-core/foreign-keys.cjs +100 -0
  332. package/gel-core/foreign-keys.cjs.map +1 -0
  333. package/gel-core/foreign-keys.d.cts +48 -0
  334. package/gel-core/foreign-keys.d.ts +48 -0
  335. package/gel-core/foreign-keys.js +74 -0
  336. package/gel-core/foreign-keys.js.map +1 -0
  337. package/gel-core/index.cjs +61 -0
  338. package/gel-core/index.cjs.map +1 -0
  339. package/gel-core/index.d.cts +20 -0
  340. package/gel-core/index.d.ts +20 -0
  341. package/gel-core/index.js +21 -0
  342. package/gel-core/index.js.map +1 -0
  343. package/gel-core/indexes.cjs +149 -0
  344. package/gel-core/indexes.cjs.map +1 -0
  345. package/gel-core/indexes.d.cts +79 -0
  346. package/gel-core/indexes.d.ts +79 -0
  347. package/gel-core/indexes.js +121 -0
  348. package/gel-core/indexes.js.map +1 -0
  349. package/gel-core/policies.cjs +58 -0
  350. package/gel-core/policies.cjs.map +1 -0
  351. package/gel-core/policies.d.cts +24 -0
  352. package/gel-core/policies.d.ts +24 -0
  353. package/gel-core/policies.js +33 -0
  354. package/gel-core/policies.js.map +1 -0
  355. package/gel-core/primary-keys.cjs +68 -0
  356. package/gel-core/primary-keys.cjs.map +1 -0
  357. package/gel-core/primary-keys.d.cts +30 -0
  358. package/gel-core/primary-keys.d.ts +30 -0
  359. package/gel-core/primary-keys.js +42 -0
  360. package/gel-core/primary-keys.js.map +1 -0
  361. package/gel-core/query-builders/count.cjs +73 -0
  362. package/gel-core/query-builders/count.cjs.map +1 -0
  363. package/gel-core/query-builders/count.d.cts +25 -0
  364. package/gel-core/query-builders/count.d.ts +25 -0
  365. package/gel-core/query-builders/count.js +49 -0
  366. package/gel-core/query-builders/count.js.map +1 -0
  367. package/gel-core/query-builders/delete.cjs +105 -0
  368. package/gel-core/query-builders/delete.cjs.map +1 -0
  369. package/gel-core/query-builders/delete.d.cts +99 -0
  370. package/gel-core/query-builders/delete.d.ts +99 -0
  371. package/gel-core/query-builders/delete.js +81 -0
  372. package/gel-core/query-builders/delete.js.map +1 -0
  373. package/gel-core/query-builders/index.cjs +35 -0
  374. package/gel-core/query-builders/index.cjs.map +1 -0
  375. package/gel-core/query-builders/index.d.cts +7 -0
  376. package/gel-core/query-builders/index.d.ts +7 -0
  377. package/gel-core/query-builders/index.js +8 -0
  378. package/gel-core/query-builders/index.js.map +1 -0
  379. package/gel-core/query-builders/insert.cjs +218 -0
  380. package/gel-core/query-builders/insert.cjs.map +1 -0
  381. package/gel-core/query-builders/insert.d.cts +116 -0
  382. package/gel-core/query-builders/insert.d.ts +116 -0
  383. package/gel-core/query-builders/insert.js +193 -0
  384. package/gel-core/query-builders/insert.js.map +1 -0
  385. package/gel-core/query-builders/query-builder.cjs +114 -0
  386. package/gel-core/query-builders/query-builder.cjs.map +1 -0
  387. package/gel-core/query-builders/query-builder.d.cts +40 -0
  388. package/gel-core/query-builders/query-builder.d.ts +40 -0
  389. package/gel-core/query-builders/query-builder.js +90 -0
  390. package/gel-core/query-builders/query-builder.js.map +1 -0
  391. package/{pg-core/query-builders/_query.cjs → gel-core/query-builders/query.cjs} +15 -31
  392. package/gel-core/query-builders/query.cjs.map +1 -0
  393. package/gel-core/query-builders/query.d.cts +46 -0
  394. package/gel-core/query-builders/query.d.ts +46 -0
  395. package/{pg-core/query-builders/_query.js → gel-core/query-builders/query.js} +15 -19
  396. package/gel-core/query-builders/query.js.map +1 -0
  397. package/gel-core/query-builders/raw.cjs +57 -0
  398. package/gel-core/query-builders/raw.cjs.map +1 -0
  399. package/gel-core/query-builders/raw.d.cts +22 -0
  400. package/gel-core/query-builders/raw.d.ts +22 -0
  401. package/gel-core/query-builders/raw.js +33 -0
  402. package/gel-core/query-builders/raw.js.map +1 -0
  403. package/gel-core/query-builders/refresh-materialized-view.cjs +77 -0
  404. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -0
  405. package/gel-core/query-builders/refresh-materialized-view.d.cts +27 -0
  406. package/gel-core/query-builders/refresh-materialized-view.d.ts +27 -0
  407. package/gel-core/query-builders/refresh-materialized-view.js +53 -0
  408. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -0
  409. package/gel-core/query-builders/select.cjs +775 -0
  410. package/gel-core/query-builders/select.cjs.map +1 -0
  411. package/gel-core/query-builders/select.d.cts +721 -0
  412. package/gel-core/query-builders/select.d.ts +721 -0
  413. package/gel-core/query-builders/select.js +748 -0
  414. package/gel-core/query-builders/select.js.map +1 -0
  415. package/gel-core/query-builders/select.types.cjs +17 -0
  416. package/gel-core/query-builders/select.types.cjs.map +1 -0
  417. package/gel-core/query-builders/select.types.d.cts +138 -0
  418. package/gel-core/query-builders/select.types.d.ts +138 -0
  419. package/gel-core/query-builders/select.types.js +1 -0
  420. package/gel-core/query-builders/select.types.js.map +1 -0
  421. package/gel-core/query-builders/update.cjs +226 -0
  422. package/gel-core/query-builders/update.cjs.map +1 -0
  423. package/gel-core/query-builders/update.d.cts +166 -0
  424. package/gel-core/query-builders/update.d.ts +166 -0
  425. package/gel-core/query-builders/update.js +205 -0
  426. package/gel-core/query-builders/update.js.map +1 -0
  427. package/gel-core/roles.cjs +57 -0
  428. package/gel-core/roles.cjs.map +1 -0
  429. package/gel-core/roles.d.cts +13 -0
  430. package/gel-core/roles.d.ts +13 -0
  431. package/gel-core/roles.js +32 -0
  432. package/gel-core/roles.js.map +1 -0
  433. package/gel-core/schema.cjs +74 -0
  434. package/gel-core/schema.cjs.map +1 -0
  435. package/gel-core/schema.d.cts +15 -0
  436. package/gel-core/schema.d.ts +15 -0
  437. package/gel-core/schema.js +48 -0
  438. package/gel-core/schema.js.map +1 -0
  439. package/gel-core/sequence.cjs +52 -0
  440. package/gel-core/sequence.cjs.map +1 -0
  441. package/gel-core/sequence.d.cts +18 -0
  442. package/gel-core/sequence.d.ts +18 -0
  443. package/gel-core/sequence.js +25 -0
  444. package/gel-core/sequence.js.map +1 -0
  445. package/gel-core/session.cjs +94 -0
  446. package/gel-core/session.cjs.map +1 -0
  447. package/gel-core/session.d.cts +56 -0
  448. package/gel-core/session.d.ts +56 -0
  449. package/gel-core/session.js +68 -0
  450. package/gel-core/session.js.map +1 -0
  451. package/gel-core/subquery.cjs +17 -0
  452. package/gel-core/subquery.cjs.map +1 -0
  453. package/gel-core/subquery.d.cts +5 -0
  454. package/gel-core/subquery.d.ts +5 -0
  455. package/gel-core/subquery.js +1 -0
  456. package/gel-core/subquery.js.map +1 -0
  457. package/gel-core/table.cjs +100 -0
  458. package/gel-core/table.cjs.map +1 -0
  459. package/gel-core/table.d.cts +95 -0
  460. package/gel-core/table.d.ts +95 -0
  461. package/gel-core/table.js +71 -0
  462. package/gel-core/table.js.map +1 -0
  463. package/gel-core/unique-constraint.cjs +89 -0
  464. package/gel-core/unique-constraint.cjs.map +1 -0
  465. package/gel-core/unique-constraint.d.cts +25 -0
  466. package/gel-core/unique-constraint.d.ts +25 -0
  467. package/gel-core/unique-constraint.js +61 -0
  468. package/gel-core/unique-constraint.js.map +1 -0
  469. package/gel-core/utils.cjs +100 -0
  470. package/gel-core/utils.cjs.map +1 -0
  471. package/gel-core/utils.d.cts +51 -0
  472. package/gel-core/utils.d.ts +51 -0
  473. package/gel-core/utils.js +74 -0
  474. package/gel-core/utils.js.map +1 -0
  475. package/gel-core/view-base.cjs +33 -0
  476. package/gel-core/view-base.cjs.map +1 -0
  477. package/gel-core/view-base.d.cts +8 -0
  478. package/gel-core/view-base.d.ts +8 -0
  479. package/gel-core/view-base.js +9 -0
  480. package/gel-core/view-base.js.map +1 -0
  481. package/gel-core/view-common.cjs +29 -0
  482. package/gel-core/view-common.cjs.map +1 -0
  483. package/gel-core/view-common.d.cts +1 -0
  484. package/gel-core/view-common.d.ts +1 -0
  485. package/gel-core/view-common.js +5 -0
  486. package/gel-core/view-common.js.map +1 -0
  487. package/gel-core/view.cjs +302 -0
  488. package/gel-core/view.cjs.map +1 -0
  489. package/gel-core/view.d.cts +150 -0
  490. package/gel-core/view.d.ts +150 -0
  491. package/gel-core/view.js +268 -0
  492. package/gel-core/view.js.map +1 -0
  493. package/libsql/driver-core.cjs +5 -22
  494. package/libsql/driver-core.cjs.map +1 -1
  495. package/libsql/driver-core.d.cts +1 -2
  496. package/libsql/driver-core.d.ts +1 -2
  497. package/libsql/driver-core.js +8 -12
  498. package/libsql/driver-core.js.map +1 -1
  499. package/libsql/driver.cjs.map +1 -1
  500. package/libsql/driver.d.cts +5 -6
  501. package/libsql/driver.d.ts +5 -6
  502. package/libsql/driver.js.map +1 -1
  503. package/libsql/http/index.cjs.map +1 -1
  504. package/libsql/http/index.d.cts +5 -6
  505. package/libsql/http/index.d.ts +5 -6
  506. package/libsql/http/index.js.map +1 -1
  507. package/libsql/migrator.cjs.map +1 -1
  508. package/libsql/migrator.d.cts +1 -2
  509. package/libsql/migrator.d.ts +1 -2
  510. package/libsql/migrator.js.map +1 -1
  511. package/libsql/node/index.cjs.map +1 -1
  512. package/libsql/node/index.d.cts +5 -6
  513. package/libsql/node/index.d.ts +5 -6
  514. package/libsql/node/index.js.map +1 -1
  515. package/libsql/session.cjs +4 -56
  516. package/libsql/session.cjs.map +1 -1
  517. package/libsql/session.d.cts +9 -15
  518. package/libsql/session.d.ts +9 -15
  519. package/libsql/session.js +4 -56
  520. package/libsql/session.js.map +1 -1
  521. package/libsql/sqlite3/index.cjs.map +1 -1
  522. package/libsql/sqlite3/index.d.cts +5 -6
  523. package/libsql/sqlite3/index.d.ts +5 -6
  524. package/libsql/sqlite3/index.js.map +1 -1
  525. package/libsql/wasm/index.cjs.map +1 -1
  526. package/libsql/wasm/index.d.cts +5 -6
  527. package/libsql/wasm/index.d.ts +5 -6
  528. package/libsql/wasm/index.js.map +1 -1
  529. package/libsql/web/index.cjs.map +1 -1
  530. package/libsql/web/index.d.cts +5 -6
  531. package/libsql/web/index.d.ts +5 -6
  532. package/libsql/web/index.js.map +1 -1
  533. package/libsql/ws/index.cjs.map +1 -1
  534. package/libsql/ws/index.d.cts +5 -6
  535. package/libsql/ws/index.d.ts +5 -6
  536. package/libsql/ws/index.js.map +1 -1
  537. package/mysql-core/db.cjs +6 -30
  538. package/mysql-core/db.cjs.map +1 -1
  539. package/mysql-core/db.d.cts +8 -15
  540. package/mysql-core/db.d.ts +8 -15
  541. package/mysql-core/db.js +5 -29
  542. package/mysql-core/db.js.map +1 -1
  543. package/mysql-core/dialect.cjs +15 -197
  544. package/mysql-core/dialect.cjs.map +1 -1
  545. package/mysql-core/dialect.d.cts +13 -36
  546. package/mysql-core/dialect.d.ts +13 -36
  547. package/mysql-core/dialect.js +22 -196
  548. package/mysql-core/dialect.js.map +1 -1
  549. package/mysql-core/query-builders/count.cjs.map +1 -1
  550. package/mysql-core/query-builders/count.d.cts +1 -1
  551. package/mysql-core/query-builders/count.d.ts +1 -1
  552. package/mysql-core/query-builders/count.js.map +1 -1
  553. package/mysql-core/query-builders/query.cjs +31 -18
  554. package/mysql-core/query-builders/query.cjs.map +1 -1
  555. package/mysql-core/query-builders/query.d.cts +10 -8
  556. package/mysql-core/query-builders/query.d.ts +10 -8
  557. package/mysql-core/query-builders/query.js +31 -18
  558. package/mysql-core/query-builders/query.js.map +1 -1
  559. package/mysql-core/session.cjs +2 -3
  560. package/mysql-core/session.cjs.map +1 -1
  561. package/mysql-core/session.d.cts +7 -10
  562. package/mysql-core/session.d.ts +7 -10
  563. package/mysql-core/session.js +2 -3
  564. package/mysql-core/session.js.map +1 -1
  565. package/mysql-proxy/driver.cjs +5 -22
  566. package/mysql-proxy/driver.cjs.map +1 -1
  567. package/mysql-proxy/driver.d.cts +2 -3
  568. package/mysql-proxy/driver.d.ts +2 -3
  569. package/mysql-proxy/driver.js +8 -12
  570. package/mysql-proxy/driver.js.map +1 -1
  571. package/mysql-proxy/migrator.cjs.map +1 -1
  572. package/mysql-proxy/migrator.d.cts +1 -2
  573. package/mysql-proxy/migrator.d.ts +1 -2
  574. package/mysql-proxy/migrator.js.map +1 -1
  575. package/mysql-proxy/session.cjs +2 -27
  576. package/mysql-proxy/session.cjs.map +1 -1
  577. package/mysql-proxy/session.d.cts +8 -13
  578. package/mysql-proxy/session.d.ts +8 -13
  579. package/mysql-proxy/session.js +2 -27
  580. package/mysql-proxy/session.js.map +1 -1
  581. package/mysql2/driver.cjs +7 -24
  582. package/mysql2/driver.cjs.map +1 -1
  583. package/mysql2/driver.d.cts +9 -10
  584. package/mysql2/driver.d.ts +9 -10
  585. package/mysql2/driver.js +10 -14
  586. package/mysql2/driver.js.map +1 -1
  587. package/mysql2/migrator.cjs.map +1 -1
  588. package/mysql2/migrator.d.cts +1 -2
  589. package/mysql2/migrator.d.ts +1 -2
  590. package/mysql2/migrator.js.map +1 -1
  591. package/mysql2/session.cjs +2 -30
  592. package/mysql2/session.cjs.map +1 -1
  593. package/mysql2/session.d.cts +8 -13
  594. package/mysql2/session.d.ts +8 -13
  595. package/mysql2/session.js +2 -30
  596. package/mysql2/session.js.map +1 -1
  597. package/neon-http/driver.cjs +7 -21
  598. package/neon-http/driver.cjs.map +1 -1
  599. package/neon-http/driver.d.cts +9 -10
  600. package/neon-http/driver.d.ts +9 -10
  601. package/neon-http/driver.js +7 -11
  602. package/neon-http/driver.js.map +1 -1
  603. package/neon-http/migrator.cjs.map +1 -1
  604. package/neon-http/migrator.d.cts +1 -2
  605. package/neon-http/migrator.d.ts +1 -2
  606. package/neon-http/migrator.js.map +1 -1
  607. package/neon-http/session.cjs +2 -32
  608. package/neon-http/session.cjs.map +1 -1
  609. package/neon-http/session.d.cts +8 -13
  610. package/neon-http/session.d.ts +8 -13
  611. package/neon-http/session.js +2 -32
  612. package/neon-http/session.js.map +1 -1
  613. package/neon-serverless/driver.cjs +7 -18
  614. package/neon-serverless/driver.cjs.map +1 -1
  615. package/neon-serverless/driver.d.cts +8 -9
  616. package/neon-serverless/driver.d.ts +8 -9
  617. package/neon-serverless/driver.js +10 -8
  618. package/neon-serverless/driver.js.map +1 -1
  619. package/neon-serverless/migrator.cjs.map +1 -1
  620. package/neon-serverless/migrator.d.cts +1 -2
  621. package/neon-serverless/migrator.d.ts +1 -2
  622. package/neon-serverless/migrator.js.map +1 -1
  623. package/neon-serverless/session.cjs +5 -40
  624. package/neon-serverless/session.cjs.map +1 -1
  625. package/neon-serverless/session.d.cts +8 -13
  626. package/neon-serverless/session.d.ts +8 -13
  627. package/neon-serverless/session.js +5 -40
  628. package/neon-serverless/session.js.map +1 -1
  629. package/node-postgres/driver.cjs +7 -13
  630. package/node-postgres/driver.cjs.map +1 -1
  631. package/node-postgres/driver.d.cts +8 -9
  632. package/node-postgres/driver.d.ts +8 -9
  633. package/node-postgres/driver.js +10 -13
  634. package/node-postgres/driver.js.map +1 -1
  635. package/node-postgres/migrator.cjs.map +1 -1
  636. package/node-postgres/migrator.d.cts +1 -2
  637. package/node-postgres/migrator.d.ts +1 -2
  638. package/node-postgres/migrator.js.map +1 -1
  639. package/node-postgres/session.cjs +4 -45
  640. package/node-postgres/session.cjs.map +1 -1
  641. package/node-postgres/session.d.cts +8 -13
  642. package/node-postgres/session.d.ts +8 -13
  643. package/node-postgres/session.js +4 -45
  644. package/node-postgres/session.js.map +1 -1
  645. package/op-sqlite/driver.cjs +5 -22
  646. package/op-sqlite/driver.cjs.map +1 -1
  647. package/op-sqlite/driver.d.cts +2 -3
  648. package/op-sqlite/driver.d.ts +2 -3
  649. package/op-sqlite/driver.js +8 -12
  650. package/op-sqlite/driver.js.map +1 -1
  651. package/op-sqlite/migrator.cjs.map +1 -1
  652. package/op-sqlite/migrator.d.cts +2 -3
  653. package/op-sqlite/migrator.d.ts +2 -3
  654. package/op-sqlite/migrator.js.map +1 -1
  655. package/op-sqlite/session.cjs +4 -47
  656. package/op-sqlite/session.cjs.map +1 -1
  657. package/op-sqlite/session.d.cts +8 -14
  658. package/op-sqlite/session.d.ts +8 -14
  659. package/op-sqlite/session.js +4 -47
  660. package/op-sqlite/session.js.map +1 -1
  661. package/package.json +784 -99
  662. package/pg-core/db.cjs +5 -32
  663. package/pg-core/db.cjs.map +1 -1
  664. package/pg-core/db.d.cts +9 -16
  665. package/pg-core/db.d.ts +9 -16
  666. package/pg-core/db.js +4 -31
  667. package/pg-core/db.js.map +1 -1
  668. package/pg-core/dialect.cjs +488 -173
  669. package/pg-core/dialect.cjs.map +1 -1
  670. package/pg-core/dialect.d.cts +8 -27
  671. package/pg-core/dialect.d.ts +8 -27
  672. package/pg-core/dialect.js +495 -172
  673. package/pg-core/dialect.js.map +1 -1
  674. package/pg-core/query-builders/count.cjs.map +1 -1
  675. package/pg-core/query-builders/count.d.cts +1 -1
  676. package/pg-core/query-builders/count.d.ts +1 -1
  677. package/pg-core/query-builders/count.js.map +1 -1
  678. package/pg-core/query-builders/query.cjs +18 -15
  679. package/pg-core/query-builders/query.cjs.map +1 -1
  680. package/pg-core/query-builders/query.d.cts +6 -6
  681. package/pg-core/query-builders/query.d.ts +6 -6
  682. package/pg-core/query-builders/query.js +18 -15
  683. package/pg-core/query-builders/query.js.map +1 -1
  684. package/pg-core/session.cjs +2 -3
  685. package/pg-core/session.cjs.map +1 -1
  686. package/pg-core/session.d.cts +6 -9
  687. package/pg-core/session.d.ts +6 -9
  688. package/pg-core/session.js +2 -3
  689. package/pg-core/session.js.map +1 -1
  690. package/pg-core/table.cjs +2 -0
  691. package/pg-core/table.cjs.map +1 -1
  692. package/pg-core/table.js +2 -0
  693. package/pg-core/table.js.map +1 -1
  694. package/pg-proxy/driver.cjs +5 -21
  695. package/pg-proxy/driver.cjs.map +1 -1
  696. package/pg-proxy/driver.d.cts +2 -3
  697. package/pg-proxy/driver.d.ts +2 -3
  698. package/pg-proxy/driver.js +8 -11
  699. package/pg-proxy/driver.js.map +1 -1
  700. package/pg-proxy/migrator.cjs.map +1 -1
  701. package/pg-proxy/migrator.d.cts +1 -2
  702. package/pg-proxy/migrator.d.ts +1 -2
  703. package/pg-proxy/migrator.js.map +1 -1
  704. package/pg-proxy/session.cjs +2 -37
  705. package/pg-proxy/session.cjs.map +1 -1
  706. package/pg-proxy/session.d.cts +8 -13
  707. package/pg-proxy/session.d.ts +8 -13
  708. package/pg-proxy/session.js +2 -37
  709. package/pg-proxy/session.js.map +1 -1
  710. package/pglite/driver.cjs +7 -23
  711. package/pglite/driver.cjs.map +1 -1
  712. package/pglite/driver.d.cts +8 -9
  713. package/pglite/driver.d.ts +8 -9
  714. package/pglite/driver.js +10 -13
  715. package/pglite/driver.js.map +1 -1
  716. package/pglite/migrator.cjs.map +1 -1
  717. package/pglite/migrator.d.cts +1 -2
  718. package/pglite/migrator.d.ts +1 -2
  719. package/pglite/migrator.js.map +1 -1
  720. package/pglite/session.cjs +3 -34
  721. package/pglite/session.cjs.map +1 -1
  722. package/pglite/session.d.cts +8 -13
  723. package/pglite/session.d.ts +8 -13
  724. package/pglite/session.js +3 -34
  725. package/pglite/session.js.map +1 -1
  726. package/planetscale-serverless/driver.cjs +5 -22
  727. package/planetscale-serverless/driver.cjs.map +1 -1
  728. package/planetscale-serverless/driver.d.cts +6 -7
  729. package/planetscale-serverless/driver.d.ts +6 -7
  730. package/planetscale-serverless/driver.js +8 -12
  731. package/planetscale-serverless/driver.js.map +1 -1
  732. package/planetscale-serverless/migrator.cjs.map +1 -1
  733. package/planetscale-serverless/migrator.d.cts +1 -2
  734. package/planetscale-serverless/migrator.d.ts +1 -2
  735. package/planetscale-serverless/migrator.js.map +1 -1
  736. package/planetscale-serverless/session.cjs +5 -45
  737. package/planetscale-serverless/session.cjs.map +1 -1
  738. package/planetscale-serverless/session.d.cts +9 -14
  739. package/planetscale-serverless/session.d.ts +9 -14
  740. package/planetscale-serverless/session.js +5 -45
  741. package/planetscale-serverless/session.js.map +1 -1
  742. package/postgres-js/driver.cjs +5 -6
  743. package/postgres-js/driver.cjs.map +1 -1
  744. package/postgres-js/driver.d.cts +6 -7
  745. package/postgres-js/driver.d.ts +6 -7
  746. package/postgres-js/driver.js +8 -6
  747. package/postgres-js/driver.js.map +1 -1
  748. package/postgres-js/migrator.cjs.map +1 -1
  749. package/postgres-js/migrator.d.cts +1 -2
  750. package/postgres-js/migrator.d.ts +1 -2
  751. package/postgres-js/migrator.js.map +1 -1
  752. package/postgres-js/session.cjs +6 -51
  753. package/postgres-js/session.cjs.map +1 -1
  754. package/postgres-js/session.d.cts +9 -15
  755. package/postgres-js/session.d.ts +9 -15
  756. package/postgres-js/session.js +6 -51
  757. package/postgres-js/session.js.map +1 -1
  758. package/prisma/mysql/driver.cjs +1 -1
  759. package/prisma/mysql/driver.cjs.map +1 -1
  760. package/prisma/mysql/driver.js +1 -1
  761. package/prisma/mysql/driver.js.map +1 -1
  762. package/prisma/mysql/session.cjs +0 -3
  763. package/prisma/mysql/session.cjs.map +1 -1
  764. package/prisma/mysql/session.d.cts +1 -3
  765. package/prisma/mysql/session.d.ts +1 -3
  766. package/prisma/mysql/session.js +0 -3
  767. package/prisma/mysql/session.js.map +1 -1
  768. package/prisma/pg/driver.cjs +1 -1
  769. package/prisma/pg/driver.cjs.map +1 -1
  770. package/prisma/pg/driver.js +1 -1
  771. package/prisma/pg/driver.js.map +1 -1
  772. package/prisma/pg/session.cjs +0 -3
  773. package/prisma/pg/session.cjs.map +1 -1
  774. package/prisma/pg/session.d.cts +1 -3
  775. package/prisma/pg/session.d.ts +1 -3
  776. package/prisma/pg/session.js +0 -3
  777. package/prisma/pg/session.js.map +1 -1
  778. package/prisma/sqlite/driver.cjs +1 -1
  779. package/prisma/sqlite/driver.cjs.map +1 -1
  780. package/prisma/sqlite/driver.js +1 -1
  781. package/prisma/sqlite/driver.js.map +1 -1
  782. package/prisma/sqlite/session.cjs +0 -3
  783. package/prisma/sqlite/session.cjs.map +1 -1
  784. package/prisma/sqlite/session.d.cts +2 -4
  785. package/prisma/sqlite/session.d.ts +2 -4
  786. package/prisma/sqlite/session.js +0 -3
  787. package/prisma/sqlite/session.js.map +1 -1
  788. package/relations.cjs +245 -596
  789. package/relations.cjs.map +1 -1
  790. package/relations.d.cts +140 -292
  791. package/relations.d.ts +140 -292
  792. package/relations.js +240 -589
  793. package/relations.js.map +1 -1
  794. package/singlestore/driver.cjs +1 -1
  795. package/singlestore/driver.cjs.map +1 -1
  796. package/singlestore/driver.d.cts +1 -1
  797. package/singlestore/driver.d.ts +1 -1
  798. package/singlestore/driver.js +3 -3
  799. package/singlestore/driver.js.map +1 -1
  800. package/singlestore/session.cjs.map +1 -1
  801. package/singlestore/session.d.cts +4 -4
  802. package/singlestore/session.d.ts +4 -4
  803. package/singlestore/session.js.map +1 -1
  804. package/singlestore-core/db.cjs.map +1 -1
  805. package/singlestore-core/db.d.cts +3 -3
  806. package/singlestore-core/db.d.ts +3 -3
  807. package/singlestore-core/db.js.map +1 -1
  808. package/singlestore-core/dialect.cjs +6 -16
  809. package/singlestore-core/dialect.cjs.map +1 -1
  810. package/singlestore-core/dialect.d.cts +6 -6
  811. package/singlestore-core/dialect.d.ts +6 -6
  812. package/singlestore-core/dialect.js +12 -6
  813. package/singlestore-core/dialect.js.map +1 -1
  814. package/singlestore-core/query-builders/query.cjs +2 -12
  815. package/singlestore-core/query-builders/query.cjs.map +1 -1
  816. package/singlestore-core/query-builders/query.d.cts +6 -6
  817. package/singlestore-core/query-builders/query.d.ts +6 -6
  818. package/singlestore-core/query-builders/query.js +4 -2
  819. package/singlestore-core/query-builders/query.js.map +1 -1
  820. package/singlestore-core/session.cjs.map +1 -1
  821. package/singlestore-core/session.d.cts +5 -5
  822. package/singlestore-core/session.d.ts +5 -5
  823. package/singlestore-core/session.js.map +1 -1
  824. package/singlestore-proxy/driver.cjs +1 -1
  825. package/singlestore-proxy/driver.cjs.map +1 -1
  826. package/singlestore-proxy/driver.js +3 -3
  827. package/singlestore-proxy/driver.js.map +1 -1
  828. package/singlestore-proxy/session.cjs.map +1 -1
  829. package/singlestore-proxy/session.d.cts +4 -4
  830. package/singlestore-proxy/session.d.ts +4 -4
  831. package/singlestore-proxy/session.js.map +1 -1
  832. package/sql/expressions/conditions.cjs.map +1 -1
  833. package/sql/expressions/conditions.d.cts +4 -4
  834. package/sql/expressions/conditions.d.ts +4 -4
  835. package/sql/expressions/conditions.js.map +1 -1
  836. package/sql/sql.cjs +0 -21
  837. package/sql/sql.cjs.map +1 -1
  838. package/sql/sql.d.cts +8 -8
  839. package/sql/sql.d.ts +8 -8
  840. package/sql/sql.js +1 -22
  841. package/sql/sql.js.map +1 -1
  842. package/sql-js/driver.cjs +5 -16
  843. package/sql-js/driver.cjs.map +1 -1
  844. package/sql-js/driver.d.cts +2 -3
  845. package/sql-js/driver.d.ts +2 -3
  846. package/sql-js/driver.js +8 -6
  847. package/sql-js/driver.js.map +1 -1
  848. package/sql-js/migrator.cjs.map +1 -1
  849. package/sql-js/migrator.d.cts +1 -2
  850. package/sql-js/migrator.d.ts +1 -2
  851. package/sql-js/migrator.js.map +1 -1
  852. package/sql-js/session.cjs +36 -71
  853. package/sql-js/session.cjs.map +1 -1
  854. package/sql-js/session.d.cts +13 -16
  855. package/sql-js/session.d.ts +13 -16
  856. package/sql-js/session.js +36 -71
  857. package/sql-js/session.js.map +1 -1
  858. package/sqlite-core/db.cjs +12 -39
  859. package/sqlite-core/db.cjs.map +1 -1
  860. package/sqlite-core/db.d.cts +8 -16
  861. package/sqlite-core/db.d.ts +8 -16
  862. package/sqlite-core/db.js +11 -38
  863. package/sqlite-core/db.js.map +1 -1
  864. package/sqlite-core/dialect.cjs +7 -186
  865. package/sqlite-core/dialect.cjs.map +1 -1
  866. package/sqlite-core/dialect.d.cts +9 -31
  867. package/sqlite-core/dialect.d.ts +9 -31
  868. package/sqlite-core/dialect.js +14 -185
  869. package/sqlite-core/dialect.js.map +1 -1
  870. package/sqlite-core/query-builders/count.cjs.map +1 -1
  871. package/sqlite-core/query-builders/count.d.cts +1 -1
  872. package/sqlite-core/query-builders/count.d.ts +1 -1
  873. package/sqlite-core/query-builders/count.js.map +1 -1
  874. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  875. package/sqlite-core/query-builders/delete.d.cts +1 -1
  876. package/sqlite-core/query-builders/delete.d.ts +1 -1
  877. package/sqlite-core/query-builders/delete.js.map +1 -1
  878. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  879. package/sqlite-core/query-builders/insert.d.cts +3 -3
  880. package/sqlite-core/query-builders/insert.d.ts +3 -3
  881. package/sqlite-core/query-builders/insert.js.map +1 -1
  882. package/sqlite-core/query-builders/query.cjs +35 -56
  883. package/sqlite-core/query-builders/query.cjs.map +1 -1
  884. package/sqlite-core/query-builders/query.d.cts +17 -18
  885. package/sqlite-core/query-builders/query.d.ts +17 -18
  886. package/sqlite-core/query-builders/query.js +35 -56
  887. package/sqlite-core/query-builders/query.js.map +1 -1
  888. package/sqlite-core/query-builders/select.cjs.map +1 -1
  889. package/sqlite-core/query-builders/select.d.cts +3 -3
  890. package/sqlite-core/query-builders/select.d.ts +3 -3
  891. package/sqlite-core/query-builders/select.js.map +1 -1
  892. package/sqlite-core/query-builders/update.cjs.map +1 -1
  893. package/sqlite-core/query-builders/update.d.cts +3 -3
  894. package/sqlite-core/query-builders/update.d.ts +3 -3
  895. package/sqlite-core/query-builders/update.js.map +1 -1
  896. package/sqlite-core/session.cjs +2 -6
  897. package/sqlite-core/session.cjs.map +1 -1
  898. package/sqlite-core/session.d.cts +7 -15
  899. package/sqlite-core/session.d.ts +7 -15
  900. package/sqlite-core/session.js +2 -6
  901. package/sqlite-core/session.js.map +1 -1
  902. package/sqlite-proxy/driver.cjs +5 -23
  903. package/sqlite-proxy/driver.cjs.map +1 -1
  904. package/sqlite-proxy/driver.d.cts +3 -4
  905. package/sqlite-proxy/driver.d.ts +3 -4
  906. package/sqlite-proxy/driver.js +5 -13
  907. package/sqlite-proxy/driver.js.map +1 -1
  908. package/sqlite-proxy/migrator.cjs.map +1 -1
  909. package/sqlite-proxy/migrator.d.cts +1 -2
  910. package/sqlite-proxy/migrator.d.ts +1 -2
  911. package/sqlite-proxy/migrator.js.map +1 -1
  912. package/sqlite-proxy/session.cjs +6 -50
  913. package/sqlite-proxy/session.cjs.map +1 -1
  914. package/sqlite-proxy/session.d.cts +8 -14
  915. package/sqlite-proxy/session.d.ts +8 -14
  916. package/sqlite-proxy/session.js +6 -50
  917. package/sqlite-proxy/session.js.map +1 -1
  918. package/table.cjs.map +1 -1
  919. package/table.d.cts +2 -2
  920. package/table.d.ts +2 -2
  921. package/table.js.map +1 -1
  922. package/tidb-serverless/driver.cjs +5 -22
  923. package/tidb-serverless/driver.cjs.map +1 -1
  924. package/tidb-serverless/driver.d.cts +6 -7
  925. package/tidb-serverless/driver.d.ts +6 -7
  926. package/tidb-serverless/driver.js +8 -12
  927. package/tidb-serverless/driver.js.map +1 -1
  928. package/tidb-serverless/migrator.cjs.map +1 -1
  929. package/tidb-serverless/migrator.d.cts +1 -2
  930. package/tidb-serverless/migrator.d.ts +1 -2
  931. package/tidb-serverless/migrator.js.map +1 -1
  932. package/tidb-serverless/session.cjs +5 -62
  933. package/tidb-serverless/session.cjs.map +1 -1
  934. package/tidb-serverless/session.d.cts +9 -14
  935. package/tidb-serverless/session.d.ts +9 -14
  936. package/tidb-serverless/session.js +5 -62
  937. package/tidb-serverless/session.js.map +1 -1
  938. package/utils.cjs +2 -2
  939. package/utils.cjs.map +1 -1
  940. package/utils.d.cts +1 -3
  941. package/utils.d.ts +1 -3
  942. package/utils.js +2 -2
  943. package/utils.js.map +1 -1
  944. package/vercel-postgres/driver.cjs +7 -23
  945. package/vercel-postgres/driver.cjs.map +1 -1
  946. package/vercel-postgres/driver.d.cts +8 -9
  947. package/vercel-postgres/driver.d.ts +8 -9
  948. package/vercel-postgres/driver.js +10 -13
  949. package/vercel-postgres/driver.js.map +1 -1
  950. package/vercel-postgres/migrator.cjs.map +1 -1
  951. package/vercel-postgres/migrator.d.cts +1 -2
  952. package/vercel-postgres/migrator.d.ts +1 -2
  953. package/vercel-postgres/migrator.js.map +1 -1
  954. package/vercel-postgres/session.cjs +4 -34
  955. package/vercel-postgres/session.cjs.map +1 -1
  956. package/vercel-postgres/session.d.cts +8 -13
  957. package/vercel-postgres/session.d.ts +8 -13
  958. package/vercel-postgres/session.js +4 -34
  959. package/vercel-postgres/session.js.map +1 -1
  960. package/version.cjs +1 -1
  961. package/version.d.cts +1 -1
  962. package/version.d.ts +1 -1
  963. package/version.js +1 -1
  964. package/xata-http/driver.cjs +5 -17
  965. package/xata-http/driver.cjs.map +1 -1
  966. package/xata-http/driver.d.cts +4 -5
  967. package/xata-http/driver.d.ts +4 -5
  968. package/xata-http/driver.js +5 -7
  969. package/xata-http/driver.js.map +1 -1
  970. package/xata-http/migrator.cjs.map +1 -1
  971. package/xata-http/migrator.d.cts +1 -2
  972. package/xata-http/migrator.d.ts +1 -2
  973. package/xata-http/migrator.js.map +1 -1
  974. package/xata-http/session.cjs +2 -30
  975. package/xata-http/session.cjs.map +1 -1
  976. package/xata-http/session.d.cts +8 -13
  977. package/xata-http/session.d.ts +8 -13
  978. package/xata-http/session.js +2 -30
  979. package/xata-http/session.js.map +1 -1
  980. package/_relations.cjs +0 -328
  981. package/_relations.cjs.map +0 -1
  982. package/_relations.d.cts +0 -215
  983. package/_relations.d.ts +0 -215
  984. package/_relations.js +0 -316
  985. package/_relations.js.map +0 -1
  986. package/mysql-core/query-builders/_query.cjs +0 -149
  987. package/mysql-core/query-builders/_query.cjs.map +0 -1
  988. package/mysql-core/query-builders/_query.d.cts +0 -44
  989. package/mysql-core/query-builders/_query.d.ts +0 -44
  990. package/mysql-core/query-builders/_query.js +0 -114
  991. package/mysql-core/query-builders/_query.js.map +0 -1
  992. package/pg-core/query-builders/_query.cjs.map +0 -1
  993. package/pg-core/query-builders/_query.d.cts +0 -47
  994. package/pg-core/query-builders/_query.d.ts +0 -47
  995. package/pg-core/query-builders/_query.js.map +0 -1
  996. package/sqlite-core/query-builders/_query.cjs +0 -187
  997. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  998. package/sqlite-core/query-builders/_query.d.cts +0 -55
  999. package/sqlite-core/query-builders/_query.d.ts +0 -55
  1000. package/sqlite-core/query-builders/_query.js +0 -151
  1001. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -30,10 +30,9 @@ var import_sqlite_core = require("../sqlite-core/index.cjs");
30
30
  var import_session = require("../sqlite-core/session.cjs");
31
31
  var import_utils = require("../utils.cjs");
32
32
  class ExpoSQLiteSession extends import_session.SQLiteSession {
33
- constructor(client, dialect, relations, schema, options = {}) {
33
+ constructor(client, dialect, schema, options = {}) {
34
34
  super(dialect);
35
35
  this.client = client;
36
- this.relations = relations;
37
36
  this.schema = schema;
38
37
  this.logger = options.logger ?? new import_logger.NoopLogger();
39
38
  }
@@ -51,21 +50,8 @@ class ExpoSQLiteSession extends import_session.SQLiteSession {
51
50
  customResultMapper
52
51
  );
53
52
  }
54
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
55
- const stmt = this.client.prepareSync(query.sql);
56
- return new ExpoSQLitePreparedQuery(
57
- stmt,
58
- query,
59
- this.logger,
60
- fields,
61
- executeMethod,
62
- false,
63
- customResultMapper,
64
- true
65
- );
66
- }
67
53
  transaction(transaction, config = {}) {
68
- const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
54
+ const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.schema);
69
55
  this.run(import_sql.sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
70
56
  try {
71
57
  const result = transaction(tx);
@@ -81,14 +67,7 @@ class ExpoSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
81
67
  static [import_entity.entityKind] = "ExpoSQLiteTransaction";
82
68
  transaction(transaction) {
83
69
  const savepointName = `sp${this.nestedIndex}`;
84
- const tx = new ExpoSQLiteTransaction(
85
- "sync",
86
- this.dialect,
87
- this.session,
88
- this.relations,
89
- this.schema,
90
- this.nestedIndex + 1
91
- );
70
+ const tx = new ExpoSQLiteTransaction("sync", this.dialect, this.session, this.schema, this.nestedIndex + 1);
92
71
  this.session.run(import_sql.sql.raw(`savepoint ${savepointName}`));
93
72
  try {
94
73
  const result = transaction(tx);
@@ -101,14 +80,13 @@ class ExpoSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
101
80
  }
102
81
  }
103
82
  class ExpoSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
104
- constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
83
+ constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
105
84
  super("sync", executeMethod, query);
106
85
  this.stmt = stmt;
107
86
  this.logger = logger;
108
87
  this.fields = fields;
109
88
  this._isResponseInArrayMode = _isResponseInArrayMode;
110
89
  this.customResultMapper = customResultMapper;
111
- this.isRqbV2Query = isRqbV2Query;
112
90
  }
113
91
  static [import_entity.entityKind] = "ExpoSQLitePreparedQuery";
114
92
  run(placeholderValues) {
@@ -121,8 +99,6 @@ class ExpoSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
121
99
  };
122
100
  }
123
101
  all(placeholderValues) {
124
- if (this.isRqbV2Query)
125
- return this.allRqbV2(placeholderValues);
126
102
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
127
103
  if (!fields && !customResultMapper) {
128
104
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -135,16 +111,7 @@ class ExpoSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
135
111
  }
136
112
  return rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));
137
113
  }
138
- allRqbV2(placeholderValues) {
139
- const { query, logger, stmt, customResultMapper } = this;
140
- const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
141
- logger.logQuery(query.sql, params);
142
- const rows = stmt.executeSync(params).getAllSync();
143
- return customResultMapper(rows);
144
- }
145
114
  get(placeholderValues) {
146
- if (this.isRqbV2Query)
147
- return this.getRqbV2(placeholderValues);
148
115
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
149
116
  this.logger.logQuery(this.query.sql, params);
150
117
  const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
@@ -161,16 +128,6 @@ class ExpoSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
161
128
  }
162
129
  return (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
163
130
  }
164
- getRqbV2(placeholderValues) {
165
- const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
166
- this.logger.logQuery(this.query.sql, params);
167
- const { stmt, customResultMapper } = this;
168
- const row = stmt.executeSync(params).getFirstSync();
169
- if (!row) {
170
- return void 0;
171
- }
172
- return customResultMapper([row]);
173
- }
174
131
  values(placeholderValues) {
175
132
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
176
133
  this.logger.logQuery(this.query.sql, params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -1,8 +1,7 @@
1
1
  import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';
2
- import type * as V1 from "../_relations.cjs";
3
2
  import { entityKind } from "../entity.cjs";
4
3
  import type { Logger } from "../logger.cjs";
5
- import type { AnyRelations, TablesRelationalConfig } from "../relations.cjs";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
6
5
  import { type Query } from "../sql/sql.cjs";
7
6
  import type { SQLiteSyncDialect } from "../sqlite-core/dialect.cjs";
8
7
  import { SQLiteTransaction } from "../sqlite-core/index.cjs";
@@ -12,22 +11,20 @@ export interface ExpoSQLiteSessionOptions {
12
11
  logger?: Logger;
13
12
  }
14
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
15
- export declare class ExpoSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
14
+ export declare class ExpoSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TSchema> {
16
15
  private client;
17
- private relations;
18
16
  private schema;
19
17
  static readonly [entityKind]: string;
20
18
  private logger;
21
- constructor(client: SQLiteDatabase, dialect: SQLiteSyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: ExpoSQLiteSessionOptions);
19
+ constructor(client: SQLiteDatabase, dialect: SQLiteSyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: ExpoSQLiteSessionOptions);
22
20
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): ExpoSQLitePreparedQuery<T>;
23
- prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): ExpoSQLitePreparedQuery<T, true>;
24
- transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T, config?: SQLiteTransactionConfig): T;
21
+ transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
25
22
  }
26
- export declare class ExpoSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
23
+ export declare class ExpoSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TSchema> {
27
24
  static readonly [entityKind]: string;
28
- transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T): T;
25
+ transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T): T;
29
26
  }
30
- export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
27
+ export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
31
28
  type: 'sync';
32
29
  run: SQLiteRunResult;
33
30
  all: T['all'];
@@ -40,14 +37,11 @@ export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = Pre
40
37
  private fields;
41
38
  private _isResponseInArrayMode;
42
39
  private customResultMapper?;
43
- private isRqbV2Query?;
44
40
  static readonly [entityKind]: string;
45
- constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
41
+ constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
46
42
  run(placeholderValues?: Record<string, unknown>): SQLiteRunResult;
47
43
  all(placeholderValues?: Record<string, unknown>): T['all'];
48
- private allRqbV2;
49
44
  get(placeholderValues?: Record<string, unknown>): T['get'];
50
- private getRqbV2;
51
45
  values(placeholderValues?: Record<string, unknown>): T['values'];
52
46
  }
53
47
  export {};
@@ -1,8 +1,7 @@
1
1
  import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';
2
- import type * as V1 from "../_relations.js";
3
2
  import { entityKind } from "../entity.js";
4
3
  import type { Logger } from "../logger.js";
5
- import type { AnyRelations, TablesRelationalConfig } from "../relations.js";
4
+ import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
6
5
  import { type Query } from "../sql/sql.js";
7
6
  import type { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
8
7
  import { SQLiteTransaction } from "../sqlite-core/index.js";
@@ -12,22 +11,20 @@ export interface ExpoSQLiteSessionOptions {
12
11
  logger?: Logger;
13
12
  }
14
13
  type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
15
- export declare class ExpoSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
14
+ export declare class ExpoSQLiteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TSchema> {
16
15
  private client;
17
- private relations;
18
16
  private schema;
19
17
  static readonly [entityKind]: string;
20
18
  private logger;
21
- constructor(client: SQLiteDatabase, dialect: SQLiteSyncDialect, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: ExpoSQLiteSessionOptions);
19
+ constructor(client: SQLiteDatabase, dialect: SQLiteSyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: ExpoSQLiteSessionOptions);
22
20
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): ExpoSQLitePreparedQuery<T>;
23
- prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): ExpoSQLitePreparedQuery<T, true>;
24
- transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T, config?: SQLiteTransactionConfig): T;
21
+ transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T, config?: SQLiteTransactionConfig): T;
25
22
  }
26
- export declare class ExpoSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {
23
+ export declare class ExpoSQLiteTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TSchema> {
27
24
  static readonly [entityKind]: string;
28
- transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T): T;
25
+ transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T): T;
29
26
  }
30
- export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
27
+ export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<{
31
28
  type: 'sync';
32
29
  run: SQLiteRunResult;
33
30
  all: T['all'];
@@ -40,14 +37,11 @@ export declare class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = Pre
40
37
  private fields;
41
38
  private _isResponseInArrayMode;
42
39
  private customResultMapper?;
43
- private isRqbV2Query?;
44
40
  static readonly [entityKind]: string;
45
- constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
41
+ constructor(stmt: SQLiteStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => unknown) | undefined);
46
42
  run(placeholderValues?: Record<string, unknown>): SQLiteRunResult;
47
43
  all(placeholderValues?: Record<string, unknown>): T['all'];
48
- private allRqbV2;
49
44
  get(placeholderValues?: Record<string, unknown>): T['get'];
50
- private getRqbV2;
51
45
  values(placeholderValues?: Record<string, unknown>): T['values'];
52
46
  }
53
47
  export {};
@@ -8,10 +8,9 @@ import {
8
8
  } from "../sqlite-core/session.js";
9
9
  import { mapResultRow } from "../utils.js";
10
10
  class ExpoSQLiteSession extends SQLiteSession {
11
- constructor(client, dialect, relations, schema, options = {}) {
11
+ constructor(client, dialect, schema, options = {}) {
12
12
  super(dialect);
13
13
  this.client = client;
14
- this.relations = relations;
15
14
  this.schema = schema;
16
15
  this.logger = options.logger ?? new NoopLogger();
17
16
  }
@@ -29,21 +28,8 @@ class ExpoSQLiteSession extends SQLiteSession {
29
28
  customResultMapper
30
29
  );
31
30
  }
32
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
33
- const stmt = this.client.prepareSync(query.sql);
34
- return new ExpoSQLitePreparedQuery(
35
- stmt,
36
- query,
37
- this.logger,
38
- fields,
39
- executeMethod,
40
- false,
41
- customResultMapper,
42
- true
43
- );
44
- }
45
31
  transaction(transaction, config = {}) {
46
- const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
32
+ const tx = new ExpoSQLiteTransaction("sync", this.dialect, this, this.schema);
47
33
  this.run(sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
48
34
  try {
49
35
  const result = transaction(tx);
@@ -59,14 +45,7 @@ class ExpoSQLiteTransaction extends SQLiteTransaction {
59
45
  static [entityKind] = "ExpoSQLiteTransaction";
60
46
  transaction(transaction) {
61
47
  const savepointName = `sp${this.nestedIndex}`;
62
- const tx = new ExpoSQLiteTransaction(
63
- "sync",
64
- this.dialect,
65
- this.session,
66
- this.relations,
67
- this.schema,
68
- this.nestedIndex + 1
69
- );
48
+ const tx = new ExpoSQLiteTransaction("sync", this.dialect, this.session, this.schema, this.nestedIndex + 1);
70
49
  this.session.run(sql.raw(`savepoint ${savepointName}`));
71
50
  try {
72
51
  const result = transaction(tx);
@@ -79,14 +58,13 @@ class ExpoSQLiteTransaction extends SQLiteTransaction {
79
58
  }
80
59
  }
81
60
  class ExpoSQLitePreparedQuery extends SQLitePreparedQuery {
82
- constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
61
+ constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
83
62
  super("sync", executeMethod, query);
84
63
  this.stmt = stmt;
85
64
  this.logger = logger;
86
65
  this.fields = fields;
87
66
  this._isResponseInArrayMode = _isResponseInArrayMode;
88
67
  this.customResultMapper = customResultMapper;
89
- this.isRqbV2Query = isRqbV2Query;
90
68
  }
91
69
  static [entityKind] = "ExpoSQLitePreparedQuery";
92
70
  run(placeholderValues) {
@@ -99,8 +77,6 @@ class ExpoSQLitePreparedQuery extends SQLitePreparedQuery {
99
77
  };
100
78
  }
101
79
  all(placeholderValues) {
102
- if (this.isRqbV2Query)
103
- return this.allRqbV2(placeholderValues);
104
80
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
105
81
  if (!fields && !customResultMapper) {
106
82
  const params = fillPlaceholders(query.params, placeholderValues ?? {});
@@ -113,16 +89,7 @@ class ExpoSQLitePreparedQuery extends SQLitePreparedQuery {
113
89
  }
114
90
  return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
115
91
  }
116
- allRqbV2(placeholderValues) {
117
- const { query, logger, stmt, customResultMapper } = this;
118
- const params = fillPlaceholders(query.params, placeholderValues ?? {});
119
- logger.logQuery(query.sql, params);
120
- const rows = stmt.executeSync(params).getAllSync();
121
- return customResultMapper(rows);
122
- }
123
92
  get(placeholderValues) {
124
- if (this.isRqbV2Query)
125
- return this.getRqbV2(placeholderValues);
126
93
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
127
94
  this.logger.logQuery(this.query.sql, params);
128
95
  const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
@@ -139,16 +106,6 @@ class ExpoSQLitePreparedQuery extends SQLitePreparedQuery {
139
106
  }
140
107
  return mapResultRow(fields, row, joinsNotNullableMap);
141
108
  }
142
- getRqbV2(placeholderValues) {
143
- const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
144
- this.logger.logQuery(this.query.sql, params);
145
- const { stmt, customResultMapper } = this;
146
- const row = stmt.executeSync(params).getFirstSync();
147
- if (!row) {
148
- return void 0;
149
- }
150
- return customResultMapper([row]);
151
- }
152
109
  values(placeholderValues) {
153
110
  const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
154
111
  this.logger.logQuery(this.query.sql, params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): ExpoSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TRelations, TTablesConfig, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction(\n\t\t\t'sync',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { query, logger, stmt, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = stmt.executeSync(params as any[]).getAllSync() as Record<string, unknown>[];\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => unknown)(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { stmt, customResultMapper } = this;\n\t\tconst row = stmt.executeSync(params as any[]).getFirstSync() as Record<string, unknown> | undefined;\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => unknown)([row]) as T['get'];\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/session.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport {\n\ttype PreparedQueryConfig as PreparedQueryConfigBase,\n\ttype SQLiteExecuteMethod,\n\tSQLitePreparedQuery,\n\tSQLiteSession,\n\ttype SQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface ExpoSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class ExpoSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: SQLiteDatabase,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: ExpoSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t): ExpoSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepareSync(query.sql);\n\t\treturn new ExpoSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.schema);\n\t\tthis.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLiteTransaction';\n\n\toverride transaction<T>(transaction: (tx: ExpoSQLiteTransaction<TFullSchema, TSchema>) => T): T {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new ExpoSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tthis.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class ExpoSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: SQLiteStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues?: Record<string, unknown>): SQLiteRunResult {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\tconst { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);\n\t\treturn {\n\t\t\tchanges,\n\t\t\tlastInsertRowId,\n\t\t};\n\t}\n\n\tall(placeholderValues?: Record<string, unknown>): T['all'] {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn stmt.executeSync(params as any[]).getAllSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tget(placeholderValues?: Record<string, unknown>): T['get'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, stmt, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\treturn stmt.executeSync(params as any[]).getFirstSync();\n\t\t}\n\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tvalues(placeholderValues?: Record<string, unknown>): T['values'] {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn this.stmt.executeForRawResultSync(params as any[]).getAllSync();\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":[]}
package/gel/driver.cjs ADDED
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var driver_exports = {};
20
+ __export(driver_exports, {
21
+ GelDriver: () => GelDriver,
22
+ GelJsDatabase: () => GelJsDatabase,
23
+ drizzle: () => drizzle
24
+ });
25
+ module.exports = __toCommonJS(driver_exports);
26
+ var import_edgedb = require("edgedb");
27
+ var import_entity = require("../entity.cjs");
28
+ var import_db = require("../gel-core/db.cjs");
29
+ var import_dialect = require("../gel-core/dialect.cjs");
30
+ var import_logger = require("../logger.cjs");
31
+ var import_relations = require("../relations.cjs");
32
+ var import_utils = require("../utils.cjs");
33
+ var import_session = require("./session.cjs");
34
+ class GelDriver {
35
+ constructor(client, dialect, options = {}) {
36
+ this.client = client;
37
+ this.dialect = dialect;
38
+ this.options = options;
39
+ }
40
+ static [import_entity.entityKind] = "GelDriver";
41
+ createSession(schema) {
42
+ return new import_session.GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });
43
+ }
44
+ }
45
+ class GelJsDatabase extends import_db.GelDatabase {
46
+ static [import_entity.entityKind] = "GelJsDatabase";
47
+ }
48
+ function construct(client, config = {}) {
49
+ const dialect = new import_dialect.GelDialect({ casing: config.casing });
50
+ let logger;
51
+ if (config.logger === true) {
52
+ logger = new import_logger.DefaultLogger();
53
+ } else if (config.logger !== false) {
54
+ logger = config.logger;
55
+ }
56
+ let schema;
57
+ if (config.schema) {
58
+ const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(config.schema, import_relations.createTableRelationsHelpers);
59
+ schema = {
60
+ fullSchema: config.schema,
61
+ schema: tablesConfig.tables,
62
+ tableNamesMap: tablesConfig.tableNamesMap
63
+ };
64
+ }
65
+ const driver = new GelDriver(client, dialect, { logger });
66
+ const session = driver.createSession(schema);
67
+ const db = new GelJsDatabase(dialect, session, schema);
68
+ db.$client = client;
69
+ return db;
70
+ }
71
+ function drizzle(...params) {
72
+ if (typeof params[0] === "string") {
73
+ const instance = (0, import_edgedb.createClient)({ dsn: params[0] });
74
+ return construct(instance, params[1]);
75
+ }
76
+ if ((0, import_utils.isConfig)(params[0])) {
77
+ const { connection, client, ...drizzleConfig } = params[0];
78
+ if (client)
79
+ return construct(client, drizzleConfig);
80
+ const instance = (0, import_edgedb.createClient)(connection);
81
+ return construct(instance, drizzleConfig);
82
+ }
83
+ return construct(params[0], params[1]);
84
+ }
85
+ ((drizzle2) => {
86
+ function mock(config) {
87
+ return construct({}, config);
88
+ }
89
+ drizzle2.mock = mock;
90
+ })(drizzle || (drizzle = {}));
91
+ // Annotate the CommonJS export names for ESM import in node:
92
+ 0 && (module.exports = {
93
+ GelDriver,
94
+ GelJsDatabase,
95
+ drizzle
96
+ });
97
+ //# sourceMappingURL=driver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'edgedb';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });\n\t}\n}\n\nexport class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends GelDatabase<GelQueryResultHKT, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new GelDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\tconst db = new GelJsDatabase(dialect, session, schema as any) as GelJsDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = Client,\n>(\n\t...params:\n\t\t| [TClient | string]\n\t\t| [TClient | string, DrizzleConfig<TSchema>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\n\t\t\t\t| {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t),\n\t\t]\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = createClient(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): GelJsDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+D;AAC/D,oBAA2B;AAC3B,gBAA4B;AAC5B,qBAA2B;AAG3B,oBAA8B;AAC9B,uBAKO;AACP,mBAA6C;AAE7C,qBAA6B;AAMtB,MAAM,UAAU;AAAA,EAGtB,YACS,QACA,SACA,UAA4B,CAAC,GACpC;AAHO;AACA;AACA;AAAA,EACN;AAAA,EANH,QAAiB,wBAAU,IAAY;AAAA,EAQvC,cACC,QACgE;AAChE,WAAO,IAAI,4BAAa,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,OAAO,CAAC;AAAA,EAC3F;AACD;AAEO,MAAM,sBACJ,sBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,0BAAW,EAAE,QAAQ,OAAO,OAAO,CAAC;AACxD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe,gDAA8B,OAAO,QAAQ,4CAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,SAAS,IAAI,UAAU,QAAQ,SAAS,EAAE,OAAO,CAAC;AACxD,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,cAAc,SAAS,SAAS,MAAa;AAC5D,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAgBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,4BAAa,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;AAEhD,WAAO,UAAU,UAAU,OAAO,CAAC,CAAuC;AAAA,EAC3E;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,eAAW,4BAAa,UAAU;AAExC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -0,0 +1,38 @@
1
+ import { type Client, type ConnectOptions } from 'edgedb';
2
+ import { entityKind } from "../entity.cjs";
3
+ import { GelDatabase } from "../gel-core/db.cjs";
4
+ import { GelDialect } from "../gel-core/dialect.cjs";
5
+ import type { GelQueryResultHKT } from "../gel-core/session.cjs";
6
+ import type { Logger } from "../logger.cjs";
7
+ import { type RelationalSchemaConfig, type TablesRelationalConfig } from "../relations.cjs";
8
+ import { type DrizzleConfig } from "../utils.cjs";
9
+ import type { GelClient } from "./session.cjs";
10
+ import { GelDbSession } from "./session.cjs";
11
+ export interface GelDriverOptions {
12
+ logger?: Logger;
13
+ }
14
+ export declare class GelDriver {
15
+ private client;
16
+ private dialect;
17
+ private options;
18
+ static readonly [entityKind]: string;
19
+ constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions);
20
+ createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): GelDbSession<Record<string, unknown>, TablesRelationalConfig>;
21
+ }
22
+ export declare class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends GelDatabase<GelQueryResultHKT, TSchema> {
23
+ static readonly [entityKind]: string;
24
+ }
25
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema>] | [
26
+ DrizzleConfig<TSchema> & ({
27
+ connection: string | ConnectOptions;
28
+ } | {
29
+ client: TClient;
30
+ })
31
+ ]): GelJsDatabase<TSchema> & {
32
+ $client: TClient;
33
+ };
34
+ export declare namespace drizzle {
35
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): GelJsDatabase<TSchema> & {
36
+ $client: '$client is not available on drizzle.mock()';
37
+ };
38
+ }
@@ -0,0 +1,38 @@
1
+ import { type Client, type ConnectOptions } from 'edgedb';
2
+ import { entityKind } from "../entity.js";
3
+ import { GelDatabase } from "../gel-core/db.js";
4
+ import { GelDialect } from "../gel-core/dialect.js";
5
+ import type { GelQueryResultHKT } from "../gel-core/session.js";
6
+ import type { Logger } from "../logger.js";
7
+ import { type RelationalSchemaConfig, type TablesRelationalConfig } from "../relations.js";
8
+ import { type DrizzleConfig } from "../utils.js";
9
+ import type { GelClient } from "./session.js";
10
+ import { GelDbSession } from "./session.js";
11
+ export interface GelDriverOptions {
12
+ logger?: Logger;
13
+ }
14
+ export declare class GelDriver {
15
+ private client;
16
+ private dialect;
17
+ private options;
18
+ static readonly [entityKind]: string;
19
+ constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions);
20
+ createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): GelDbSession<Record<string, unknown>, TablesRelationalConfig>;
21
+ }
22
+ export declare class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends GelDatabase<GelQueryResultHKT, TSchema> {
23
+ static readonly [entityKind]: string;
24
+ }
25
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema>] | [
26
+ DrizzleConfig<TSchema> & ({
27
+ connection: string | ConnectOptions;
28
+ } | {
29
+ client: TClient;
30
+ })
31
+ ]): GelJsDatabase<TSchema> & {
32
+ $client: TClient;
33
+ };
34
+ export declare namespace drizzle {
35
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): GelJsDatabase<TSchema> & {
36
+ $client: '$client is not available on drizzle.mock()';
37
+ };
38
+ }