semola 0.5.3 → 0.6.0

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 (367) hide show
  1. package/README.md +18 -45
  2. package/dist/chunk-CKQMccvm.cjs +28 -0
  3. package/dist/lib/api/index.cjs +536 -4
  4. package/dist/lib/api/index.d.cts +270 -4
  5. package/dist/lib/api/index.d.mts +270 -4
  6. package/dist/lib/api/index.mjs +534 -2
  7. package/dist/lib/cache/index.cjs +47 -22
  8. package/dist/lib/cache/index.d.cts +14 -23
  9. package/dist/lib/cache/index.d.mts +14 -23
  10. package/dist/lib/cache/index.mjs +48 -25
  11. package/dist/lib/cron/index.cjs +734 -12
  12. package/dist/lib/cron/index.d.cts +145 -3
  13. package/dist/lib/cron/index.d.mts +145 -3
  14. package/dist/lib/cron/index.mjs +725 -3
  15. package/dist/lib/errors/index.d.cts +4 -4
  16. package/dist/lib/errors/index.d.mts +4 -4
  17. package/dist/lib/errors/index.mjs +0 -2
  18. package/dist/lib/i18n/index.d.cts +12 -4
  19. package/dist/lib/i18n/index.d.mts +12 -4
  20. package/dist/lib/i18n/index.mjs +0 -2
  21. package/dist/lib/logging/index.cjs +387 -17
  22. package/dist/lib/logging/index.d.cts +107 -6
  23. package/dist/lib/logging/index.d.mts +107 -6
  24. package/dist/lib/logging/index.mjs +373 -4
  25. package/dist/lib/orm/index.cjs +1641 -19
  26. package/dist/lib/orm/index.d.cts +402 -7
  27. package/dist/lib/orm/index.d.mts +402 -7
  28. package/dist/lib/orm/index.mjs +1630 -6
  29. package/dist/lib/policy/index.cjs +206 -20
  30. package/dist/lib/policy/index.d.cts +61 -5
  31. package/dist/lib/policy/index.d.mts +61 -5
  32. package/dist/lib/policy/index.mjs +187 -3
  33. package/dist/lib/prompts/index.cjs +374 -14
  34. package/dist/lib/prompts/index.d.cts +73 -29
  35. package/dist/lib/prompts/index.d.mts +73 -29
  36. package/dist/lib/prompts/index.mjs +361 -4
  37. package/dist/lib/pubsub/index.cjs +43 -19
  38. package/dist/lib/pubsub/index.d.cts +12 -22
  39. package/dist/lib/pubsub/index.d.mts +12 -22
  40. package/dist/lib/pubsub/index.mjs +44 -22
  41. package/dist/lib/queue/index.cjs +40 -10
  42. package/dist/lib/queue/index.d.cts +57 -8
  43. package/dist/lib/queue/index.d.mts +57 -8
  44. package/dist/lib/queue/index.mjs +39 -13
  45. package/dist/lib/workflow/index.cjs +285 -282
  46. package/dist/lib/workflow/index.d.cts +147 -4
  47. package/dist/lib/workflow/index.d.mts +147 -4
  48. package/dist/lib/workflow/index.mjs +278 -286
  49. package/package.json +11 -1
  50. package/dist/api/core/index.cjs +0 -206
  51. package/dist/api/core/index.d.cts +0 -21
  52. package/dist/api/core/index.d.cts.map +0 -1
  53. package/dist/api/core/index.d.mts +0 -21
  54. package/dist/api/core/index.d.mts.map +0 -1
  55. package/dist/api/core/index.mjs +0 -208
  56. package/dist/api/core/index.mjs.map +0 -1
  57. package/dist/api/core/types.d.cts +0 -107
  58. package/dist/api/core/types.d.cts.map +0 -1
  59. package/dist/api/core/types.d.mts +0 -107
  60. package/dist/api/core/types.d.mts.map +0 -1
  61. package/dist/api/middleware/index.cjs +0 -8
  62. package/dist/api/middleware/index.d.cts +0 -11
  63. package/dist/api/middleware/index.d.cts.map +0 -1
  64. package/dist/api/middleware/index.d.mts +0 -11
  65. package/dist/api/middleware/index.d.mts.map +0 -1
  66. package/dist/api/middleware/index.mjs +0 -10
  67. package/dist/api/middleware/index.mjs.map +0 -1
  68. package/dist/api/middleware/types.d.cts +0 -16
  69. package/dist/api/middleware/types.d.cts.map +0 -1
  70. package/dist/api/middleware/types.d.mts +0 -16
  71. package/dist/api/middleware/types.d.mts.map +0 -1
  72. package/dist/api/openapi/index.cjs +0 -254
  73. package/dist/api/openapi/index.mjs +0 -256
  74. package/dist/api/openapi/index.mjs.map +0 -1
  75. package/dist/api/openapi/types.d.cts +0 -60
  76. package/dist/api/openapi/types.d.cts.map +0 -1
  77. package/dist/api/openapi/types.d.mts +0 -60
  78. package/dist/api/openapi/types.d.mts.map +0 -1
  79. package/dist/api/validation/index.cjs +0 -64
  80. package/dist/api/validation/index.mjs +0 -61
  81. package/dist/api/validation/index.mjs.map +0 -1
  82. package/dist/cache/types.d.cts +0 -17
  83. package/dist/cache/types.d.cts.map +0 -1
  84. package/dist/cache/types.d.mts +0 -17
  85. package/dist/cache/types.d.mts.map +0 -1
  86. package/dist/cron/builder/index.cjs +0 -166
  87. package/dist/cron/builder/index.d.cts +0 -28
  88. package/dist/cron/builder/index.d.cts.map +0 -1
  89. package/dist/cron/builder/index.d.mts +0 -28
  90. package/dist/cron/builder/index.d.mts.map +0 -1
  91. package/dist/cron/builder/index.mjs +0 -163
  92. package/dist/cron/builder/index.mjs.map +0 -1
  93. package/dist/cron/builder/types.cjs +0 -27
  94. package/dist/cron/builder/types.d.cts +0 -79
  95. package/dist/cron/builder/types.d.cts.map +0 -1
  96. package/dist/cron/builder/types.d.mts +0 -79
  97. package/dist/cron/builder/types.d.mts.map +0 -1
  98. package/dist/cron/builder/types.mjs +0 -28
  99. package/dist/cron/builder/types.mjs.map +0 -1
  100. package/dist/cron/core/index.cjs +0 -308
  101. package/dist/cron/core/index.d.cts +0 -39
  102. package/dist/cron/core/index.d.cts.map +0 -1
  103. package/dist/cron/core/index.d.mts +0 -39
  104. package/dist/cron/core/index.d.mts.map +0 -1
  105. package/dist/cron/core/index.mjs +0 -310
  106. package/dist/cron/core/index.mjs.map +0 -1
  107. package/dist/cron/core/scanner.cjs +0 -237
  108. package/dist/cron/core/scanner.mjs +0 -238
  109. package/dist/cron/core/scanner.mjs.map +0 -1
  110. package/dist/cron/core/types.d.cts +0 -11
  111. package/dist/cron/core/types.d.cts.map +0 -1
  112. package/dist/cron/core/types.d.mts +0 -11
  113. package/dist/cron/core/types.d.mts.map +0 -1
  114. package/dist/errors/types.d.cts +0 -5
  115. package/dist/errors/types.d.cts.map +0 -1
  116. package/dist/errors/types.d.mts +0 -5
  117. package/dist/errors/types.d.mts.map +0 -1
  118. package/dist/i18n/types.d.cts +0 -13
  119. package/dist/i18n/types.d.cts.map +0 -1
  120. package/dist/i18n/types.d.mts +0 -13
  121. package/dist/i18n/types.d.mts.map +0 -1
  122. package/dist/lib/cache/index.d.cts.map +0 -1
  123. package/dist/lib/cache/index.d.mts.map +0 -1
  124. package/dist/lib/cache/index.mjs.map +0 -1
  125. package/dist/lib/errors/index.d.cts.map +0 -1
  126. package/dist/lib/errors/index.d.mts.map +0 -1
  127. package/dist/lib/errors/index.mjs.map +0 -1
  128. package/dist/lib/i18n/index.d.cts.map +0 -1
  129. package/dist/lib/i18n/index.d.mts.map +0 -1
  130. package/dist/lib/i18n/index.mjs.map +0 -1
  131. package/dist/lib/policy/index.d.cts.map +0 -1
  132. package/dist/lib/policy/index.d.mts.map +0 -1
  133. package/dist/lib/policy/index.mjs.map +0 -1
  134. package/dist/lib/prompts/index.d.cts.map +0 -1
  135. package/dist/lib/prompts/index.d.mts.map +0 -1
  136. package/dist/lib/prompts/index.mjs.map +0 -1
  137. package/dist/lib/pubsub/index.d.cts.map +0 -1
  138. package/dist/lib/pubsub/index.d.mts.map +0 -1
  139. package/dist/lib/pubsub/index.mjs.map +0 -1
  140. package/dist/lib/queue/index.d.cts.map +0 -1
  141. package/dist/lib/queue/index.d.mts.map +0 -1
  142. package/dist/lib/queue/index.mjs.map +0 -1
  143. package/dist/lib/workflow/index.d.cts.map +0 -1
  144. package/dist/lib/workflow/index.d.mts.map +0 -1
  145. package/dist/lib/workflow/index.mjs.map +0 -1
  146. package/dist/logging/core/index.cjs +0 -99
  147. package/dist/logging/core/index.d.cts +0 -26
  148. package/dist/logging/core/index.d.cts.map +0 -1
  149. package/dist/logging/core/index.d.mts +0 -26
  150. package/dist/logging/core/index.d.mts.map +0 -1
  151. package/dist/logging/core/index.mjs +0 -99
  152. package/dist/logging/core/index.mjs.map +0 -1
  153. package/dist/logging/core/types.cjs +0 -10
  154. package/dist/logging/core/types.d.cts +0 -22
  155. package/dist/logging/core/types.d.cts.map +0 -1
  156. package/dist/logging/core/types.d.mts +0 -22
  157. package/dist/logging/core/types.d.mts.map +0 -1
  158. package/dist/logging/core/types.mjs +0 -12
  159. package/dist/logging/core/types.mjs.map +0 -1
  160. package/dist/logging/formatter/index.cjs +0 -119
  161. package/dist/logging/formatter/index.d.cts +0 -27
  162. package/dist/logging/formatter/index.d.cts.map +0 -1
  163. package/dist/logging/formatter/index.d.mts +0 -27
  164. package/dist/logging/formatter/index.d.mts.map +0 -1
  165. package/dist/logging/formatter/index.mjs +0 -115
  166. package/dist/logging/formatter/index.mjs.map +0 -1
  167. package/dist/logging/formatter/types.d.cts +0 -5
  168. package/dist/logging/formatter/types.d.cts.map +0 -1
  169. package/dist/logging/formatter/types.d.mts +0 -5
  170. package/dist/logging/formatter/types.d.mts.map +0 -1
  171. package/dist/logging/provider/index.cjs +0 -165
  172. package/dist/logging/provider/index.d.cts +0 -28
  173. package/dist/logging/provider/index.d.cts.map +0 -1
  174. package/dist/logging/provider/index.d.mts +0 -28
  175. package/dist/logging/provider/index.d.mts.map +0 -1
  176. package/dist/logging/provider/index.mjs +0 -165
  177. package/dist/logging/provider/index.mjs.map +0 -1
  178. package/dist/logging/provider/types.d.cts +0 -23
  179. package/dist/logging/provider/types.d.cts.map +0 -1
  180. package/dist/logging/provider/types.d.mts +0 -23
  181. package/dist/logging/provider/types.d.mts.map +0 -1
  182. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +0 -80
  183. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +0 -1
  184. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +0 -80
  185. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
  186. package/dist/orm/column.cjs +0 -137
  187. package/dist/orm/column.d.cts +0 -121
  188. package/dist/orm/column.d.cts.map +0 -1
  189. package/dist/orm/column.d.mts +0 -121
  190. package/dist/orm/column.d.mts.map +0 -1
  191. package/dist/orm/column.mjs +0 -132
  192. package/dist/orm/column.mjs.map +0 -1
  193. package/dist/orm/dialect/index.cjs +0 -14
  194. package/dist/orm/dialect/index.mjs +0 -16
  195. package/dist/orm/dialect/index.mjs.map +0 -1
  196. package/dist/orm/dialect/mysql.cjs +0 -31
  197. package/dist/orm/dialect/mysql.mjs +0 -33
  198. package/dist/orm/dialect/mysql.mjs.map +0 -1
  199. package/dist/orm/dialect/postgres.cjs +0 -23
  200. package/dist/orm/dialect/postgres.mjs +0 -25
  201. package/dist/orm/dialect/postgres.mjs.map +0 -1
  202. package/dist/orm/dialect/sqlite.cjs +0 -31
  203. package/dist/orm/dialect/sqlite.mjs +0 -33
  204. package/dist/orm/dialect/sqlite.mjs.map +0 -1
  205. package/dist/orm/dialect/utils.cjs +0 -8
  206. package/dist/orm/dialect/utils.mjs +0 -10
  207. package/dist/orm/dialect/utils.mjs.map +0 -1
  208. package/dist/orm/internal/table-columns.cjs +0 -31
  209. package/dist/orm/internal/table-columns.mjs +0 -32
  210. package/dist/orm/internal/table-columns.mjs.map +0 -1
  211. package/dist/orm/internal/table-lookup.cjs +0 -35
  212. package/dist/orm/internal/table-lookup.mjs +0 -35
  213. package/dist/orm/internal/table-lookup.mjs.map +0 -1
  214. package/dist/orm/internal/table-relations.cjs +0 -28
  215. package/dist/orm/internal/table-relations.mjs +0 -29
  216. package/dist/orm/internal/table-relations.mjs.map +0 -1
  217. package/dist/orm/migration/config.cjs +0 -7
  218. package/dist/orm/migration/config.d.cts +0 -7
  219. package/dist/orm/migration/config.d.cts.map +0 -1
  220. package/dist/orm/migration/config.d.mts +0 -7
  221. package/dist/orm/migration/config.d.mts.map +0 -1
  222. package/dist/orm/migration/config.mjs +0 -8
  223. package/dist/orm/migration/config.mjs.map +0 -1
  224. package/dist/orm/migration/types.d.cts +0 -20
  225. package/dist/orm/migration/types.d.cts.map +0 -1
  226. package/dist/orm/migration/types.d.mts +0 -20
  227. package/dist/orm/migration/types.d.mts.map +0 -1
  228. package/dist/orm/orm.cjs +0 -41
  229. package/dist/orm/orm.d.cts +0 -18
  230. package/dist/orm/orm.d.cts.map +0 -1
  231. package/dist/orm/orm.d.mts +0 -18
  232. package/dist/orm/orm.d.mts.map +0 -1
  233. package/dist/orm/orm.mjs +0 -43
  234. package/dist/orm/orm.mjs.map +0 -1
  235. package/dist/orm/relation.cjs +0 -18
  236. package/dist/orm/relation.d.cts +0 -8
  237. package/dist/orm/relation.d.cts.map +0 -1
  238. package/dist/orm/relation.d.mts +0 -8
  239. package/dist/orm/relation.d.mts.map +0 -1
  240. package/dist/orm/relation.mjs +0 -19
  241. package/dist/orm/relation.mjs.map +0 -1
  242. package/dist/orm/runtime/builders/mutations.cjs +0 -29
  243. package/dist/orm/runtime/builders/mutations.mjs +0 -28
  244. package/dist/orm/runtime/builders/mutations.mjs.map +0 -1
  245. package/dist/orm/runtime/builders/select.cjs +0 -18
  246. package/dist/orm/runtime/builders/select.mjs +0 -19
  247. package/dist/orm/runtime/builders/select.mjs.map +0 -1
  248. package/dist/orm/runtime/client.cjs +0 -90
  249. package/dist/orm/runtime/client.mjs +0 -92
  250. package/dist/orm/runtime/client.mjs.map +0 -1
  251. package/dist/orm/runtime/context.cjs +0 -49
  252. package/dist/orm/runtime/context.mjs +0 -51
  253. package/dist/orm/runtime/context.mjs.map +0 -1
  254. package/dist/orm/runtime/dialect/index.cjs +0 -11
  255. package/dist/orm/runtime/dialect/index.mjs +0 -13
  256. package/dist/orm/runtime/dialect/index.mjs.map +0 -1
  257. package/dist/orm/runtime/dialect/mysql.cjs +0 -95
  258. package/dist/orm/runtime/dialect/mysql.mjs +0 -97
  259. package/dist/orm/runtime/dialect/mysql.mjs.map +0 -1
  260. package/dist/orm/runtime/dialect/postgres.cjs +0 -51
  261. package/dist/orm/runtime/dialect/postgres.mjs +0 -53
  262. package/dist/orm/runtime/dialect/postgres.mjs.map +0 -1
  263. package/dist/orm/runtime/dialect/sqlite.cjs +0 -4
  264. package/dist/orm/runtime/dialect/sqlite.mjs +0 -7
  265. package/dist/orm/runtime/dialect/sqlite.mjs.map +0 -1
  266. package/dist/orm/runtime/errors.cjs +0 -19
  267. package/dist/orm/runtime/errors.mjs +0 -21
  268. package/dist/orm/runtime/errors.mjs.map +0 -1
  269. package/dist/orm/runtime/hydrate/many.cjs +0 -46
  270. package/dist/orm/runtime/hydrate/many.mjs +0 -48
  271. package/dist/orm/runtime/hydrate/many.mjs.map +0 -1
  272. package/dist/orm/runtime/hydrate/one.cjs +0 -38
  273. package/dist/orm/runtime/hydrate/one.mjs +0 -40
  274. package/dist/orm/runtime/hydrate/one.mjs.map +0 -1
  275. package/dist/orm/runtime/hydrate.cjs +0 -49
  276. package/dist/orm/runtime/hydrate.mjs +0 -51
  277. package/dist/orm/runtime/hydrate.mjs.map +0 -1
  278. package/dist/orm/runtime/rows.cjs +0 -30
  279. package/dist/orm/runtime/rows.mjs +0 -31
  280. package/dist/orm/runtime/rows.mjs.map +0 -1
  281. package/dist/orm/runtime/utils.cjs +0 -27
  282. package/dist/orm/runtime/utils.mjs +0 -27
  283. package/dist/orm/runtime/utils.mjs.map +0 -1
  284. package/dist/orm/sql/parse-array.cjs +0 -64
  285. package/dist/orm/sql/parse-array.mjs +0 -66
  286. package/dist/orm/sql/parse-array.mjs.map +0 -1
  287. package/dist/orm/sql/plan/select.cjs +0 -36
  288. package/dist/orm/sql/plan/select.mjs +0 -38
  289. package/dist/orm/sql/plan/select.mjs.map +0 -1
  290. package/dist/orm/sql/plan/where/operators.cjs +0 -95
  291. package/dist/orm/sql/plan/where/operators.mjs +0 -97
  292. package/dist/orm/sql/plan/where/operators.mjs.map +0 -1
  293. package/dist/orm/sql/plan/where.cjs +0 -59
  294. package/dist/orm/sql/plan/where.mjs +0 -61
  295. package/dist/orm/sql/plan/where.mjs.map +0 -1
  296. package/dist/orm/sql/serialize/clauses.cjs +0 -36
  297. package/dist/orm/sql/serialize/clauses.mjs +0 -37
  298. package/dist/orm/sql/serialize/clauses.mjs.map +0 -1
  299. package/dist/orm/sql/serialize/joins.cjs +0 -31
  300. package/dist/orm/sql/serialize/joins.mjs +0 -33
  301. package/dist/orm/sql/serialize/joins.mjs.map +0 -1
  302. package/dist/orm/sql/serialize/values.cjs +0 -30
  303. package/dist/orm/sql/serialize/values.mjs +0 -32
  304. package/dist/orm/sql/serialize/values.mjs.map +0 -1
  305. package/dist/orm/sql/serialize/where/predicate.cjs +0 -73
  306. package/dist/orm/sql/serialize/where/predicate.mjs +0 -75
  307. package/dist/orm/sql/serialize/where/predicate.mjs.map +0 -1
  308. package/dist/orm/sql/serialize/where/tree.cjs +0 -26
  309. package/dist/orm/sql/serialize/where/tree.mjs +0 -28
  310. package/dist/orm/sql/serialize/where/tree.mjs.map +0 -1
  311. package/dist/orm/sql/serialize/where.cjs +0 -10
  312. package/dist/orm/sql/serialize/where.mjs +0 -12
  313. package/dist/orm/sql/serialize/where.mjs.map +0 -1
  314. package/dist/orm/sql/serialize.cjs +0 -24
  315. package/dist/orm/sql/serialize.mjs +0 -25
  316. package/dist/orm/sql/serialize.mjs.map +0 -1
  317. package/dist/orm/table.cjs +0 -12
  318. package/dist/orm/table.d.cts +0 -12
  319. package/dist/orm/table.d.cts.map +0 -1
  320. package/dist/orm/table.d.mts +0 -12
  321. package/dist/orm/table.d.mts.map +0 -1
  322. package/dist/orm/table.mjs +0 -14
  323. package/dist/orm/table.mjs.map +0 -1
  324. package/dist/orm/types.d.cts +0 -183
  325. package/dist/orm/types.d.cts.map +0 -1
  326. package/dist/orm/types.d.mts +0 -183
  327. package/dist/orm/types.d.mts.map +0 -1
  328. package/dist/policy/helpers.cjs +0 -206
  329. package/dist/policy/helpers.d.cts +0 -50
  330. package/dist/policy/helpers.d.cts.map +0 -1
  331. package/dist/policy/helpers.d.mts +0 -50
  332. package/dist/policy/helpers.d.mts.map +0 -1
  333. package/dist/policy/helpers.mjs +0 -190
  334. package/dist/policy/helpers.mjs.map +0 -1
  335. package/dist/policy/types.d.cts +0 -16
  336. package/dist/policy/types.d.cts.map +0 -1
  337. package/dist/policy/types.d.mts +0 -16
  338. package/dist/policy/types.d.mts.map +0 -1
  339. package/dist/prompts/core/keys.cjs +0 -165
  340. package/dist/prompts/core/keys.mjs +0 -167
  341. package/dist/prompts/core/keys.mjs.map +0 -1
  342. package/dist/prompts/core/runtime.cjs +0 -104
  343. package/dist/prompts/core/runtime.mjs +0 -106
  344. package/dist/prompts/core/runtime.mjs.map +0 -1
  345. package/dist/prompts/core/session.cjs +0 -98
  346. package/dist/prompts/core/session.mjs +0 -100
  347. package/dist/prompts/core/session.mjs.map +0 -1
  348. package/dist/prompts/core/types.d.cts +0 -21
  349. package/dist/prompts/core/types.d.cts.map +0 -1
  350. package/dist/prompts/core/types.d.mts +0 -21
  351. package/dist/prompts/core/types.d.mts.map +0 -1
  352. package/dist/prompts/types.d.cts +0 -52
  353. package/dist/prompts/types.d.cts.map +0 -1
  354. package/dist/prompts/types.d.mts +0 -52
  355. package/dist/prompts/types.d.mts.map +0 -1
  356. package/dist/pubsub/types.d.cts +0 -10
  357. package/dist/pubsub/types.d.cts.map +0 -1
  358. package/dist/pubsub/types.d.mts +0 -10
  359. package/dist/pubsub/types.d.mts.map +0 -1
  360. package/dist/queue/types.d.cts +0 -47
  361. package/dist/queue/types.d.cts.map +0 -1
  362. package/dist/queue/types.d.mts +0 -47
  363. package/dist/queue/types.d.mts.map +0 -1
  364. package/dist/workflow/types.d.cts +0 -83
  365. package/dist/workflow/types.d.cts.map +0 -1
  366. package/dist/workflow/types.d.mts +0 -83
  367. package/dist/workflow/types.d.mts.map +0 -1
