drizzle-orm 0.39.3 → 0.40.0-8e220c4

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 (381) hide show
  1. package/column-builder.cjs.map +1 -1
  2. package/column-builder.d.cts +6 -5
  3. package/column-builder.d.ts +6 -5
  4. package/column-builder.js.map +1 -1
  5. package/gel/driver.cjs +97 -0
  6. package/gel/driver.cjs.map +1 -0
  7. package/gel/driver.d.cts +38 -0
  8. package/gel/driver.d.ts +38 -0
  9. package/gel/driver.js +74 -0
  10. package/gel/driver.js.map +1 -0
  11. package/gel/index.cjs +25 -0
  12. package/gel/index.cjs.map +1 -0
  13. package/gel/index.d.cts +2 -0
  14. package/gel/index.d.ts +2 -0
  15. package/gel/index.js +3 -0
  16. package/gel/index.js.map +1 -0
  17. package/gel/migrator.cjs +5 -0
  18. package/gel/migrator.cjs.map +1 -0
  19. package/gel/migrator.d.cts +1 -0
  20. package/gel/migrator.d.ts +1 -0
  21. package/gel/migrator.js +4 -0
  22. package/gel/migrator.js.map +1 -0
  23. package/gel/session.cjs +139 -0
  24. package/gel/session.cjs.map +1 -0
  25. package/gel/session.d.cts +47 -0
  26. package/gel/session.d.ts +47 -0
  27. package/gel/session.js +113 -0
  28. package/gel/session.js.map +1 -0
  29. package/gel-core/alias.cjs +32 -0
  30. package/gel-core/alias.cjs.map +1 -0
  31. package/gel-core/alias.d.cts +4 -0
  32. package/gel-core/alias.d.ts +4 -0
  33. package/gel-core/alias.js +8 -0
  34. package/gel-core/alias.js.map +1 -0
  35. package/gel-core/checks.cjs +58 -0
  36. package/gel-core/checks.cjs.map +1 -0
  37. package/gel-core/checks.d.cts +18 -0
  38. package/gel-core/checks.d.ts +18 -0
  39. package/gel-core/checks.js +32 -0
  40. package/gel-core/checks.js.map +1 -0
  41. package/gel-core/columns/all.cjs +72 -0
  42. package/gel-core/columns/all.cjs.map +1 -0
  43. package/gel-core/columns/all.d.cts +43 -0
  44. package/gel-core/columns/all.d.ts +43 -0
  45. package/gel-core/columns/all.js +48 -0
  46. package/gel-core/columns/all.js.map +1 -0
  47. package/gel-core/columns/bigint.cjs +54 -0
  48. package/gel-core/columns/bigint.cjs.map +1 -0
  49. package/gel-core/columns/bigint.d.cts +23 -0
  50. package/gel-core/columns/bigint.d.ts +23 -0
  51. package/gel-core/columns/bigint.js +28 -0
  52. package/gel-core/columns/bigint.js.map +1 -0
  53. package/gel-core/columns/bigintT.cjs +60 -0
  54. package/gel-core/columns/bigintT.cjs.map +1 -0
  55. package/gel-core/columns/bigintT.d.cts +24 -0
  56. package/gel-core/columns/bigintT.d.ts +24 -0
  57. package/gel-core/columns/bigintT.js +34 -0
  58. package/gel-core/columns/bigintT.js.map +1 -0
  59. package/gel-core/columns/boolean.cjs +53 -0
  60. package/gel-core/columns/boolean.cjs.map +1 -0
  61. package/gel-core/columns/boolean.d.cts +22 -0
  62. package/gel-core/columns/boolean.d.ts +22 -0
  63. package/gel-core/columns/boolean.js +27 -0
  64. package/gel-core/columns/boolean.js.map +1 -0
  65. package/gel-core/columns/bytes.cjs +56 -0
  66. package/gel-core/columns/bytes.cjs.map +1 -0
  67. package/gel-core/columns/bytes.d.cts +22 -0
  68. package/gel-core/columns/bytes.d.ts +22 -0
  69. package/gel-core/columns/bytes.js +30 -0
  70. package/gel-core/columns/bytes.js.map +1 -0
  71. package/gel-core/columns/common.cjs +213 -0
  72. package/gel-core/columns/common.cjs.map +1 -0
  73. package/gel-core/columns/common.d.cts +147 -0
  74. package/gel-core/columns/common.d.ts +147 -0
  75. package/gel-core/columns/common.js +184 -0
  76. package/gel-core/columns/common.js.map +1 -0
  77. package/gel-core/columns/custom.cjs +77 -0
  78. package/gel-core/columns/custom.cjs.map +1 -0
  79. package/gel-core/columns/custom.d.cts +155 -0
  80. package/gel-core/columns/custom.d.ts +155 -0
  81. package/gel-core/columns/custom.js +51 -0
  82. package/gel-core/columns/custom.js.map +1 -0
  83. package/gel-core/columns/date-duration.cjs +56 -0
  84. package/gel-core/columns/date-duration.cjs.map +1 -0
  85. package/gel-core/columns/date-duration.d.cts +23 -0
  86. package/gel-core/columns/date-duration.d.ts +23 -0
  87. package/gel-core/columns/date-duration.js +30 -0
  88. package/gel-core/columns/date-duration.js.map +1 -0
  89. package/gel-core/columns/date.common.cjs +37 -0
  90. package/gel-core/columns/date.common.cjs.map +1 -0
  91. package/gel-core/columns/date.common.d.cts +7 -0
  92. package/gel-core/columns/date.common.d.ts +7 -0
  93. package/gel-core/columns/date.common.js +13 -0
  94. package/gel-core/columns/date.common.js.map +1 -0
  95. package/gel-core/columns/decimal.cjs +56 -0
  96. package/gel-core/columns/decimal.cjs.map +1 -0
  97. package/gel-core/columns/decimal.d.cts +26 -0
  98. package/gel-core/columns/decimal.d.ts +26 -0
  99. package/gel-core/columns/decimal.js +30 -0
  100. package/gel-core/columns/decimal.js.map +1 -0
  101. package/gel-core/columns/double-precision.cjs +62 -0
  102. package/gel-core/columns/double-precision.cjs.map +1 -0
  103. package/gel-core/columns/double-precision.d.cts +23 -0
  104. package/gel-core/columns/double-precision.d.ts +23 -0
  105. package/gel-core/columns/double-precision.js +36 -0
  106. package/gel-core/columns/double-precision.js.map +1 -0
  107. package/gel-core/columns/duration.cjs +53 -0
  108. package/gel-core/columns/duration.cjs.map +1 -0
  109. package/gel-core/columns/duration.d.cts +23 -0
  110. package/gel-core/columns/duration.d.ts +23 -0
  111. package/gel-core/columns/duration.js +27 -0
  112. package/gel-core/columns/duration.js.map +1 -0
  113. package/gel-core/columns/index.cjs +65 -0
  114. package/gel-core/columns/index.cjs.map +1 -0
  115. package/gel-core/columns/index.d.cts +22 -0
  116. package/gel-core/columns/index.d.ts +22 -0
  117. package/gel-core/columns/index.js +23 -0
  118. package/gel-core/columns/index.js.map +1 -0
  119. package/gel-core/columns/int.common.cjs +67 -0
  120. package/gel-core/columns/int.common.cjs.map +1 -0
  121. package/gel-core/columns/int.common.d.cts +15 -0
  122. package/gel-core/columns/int.common.d.ts +15 -0
  123. package/gel-core/columns/int.common.js +43 -0
  124. package/gel-core/columns/int.common.js.map +1 -0
  125. package/gel-core/columns/integer.cjs +54 -0
  126. package/gel-core/columns/integer.cjs.map +1 -0
  127. package/gel-core/columns/integer.d.cts +23 -0
  128. package/gel-core/columns/integer.d.ts +23 -0
  129. package/gel-core/columns/integer.js +28 -0
  130. package/gel-core/columns/integer.js.map +1 -0
  131. package/gel-core/columns/json.cjs +56 -0
  132. package/gel-core/columns/json.cjs.map +1 -0
  133. package/gel-core/columns/json.d.cts +26 -0
  134. package/gel-core/columns/json.d.ts +26 -0
  135. package/gel-core/columns/json.js +30 -0
  136. package/gel-core/columns/json.js.map +1 -0
  137. package/gel-core/columns/localdate.cjs +57 -0
  138. package/gel-core/columns/localdate.cjs.map +1 -0
  139. package/gel-core/columns/localdate.d.cts +24 -0
  140. package/gel-core/columns/localdate.d.ts +24 -0
  141. package/gel-core/columns/localdate.js +31 -0
  142. package/gel-core/columns/localdate.js.map +1 -0
  143. package/gel-core/columns/localtime.cjs +57 -0
  144. package/gel-core/columns/localtime.cjs.map +1 -0
  145. package/gel-core/columns/localtime.d.cts +24 -0
  146. package/gel-core/columns/localtime.d.ts +24 -0
  147. package/gel-core/columns/localtime.js +31 -0
  148. package/gel-core/columns/localtime.js.map +1 -0
  149. package/gel-core/columns/real.cjs +57 -0
  150. package/gel-core/columns/real.cjs.map +1 -0
  151. package/gel-core/columns/real.d.cts +28 -0
  152. package/gel-core/columns/real.d.ts +28 -0
  153. package/gel-core/columns/real.js +31 -0
  154. package/gel-core/columns/real.js.map +1 -0
  155. package/gel-core/columns/relative-duration.cjs +56 -0
  156. package/gel-core/columns/relative-duration.cjs.map +1 -0
  157. package/gel-core/columns/relative-duration.d.cts +23 -0
  158. package/gel-core/columns/relative-duration.d.ts +23 -0
  159. package/gel-core/columns/relative-duration.js +30 -0
  160. package/gel-core/columns/relative-duration.js.map +1 -0
  161. package/gel-core/columns/smallint.cjs +54 -0
  162. package/gel-core/columns/smallint.cjs.map +1 -0
  163. package/gel-core/columns/smallint.d.cts +23 -0
  164. package/gel-core/columns/smallint.d.ts +23 -0
  165. package/gel-core/columns/smallint.js +28 -0
  166. package/gel-core/columns/smallint.js.map +1 -0
  167. package/gel-core/columns/text.cjs +54 -0
  168. package/gel-core/columns/text.cjs.map +1 -0
  169. package/gel-core/columns/text.d.cts +26 -0
  170. package/gel-core/columns/text.d.ts +26 -0
  171. package/gel-core/columns/text.js +28 -0
  172. package/gel-core/columns/text.js.map +1 -0
  173. package/gel-core/columns/timestamp.cjs +60 -0
  174. package/gel-core/columns/timestamp.cjs.map +1 -0
  175. package/gel-core/columns/timestamp.d.cts +28 -0
  176. package/gel-core/columns/timestamp.d.ts +28 -0
  177. package/gel-core/columns/timestamp.js +34 -0
  178. package/gel-core/columns/timestamp.js.map +1 -0
  179. package/gel-core/columns/timestamptz.cjs +60 -0
  180. package/gel-core/columns/timestamptz.cjs.map +1 -0
  181. package/gel-core/columns/timestamptz.d.cts +27 -0
  182. package/gel-core/columns/timestamptz.d.ts +27 -0
  183. package/gel-core/columns/timestamptz.js +34 -0
  184. package/gel-core/columns/timestamptz.js.map +1 -0
  185. package/gel-core/columns/uuid.cjs +53 -0
  186. package/gel-core/columns/uuid.cjs.map +1 -0
  187. package/gel-core/columns/uuid.d.cts +22 -0
  188. package/gel-core/columns/uuid.d.ts +22 -0
  189. package/gel-core/columns/uuid.js +27 -0
  190. package/gel-core/columns/uuid.js.map +1 -0
  191. package/gel-core/db.cjs +338 -0
  192. package/gel-core/db.cjs.map +1 -0
  193. package/gel-core/db.d.cts +281 -0
  194. package/gel-core/db.d.ts +281 -0
  195. package/gel-core/db.js +319 -0
  196. package/gel-core/db.js.map +1 -0
  197. package/gel-core/dialect.cjs +1142 -0
  198. package/gel-core/dialect.cjs.map +1 -0
  199. package/gel-core/dialect.d.cts +62 -0
  200. package/gel-core/dialect.d.ts +62 -0
  201. package/gel-core/dialect.js +1128 -0
  202. package/gel-core/dialect.js.map +1 -0
  203. package/gel-core/expressions.cjs +49 -0
  204. package/gel-core/expressions.cjs.map +1 -0
  205. package/gel-core/expressions.d.cts +8 -0
  206. package/gel-core/expressions.d.ts +8 -0
  207. package/gel-core/expressions.js +22 -0
  208. package/gel-core/expressions.js.map +1 -0
  209. package/gel-core/foreign-keys.cjs +100 -0
  210. package/gel-core/foreign-keys.cjs.map +1 -0
  211. package/gel-core/foreign-keys.d.cts +48 -0
  212. package/gel-core/foreign-keys.d.ts +48 -0
  213. package/gel-core/foreign-keys.js +74 -0
  214. package/gel-core/foreign-keys.js.map +1 -0
  215. package/gel-core/index.cjs +61 -0
  216. package/gel-core/index.cjs.map +1 -0
  217. package/gel-core/index.d.cts +20 -0
  218. package/gel-core/index.d.ts +20 -0
  219. package/gel-core/index.js +21 -0
  220. package/gel-core/index.js.map +1 -0
  221. package/gel-core/indexes.cjs +149 -0
  222. package/gel-core/indexes.cjs.map +1 -0
  223. package/gel-core/indexes.d.cts +79 -0
  224. package/gel-core/indexes.d.ts +79 -0
  225. package/gel-core/indexes.js +121 -0
  226. package/gel-core/indexes.js.map +1 -0
  227. package/gel-core/policies.cjs +58 -0
  228. package/gel-core/policies.cjs.map +1 -0
  229. package/gel-core/policies.d.cts +24 -0
  230. package/gel-core/policies.d.ts +24 -0
  231. package/gel-core/policies.js +33 -0
  232. package/gel-core/policies.js.map +1 -0
  233. package/gel-core/primary-keys.cjs +68 -0
  234. package/gel-core/primary-keys.cjs.map +1 -0
  235. package/gel-core/primary-keys.d.cts +30 -0
  236. package/gel-core/primary-keys.d.ts +30 -0
  237. package/gel-core/primary-keys.js +42 -0
  238. package/gel-core/primary-keys.js.map +1 -0
  239. package/gel-core/query-builders/count.cjs +73 -0
  240. package/gel-core/query-builders/count.cjs.map +1 -0
  241. package/gel-core/query-builders/count.d.cts +25 -0
  242. package/gel-core/query-builders/count.d.ts +25 -0
  243. package/gel-core/query-builders/count.js +49 -0
  244. package/gel-core/query-builders/count.js.map +1 -0
  245. package/gel-core/query-builders/delete.cjs +105 -0
  246. package/gel-core/query-builders/delete.cjs.map +1 -0
  247. package/gel-core/query-builders/delete.d.cts +99 -0
  248. package/gel-core/query-builders/delete.d.ts +99 -0
  249. package/gel-core/query-builders/delete.js +81 -0
  250. package/gel-core/query-builders/delete.js.map +1 -0
  251. package/gel-core/query-builders/index.cjs +35 -0
  252. package/gel-core/query-builders/index.cjs.map +1 -0
  253. package/gel-core/query-builders/index.d.cts +7 -0
  254. package/gel-core/query-builders/index.d.ts +7 -0
  255. package/gel-core/query-builders/index.js +8 -0
  256. package/gel-core/query-builders/index.js.map +1 -0
  257. package/gel-core/query-builders/insert.cjs +218 -0
  258. package/gel-core/query-builders/insert.cjs.map +1 -0
  259. package/gel-core/query-builders/insert.d.cts +116 -0
  260. package/gel-core/query-builders/insert.d.ts +116 -0
  261. package/gel-core/query-builders/insert.js +193 -0
  262. package/gel-core/query-builders/insert.js.map +1 -0
  263. package/gel-core/query-builders/query-builder.cjs +114 -0
  264. package/gel-core/query-builders/query-builder.cjs.map +1 -0
  265. package/gel-core/query-builders/query-builder.d.cts +40 -0
  266. package/gel-core/query-builders/query-builder.d.ts +40 -0
  267. package/gel-core/query-builders/query-builder.js +90 -0
  268. package/gel-core/query-builders/query-builder.js.map +1 -0
  269. package/gel-core/query-builders/query.cjs +139 -0
  270. package/gel-core/query-builders/query.cjs.map +1 -0
  271. package/gel-core/query-builders/query.d.cts +46 -0
  272. package/gel-core/query-builders/query.d.ts +46 -0
  273. package/gel-core/query-builders/query.js +116 -0
  274. package/gel-core/query-builders/query.js.map +1 -0
  275. package/gel-core/query-builders/raw.cjs +57 -0
  276. package/gel-core/query-builders/raw.cjs.map +1 -0
  277. package/gel-core/query-builders/raw.d.cts +22 -0
  278. package/gel-core/query-builders/raw.d.ts +22 -0
  279. package/gel-core/query-builders/raw.js +33 -0
  280. package/gel-core/query-builders/raw.js.map +1 -0
  281. package/gel-core/query-builders/refresh-materialized-view.cjs +77 -0
  282. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -0
  283. package/gel-core/query-builders/refresh-materialized-view.d.cts +27 -0
  284. package/gel-core/query-builders/refresh-materialized-view.d.ts +27 -0
  285. package/gel-core/query-builders/refresh-materialized-view.js +53 -0
  286. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -0
  287. package/gel-core/query-builders/select.cjs +775 -0
  288. package/gel-core/query-builders/select.cjs.map +1 -0
  289. package/gel-core/query-builders/select.d.cts +721 -0
  290. package/gel-core/query-builders/select.d.ts +721 -0
  291. package/gel-core/query-builders/select.js +748 -0
  292. package/gel-core/query-builders/select.js.map +1 -0
  293. package/gel-core/query-builders/select.types.cjs +17 -0
  294. package/gel-core/query-builders/select.types.cjs.map +1 -0
  295. package/gel-core/query-builders/select.types.d.cts +138 -0
  296. package/gel-core/query-builders/select.types.d.ts +138 -0
  297. package/gel-core/query-builders/select.types.js +1 -0
  298. package/gel-core/query-builders/select.types.js.map +1 -0
  299. package/gel-core/query-builders/update.cjs +226 -0
  300. package/gel-core/query-builders/update.cjs.map +1 -0
  301. package/gel-core/query-builders/update.d.cts +166 -0
  302. package/gel-core/query-builders/update.d.ts +166 -0
  303. package/gel-core/query-builders/update.js +205 -0
  304. package/gel-core/query-builders/update.js.map +1 -0
  305. package/gel-core/roles.cjs +57 -0
  306. package/gel-core/roles.cjs.map +1 -0
  307. package/gel-core/roles.d.cts +13 -0
  308. package/gel-core/roles.d.ts +13 -0
  309. package/gel-core/roles.js +32 -0
  310. package/gel-core/roles.js.map +1 -0
  311. package/gel-core/schema.cjs +74 -0
  312. package/gel-core/schema.cjs.map +1 -0
  313. package/gel-core/schema.d.cts +15 -0
  314. package/gel-core/schema.d.ts +15 -0
  315. package/gel-core/schema.js +48 -0
  316. package/gel-core/schema.js.map +1 -0
  317. package/gel-core/sequence.cjs +52 -0
  318. package/gel-core/sequence.cjs.map +1 -0
  319. package/gel-core/sequence.d.cts +18 -0
  320. package/gel-core/sequence.d.ts +18 -0
  321. package/gel-core/sequence.js +25 -0
  322. package/gel-core/sequence.js.map +1 -0
  323. package/gel-core/session.cjs +94 -0
  324. package/gel-core/session.cjs.map +1 -0
  325. package/gel-core/session.d.cts +56 -0
  326. package/gel-core/session.d.ts +56 -0
  327. package/gel-core/session.js +68 -0
  328. package/gel-core/session.js.map +1 -0
  329. package/gel-core/subquery.cjs +17 -0
  330. package/gel-core/subquery.cjs.map +1 -0
  331. package/gel-core/subquery.d.cts +5 -0
  332. package/gel-core/subquery.d.ts +5 -0
  333. package/gel-core/subquery.js +1 -0
  334. package/gel-core/subquery.js.map +1 -0
  335. package/gel-core/table.cjs +100 -0
  336. package/gel-core/table.cjs.map +1 -0
  337. package/gel-core/table.d.cts +95 -0
  338. package/gel-core/table.d.ts +95 -0
  339. package/gel-core/table.js +71 -0
  340. package/gel-core/table.js.map +1 -0
  341. package/gel-core/unique-constraint.cjs +89 -0
  342. package/gel-core/unique-constraint.cjs.map +1 -0
  343. package/gel-core/unique-constraint.d.cts +25 -0
  344. package/gel-core/unique-constraint.d.ts +25 -0
  345. package/gel-core/unique-constraint.js +61 -0
  346. package/gel-core/unique-constraint.js.map +1 -0
  347. package/gel-core/utils.cjs +100 -0
  348. package/gel-core/utils.cjs.map +1 -0
  349. package/gel-core/utils.d.cts +51 -0
  350. package/gel-core/utils.d.ts +51 -0
  351. package/gel-core/utils.js +74 -0
  352. package/gel-core/utils.js.map +1 -0
  353. package/gel-core/view-base.cjs +33 -0
  354. package/gel-core/view-base.cjs.map +1 -0
  355. package/gel-core/view-base.d.cts +8 -0
  356. package/gel-core/view-base.d.ts +8 -0
  357. package/gel-core/view-base.js +9 -0
  358. package/gel-core/view-base.js.map +1 -0
  359. package/gel-core/view-common.cjs +29 -0
  360. package/gel-core/view-common.cjs.map +1 -0
  361. package/gel-core/view-common.d.cts +1 -0
  362. package/gel-core/view-common.d.ts +1 -0
  363. package/gel-core/view-common.js +5 -0
  364. package/gel-core/view-common.js.map +1 -0
  365. package/gel-core/view.cjs +302 -0
  366. package/gel-core/view.cjs.map +1 -0
  367. package/gel-core/view.d.cts +150 -0
  368. package/gel-core/view.d.ts +150 -0
  369. package/gel-core/view.js +268 -0
  370. package/gel-core/view.js.map +1 -0
  371. package/package.json +739 -2
  372. package/pg-core/table.cjs +2 -0
  373. package/pg-core/table.cjs.map +1 -1
  374. package/pg-core/table.js +2 -0
  375. package/pg-core/table.js.map +1 -1
  376. package/table.cjs.map +1 -1
  377. package/table.js.map +1 -1
  378. package/version.cjs +1 -1
  379. package/version.d.cts +1 -1
  380. package/version.d.ts +1 -1
  381. package/version.js +1 -1
@@ -0,0 +1,24 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { SQL } from "../sql/sql.js";
3
+ import type { GelRole } from "./roles.js";
4
+ import type { GelTable } from "./table.js";
5
+ export type GelPolicyToOption = 'public' | 'current_role' | 'current_user' | 'session_user' | (string & {}) | GelPolicyToOption[] | GelRole;
6
+ export interface GelPolicyConfig {
7
+ as?: 'permissive' | 'restrictive';
8
+ for?: 'all' | 'select' | 'insert' | 'update' | 'delete';
9
+ to?: GelPolicyToOption;
10
+ using?: SQL;
11
+ withCheck?: SQL;
12
+ }
13
+ export declare class GelPolicy implements GelPolicyConfig {
14
+ readonly name: string;
15
+ static readonly [entityKind]: string;
16
+ readonly as: GelPolicyConfig['as'];
17
+ readonly for: GelPolicyConfig['for'];
18
+ readonly to: GelPolicyConfig['to'];
19
+ readonly using: GelPolicyConfig['using'];
20
+ readonly withCheck: GelPolicyConfig['withCheck'];
21
+ constructor(name: string, config?: GelPolicyConfig);
22
+ link(table: GelTable): this;
23
+ }
24
+ export declare function gelPolicy(name: string, config?: GelPolicyConfig): GelPolicy;
@@ -0,0 +1,33 @@
1
+ import { entityKind } from "../entity.js";
2
+ class GelPolicy {
3
+ constructor(name, config) {
4
+ this.name = name;
5
+ if (config) {
6
+ this.as = config.as;
7
+ this.for = config.for;
8
+ this.to = config.to;
9
+ this.using = config.using;
10
+ this.withCheck = config.withCheck;
11
+ }
12
+ }
13
+ static [entityKind] = "GelPolicy";
14
+ as;
15
+ for;
16
+ to;
17
+ using;
18
+ withCheck;
19
+ /** @internal */
20
+ _linkedTable;
21
+ link(table) {
22
+ this._linkedTable = table;
23
+ return this;
24
+ }
25
+ }
26
+ function gelPolicy(name, config) {
27
+ return new GelPolicy(name, config);
28
+ }
29
+ export {
30
+ GelPolicy,
31
+ gelPolicy
32
+ };
33
+ //# sourceMappingURL=policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/gel-core/policies.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { GelRole } from './roles.ts';\nimport type { GelTable } from './table.ts';\n\nexport type GelPolicyToOption =\n\t| 'public'\n\t| 'current_role'\n\t| 'current_user'\n\t| 'session_user'\n\t| (string & {})\n\t| GelPolicyToOption[]\n\t| GelRole;\n\nexport interface GelPolicyConfig {\n\tas?: 'permissive' | 'restrictive';\n\tfor?: 'all' | 'select' | 'insert' | 'update' | 'delete';\n\tto?: GelPolicyToOption;\n\tusing?: SQL;\n\twithCheck?: SQL;\n}\n\nexport class GelPolicy implements GelPolicyConfig {\n\tstatic readonly [entityKind]: string = 'GelPolicy';\n\n\treadonly as: GelPolicyConfig['as'];\n\treadonly for: GelPolicyConfig['for'];\n\treadonly to: GelPolicyConfig['to'];\n\treadonly using: GelPolicyConfig['using'];\n\treadonly withCheck: GelPolicyConfig['withCheck'];\n\n\t/** @internal */\n\t_linkedTable?: GelTable;\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: GelPolicyConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.as = config.as;\n\t\t\tthis.for = config.for;\n\t\t\tthis.to = config.to;\n\t\t\tthis.using = config.using;\n\t\t\tthis.withCheck = config.withCheck;\n\t\t}\n\t}\n\n\tlink(table: GelTable): this {\n\t\tthis._linkedTable = table;\n\t\treturn this;\n\t}\n}\n\nexport function gelPolicy(name: string, config?: GelPolicyConfig) {\n\treturn new GelPolicy(name, config);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAsBpB,MAAM,UAAqC;AAAA,EAYjD,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,KAAK,OAAO;AACjB,WAAK,MAAM,OAAO;AAClB,WAAK,KAAK,OAAO;AACjB,WAAK,QAAQ,OAAO;AACpB,WAAK,YAAY,OAAO;AAAA,IACzB;AAAA,EACD;AAAA,EAtBA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGT;AAAA,EAeA,KAAK,OAAuB;AAC3B,SAAK,eAAe;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,UAAU,MAAc,QAA0B;AACjE,SAAO,IAAI,UAAU,MAAM,MAAM;AAClC;","names":[]}
@@ -0,0 +1,68 @@
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 primary_keys_exports = {};
20
+ __export(primary_keys_exports, {
21
+ PrimaryKey: () => PrimaryKey,
22
+ PrimaryKeyBuilder: () => PrimaryKeyBuilder,
23
+ primaryKey: () => primaryKey
24
+ });
25
+ module.exports = __toCommonJS(primary_keys_exports);
26
+ var import_entity = require("../entity.cjs");
27
+ var import_table = require("./table.cjs");
28
+ function primaryKey(...config) {
29
+ if (config[0].columns) {
30
+ return new PrimaryKeyBuilder(config[0].columns, config[0].name);
31
+ }
32
+ return new PrimaryKeyBuilder(config);
33
+ }
34
+ class PrimaryKeyBuilder {
35
+ static [import_entity.entityKind] = "GelPrimaryKeyBuilder";
36
+ /** @internal */
37
+ columns;
38
+ /** @internal */
39
+ name;
40
+ constructor(columns, name) {
41
+ this.columns = columns;
42
+ this.name = name;
43
+ }
44
+ /** @internal */
45
+ build(table) {
46
+ return new PrimaryKey(table, this.columns, this.name);
47
+ }
48
+ }
49
+ class PrimaryKey {
50
+ constructor(table, columns, name) {
51
+ this.table = table;
52
+ this.columns = columns;
53
+ this.name = name;
54
+ }
55
+ static [import_entity.entityKind] = "GelPrimaryKey";
56
+ columns;
57
+ name;
58
+ getName() {
59
+ return this.name ?? `${this.table[import_table.GelTable.Symbol.Name]}_${this.columns.map((column) => column.name).join("_")}_pk`;
60
+ }
61
+ }
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ PrimaryKey,
65
+ PrimaryKeyBuilder,
66
+ primaryKey
67
+ });
68
+ //# sourceMappingURL=primary-keys.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/gel-core/primary-keys.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { AnyGelColumn, GelColumn } from './columns/index.ts';\nimport { GelTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyGelColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'GelPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: GelColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: GelColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: GelTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'GelPrimaryKey';\n\n\treadonly columns: AnyGelColumn<{}>[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: GelTable, columns: AnyGelColumn<{}>[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name ?? `${this.table[GelTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,mBAAyB;AAelB,SAAS,cAAc,QAAa;AAC1C,MAAI,OAAO,CAAC,EAAE,SAAS;AACtB,WAAO,IAAI,kBAAkB,OAAO,CAAC,EAAE,SAAS,OAAO,CAAC,EAAE,IAAI;AAAA,EAC/D;AACA,SAAO,IAAI,kBAAkB,MAAM;AACpC;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGA;AAAA,EAEA,YACC,SACA,MACC;AACD,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACb;AAAA;AAAA,EAGA,MAAM,OAA6B;AAClC,WAAO,IAAI,WAAW,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EACrD;AACD;AAEO,MAAM,WAAW;AAAA,EAMvB,YAAqB,OAAiB,SAA6B,MAAe;AAA7D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACb;AAAA,EARA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EAOT,UAAkB;AACjB,WAAO,KAAK,QAAQ,GAAG,KAAK,MAAM,sBAAS,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,EAAE,KAAK,GAAG,CAAC;AAAA,EAC/G;AACD;","names":[]}
@@ -0,0 +1,30 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import type { AnyGelColumn, GelColumn } from "./columns/index.cjs";
3
+ import { GelTable } from "./table.cjs";
4
+ export declare function primaryKey<TTableName extends string, TColumn extends AnyGelColumn<{
5
+ tableName: TTableName;
6
+ }>, TColumns extends AnyGelColumn<{
7
+ tableName: TTableName;
8
+ }>[]>(config: {
9
+ name?: string;
10
+ columns: [TColumn, ...TColumns];
11
+ }): PrimaryKeyBuilder;
12
+ /**
13
+ * @deprecated: Please use primaryKey({ columns: [] }) instead of this function
14
+ * @param columns
15
+ */
16
+ export declare function primaryKey<TTableName extends string, TColumns extends AnyGelColumn<{
17
+ tableName: TTableName;
18
+ }>[]>(...columns: TColumns): PrimaryKeyBuilder;
19
+ export declare class PrimaryKeyBuilder {
20
+ static readonly [entityKind]: string;
21
+ constructor(columns: GelColumn[], name?: string);
22
+ }
23
+ export declare class PrimaryKey {
24
+ readonly table: GelTable;
25
+ static readonly [entityKind]: string;
26
+ readonly columns: AnyGelColumn<{}>[];
27
+ readonly name?: string;
28
+ constructor(table: GelTable, columns: AnyGelColumn<{}>[], name?: string);
29
+ getName(): string;
30
+ }
@@ -0,0 +1,30 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { AnyGelColumn, GelColumn } from "./columns/index.js";
3
+ import { GelTable } from "./table.js";
4
+ export declare function primaryKey<TTableName extends string, TColumn extends AnyGelColumn<{
5
+ tableName: TTableName;
6
+ }>, TColumns extends AnyGelColumn<{
7
+ tableName: TTableName;
8
+ }>[]>(config: {
9
+ name?: string;
10
+ columns: [TColumn, ...TColumns];
11
+ }): PrimaryKeyBuilder;
12
+ /**
13
+ * @deprecated: Please use primaryKey({ columns: [] }) instead of this function
14
+ * @param columns
15
+ */
16
+ export declare function primaryKey<TTableName extends string, TColumns extends AnyGelColumn<{
17
+ tableName: TTableName;
18
+ }>[]>(...columns: TColumns): PrimaryKeyBuilder;
19
+ export declare class PrimaryKeyBuilder {
20
+ static readonly [entityKind]: string;
21
+ constructor(columns: GelColumn[], name?: string);
22
+ }
23
+ export declare class PrimaryKey {
24
+ readonly table: GelTable;
25
+ static readonly [entityKind]: string;
26
+ readonly columns: AnyGelColumn<{}>[];
27
+ readonly name?: string;
28
+ constructor(table: GelTable, columns: AnyGelColumn<{}>[], name?: string);
29
+ getName(): string;
30
+ }
@@ -0,0 +1,42 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { GelTable } from "./table.js";
3
+ function primaryKey(...config) {
4
+ if (config[0].columns) {
5
+ return new PrimaryKeyBuilder(config[0].columns, config[0].name);
6
+ }
7
+ return new PrimaryKeyBuilder(config);
8
+ }
9
+ class PrimaryKeyBuilder {
10
+ static [entityKind] = "GelPrimaryKeyBuilder";
11
+ /** @internal */
12
+ columns;
13
+ /** @internal */
14
+ name;
15
+ constructor(columns, name) {
16
+ this.columns = columns;
17
+ this.name = name;
18
+ }
19
+ /** @internal */
20
+ build(table) {
21
+ return new PrimaryKey(table, this.columns, this.name);
22
+ }
23
+ }
24
+ class PrimaryKey {
25
+ constructor(table, columns, name) {
26
+ this.table = table;
27
+ this.columns = columns;
28
+ this.name = name;
29
+ }
30
+ static [entityKind] = "GelPrimaryKey";
31
+ columns;
32
+ name;
33
+ getName() {
34
+ return this.name ?? `${this.table[GelTable.Symbol.Name]}_${this.columns.map((column) => column.name).join("_")}_pk`;
35
+ }
36
+ }
37
+ export {
38
+ PrimaryKey,
39
+ PrimaryKeyBuilder,
40
+ primaryKey
41
+ };
42
+ //# sourceMappingURL=primary-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/gel-core/primary-keys.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { AnyGelColumn, GelColumn } from './columns/index.ts';\nimport { GelTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyGelColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'GelPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: GelColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: GelColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: GelTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'GelPrimaryKey';\n\n\treadonly columns: AnyGelColumn<{}>[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: GelTable, columns: AnyGelColumn<{}>[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name ?? `${this.table[GelTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,gBAAgB;AAelB,SAAS,cAAc,QAAa;AAC1C,MAAI,OAAO,CAAC,EAAE,SAAS;AACtB,WAAO,IAAI,kBAAkB,OAAO,CAAC,EAAE,SAAS,OAAO,CAAC,EAAE,IAAI;AAAA,EAC/D;AACA,SAAO,IAAI,kBAAkB,MAAM;AACpC;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGA;AAAA,EAEA,YACC,SACA,MACC;AACD,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACb;AAAA;AAAA,EAGA,MAAM,OAA6B;AAClC,WAAO,IAAI,WAAW,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EACrD;AACD;AAEO,MAAM,WAAW;AAAA,EAMvB,YAAqB,OAAiB,SAA6B,MAAe;AAA7D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACb;AAAA,EARA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EAOT,UAAkB;AACjB,WAAO,KAAK,QAAQ,GAAG,KAAK,MAAM,SAAS,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,EAAE,KAAK,GAAG,CAAC;AAAA,EAC/G;AACD;","names":[]}
@@ -0,0 +1,73 @@
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 count_exports = {};
20
+ __export(count_exports, {
21
+ GelCountBuilder: () => GelCountBuilder
22
+ });
23
+ module.exports = __toCommonJS(count_exports);
24
+ var import_entity = require("../../entity.cjs");
25
+ var import_sql = require("../../sql/sql.cjs");
26
+ class GelCountBuilder extends import_sql.SQL {
27
+ constructor(params) {
28
+ super(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
29
+ this.params = params;
30
+ this.mapWith(Number);
31
+ this.session = params.session;
32
+ this.sql = GelCountBuilder.buildCount(
33
+ params.source,
34
+ params.filters
35
+ );
36
+ }
37
+ sql;
38
+ static [import_entity.entityKind] = "GelCountBuilder";
39
+ [Symbol.toStringTag] = "GelCountBuilder";
40
+ session;
41
+ static buildEmbeddedCount(source, filters) {
42
+ return import_sql.sql`(select count(*) from ${source}${import_sql.sql.raw(" where ").if(filters)}${filters})`;
43
+ }
44
+ static buildCount(source, filters) {
45
+ return import_sql.sql`select count(*) as count from ${source}${import_sql.sql.raw(" where ").if(filters)}${filters};`;
46
+ }
47
+ then(onfulfilled, onrejected) {
48
+ return Promise.resolve(this.session.count(this.sql)).then(
49
+ onfulfilled,
50
+ onrejected
51
+ );
52
+ }
53
+ catch(onRejected) {
54
+ return this.then(void 0, onRejected);
55
+ }
56
+ finally(onFinally) {
57
+ return this.then(
58
+ (value) => {
59
+ onFinally?.();
60
+ return value;
61
+ },
62
+ (reason) => {
63
+ onFinally?.();
64
+ throw reason;
65
+ }
66
+ );
67
+ }
68
+ }
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ GelCountBuilder
72
+ });
73
+ //# sourceMappingURL=count.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind] = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA0C;AAInC,MAAM,wBAEH,eAAmD;AAAA,EAsB5D,YACU,QAKR;AACD,UAAM,gBAAgB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AAN1E;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,gBAAgB;AAAA,MAC1B,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAtCQ;AAAA,EAER,QAA0B,wBAAU,IAAI;AAAA,EACxC,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,uCAAoC,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,+CAA4C,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA,EAqBA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,GAAG,CAAC,EACjD;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,25 @@
1
+ import { entityKind } from "../../entity.cjs";
2
+ import { SQL, type SQLWrapper } from "../../sql/sql.cjs";
3
+ import type { GelSession } from "../session.cjs";
4
+ import type { GelTable } from "../table.cjs";
5
+ export declare class GelCountBuilder<TSession extends GelSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
6
+ readonly params: {
7
+ source: GelTable | SQL | SQLWrapper;
8
+ filters?: SQL<unknown>;
9
+ session: TSession;
10
+ };
11
+ private sql;
12
+ static readonly [entityKind] = "GelCountBuilder";
13
+ [Symbol.toStringTag]: string;
14
+ private session;
15
+ private static buildEmbeddedCount;
16
+ private static buildCount;
17
+ constructor(params: {
18
+ source: GelTable | SQL | SQLWrapper;
19
+ filters?: SQL<unknown>;
20
+ session: TSession;
21
+ });
22
+ then<TResult1 = number, TResult2 = never>(onfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
23
+ catch(onRejected?: ((reason: any) => any) | null | undefined): Promise<number>;
24
+ finally(onFinally?: (() => void) | null | undefined): Promise<number>;
25
+ }
@@ -0,0 +1,25 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { SQL, type SQLWrapper } from "../../sql/sql.js";
3
+ import type { GelSession } from "../session.js";
4
+ import type { GelTable } from "../table.js";
5
+ export declare class GelCountBuilder<TSession extends GelSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
6
+ readonly params: {
7
+ source: GelTable | SQL | SQLWrapper;
8
+ filters?: SQL<unknown>;
9
+ session: TSession;
10
+ };
11
+ private sql;
12
+ static readonly [entityKind] = "GelCountBuilder";
13
+ [Symbol.toStringTag]: string;
14
+ private session;
15
+ private static buildEmbeddedCount;
16
+ private static buildCount;
17
+ constructor(params: {
18
+ source: GelTable | SQL | SQLWrapper;
19
+ filters?: SQL<unknown>;
20
+ session: TSession;
21
+ });
22
+ then<TResult1 = number, TResult2 = never>(onfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
23
+ catch(onRejected?: ((reason: any) => any) | null | undefined): Promise<number>;
24
+ finally(onFinally?: (() => void) | null | undefined): Promise<number>;
25
+ }
@@ -0,0 +1,49 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { SQL, sql } from "../../sql/sql.js";
3
+ class GelCountBuilder extends SQL {
4
+ constructor(params) {
5
+ super(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
6
+ this.params = params;
7
+ this.mapWith(Number);
8
+ this.session = params.session;
9
+ this.sql = GelCountBuilder.buildCount(
10
+ params.source,
11
+ params.filters
12
+ );
13
+ }
14
+ sql;
15
+ static [entityKind] = "GelCountBuilder";
16
+ [Symbol.toStringTag] = "GelCountBuilder";
17
+ session;
18
+ static buildEmbeddedCount(source, filters) {
19
+ return sql`(select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters})`;
20
+ }
21
+ static buildCount(source, filters) {
22
+ return sql`select count(*) as count from ${source}${sql.raw(" where ").if(filters)}${filters};`;
23
+ }
24
+ then(onfulfilled, onrejected) {
25
+ return Promise.resolve(this.session.count(this.sql)).then(
26
+ onfulfilled,
27
+ onrejected
28
+ );
29
+ }
30
+ catch(onRejected) {
31
+ return this.then(void 0, onRejected);
32
+ }
33
+ finally(onFinally) {
34
+ return this.then(
35
+ (value) => {
36
+ onFinally?.();
37
+ return value;
38
+ },
39
+ (reason) => {
40
+ onFinally?.();
41
+ throw reason;
42
+ }
43
+ );
44
+ }
45
+ }
46
+ export {
47
+ GelCountBuilder
48
+ };
49
+ //# sourceMappingURL=count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind] = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,WAA4B;AAInC,MAAM,wBAEH,IAAmD;AAAA,EAsB5D,YACU,QAKR;AACD,UAAM,gBAAgB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AAN1E;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,gBAAgB;AAAA,MAC1B,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAtCQ;AAAA,EAER,QAA0B,UAAU,IAAI;AAAA,EACxC,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,4BAAoC,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,oCAA4C,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA,EAqBA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,GAAG,CAAC,EACjD;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,105 @@
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 delete_exports = {};
20
+ __export(delete_exports, {
21
+ GelDeleteBase: () => GelDeleteBase
22
+ });
23
+ module.exports = __toCommonJS(delete_exports);
24
+ var import_entity = require("../../entity.cjs");
25
+ var import_query_promise = require("../../query-promise.cjs");
26
+ var import_table = require("../../table.cjs");
27
+ var import_tracing = require("../../tracing.cjs");
28
+ var import_utils = require("../../utils.cjs");
29
+ class GelDeleteBase extends import_query_promise.QueryPromise {
30
+ constructor(table, session, dialect, withList) {
31
+ super();
32
+ this.session = session;
33
+ this.dialect = dialect;
34
+ this.config = { table, withList };
35
+ }
36
+ static [import_entity.entityKind] = "GelDelete";
37
+ config;
38
+ /**
39
+ * Adds a `where` clause to the query.
40
+ *
41
+ * Calling this method will delete only those rows that fulfill a specified condition.
42
+ *
43
+ * See docs: {@link https://orm.drizzle.team/docs/delete}
44
+ *
45
+ * @param where the `where` clause.
46
+ *
47
+ * @example
48
+ * You can use conditional operators and `sql function` to filter the rows to be deleted.
49
+ *
50
+ * ```ts
51
+ * // Delete all cars with green color
52
+ * await db.delete(cars).where(eq(cars.color, 'green'));
53
+ * // or
54
+ * await db.delete(cars).where(sql`${cars.color} = 'green'`)
55
+ * ```
56
+ *
57
+ * You can logically combine conditional operators with `and()` and `or()` operators:
58
+ *
59
+ * ```ts
60
+ * // Delete all BMW cars with a green color
61
+ * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
62
+ *
63
+ * // Delete all cars with the green or blue color
64
+ * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
65
+ * ```
66
+ */
67
+ where(where) {
68
+ this.config.where = where;
69
+ return this;
70
+ }
71
+ returning(fields = this.config.table[import_table.Table.Symbol.Columns]) {
72
+ this.config.returning = (0, import_utils.orderSelectedFields)(fields);
73
+ return this;
74
+ }
75
+ /** @internal */
76
+ getSQL() {
77
+ return this.dialect.buildDeleteQuery(this.config);
78
+ }
79
+ toSQL() {
80
+ const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
81
+ return rest;
82
+ }
83
+ /** @internal */
84
+ _prepare(name) {
85
+ return import_tracing.tracer.startActiveSpan("drizzle.prepareQuery", () => {
86
+ return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);
87
+ });
88
+ }
89
+ prepare(name) {
90
+ return this._prepare(name);
91
+ }
92
+ execute = (placeholderValues) => {
93
+ return import_tracing.tracer.startActiveSpan("drizzle.operation", () => {
94
+ return this._prepare().execute(placeholderValues);
95
+ });
96
+ };
97
+ $dynamic() {
98
+ return this;
99
+ }
100
+ }
101
+ // Annotate the CommonJS export names for ESM import in node:
102
+ 0 && (module.exports = {
103
+ GelDeleteBase
104
+ });
105
+ //# sourceMappingURL=delete.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gel-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type {\n\tGelPreparedQuery,\n\tGelQueryResultHKT,\n\tGelQueryResultKind,\n\tGelSession,\n\tPreparedQueryConfig,\n} from '~/gel-core/session.ts';\nimport type { GelTable } from '~/gel-core/table.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { tracer } from '~/tracing.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport type { GelColumn } from '../columns/common.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type GelDeleteWithout<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tGelDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type GelDelete<\n\tTTable extends GelTable = GelTable,\n\tTQueryResult extends GelQueryResultHKT = GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = Record<string, unknown> | undefined,\n> = GelDeleteBase<TTable, TQueryResult, TReturning, true, never>;\n\nexport interface GelDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: GelTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type GelDeleteReturningAll<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeleteReturning<\n\tT extends AnyGelDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = GelDeleteWithout<\n\tGelDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['queryResult'],\n\t\tSelectResultFields<TSelectedFields>,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type GelDeletePrepare<T extends AnyGelDeleteBase> = GelPreparedQuery<\n\tPreparedQueryConfig & {\n\t\texecute: T['_']['returning'] extends undefined ? GelQueryResultKind<T['_']['queryResult'], never>\n\t\t\t: T['_']['returning'][];\n\t}\n>;\n\nexport type GelDeleteDynamic<T extends AnyGelDeleteBase> = GelDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['returning']\n>;\n\nexport type AnyGelDeleteBase = GelDeleteBase<any, any, any, any, any>;\n\nexport interface GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>,\n\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'gel';\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t};\n}\n\nexport class GelDeleteBase<\n\tTTable extends GelTable,\n\tTQueryResult extends GelQueryResultHKT,\n\tTReturning extends Record<string, unknown> | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[]>\n\timplements\n\t\tRunnableQuery<TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[], 'gel'>,\n\t\tSQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'GelDelete';\n\n\tprivate config: GelDeleteConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tprivate session: GelSession,\n\t\tprivate dialect: GelDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): GelDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): GelDeleteReturningAll<this, TDynamic>;\n\treturning<TSelectedFields extends SelectedFieldsFlat>(\n\t\tfields: TSelectedFields,\n\t): GelDeleteReturning<this, TDynamic, TSelectedFields>;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[Table.Symbol.Columns],\n\t): GelDeleteReturning<this, TDynamic, any> {\n\t\tthis.config.returning = orderSelectedFields<GelColumn>(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(name?: string): GelDeletePrepare<this> {\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\treturn this.session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & {\n\t\t\t\t\texecute: TReturning extends undefined ? GelQueryResultKind<TQueryResult, never> : TReturning[];\n\t\t\t\t}\n\t\t\t>(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true);\n\t\t});\n\t}\n\n\tprepare(name: string): GelDeletePrepare<this> {\n\t\treturn this._prepare(name);\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn tracer.startActiveSpan('drizzle.operation', () => {\n\t\t\treturn this._prepare().execute(placeholderValues);\n\t\t});\n\t};\n\n\t$dynamic(): GelDeleteDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAW3B,2BAA6B;AAI7B,mBAAsB;AACtB,qBAAuB;AACvB,mBAAoC;AAqG7B,MAAM,sBAOH,kCAIV;AAAA,EAKC,YACC,OACQ,SACA,SACR,UACC;AACD,UAAM;AAJE;AACA;AAIR,SAAK,SAAS,EAAE,OAAO,SAAS;AAAA,EACjC;AAAA,EAZA,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyCR,MAAM,OAAmE;AACxE,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA,EA0BA,UACC,SAA6B,KAAK,OAAO,MAAM,mBAAM,OAAO,OAAO,GACzB;AAC1C,SAAK,OAAO,gBAAY,kCAA+B,MAAM;AAC7D,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAS,MAAuC;AAC/C,WAAO,sBAAO,gBAAgB,wBAAwB,MAAM;AAC3D,aAAO,KAAK,QAAQ,aAIlB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,WAAW,MAAM,IAAI;AAAA,IAC5E,CAAC;AAAA,EACF;AAAA,EAEA,QAAQ,MAAsC;AAC7C,WAAO,KAAK,SAAS,IAAI;AAAA,EAC1B;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,sBAAO,gBAAgB,qBAAqB,MAAM;AACxD,aAAO,KAAK,SAAS,EAAE,QAAQ,iBAAiB;AAAA,IACjD,CAAC;AAAA,EACF;AAAA,EAEA,WAAmC;AAClC,WAAO;AAAA,EACR;AACD;","names":[]}