@@ -1,49 +0,0 @@
1
- const require_values = require("../sql/serialize/values.cjs");
2
- const require_mutations = require("./builders/mutations.cjs");
3
- const require_select = require("./builders/select.cjs");
4
- //#region src/lib/orm/runtime/context.ts
5
- function createRuntimeDialectContext(options) {
6
- const { runner, table, relations, dialectAdapter, supportsReturning, normalizeCurrentRows, executeOrThrow } = options;
7
- const withRunner = (nextRunner) => createRuntimeDialectContext({
8
- runner: nextRunner,
9
- table,
10
- relations,
11
- dialectAdapter,
12
- supportsReturning,
13
- normalizeCurrentRows,
14
- executeOrThrow
15
- });
16
- const select = (input = {}) => require_select.createSelectQuery(runner, table, relations, input, dialectAdapter);
17
- const insert = (input) => require_mutations.createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);
18
- const insertReturning = (input) => require_mutations.createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);
19
- const insertMany = (rows, returning) => require_mutations.createInsertManyQuery(runner, table, rows, supportsReturning && returning);
20
- const insertManyReturning = (rows) => require_mutations.createInsertManyQuery(runner, table, rows, true);
21
- const update = (input) => require_mutations.createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);
22
- const updateReturning = (input) => require_mutations.createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);
23
- const deleteByWhere = (input) => require_mutations.createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);
24
- const deleteReturning = (input) => require_mutations.createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);
25
- const selectRows = async (input = {}) => {
26
- return normalizeCurrentRows(await executeOrThrow(select(input)));
27
- };
28
- return {
29
- runner,
30
- table,
31
- relations,
32
- select,
33
- selectRows,
34
- insert,
35
- insertReturning,
36
- insertMany,
37
- insertManyReturning,
38
- update,
39
- updateReturning,
40
- deleteByWhere,
41
- deleteReturning,
42
- mapSqlRow: (data) => require_values.mapDataToSqlRow(table, data, dialectAdapter),
43
- normalizeResultRows: normalizeCurrentRows,
44
- executeOrThrow,
45
- withRunner
46
- };
47
- }
48
- //#endregion
49
- exports.createRuntimeDialectContext = createRuntimeDialectContext;
@@ -1,51 +0,0 @@
1
- import { mapDataToSqlRow } from "../sql/serialize/values.mjs";
2
- import { createDeleteQuery, createInsertManyQuery, createInsertQuery, createUpdateQuery } from "./builders/mutations.mjs";
3
- import { createSelectQuery } from "./builders/select.mjs";
4
- //#region src/lib/orm/runtime/context.ts
5
- function createRuntimeDialectContext(options) {
6
- const { runner, table, relations, dialectAdapter, supportsReturning, normalizeCurrentRows, executeOrThrow } = options;
7
- const withRunner = (nextRunner) => createRuntimeDialectContext({
8
- runner: nextRunner,
9
- table,
10
- relations,
11
- dialectAdapter,
12
- supportsReturning,
13
- normalizeCurrentRows,
14
- executeOrThrow
15
- });
16
- const select = (input = {}) => createSelectQuery(runner, table, relations, input, dialectAdapter);
17
- const insert = (input) => createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);
18
- const insertReturning = (input) => createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);
19
- const insertMany = (rows, returning) => createInsertManyQuery(runner, table, rows, supportsReturning && returning);
20
- const insertManyReturning = (rows) => createInsertManyQuery(runner, table, rows, true);
21
- const update = (input) => createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);
22
- const updateReturning = (input) => createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);
23
- const deleteByWhere = (input) => createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);
24
- const deleteReturning = (input) => createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);
25
- const selectRows = async (input = {}) => {
26
- return normalizeCurrentRows(await executeOrThrow(select(input)));
27
- };
28
- return {
29
- runner,
30
- table,
31
- relations,
32
- select,
33
- selectRows,
34
- insert,
35
- insertReturning,
36
- insertMany,
37
- insertManyReturning,
38
- update,
39
- updateReturning,
40
- deleteByWhere,
41
- deleteReturning,
42
- mapSqlRow: (data) => mapDataToSqlRow(table, data, dialectAdapter),
43
- normalizeResultRows: normalizeCurrentRows,
44
- executeOrThrow,
45
- withRunner
46
- };
47
- }
48
- //#endregion
49
- export { createRuntimeDialectContext };
50
-
51
- //# sourceMappingURL=context.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.mjs","names":[],"sources":["../../../src/lib/orm/runtime/context.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport { mapDataToSqlRow } from \"../sql/serialize.js\";\nimport type { Table } from \"../table.js\";\nimport type {\n ColDefs,\n DeleteBuilderInput,\n DialectAdapter,\n InsertInput,\n RelationDefs,\n TableRow,\n UpdateBuilderInput,\n} from \"../types.js\";\nimport {\n createDeleteQuery,\n createInsertManyQuery,\n createInsertQuery,\n createSelectQuery,\n createUpdateQuery,\n} from \"./builders.js\";\nimport type { RuntimeDialectContext } from \"./dialect/types.js\";\n\nexport function createRuntimeDialectContext<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(options: {\n runner: SQL | TransactionSQL;\n table: Table<T>;\n relations: TRels;\n dialectAdapter: DialectAdapter;\n supportsReturning: boolean;\n normalizeCurrentRows: (rows: TableRow<T>[]) => TableRow<T>[];\n executeOrThrow: <TValue>(promise: Promise<TValue>) => Promise<TValue>;\n}) {\n const {\n runner,\n table,\n relations,\n dialectAdapter,\n supportsReturning,\n normalizeCurrentRows,\n executeOrThrow,\n } = options;\n\n const withRunner = (nextRunner: SQL | TransactionSQL) =>\n createRuntimeDialectContext({\n runner: nextRunner,\n table,\n relations,\n dialectAdapter,\n supportsReturning,\n normalizeCurrentRows,\n executeOrThrow,\n });\n\n const select = (input = {}) =>\n createSelectQuery(runner, table, relations, input, dialectAdapter);\n\n const insert = (input: InsertInput<T>) =>\n createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const insertReturning = (input: InsertInput<T> & { returning: true }) =>\n createInsertQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const insertMany = (\n rows: Array<Record<string, unknown>>,\n returning: boolean,\n ) =>\n createInsertManyQuery(runner, table, rows, supportsReturning && returning);\n\n const insertManyReturning = (rows: Array<Record<string, unknown>>) =>\n createInsertManyQuery(runner, table, rows, true);\n\n const update = (input: UpdateBuilderInput<T>) =>\n createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const updateReturning = (\n input: UpdateBuilderInput<T> & { returning: true },\n ) =>\n createUpdateQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const deleteByWhere = (input: DeleteBuilderInput<T>) =>\n createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const deleteReturning = (\n input: DeleteBuilderInput<T> & { returning: true },\n ) =>\n createDeleteQuery(runner, table, input, dialectAdapter, supportsReturning);\n\n const selectRows = async (input = {}) => {\n const rows = await executeOrThrow(select(input));\n return normalizeCurrentRows(rows);\n };\n\n const context: RuntimeDialectContext<T, TRels> = {\n runner,\n table,\n relations,\n select,\n selectRows,\n insert,\n insertReturning,\n insertMany,\n insertManyReturning,\n update,\n updateReturning,\n deleteByWhere,\n deleteReturning,\n mapSqlRow: (data) => mapDataToSqlRow(table, data, dialectAdapter),\n normalizeResultRows: normalizeCurrentRows,\n executeOrThrow,\n withRunner,\n };\n\n return context;\n}\n"],"mappings":";;;;AAqBA,SAAgB,4BAGd,SAQC;CACD,MAAM,EACJ,QACA,OACA,WACA,gBACA,mBACA,sBACA,mBACE;CAEJ,MAAM,cAAc,eAClB,4BAA4B;EAC1B,QAAQ;EACR;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEJ,MAAM,UAAU,QAAQ,EAAE,KACxB,kBAAkB,QAAQ,OAAO,WAAW,OAAO,eAAe;CAEpE,MAAM,UAAU,UACd,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,mBAAmB,UACvB,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,cACJ,MACA,cAEA,sBAAsB,QAAQ,OAAO,MAAM,qBAAqB,UAAU;CAE5E,MAAM,uBAAuB,SAC3B,sBAAsB,QAAQ,OAAO,MAAM,KAAK;CAElD,MAAM,UAAU,UACd,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,mBACJ,UAEA,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,iBAAiB,UACrB,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,mBACJ,UAEA,kBAAkB,QAAQ,OAAO,OAAO,gBAAgB,kBAAkB;CAE5E,MAAM,aAAa,OAAO,QAAQ,EAAE,KAAK;AAEvC,SAAO,qBADM,MAAM,eAAe,OAAO,MAAM,CAAC,CACf;;AAuBnC,QApBiD;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,SAAS,gBAAgB,OAAO,MAAM,eAAe;EACjE,qBAAqB;EACrB;EACA;EACD"}
@@ -1,11 +0,0 @@
1
- const require_mysql = require("./mysql.cjs");
2
- const require_postgres = require("./postgres.cjs");
3
- const require_sqlite = require("./sqlite.cjs");
4
- //#region src/lib/orm/runtime/dialect/index.ts
5
- function getRuntimeDialect(dialect) {
6
- if (dialect === "postgres") return require_postgres.createPostgresRuntimeDialect();
7
- if (dialect === "mysql") return require_mysql.createMysqlRuntimeDialect();
8
- return require_sqlite.createSqliteRuntimeDialect();
9
- }
10
- //#endregion
11
- exports.getRuntimeDialect = getRuntimeDialect;
@@ -1,13 +0,0 @@
1
- import { createMysqlRuntimeDialect } from "./mysql.mjs";
2
- import { createPostgresRuntimeDialect } from "./postgres.mjs";
3
- import { createSqliteRuntimeDialect } from "./sqlite.mjs";
4
- //#region src/lib/orm/runtime/dialect/index.ts
5
- function getRuntimeDialect(dialect) {
6
- if (dialect === "postgres") return createPostgresRuntimeDialect();
7
- if (dialect === "mysql") return createMysqlRuntimeDialect();
8
- return createSqliteRuntimeDialect();
9
- }
10
- //#endregion
11
- export { getRuntimeDialect };
12
-
13
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/dialect/index.ts"],"sourcesContent":["import type { ColDefs, Dialect, RelationDefs } from \"../../types.js\";\nimport { createMysqlRuntimeDialect } from \"./mysql.js\";\nimport { createPostgresRuntimeDialect } from \"./postgres.js\";\nimport { createSqliteRuntimeDialect } from \"./sqlite.js\";\n\nexport function getRuntimeDialect<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(dialect: Dialect) {\n if (dialect === \"postgres\") {\n return createPostgresRuntimeDialect<T, TRels>();\n }\n\n if (dialect === \"mysql\") {\n return createMysqlRuntimeDialect<T, TRels>();\n }\n\n return createSqliteRuntimeDialect<T, TRels>();\n}\n"],"mappings":";;;;AAKA,SAAgB,kBAGd,SAAkB;AAClB,KAAI,YAAY,WACd,QAAO,8BAAwC;AAGjD,KAAI,YAAY,QACd,QAAO,2BAAqC;AAG9C,QAAO,4BAAsC"}
@@ -1,95 +0,0 @@
1
- const require_table_lookup = require("../../internal/table-lookup.cjs");
2
- const require_utils = require("../utils.cjs");
3
- let bun = require("bun");
4
- //#region src/lib/orm/runtime/dialect/mysql.ts
5
- function createMysqlRuntimeDialect() {
6
- return {
7
- async create(context, input) {
8
- const primaryKey = require_table_lookup.getPrimaryKeyColumn(context.table);
9
- const selectCreatedRow = async (whereData) => {
10
- return require_utils.expectSingleRow(await context.selectRows({
11
- where: require_utils.toWhereInput(whereData),
12
- limit: 1
13
- }), "Insert returned no rows");
14
- };
15
- const selectLastInsertId = async () => {
16
- const rows = await context.executeOrThrow(context.runner`SELECT LAST_INSERT_ID() AS insertId`);
17
- if (!Array.isArray(rows)) return;
18
- const firstRow = rows[0];
19
- if (typeof firstRow !== "object") return;
20
- if (firstRow === null) return;
21
- return Reflect.get(firstRow, "insertId");
22
- };
23
- const insertResult = await context.executeOrThrow(context.insert({ data: input.data }));
24
- if (!primaryKey) return selectCreatedRow(input.data);
25
- const selectCreatedRowByPrimaryKey = async (value) => {
26
- const whereByPk = {};
27
- Reflect.set(whereByPk, primaryKey.jsKey, value);
28
- return selectCreatedRow(whereByPk);
29
- };
30
- const providedPkValue = Reflect.get(input.data, primaryKey.jsKey);
31
- if (providedPkValue !== null && providedPkValue !== void 0) return selectCreatedRowByPrimaryKey(providedPkValue);
32
- let insertedPkValue;
33
- if (typeof insertResult === "object") {
34
- if (insertResult !== null) insertedPkValue = Reflect.get(insertResult, "insertId");
35
- }
36
- if (insertedPkValue === null || insertedPkValue === void 0) insertedPkValue = await selectLastInsertId();
37
- if (insertedPkValue === null || insertedPkValue === void 0) throw new Error("Insert returned no primary key");
38
- return selectCreatedRowByPrimaryKey(insertedPkValue);
39
- },
40
- async createMany(context, input) {
41
- if (input.data.length === 0) return {
42
- count: 0,
43
- rows: []
44
- };
45
- const rows = input.data.map((item) => context.mapSqlRow(item));
46
- await context.executeOrThrow(context.insertMany(rows, false));
47
- return {
48
- count: rows.length,
49
- rows: []
50
- };
51
- },
52
- async updateMany(context, input) {
53
- if (context.runner instanceof bun.SQL) return context.executeOrThrow(context.runner.begin(async (tx) => {
54
- const txContext = context.withRunner(tx);
55
- const beforeRows = await txContext.selectRows({ where: input.where });
56
- await txContext.executeOrThrow(txContext.update({
57
- where: input.where,
58
- data: input.data
59
- }));
60
- return {
61
- count: beforeRows.length,
62
- rows: require_utils.mergeRows(beforeRows, input.data)
63
- };
64
- }));
65
- const beforeRows = await context.selectRows({ where: input.where });
66
- await context.executeOrThrow(context.update({
67
- where: input.where,
68
- data: input.data
69
- }));
70
- return {
71
- count: beforeRows.length,
72
- rows: require_utils.mergeRows(beforeRows, input.data)
73
- };
74
- },
75
- async deleteMany(context, input) {
76
- if (context.runner instanceof bun.SQL) return context.executeOrThrow(context.runner.begin(async (tx) => {
77
- const txContext = context.withRunner(tx);
78
- const beforeRows = await txContext.selectRows({ where: input.where });
79
- await txContext.executeOrThrow(txContext.deleteByWhere({ where: input.where }));
80
- return {
81
- count: beforeRows.length,
82
- rows: beforeRows
83
- };
84
- }));
85
- const rows = await context.selectRows({ where: input.where });
86
- await context.executeOrThrow(context.deleteByWhere({ where: input.where }));
87
- return {
88
- count: rows.length,
89
- rows
90
- };
91
- }
92
- };
93
- }
94
- //#endregion
95
- exports.createMysqlRuntimeDialect = createMysqlRuntimeDialect;
@@ -1,97 +0,0 @@
1
- import { getPrimaryKeyColumn } from "../../internal/table-lookup.mjs";
2
- import { expectSingleRow, mergeRows, toWhereInput } from "../utils.mjs";
3
- import { SQL } from "bun";
4
- //#region src/lib/orm/runtime/dialect/mysql.ts
5
- function createMysqlRuntimeDialect() {
6
- return {
7
- async create(context, input) {
8
- const primaryKey = getPrimaryKeyColumn(context.table);
9
- const selectCreatedRow = async (whereData) => {
10
- return expectSingleRow(await context.selectRows({
11
- where: toWhereInput(whereData),
12
- limit: 1
13
- }), "Insert returned no rows");
14
- };
15
- const selectLastInsertId = async () => {
16
- const rows = await context.executeOrThrow(context.runner`SELECT LAST_INSERT_ID() AS insertId`);
17
- if (!Array.isArray(rows)) return;
18
- const firstRow = rows[0];
19
- if (typeof firstRow !== "object") return;
20
- if (firstRow === null) return;
21
- return Reflect.get(firstRow, "insertId");
22
- };
23
- const insertResult = await context.executeOrThrow(context.insert({ data: input.data }));
24
- if (!primaryKey) return selectCreatedRow(input.data);
25
- const selectCreatedRowByPrimaryKey = async (value) => {
26
- const whereByPk = {};
27
- Reflect.set(whereByPk, primaryKey.jsKey, value);
28
- return selectCreatedRow(whereByPk);
29
- };
30
- const providedPkValue = Reflect.get(input.data, primaryKey.jsKey);
31
- if (providedPkValue !== null && providedPkValue !== void 0) return selectCreatedRowByPrimaryKey(providedPkValue);
32
- let insertedPkValue;
33
- if (typeof insertResult === "object") {
34
- if (insertResult !== null) insertedPkValue = Reflect.get(insertResult, "insertId");
35
- }
36
- if (insertedPkValue === null || insertedPkValue === void 0) insertedPkValue = await selectLastInsertId();
37
- if (insertedPkValue === null || insertedPkValue === void 0) throw new Error("Insert returned no primary key");
38
- return selectCreatedRowByPrimaryKey(insertedPkValue);
39
- },
40
- async createMany(context, input) {
41
- if (input.data.length === 0) return {
42
- count: 0,
43
- rows: []
44
- };
45
- const rows = input.data.map((item) => context.mapSqlRow(item));
46
- await context.executeOrThrow(context.insertMany(rows, false));
47
- return {
48
- count: rows.length,
49
- rows: []
50
- };
51
- },
52
- async updateMany(context, input) {
53
- if (context.runner instanceof SQL) return context.executeOrThrow(context.runner.begin(async (tx) => {
54
- const txContext = context.withRunner(tx);
55
- const beforeRows = await txContext.selectRows({ where: input.where });
56
- await txContext.executeOrThrow(txContext.update({
57
- where: input.where,
58
- data: input.data
59
- }));
60
- return {
61
- count: beforeRows.length,
62
- rows: mergeRows(beforeRows, input.data)
63
- };
64
- }));
65
- const beforeRows = await context.selectRows({ where: input.where });
66
- await context.executeOrThrow(context.update({
67
- where: input.where,
68
- data: input.data
69
- }));
70
- return {
71
- count: beforeRows.length,
72
- rows: mergeRows(beforeRows, input.data)
73
- };
74
- },
75
- async deleteMany(context, input) {
76
- if (context.runner instanceof SQL) return context.executeOrThrow(context.runner.begin(async (tx) => {
77
- const txContext = context.withRunner(tx);
78
- const beforeRows = await txContext.selectRows({ where: input.where });
79
- await txContext.executeOrThrow(txContext.deleteByWhere({ where: input.where }));
80
- return {
81
- count: beforeRows.length,
82
- rows: beforeRows
83
- };
84
- }));
85
- const rows = await context.selectRows({ where: input.where });
86
- await context.executeOrThrow(context.deleteByWhere({ where: input.where }));
87
- return {
88
- count: rows.length,
89
- rows
90
- };
91
- }
92
- };
93
- }
94
- //#endregion
95
- export { createMysqlRuntimeDialect };
96
-
97
- //# sourceMappingURL=mysql.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mysql.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/dialect/mysql.ts"],"sourcesContent":["import { SQL } from \"bun\";\nimport { getPrimaryKeyColumn } from \"../../internal/table.js\";\nimport type { ColDefs, RelationDefs } from \"../../types.js\";\nimport type { RuntimeDialect } from \"./types.js\";\nimport { expectSingleRow, mergeRows, toWhereInput } from \"./utils.js\";\n\nexport function createMysqlRuntimeDialect<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(): RuntimeDialect<T, TRels> {\n return {\n async create(context, input) {\n const primaryKey = getPrimaryKeyColumn(context.table);\n\n const selectCreatedRow = async (whereData: Record<string, unknown>) => {\n const rows = await context.selectRows({\n where: toWhereInput<T>(whereData),\n limit: 1,\n });\n\n return expectSingleRow(rows, \"Insert returned no rows\");\n };\n\n const selectLastInsertId = async () => {\n const rows = await context.executeOrThrow(\n context.runner`SELECT LAST_INSERT_ID() AS insertId`,\n );\n\n if (!Array.isArray(rows)) {\n return undefined;\n }\n\n const firstRow = rows[0];\n\n if (typeof firstRow !== \"object\") {\n return undefined;\n }\n\n if (firstRow === null) {\n return undefined;\n }\n\n return Reflect.get(firstRow, \"insertId\");\n };\n\n const insertResult = await context.executeOrThrow(\n context.insert({ data: input.data }),\n );\n\n if (!primaryKey) {\n return selectCreatedRow(input.data);\n }\n\n const selectCreatedRowByPrimaryKey = async (value: unknown) => {\n const whereByPk: Record<string, unknown> = {};\n Reflect.set(whereByPk, primaryKey.jsKey, value);\n\n return selectCreatedRow(whereByPk);\n };\n\n const providedPkValue = Reflect.get(input.data, primaryKey.jsKey);\n\n if (providedPkValue !== null && providedPkValue !== undefined) {\n return selectCreatedRowByPrimaryKey(providedPkValue);\n }\n\n let insertedPkValue: unknown;\n\n if (typeof insertResult === \"object\") {\n if (insertResult !== null) {\n insertedPkValue = Reflect.get(insertResult, \"insertId\");\n }\n }\n\n if (insertedPkValue === null || insertedPkValue === undefined) {\n insertedPkValue = await selectLastInsertId();\n }\n\n if (insertedPkValue === null || insertedPkValue === undefined) {\n throw new Error(\"Insert returned no primary key\");\n }\n\n return selectCreatedRowByPrimaryKey(insertedPkValue);\n },\n\n async createMany(context, input) {\n if (input.data.length === 0) {\n return { count: 0, rows: [] };\n }\n\n const rows = input.data.map((item) =>\n context.mapSqlRow(item as Record<string, unknown>),\n );\n\n await context.executeOrThrow(context.insertMany(rows, false));\n\n return {\n count: rows.length,\n rows: [],\n };\n },\n\n async updateMany(context, input) {\n if (context.runner instanceof SQL) {\n return context.executeOrThrow(\n context.runner.begin(async (tx) => {\n const txContext = context.withRunner(tx);\n const beforeRows = await txContext.selectRows({\n where: input.where,\n });\n\n await txContext.executeOrThrow(\n txContext.update({ where: input.where, data: input.data }),\n );\n\n return {\n count: beforeRows.length,\n rows: mergeRows(\n beforeRows,\n input.data as Partial<Record<string, unknown>>,\n ),\n };\n }),\n );\n }\n\n const beforeRows = await context.selectRows({ where: input.where });\n\n await context.executeOrThrow(\n context.update({ where: input.where, data: input.data }),\n );\n\n return {\n count: beforeRows.length,\n rows: mergeRows(\n beforeRows,\n input.data as Partial<Record<string, unknown>>,\n ),\n };\n },\n\n async deleteMany(context, input) {\n if (context.runner instanceof SQL) {\n return context.executeOrThrow(\n context.runner.begin(async (tx) => {\n const txContext = context.withRunner(tx);\n const beforeRows = await txContext.selectRows({\n where: input.where,\n });\n\n await txContext.executeOrThrow(\n txContext.deleteByWhere({ where: input.where }),\n );\n\n return {\n count: beforeRows.length,\n rows: beforeRows,\n };\n }),\n );\n }\n\n const rows = await context.selectRows({ where: input.where });\n\n await context.executeOrThrow(\n context.deleteByWhere({ where: input.where }),\n );\n\n return {\n count: rows.length,\n rows,\n };\n },\n };\n}\n"],"mappings":";;;;AAMA,SAAgB,4BAGc;AAC5B,QAAO;EACL,MAAM,OAAO,SAAS,OAAO;GAC3B,MAAM,aAAa,oBAAoB,QAAQ,MAAM;GAErD,MAAM,mBAAmB,OAAO,cAAuC;AAMrE,WAAO,gBALM,MAAM,QAAQ,WAAW;KACpC,OAAO,aAAgB,UAAU;KACjC,OAAO;KACR,CAAC,EAE2B,0BAA0B;;GAGzD,MAAM,qBAAqB,YAAY;IACrC,MAAM,OAAO,MAAM,QAAQ,eACzB,QAAQ,MAAM,sCACf;AAED,QAAI,CAAC,MAAM,QAAQ,KAAK,CACtB;IAGF,MAAM,WAAW,KAAK;AAEtB,QAAI,OAAO,aAAa,SACtB;AAGF,QAAI,aAAa,KACf;AAGF,WAAO,QAAQ,IAAI,UAAU,WAAW;;GAG1C,MAAM,eAAe,MAAM,QAAQ,eACjC,QAAQ,OAAO,EAAE,MAAM,MAAM,MAAM,CAAC,CACrC;AAED,OAAI,CAAC,WACH,QAAO,iBAAiB,MAAM,KAAK;GAGrC,MAAM,+BAA+B,OAAO,UAAmB;IAC7D,MAAM,YAAqC,EAAE;AAC7C,YAAQ,IAAI,WAAW,WAAW,OAAO,MAAM;AAE/C,WAAO,iBAAiB,UAAU;;GAGpC,MAAM,kBAAkB,QAAQ,IAAI,MAAM,MAAM,WAAW,MAAM;AAEjE,OAAI,oBAAoB,QAAQ,oBAAoB,KAAA,EAClD,QAAO,6BAA6B,gBAAgB;GAGtD,IAAI;AAEJ,OAAI,OAAO,iBAAiB;QACtB,iBAAiB,KACnB,mBAAkB,QAAQ,IAAI,cAAc,WAAW;;AAI3D,OAAI,oBAAoB,QAAQ,oBAAoB,KAAA,EAClD,mBAAkB,MAAM,oBAAoB;AAG9C,OAAI,oBAAoB,QAAQ,oBAAoB,KAAA,EAClD,OAAM,IAAI,MAAM,iCAAiC;AAGnD,UAAO,6BAA6B,gBAAgB;;EAGtD,MAAM,WAAW,SAAS,OAAO;AAC/B,OAAI,MAAM,KAAK,WAAW,EACxB,QAAO;IAAE,OAAO;IAAG,MAAM,EAAE;IAAE;GAG/B,MAAM,OAAO,MAAM,KAAK,KAAK,SAC3B,QAAQ,UAAU,KAAgC,CACnD;AAED,SAAM,QAAQ,eAAe,QAAQ,WAAW,MAAM,MAAM,CAAC;AAE7D,UAAO;IACL,OAAO,KAAK;IACZ,MAAM,EAAE;IACT;;EAGH,MAAM,WAAW,SAAS,OAAO;AAC/B,OAAI,QAAQ,kBAAkB,IAC5B,QAAO,QAAQ,eACb,QAAQ,OAAO,MAAM,OAAO,OAAO;IACjC,MAAM,YAAY,QAAQ,WAAW,GAAG;IACxC,MAAM,aAAa,MAAM,UAAU,WAAW,EAC5C,OAAO,MAAM,OACd,CAAC;AAEF,UAAM,UAAU,eACd,UAAU,OAAO;KAAE,OAAO,MAAM;KAAO,MAAM,MAAM;KAAM,CAAC,CAC3D;AAED,WAAO;KACL,OAAO,WAAW;KAClB,MAAM,UACJ,YACA,MAAM,KACP;KACF;KACD,CACH;GAGH,MAAM,aAAa,MAAM,QAAQ,WAAW,EAAE,OAAO,MAAM,OAAO,CAAC;AAEnE,SAAM,QAAQ,eACZ,QAAQ,OAAO;IAAE,OAAO,MAAM;IAAO,MAAM,MAAM;IAAM,CAAC,CACzD;AAED,UAAO;IACL,OAAO,WAAW;IAClB,MAAM,UACJ,YACA,MAAM,KACP;IACF;;EAGH,MAAM,WAAW,SAAS,OAAO;AAC/B,OAAI,QAAQ,kBAAkB,IAC5B,QAAO,QAAQ,eACb,QAAQ,OAAO,MAAM,OAAO,OAAO;IACjC,MAAM,YAAY,QAAQ,WAAW,GAAG;IACxC,MAAM,aAAa,MAAM,UAAU,WAAW,EAC5C,OAAO,MAAM,OACd,CAAC;AAEF,UAAM,UAAU,eACd,UAAU,cAAc,EAAE,OAAO,MAAM,OAAO,CAAC,CAChD;AAED,WAAO;KACL,OAAO,WAAW;KAClB,MAAM;KACP;KACD,CACH;GAGH,MAAM,OAAO,MAAM,QAAQ,WAAW,EAAE,OAAO,MAAM,OAAO,CAAC;AAE7D,SAAM,QAAQ,eACZ,QAAQ,cAAc,EAAE,OAAO,MAAM,OAAO,CAAC,CAC9C;AAED,UAAO;IACL,OAAO,KAAK;IACZ;IACD;;EAEJ"}
@@ -1,51 +0,0 @@
1
- const require_utils = require("../utils.cjs");
2
- //#region src/lib/orm/runtime/dialect/postgres.ts
3
- function createPostgresRuntimeDialect() {
4
- return {
5
- async create(context, input) {
6
- const rows = await context.executeOrThrow(context.insertReturning({
7
- data: input.data,
8
- returning: true
9
- }));
10
- return require_utils.expectSingleRow(context.normalizeResultRows(rows), "Insert returned no rows");
11
- },
12
- async createMany(context, input) {
13
- if (input.data.length === 0) return {
14
- count: 0,
15
- rows: []
16
- };
17
- const rows = input.data.map((item) => context.mapSqlRow(item));
18
- const createdRows = await context.executeOrThrow(context.insertManyReturning(rows));
19
- const normalizedRows = context.normalizeResultRows(createdRows);
20
- return {
21
- count: normalizedRows.length,
22
- rows: normalizedRows
23
- };
24
- },
25
- async updateMany(context, input) {
26
- const rows = await context.executeOrThrow(context.updateReturning({
27
- where: input.where,
28
- data: input.data,
29
- returning: true
30
- }));
31
- const normalizedRows = context.normalizeResultRows(rows);
32
- return {
33
- count: normalizedRows.length,
34
- rows: normalizedRows
35
- };
36
- },
37
- async deleteMany(context, input) {
38
- const rows = await context.executeOrThrow(context.deleteReturning({
39
- where: input.where,
40
- returning: true
41
- }));
42
- const normalizedRows = context.normalizeResultRows(rows);
43
- return {
44
- count: normalizedRows.length,
45
- rows: normalizedRows
46
- };
47
- }
48
- };
49
- }
50
- //#endregion
51
- exports.createPostgresRuntimeDialect = createPostgresRuntimeDialect;
@@ -1,53 +0,0 @@
1
- import { expectSingleRow } from "../utils.mjs";
2
- //#region src/lib/orm/runtime/dialect/postgres.ts
3
- function createPostgresRuntimeDialect() {
4
- return {
5
- async create(context, input) {
6
- const rows = await context.executeOrThrow(context.insertReturning({
7
- data: input.data,
8
- returning: true
9
- }));
10
- return expectSingleRow(context.normalizeResultRows(rows), "Insert returned no rows");
11
- },
12
- async createMany(context, input) {
13
- if (input.data.length === 0) return {
14
- count: 0,
15
- rows: []
16
- };
17
- const rows = input.data.map((item) => context.mapSqlRow(item));
18
- const createdRows = await context.executeOrThrow(context.insertManyReturning(rows));
19
- const normalizedRows = context.normalizeResultRows(createdRows);
20
- return {
21
- count: normalizedRows.length,
22
- rows: normalizedRows
23
- };
24
- },
25
- async updateMany(context, input) {
26
- const rows = await context.executeOrThrow(context.updateReturning({
27
- where: input.where,
28
- data: input.data,
29
- returning: true
30
- }));
31
- const normalizedRows = context.normalizeResultRows(rows);
32
- return {
33
- count: normalizedRows.length,
34
- rows: normalizedRows
35
- };
36
- },
37
- async deleteMany(context, input) {
38
- const rows = await context.executeOrThrow(context.deleteReturning({
39
- where: input.where,
40
- returning: true
41
- }));
42
- const normalizedRows = context.normalizeResultRows(rows);
43
- return {
44
- count: normalizedRows.length,
45
- rows: normalizedRows
46
- };
47
- }
48
- };
49
- }
50
- //#endregion
51
- export { createPostgresRuntimeDialect };
52
-
53
- //# sourceMappingURL=postgres.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/dialect/postgres.ts"],"sourcesContent":["import type { ColDefs, RelationDefs } from \"../../types.js\";\nimport type { RuntimeDialect } from \"./types.js\";\nimport { expectSingleRow } from \"./utils.js\";\n\nexport function createPostgresRuntimeDialect<\n T extends ColDefs,\n TRels extends RelationDefs,\n>(): RuntimeDialect<T, TRels> {\n return {\n async create(context, input) {\n const rows = await context.executeOrThrow(\n context.insertReturning({ data: input.data, returning: true }),\n );\n\n return expectSingleRow(\n context.normalizeResultRows(rows),\n \"Insert returned no rows\",\n );\n },\n\n async createMany(context, input) {\n if (input.data.length === 0) {\n return { count: 0, rows: [] };\n }\n\n const rows = input.data.map((item) =>\n context.mapSqlRow(item as Record<string, unknown>),\n );\n\n const createdRows = await context.executeOrThrow(\n context.insertManyReturning(rows),\n );\n\n const normalizedRows = context.normalizeResultRows(createdRows);\n\n return {\n count: normalizedRows.length,\n rows: normalizedRows,\n };\n },\n\n async updateMany(context, input) {\n const rows = await context.executeOrThrow(\n context.updateReturning({\n where: input.where,\n data: input.data,\n returning: true,\n }),\n );\n\n const normalizedRows = context.normalizeResultRows(rows);\n\n return {\n count: normalizedRows.length,\n rows: normalizedRows,\n };\n },\n\n async deleteMany(context, input) {\n const rows = await context.executeOrThrow(\n context.deleteReturning({ where: input.where, returning: true }),\n );\n\n const normalizedRows = context.normalizeResultRows(rows);\n\n return {\n count: normalizedRows.length,\n rows: normalizedRows,\n };\n },\n };\n}\n"],"mappings":";;AAIA,SAAgB,+BAGc;AAC5B,QAAO;EACL,MAAM,OAAO,SAAS,OAAO;GAC3B,MAAM,OAAO,MAAM,QAAQ,eACzB,QAAQ,gBAAgB;IAAE,MAAM,MAAM;IAAM,WAAW;IAAM,CAAC,CAC/D;AAED,UAAO,gBACL,QAAQ,oBAAoB,KAAK,EACjC,0BACD;;EAGH,MAAM,WAAW,SAAS,OAAO;AAC/B,OAAI,MAAM,KAAK,WAAW,EACxB,QAAO;IAAE,OAAO;IAAG,MAAM,EAAE;IAAE;GAG/B,MAAM,OAAO,MAAM,KAAK,KAAK,SAC3B,QAAQ,UAAU,KAAgC,CACnD;GAED,MAAM,cAAc,MAAM,QAAQ,eAChC,QAAQ,oBAAoB,KAAK,CAClC;GAED,MAAM,iBAAiB,QAAQ,oBAAoB,YAAY;AAE/D,UAAO;IACL,OAAO,eAAe;IACtB,MAAM;IACP;;EAGH,MAAM,WAAW,SAAS,OAAO;GAC/B,MAAM,OAAO,MAAM,QAAQ,eACzB,QAAQ,gBAAgB;IACtB,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,WAAW;IACZ,CAAC,CACH;GAED,MAAM,iBAAiB,QAAQ,oBAAoB,KAAK;AAExD,UAAO;IACL,OAAO,eAAe;IACtB,MAAM;IACP;;EAGH,MAAM,WAAW,SAAS,OAAO;GAC/B,MAAM,OAAO,MAAM,QAAQ,eACzB,QAAQ,gBAAgB;IAAE,OAAO,MAAM;IAAO,WAAW;IAAM,CAAC,CACjE;GAED,MAAM,iBAAiB,QAAQ,oBAAoB,KAAK;AAExD,UAAO;IACL,OAAO,eAAe;IACtB,MAAM;IACP;;EAEJ"}
@@ -1,4 +0,0 @@
1
- //#region src/lib/orm/runtime/dialect/sqlite.ts
2
- const createSqliteRuntimeDialect = require("./postgres.cjs").createPostgresRuntimeDialect;
3
- //#endregion
4
- exports.createSqliteRuntimeDialect = createSqliteRuntimeDialect;
@@ -1,7 +0,0 @@
1
- import { createPostgresRuntimeDialect } from "./postgres.mjs";
2
- //#region src/lib/orm/runtime/dialect/sqlite.ts
3
- const createSqliteRuntimeDialect = createPostgresRuntimeDialect;
4
- //#endregion
5
- export { createSqliteRuntimeDialect };
6
-
7
- //# sourceMappingURL=sqlite.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/dialect/sqlite.ts"],"sourcesContent":["import { createPostgresRuntimeDialect } from \"./postgres.js\";\n\nexport const createSqliteRuntimeDialect = createPostgresRuntimeDialect;\n"],"mappings":";;AAEA,MAAa,6BAA6B"}
@@ -1,19 +0,0 @@
1
- const require_lib_errors_index = require("../../lib/errors/index.cjs");
2
- require("../dialect/utils.cjs");
3
- //#region src/lib/orm/runtime/errors.ts
4
- function toOrmErrorMessage(errorValue) {
5
- if (errorValue instanceof Error) return errorValue.message;
6
- if (typeof errorValue === "object" && errorValue !== null) {
7
- const message = Reflect.get(errorValue, "message");
8
- if (typeof message === "string") return message;
9
- }
10
- return "Unknown ORM error";
11
- }
12
- async function executeOrThrow(promise) {
13
- const [error, data] = await require_lib_errors_index.mightThrow(promise);
14
- if (error !== null) throw new Error(toOrmErrorMessage(error));
15
- if (data === null) throw new Error("ORM operation returned no data");
16
- return data;
17
- }
18
- //#endregion
19
- exports.executeOrThrow = executeOrThrow;
@@ -1,21 +0,0 @@
1
- import { mightThrow } from "../../lib/errors/index.mjs";
2
- import "../dialect/utils.mjs";
3
- //#region src/lib/orm/runtime/errors.ts
4
- function toOrmErrorMessage(errorValue) {
5
- if (errorValue instanceof Error) return errorValue.message;
6
- if (typeof errorValue === "object" && errorValue !== null) {
7
- const message = Reflect.get(errorValue, "message");
8
- if (typeof message === "string") return message;
9
- }
10
- return "Unknown ORM error";
11
- }
12
- async function executeOrThrow(promise) {
13
- const [error, data] = await mightThrow(promise);
14
- if (error !== null) throw new Error(toOrmErrorMessage(error));
15
- if (data === null) throw new Error("ORM operation returned no data");
16
- return data;
17
- }
18
- //#endregion
19
- export { executeOrThrow };
20
-
21
- //# sourceMappingURL=errors.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.mjs","names":[],"sources":["../../../src/lib/orm/runtime/errors.ts"],"sourcesContent":["import { mightThrow } from \"../../errors/index.js\";\n\nexport { inferDialectFromUrl } from \"../dialect/utils.js\";\n\nfunction toOrmErrorMessage(errorValue: unknown) {\n if (errorValue instanceof Error) {\n return errorValue.message;\n }\n\n if (typeof errorValue === \"object\" && errorValue !== null) {\n const message = Reflect.get(errorValue, \"message\");\n\n if (typeof message === \"string\") {\n return message;\n }\n }\n\n return \"Unknown ORM error\";\n}\n\nexport async function executeOrThrow<T>(promise: Promise<T>) {\n const [error, data] = await mightThrow(promise);\n\n if (error !== null) {\n throw new Error(toOrmErrorMessage(error));\n }\n\n if (data === null) {\n throw new Error(\"ORM operation returned no data\");\n }\n\n return data;\n}\n"],"mappings":";;;AAIA,SAAS,kBAAkB,YAAqB;AAC9C,KAAI,sBAAsB,MACxB,QAAO,WAAW;AAGpB,KAAI,OAAO,eAAe,YAAY,eAAe,MAAM;EACzD,MAAM,UAAU,QAAQ,IAAI,YAAY,UAAU;AAElD,MAAI,OAAO,YAAY,SACrB,QAAO;;AAIX,QAAO;;AAGT,eAAsB,eAAkB,SAAqB;CAC3D,MAAM,CAAC,OAAO,QAAQ,MAAM,WAAW,QAAQ;AAE/C,KAAI,UAAU,KACZ,OAAM,IAAI,MAAM,kBAAkB,MAAM,CAAC;AAG3C,KAAI,SAAS,KACX,OAAM,IAAI,MAAM,iCAAiC;AAGnD,QAAO"}
@@ -1,46 +0,0 @@
1
- const require_table_lookup = require("../../internal/table-lookup.cjs");
2
- const require_table_relations = require("../../internal/table-relations.cjs");
3
- //#region src/lib/orm/runtime/hydrate/many.ts
4
- async function hydrateManyRelation(options) {
5
- const { rows, relationKey, relationForeignKey, table, targetTable, basePk, allRelations, allTables, selectWhereIn } = options;
6
- let foreignKeySqlName = relationForeignKey;
7
- if (!foreignKeySqlName) foreignKeySqlName = require_table_relations.findManyForeignKeyByReference(targetTable, basePk.col);
8
- if (!foreignKeySqlName) foreignKeySqlName = require_table_relations.inferManyForeignKeyFromInverse(table, targetTable, allRelations, allTables);
9
- if (!foreignKeySqlName) {
10
- for (const row of rows) Reflect.set(row, relationKey, []);
11
- return;
12
- }
13
- const targetFk = require_table_lookup.findColumnBySqlName(targetTable, foreignKeySqlName);
14
- if (!targetFk) {
15
- for (const row of rows) Reflect.set(row, relationKey, []);
16
- return;
17
- }
18
- const baseIds = [];
19
- for (const row of rows) {
20
- const id = Reflect.get(row, basePk.jsKey);
21
- if (id === null || id === void 0) continue;
22
- baseIds.push(id);
23
- }
24
- const targetRows = await selectWhereIn(targetTable, targetFk.col.meta.sqlName, baseIds);
25
- const grouped = /* @__PURE__ */ new Map();
26
- for (const targetRow of targetRows) {
27
- const sourceId = Reflect.get(targetRow, targetFk.jsKey);
28
- if (sourceId === null || sourceId === void 0) continue;
29
- const existing = grouped.get(sourceId);
30
- if (!existing) {
31
- grouped.set(sourceId, [targetRow]);
32
- continue;
33
- }
34
- existing.push(targetRow);
35
- }
36
- for (const row of rows) {
37
- const id = Reflect.get(row, basePk.jsKey);
38
- if (id === null || id === void 0) {
39
- Reflect.set(row, relationKey, []);
40
- continue;
41
- }
42
- Reflect.set(row, relationKey, grouped.get(id) ?? []);
43
- }
44
- }
45
- //#endregion
46
- exports.hydrateManyRelation = hydrateManyRelation;
@@ -1,48 +0,0 @@
1
- import { findColumnBySqlName } from "../../internal/table-lookup.mjs";
2
- import { findManyForeignKeyByReference, inferManyForeignKeyFromInverse } from "../../internal/table-relations.mjs";
3
- //#region src/lib/orm/runtime/hydrate/many.ts
4
- async function hydrateManyRelation(options) {
5
- const { rows, relationKey, relationForeignKey, table, targetTable, basePk, allRelations, allTables, selectWhereIn } = options;
6
- let foreignKeySqlName = relationForeignKey;
7
- if (!foreignKeySqlName) foreignKeySqlName = findManyForeignKeyByReference(targetTable, basePk.col);
8
- if (!foreignKeySqlName) foreignKeySqlName = inferManyForeignKeyFromInverse(table, targetTable, allRelations, allTables);
9
- if (!foreignKeySqlName) {
10
- for (const row of rows) Reflect.set(row, relationKey, []);
11
- return;
12
- }
13
- const targetFk = findColumnBySqlName(targetTable, foreignKeySqlName);
14
- if (!targetFk) {
15
- for (const row of rows) Reflect.set(row, relationKey, []);
16
- return;
17
- }
18
- const baseIds = [];
19
- for (const row of rows) {
20
- const id = Reflect.get(row, basePk.jsKey);
21
- if (id === null || id === void 0) continue;
22
- baseIds.push(id);
23
- }
24
- const targetRows = await selectWhereIn(targetTable, targetFk.col.meta.sqlName, baseIds);
25
- const grouped = /* @__PURE__ */ new Map();
26
- for (const targetRow of targetRows) {
27
- const sourceId = Reflect.get(targetRow, targetFk.jsKey);
28
- if (sourceId === null || sourceId === void 0) continue;
29
- const existing = grouped.get(sourceId);
30
- if (!existing) {
31
- grouped.set(sourceId, [targetRow]);
32
- continue;
33
- }
34
- existing.push(targetRow);
35
- }
36
- for (const row of rows) {
37
- const id = Reflect.get(row, basePk.jsKey);
38
- if (id === null || id === void 0) {
39
- Reflect.set(row, relationKey, []);
40
- continue;
41
- }
42
- Reflect.set(row, relationKey, grouped.get(id) ?? []);
43
- }
44
- }
45
- //#endregion
46
- export { hydrateManyRelation };
47
-
48
- //# sourceMappingURL=many.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"many.mjs","names":[],"sources":["../../../../src/lib/orm/runtime/hydrate/many.ts"],"sourcesContent":["import type { getPrimaryKeyColumn } from \"../../internal/table.js\";\nimport {\n findColumnBySqlName,\n findManyForeignKeyByReference,\n inferManyForeignKeyFromInverse,\n} from \"../../internal/table.js\";\nimport type { Table } from \"../../table.js\";\nimport type { ColDefs, RelationDefs, TableRow } from \"../../types.js\";\nimport type { SelectWhereIn } from \"./types.js\";\n\nexport async function hydrateManyRelation<T extends ColDefs>(options: {\n rows: TableRow<T>[];\n relationKey: string;\n relationForeignKey: string | undefined;\n table: Table<T>;\n targetTable: Table<ColDefs>;\n basePk: NonNullable<ReturnType<typeof getPrimaryKeyColumn>>;\n allRelations: Partial<Record<string, RelationDefs>>;\n allTables: Record<string, Table<ColDefs>>;\n selectWhereIn: SelectWhereIn;\n}) {\n const {\n rows,\n relationKey,\n relationForeignKey,\n table,\n targetTable,\n basePk,\n allRelations,\n allTables,\n selectWhereIn,\n } = options;\n\n let foreignKeySqlName: string | null | undefined = relationForeignKey;\n\n if (!foreignKeySqlName) {\n foreignKeySqlName = findManyForeignKeyByReference(targetTable, basePk.col);\n }\n\n if (!foreignKeySqlName) {\n foreignKeySqlName = inferManyForeignKeyFromInverse(\n table,\n targetTable,\n allRelations,\n allTables,\n );\n }\n\n if (!foreignKeySqlName) {\n for (const row of rows) {\n Reflect.set(row as Record<string, unknown>, relationKey, []);\n }\n\n return;\n }\n\n const targetFk = findColumnBySqlName(targetTable, foreignKeySqlName);\n\n if (!targetFk) {\n for (const row of rows) {\n Reflect.set(row as Record<string, unknown>, relationKey, []);\n }\n\n return;\n }\n\n const baseIds: unknown[] = [];\n\n for (const row of rows) {\n const id = Reflect.get(row as Record<string, unknown>, basePk.jsKey);\n\n if (id === null || id === undefined) {\n continue;\n }\n\n baseIds.push(id);\n }\n\n const targetRows = await selectWhereIn(\n targetTable,\n targetFk.col.meta.sqlName,\n baseIds,\n );\n\n const grouped = new Map<unknown, Record<string, unknown>[]>();\n\n for (const targetRow of targetRows) {\n const sourceId = Reflect.get(targetRow, targetFk.jsKey);\n\n if (sourceId === null || sourceId === undefined) {\n continue;\n }\n\n const existing = grouped.get(sourceId);\n\n if (!existing) {\n grouped.set(sourceId, [targetRow]);\n continue;\n }\n\n existing.push(targetRow);\n }\n\n for (const row of rows) {\n const id = Reflect.get(row as Record<string, unknown>, basePk.jsKey);\n\n if (id === null || id === undefined) {\n Reflect.set(row as Record<string, unknown>, relationKey, []);\n continue;\n }\n\n Reflect.set(\n row as Record<string, unknown>,\n relationKey,\n grouped.get(id) ?? [],\n );\n }\n}\n"],"mappings":";;;AAUA,eAAsB,oBAAuC,SAU1D;CACD,MAAM,EACJ,MACA,aACA,oBACA,OACA,aACA,QACA,cACA,WACA,kBACE;CAEJ,IAAI,oBAA+C;AAEnD,KAAI,CAAC,kBACH,qBAAoB,8BAA8B,aAAa,OAAO,IAAI;AAG5E,KAAI,CAAC,kBACH,qBAAoB,+BAClB,OACA,aACA,cACA,UACD;AAGH,KAAI,CAAC,mBAAmB;AACtB,OAAK,MAAM,OAAO,KAChB,SAAQ,IAAI,KAAgC,aAAa,EAAE,CAAC;AAG9D;;CAGF,MAAM,WAAW,oBAAoB,aAAa,kBAAkB;AAEpE,KAAI,CAAC,UAAU;AACb,OAAK,MAAM,OAAO,KAChB,SAAQ,IAAI,KAAgC,aAAa,EAAE,CAAC;AAG9D;;CAGF,MAAM,UAAqB,EAAE;AAE7B,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,KAAK,QAAQ,IAAI,KAAgC,OAAO,MAAM;AAEpE,MAAI,OAAO,QAAQ,OAAO,KAAA,EACxB;AAGF,UAAQ,KAAK,GAAG;;CAGlB,MAAM,aAAa,MAAM,cACvB,aACA,SAAS,IAAI,KAAK,SAClB,QACD;CAED,MAAM,0BAAU,IAAI,KAAyC;AAE7D,MAAK,MAAM,aAAa,YAAY;EAClC,MAAM,WAAW,QAAQ,IAAI,WAAW,SAAS,MAAM;AAEvD,MAAI,aAAa,QAAQ,aAAa,KAAA,EACpC;EAGF,MAAM,WAAW,QAAQ,IAAI,SAAS;AAEtC,MAAI,CAAC,UAAU;AACb,WAAQ,IAAI,UAAU,CAAC,UAAU,CAAC;AAClC;;AAGF,WAAS,KAAK,UAAU;;AAG1B,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,KAAK,QAAQ,IAAI,KAAgC,OAAO,MAAM;AAEpE,MAAI,OAAO,QAAQ,OAAO,KAAA,GAAW;AACnC,WAAQ,IAAI,KAAgC,aAAa,EAAE,CAAC;AAC5D;;AAGF,UAAQ,IACN,KACA,aACA,QAAQ,IAAI,GAAG,IAAI,EAAE,CACtB"}