joist-core 2.3.0 → 2.4.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 (1548) hide show
  1. package/build/BaseEntity.cjs +112 -0
  2. package/build/BaseEntity.cjs.map +1 -0
  3. package/build/BaseEntity.d.cts +73 -0
  4. package/build/BaseEntity.d.cts.map +1 -0
  5. package/build/BaseEntity.d.mts +73 -0
  6. package/build/BaseEntity.d.mts.map +1 -0
  7. package/build/BaseEntity.js +99 -110
  8. package/build/BaseEntity.js.map +1 -1
  9. package/build/Entity.cjs +12 -0
  10. package/build/Entity.cjs.map +1 -0
  11. package/build/Entity.d.cts +42 -0
  12. package/build/Entity.d.cts.map +1 -0
  13. package/build/Entity.d.mts +42 -0
  14. package/build/Entity.d.mts.map +1 -0
  15. package/build/Entity.js +8 -5
  16. package/build/Entity.js.map +1 -1
  17. package/build/EntityFields.cjs +1 -0
  18. package/build/EntityFields.d.cts +36 -0
  19. package/build/EntityFields.d.cts.map +1 -0
  20. package/build/EntityFields.d.mts +36 -0
  21. package/build/EntityFields.d.mts.map +1 -0
  22. package/build/EntityFields.js +1 -3
  23. package/build/EntityManager.cjs +1935 -0
  24. package/build/EntityManager.cjs.map +1 -0
  25. package/build/EntityManager.d.cts +835 -0
  26. package/build/EntityManager.d.cts.map +1 -0
  27. package/build/EntityManager.d.mts +835 -0
  28. package/build/EntityManager.d.mts.map +1 -0
  29. package/build/EntityManager.js +1812 -2211
  30. package/build/EntityManager.js.map +1 -1
  31. package/build/EntityMetadata.cjs +75 -0
  32. package/build/EntityMetadata.cjs.map +1 -0
  33. package/build/EntityMetadata.d.cts +262 -0
  34. package/build/EntityMetadata.d.cts.map +1 -0
  35. package/build/EntityMetadata.d.mts +262 -0
  36. package/build/EntityMetadata.d.mts.map +1 -0
  37. package/build/EntityMetadata.js +31 -48
  38. package/build/EntityMetadata.js.map +1 -1
  39. package/build/EnumMetadata.cjs +1 -0
  40. package/build/EnumMetadata.d.cts +18 -0
  41. package/build/EnumMetadata.d.cts.map +1 -0
  42. package/build/EnumMetadata.d.mts +18 -0
  43. package/build/EnumMetadata.d.mts.map +1 -0
  44. package/build/EnumMetadata.js +1 -3
  45. package/build/IndexManager.cjs +176 -0
  46. package/build/IndexManager.cjs.map +1 -0
  47. package/build/IndexManager.d.cts +36 -0
  48. package/build/IndexManager.d.cts.map +1 -0
  49. package/build/IndexManager.d.mts +36 -0
  50. package/build/IndexManager.d.mts.map +1 -0
  51. package/build/IndexManager.js +167 -218
  52. package/build/IndexManager.js.map +1 -1
  53. package/build/InstanceData.cjs +218 -0
  54. package/build/InstanceData.cjs.map +1 -0
  55. package/build/InstanceData.d.cts +98 -0
  56. package/build/InstanceData.d.cts.map +1 -0
  57. package/build/InstanceData.d.mts +98 -0
  58. package/build/InstanceData.d.mts.map +1 -0
  59. package/build/InstanceData.js +215 -222
  60. package/build/InstanceData.js.map +1 -1
  61. package/build/PluginManager.cjs +89 -0
  62. package/build/PluginManager.cjs.map +1 -0
  63. package/build/PluginManager.d.cts +112 -0
  64. package/build/PluginManager.d.cts.map +1 -0
  65. package/build/PluginManager.d.mts +112 -0
  66. package/build/PluginManager.d.mts.map +1 -0
  67. package/build/PluginManager.js +80 -106
  68. package/build/PluginManager.js.map +1 -1
  69. package/build/RowData.cjs +37 -0
  70. package/build/RowData.cjs.map +1 -0
  71. package/build/RowData.d.cts +53 -0
  72. package/build/RowData.d.cts.map +1 -0
  73. package/build/RowData.d.mts +53 -0
  74. package/build/RowData.d.mts.map +1 -0
  75. package/build/RowData.js +35 -0
  76. package/build/RowData.js.map +1 -0
  77. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  78. package/build/batchloaders/BatchLoader.cjs +49 -0
  79. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  80. package/build/batchloaders/BatchLoader.d.cts +17 -0
  81. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  82. package/build/batchloaders/BatchLoader.d.mts +17 -0
  83. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  84. package/build/batchloaders/BatchLoader.js +45 -54
  85. package/build/batchloaders/BatchLoader.js.map +1 -1
  86. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  87. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  88. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  89. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  90. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  91. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  92. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  93. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  94. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  95. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  96. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  97. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  98. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  99. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  100. package/build/batchloaders/loadBatchLoader.js +72 -51
  101. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  102. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  103. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  104. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  105. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  106. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  107. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  108. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  109. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  110. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  111. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  112. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  113. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  114. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  115. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  116. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  117. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  118. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  119. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  120. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  121. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  122. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  123. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  124. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  125. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  126. package/build/batchloaders/populateBatchLoader.cjs +155 -0
  127. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  128. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  129. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  130. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  131. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  132. package/build/batchloaders/populateBatchLoader.js +147 -203
  133. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  134. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  135. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  136. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  137. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  138. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  139. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  140. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  141. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  142. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  143. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  144. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  145. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  146. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  147. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  148. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  149. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  150. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  151. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  152. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  153. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  154. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  155. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  156. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  157. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  158. package/build/changes.cjs +221 -0
  159. package/build/changes.cjs.map +1 -0
  160. package/build/changes.d.cts +95 -0
  161. package/build/changes.d.cts.map +1 -0
  162. package/build/changes.d.mts +95 -0
  163. package/build/changes.d.mts.map +1 -0
  164. package/build/changes.js +208 -285
  165. package/build/changes.js.map +1 -1
  166. package/build/config.cjs +295 -0
  167. package/build/config.cjs.map +1 -0
  168. package/build/config.d.cts +277 -0
  169. package/build/config.d.cts.map +1 -0
  170. package/build/config.d.mts +277 -0
  171. package/build/config.d.mts.map +1 -0
  172. package/build/config.js +255 -301
  173. package/build/config.js.map +1 -1
  174. package/build/configure.cjs +324 -0
  175. package/build/configure.cjs.map +1 -0
  176. package/build/configure.d.cts +19 -0
  177. package/build/configure.d.cts.map +1 -0
  178. package/build/configure.d.mts +19 -0
  179. package/build/configure.d.mts.map +1 -0
  180. package/build/configure.js +265 -348
  181. package/build/configure.js.map +1 -1
  182. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  183. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  184. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  185. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  186. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  187. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  188. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  189. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  190. package/build/dataloaders/findByUniqueDataLoader.cjs +58 -0
  191. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  192. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  193. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  194. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  195. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  196. package/build/dataloaders/findByUniqueDataLoader.js +53 -44
  197. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  198. package/build/dataloaders/findCountDataLoader.cjs +123 -0
  199. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  200. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  201. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  202. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  203. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  204. package/build/dataloaders/findCountDataLoader.js +112 -109
  205. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  206. package/build/dataloaders/findDataLoader.cjs +365 -0
  207. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  208. package/build/dataloaders/findDataLoader.d.cts +79 -0
  209. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  210. package/build/dataloaders/findDataLoader.d.mts +79 -0
  211. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  212. package/build/dataloaders/findDataLoader.js +298 -382
  213. package/build/dataloaders/findDataLoader.js.map +1 -1
  214. package/build/dataloaders/findIdsDataLoader.cjs +82 -0
  215. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  216. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  217. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  218. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  219. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  220. package/build/dataloaders/findIdsDataLoader.js +77 -74
  221. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  222. package/build/dataloaders/findOrCreateDataLoader.cjs +120 -0
  223. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  224. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  225. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  226. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  227. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  228. package/build/dataloaders/findOrCreateDataLoader.js +102 -164
  229. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  230. package/build/dataloaders/findPaginatedDataLoader.cjs +98 -0
  231. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  232. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  233. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  234. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  235. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  236. package/build/dataloaders/findPaginatedDataLoader.js +93 -80
  237. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  238. package/build/dataloaders/lensDataLoader.cjs +178 -0
  239. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  240. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  241. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  242. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  243. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  244. package/build/dataloaders/lensDataLoader.js +172 -176
  245. package/build/dataloaders/lensDataLoader.js.map +1 -1
  246. package/build/dataloaders/manyToManyFindDataLoader.cjs +84 -0
  247. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  248. package/build/dataloaders/manyToManyFindDataLoader.d.cts +12 -0
  249. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  250. package/build/dataloaders/manyToManyFindDataLoader.d.mts +12 -0
  251. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  252. package/build/dataloaders/manyToManyFindDataLoader.js +76 -70
  253. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  254. package/build/dataloaders/oneToManyFindDataLoader.cjs +77 -0
  255. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  256. package/build/dataloaders/oneToManyFindDataLoader.d.cts +12 -0
  257. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  258. package/build/dataloaders/oneToManyFindDataLoader.d.mts +12 -0
  259. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  260. package/build/dataloaders/oneToManyFindDataLoader.js +71 -67
  261. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  262. package/build/defaults.cjs +195 -0
  263. package/build/defaults.cjs.map +1 -0
  264. package/build/defaults.d.cts +56 -0
  265. package/build/defaults.d.cts.map +1 -0
  266. package/build/defaults.d.mts +56 -0
  267. package/build/defaults.d.mts.map +1 -0
  268. package/build/defaults.js +171 -271
  269. package/build/defaults.js.map +1 -1
  270. package/build/drivers/Driver.cjs +3 -0
  271. package/build/drivers/Driver.d.cts +51 -0
  272. package/build/drivers/Driver.d.cts.map +1 -0
  273. package/build/drivers/Driver.d.mts +51 -0
  274. package/build/drivers/Driver.d.mts.map +1 -0
  275. package/build/drivers/Driver.js +3 -3
  276. package/build/drivers/EntityWriter.cjs +208 -0
  277. package/build/drivers/EntityWriter.cjs.map +1 -0
  278. package/build/drivers/EntityWriter.d.cts +66 -0
  279. package/build/drivers/EntityWriter.d.cts.map +1 -0
  280. package/build/drivers/EntityWriter.d.mts +66 -0
  281. package/build/drivers/EntityWriter.d.mts.map +1 -0
  282. package/build/drivers/EntityWriter.js +183 -219
  283. package/build/drivers/EntityWriter.js.map +1 -1
  284. package/build/drivers/IdAssigner.cjs +89 -0
  285. package/build/drivers/IdAssigner.cjs.map +1 -0
  286. package/build/drivers/IdAssigner.d.cts +50 -0
  287. package/build/drivers/IdAssigner.d.cts.map +1 -0
  288. package/build/drivers/IdAssigner.d.mts +50 -0
  289. package/build/drivers/IdAssigner.d.mts.map +1 -0
  290. package/build/drivers/IdAssigner.js +80 -124
  291. package/build/drivers/IdAssigner.js.map +1 -1
  292. package/build/drivers/driverApi.cjs +19 -0
  293. package/build/drivers/driverApi.cjs.map +1 -0
  294. package/build/drivers/driverApi.d.cts +22 -0
  295. package/build/drivers/driverApi.d.cts.map +1 -0
  296. package/build/drivers/driverApi.d.mts +22 -0
  297. package/build/drivers/driverApi.d.mts.map +1 -0
  298. package/build/drivers/driverApi.js +18 -0
  299. package/build/drivers/driverApi.js.map +1 -0
  300. package/build/drivers/index.cjs +7 -0
  301. package/build/drivers/index.d.cts +4 -0
  302. package/build/drivers/index.d.mts +4 -0
  303. package/build/drivers/index.js +3 -22
  304. package/build/fields.cjs +127 -0
  305. package/build/fields.cjs.map +1 -0
  306. package/build/fields.d.cts +29 -0
  307. package/build/fields.d.cts.map +1 -0
  308. package/build/fields.d.mts +29 -0
  309. package/build/fields.d.mts.map +1 -0
  310. package/build/fields.js +98 -160
  311. package/build/fields.js.map +1 -1
  312. package/build/flush/FlushLock.cjs +51 -0
  313. package/build/flush/FlushLock.cjs.map +1 -0
  314. package/build/flush/FlushLock.d.cts +29 -0
  315. package/build/flush/FlushLock.d.cts.map +1 -0
  316. package/build/flush/FlushLock.d.mts +29 -0
  317. package/build/flush/FlushLock.d.mts.map +1 -0
  318. package/build/flush/FlushLock.js +51 -0
  319. package/build/flush/FlushLock.js.map +1 -0
  320. package/build/flush/JoinRows.cjs +263 -0
  321. package/build/flush/JoinRows.cjs.map +1 -0
  322. package/build/flush/JoinRows.d.cts +120 -0
  323. package/build/flush/JoinRows.d.cts.map +1 -0
  324. package/build/flush/JoinRows.d.mts +120 -0
  325. package/build/flush/JoinRows.d.mts.map +1 -0
  326. package/build/flush/JoinRows.js +261 -0
  327. package/build/flush/JoinRows.js.map +1 -0
  328. package/build/flush/PendingChanges.cjs +1 -0
  329. package/build/flush/PendingChanges.d.cts +29 -0
  330. package/build/flush/PendingChanges.d.cts.map +1 -0
  331. package/build/flush/PendingChanges.d.mts +29 -0
  332. package/build/flush/PendingChanges.d.mts.map +1 -0
  333. package/build/flush/PendingChanges.js +1 -0
  334. package/build/flush/Todo.cjs +71 -0
  335. package/build/flush/Todo.cjs.map +1 -0
  336. package/build/flush/Todo.d.cts +38 -0
  337. package/build/flush/Todo.d.cts.map +1 -0
  338. package/build/flush/Todo.d.mts +38 -0
  339. package/build/flush/Todo.d.mts.map +1 -0
  340. package/build/flush/Todo.js +67 -0
  341. package/build/flush/Todo.js.map +1 -0
  342. package/build/getProperties.cjs +87 -0
  343. package/build/getProperties.cjs.map +1 -0
  344. package/build/getProperties.d.cts +30 -0
  345. package/build/getProperties.d.cts.map +1 -0
  346. package/build/getProperties.d.mts +30 -0
  347. package/build/getProperties.d.mts.map +1 -0
  348. package/build/getProperties.js +71 -128
  349. package/build/getProperties.js.map +1 -1
  350. package/build/index.cjs +524 -0
  351. package/build/index.cjs.map +1 -0
  352. package/build/index.d.cts +180 -0
  353. package/build/index.d.cts.map +1 -0
  354. package/build/index.d.mts +180 -0
  355. package/build/index.d.mts.map +1 -0
  356. package/build/index.js +171 -292
  357. package/build/index.js.map +1 -1
  358. package/build/json.cjs +79 -0
  359. package/build/json.cjs.map +1 -0
  360. package/build/json.d.cts +76 -0
  361. package/build/json.d.cts.map +1 -0
  362. package/build/json.d.mts +76 -0
  363. package/build/json.d.mts.map +1 -0
  364. package/build/json.js +68 -106
  365. package/build/json.js.map +1 -1
  366. package/build/k.cjs +9 -0
  367. package/build/k.cjs.map +1 -0
  368. package/build/k.d.cts +1 -0
  369. package/build/k.d.mts +1 -0
  370. package/build/k.js +6 -6
  371. package/build/k.js.map +1 -1
  372. package/build/keys.cjs +181 -0
  373. package/build/keys.cjs.map +1 -0
  374. package/build/keys.d.cts +55 -0
  375. package/build/keys.d.cts.map +1 -0
  376. package/build/keys.d.mts +55 -0
  377. package/build/keys.d.mts.map +1 -0
  378. package/build/keys.js +129 -162
  379. package/build/keys.js.map +1 -1
  380. package/build/loading/HintTree.cjs +67 -0
  381. package/build/loading/HintTree.cjs.map +1 -0
  382. package/build/loading/HintTree.d.cts +45 -0
  383. package/build/loading/HintTree.d.cts.map +1 -0
  384. package/build/loading/HintTree.d.mts +45 -0
  385. package/build/loading/HintTree.d.mts.map +1 -0
  386. package/build/loading/HintTree.js +66 -0
  387. package/build/loading/HintTree.js.map +1 -0
  388. package/build/loading/IsLoadedCache.cjs +58 -0
  389. package/build/loading/IsLoadedCache.cjs.map +1 -0
  390. package/build/loading/IsLoadedCache.d.cts +35 -0
  391. package/build/loading/IsLoadedCache.d.cts.map +1 -0
  392. package/build/loading/IsLoadedCache.d.mts +35 -0
  393. package/build/loading/IsLoadedCache.d.mts.map +1 -0
  394. package/build/loading/IsLoadedCache.js +57 -0
  395. package/build/loading/IsLoadedCache.js.map +1 -0
  396. package/build/loading/loadHints.cjs +95 -0
  397. package/build/loading/loadHints.cjs.map +1 -0
  398. package/build/loading/loadHints.d.cts +116 -0
  399. package/build/loading/loadHints.d.cts.map +1 -0
  400. package/build/loading/loadHints.d.mts +116 -0
  401. package/build/loading/loadHints.d.mts.map +1 -0
  402. package/build/loading/loadHints.js +88 -0
  403. package/build/loading/loadHints.js.map +1 -0
  404. package/build/loading/loadLens.cjs +212 -0
  405. package/build/loading/loadLens.cjs.map +1 -0
  406. package/build/loading/loadLens.d.cts +77 -0
  407. package/build/loading/loadLens.d.cts.map +1 -0
  408. package/build/loading/loadLens.d.mts +77 -0
  409. package/build/loading/loadLens.d.mts.map +1 -0
  410. package/build/loading/loadLens.js +201 -0
  411. package/build/loading/loadLens.js.map +1 -0
  412. package/build/loading/withLoaded.cjs +64 -0
  413. package/build/loading/withLoaded.cjs.map +1 -0
  414. package/build/loading/withLoaded.d.cts +65 -0
  415. package/build/loading/withLoaded.d.cts.map +1 -0
  416. package/build/loading/withLoaded.d.mts +65 -0
  417. package/build/loading/withLoaded.d.mts.map +1 -0
  418. package/build/loading/withLoaded.js +61 -0
  419. package/build/loading/withLoaded.js.map +1 -0
  420. package/build/logging/FactoryLogger.cjs +66 -0
  421. package/build/logging/FactoryLogger.cjs.map +1 -0
  422. package/build/logging/FactoryLogger.d.cts +27 -0
  423. package/build/logging/FactoryLogger.d.cts.map +1 -0
  424. package/build/logging/FactoryLogger.d.mts +27 -0
  425. package/build/logging/FactoryLogger.d.mts.map +1 -0
  426. package/build/logging/FactoryLogger.js +58 -73
  427. package/build/logging/FactoryLogger.js.map +1 -1
  428. package/build/logging/FieldLogger.cjs +57 -0
  429. package/build/logging/FieldLogger.cjs.map +1 -0
  430. package/build/logging/FieldLogger.d.cts +32 -0
  431. package/build/logging/FieldLogger.d.cts.map +1 -0
  432. package/build/logging/FieldLogger.d.mts +32 -0
  433. package/build/logging/FieldLogger.d.mts.map +1 -0
  434. package/build/logging/FieldLogger.js +51 -67
  435. package/build/logging/FieldLogger.js.map +1 -1
  436. package/build/logging/ReactionLogger.cjs +93 -0
  437. package/build/logging/ReactionLogger.cjs.map +1 -0
  438. package/build/logging/ReactionLogger.d.cts +37 -0
  439. package/build/logging/ReactionLogger.d.cts.map +1 -0
  440. package/build/logging/ReactionLogger.d.mts +37 -0
  441. package/build/logging/ReactionLogger.d.mts.map +1 -0
  442. package/build/logging/ReactionLogger.js +76 -66
  443. package/build/logging/ReactionLogger.js.map +1 -1
  444. package/build/newEntity.cjs +89 -0
  445. package/build/newEntity.cjs.map +1 -0
  446. package/build/newEntity.d.cts +48 -0
  447. package/build/newEntity.d.cts.map +1 -0
  448. package/build/newEntity.d.mts +48 -0
  449. package/build/newEntity.d.mts.map +1 -0
  450. package/build/newEntity.js +71 -94
  451. package/build/newEntity.js.map +1 -1
  452. package/build/newTestInstance.cjs +539 -0
  453. package/build/newTestInstance.cjs.map +1 -0
  454. package/build/newTestInstance.d.cts +207 -0
  455. package/build/newTestInstance.d.cts.map +1 -0
  456. package/build/newTestInstance.d.mts +207 -0
  457. package/build/newTestInstance.d.mts.map +1 -0
  458. package/build/newTestInstance.js +459 -721
  459. package/build/newTestInstance.js.map +1 -1
  460. package/build/normalizeHints.cjs +58 -0
  461. package/build/normalizeHints.cjs.map +1 -0
  462. package/build/normalizeHints.d.cts +24 -0
  463. package/build/normalizeHints.d.cts.map +1 -0
  464. package/build/normalizeHints.d.mts +24 -0
  465. package/build/normalizeHints.d.mts.map +1 -0
  466. package/build/normalizeHints.js +40 -55
  467. package/build/normalizeHints.js.map +1 -1
  468. package/build/nowUTC.cjs +15 -0
  469. package/build/nowUTC.cjs.map +1 -0
  470. package/build/nowUTC.d.cts +10 -0
  471. package/build/nowUTC.d.cts.map +1 -0
  472. package/build/nowUTC.d.mts +10 -0
  473. package/build/nowUTC.d.mts.map +1 -0
  474. package/build/nowUTC.js +14 -0
  475. package/build/nowUTC.js.map +1 -0
  476. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  477. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  478. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  479. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  480. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  481. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  482. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  483. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  484. package/build/plugins/PreloadPlugin.cjs +3 -0
  485. package/build/plugins/PreloadPlugin.d.cts +77 -0
  486. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  487. package/build/plugins/PreloadPlugin.d.mts +77 -0
  488. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  489. package/build/plugins/PreloadPlugin.js +3 -3
  490. package/build/preloading/JsonAggregatePreloader.cjs +280 -0
  491. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  492. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  493. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  494. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  495. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  496. package/build/preloading/JsonAggregatePreloader.js +270 -320
  497. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  498. package/build/preloading/canPreload.cjs +19 -0
  499. package/build/preloading/canPreload.cjs.map +1 -0
  500. package/build/preloading/canPreload.d.cts +6 -0
  501. package/build/preloading/canPreload.d.cts.map +1 -0
  502. package/build/preloading/canPreload.d.mts +6 -0
  503. package/build/preloading/canPreload.d.mts.map +1 -0
  504. package/build/preloading/canPreload.js +15 -21
  505. package/build/preloading/canPreload.js.map +1 -1
  506. package/build/preloading/partitionHint.cjs +43 -0
  507. package/build/preloading/partitionHint.cjs.map +1 -0
  508. package/build/preloading/partitionHint.d.cts +8 -0
  509. package/build/preloading/partitionHint.d.cts.map +1 -0
  510. package/build/preloading/partitionHint.d.mts +8 -0
  511. package/build/preloading/partitionHint.d.mts.map +1 -0
  512. package/build/preloading/partitionHint.js +36 -56
  513. package/build/preloading/partitionHint.js.map +1 -1
  514. package/build/queries/ConditionBuilder.cjs +106 -0
  515. package/build/queries/ConditionBuilder.cjs.map +1 -0
  516. package/build/queries/ConditionBuilder.d.cts +31 -0
  517. package/build/queries/ConditionBuilder.d.cts.map +1 -0
  518. package/build/queries/ConditionBuilder.d.mts +31 -0
  519. package/build/queries/ConditionBuilder.d.mts.map +1 -0
  520. package/build/queries/ConditionBuilder.js +105 -0
  521. package/build/queries/ConditionBuilder.js.map +1 -0
  522. package/build/queries/conditions.cjs +15 -0
  523. package/build/queries/conditions.cjs.map +1 -0
  524. package/build/queries/conditions.d.cts +38 -0
  525. package/build/queries/conditions.d.cts.map +1 -0
  526. package/build/queries/conditions.d.mts +38 -0
  527. package/build/queries/conditions.d.mts.map +1 -0
  528. package/build/queries/conditions.js +13 -0
  529. package/build/queries/conditions.js.map +1 -0
  530. package/build/queries/entityQueryUtils.cjs +60 -0
  531. package/build/queries/entityQueryUtils.cjs.map +1 -0
  532. package/build/queries/entityQueryUtils.d.cts +19 -0
  533. package/build/queries/entityQueryUtils.d.cts.map +1 -0
  534. package/build/queries/entityQueryUtils.d.mts +19 -0
  535. package/build/queries/entityQueryUtils.d.mts.map +1 -0
  536. package/build/queries/entityQueryUtils.js +56 -0
  537. package/build/queries/entityQueryUtils.js.map +1 -0
  538. package/build/queries/find/Aliases.cjs +301 -0
  539. package/build/queries/find/Aliases.cjs.map +1 -0
  540. package/build/queries/find/Aliases.d.cts +122 -0
  541. package/build/queries/find/Aliases.d.cts.map +1 -0
  542. package/build/queries/find/Aliases.d.mts +122 -0
  543. package/build/queries/find/Aliases.d.mts.map +1 -0
  544. package/build/queries/find/Aliases.js +293 -0
  545. package/build/queries/find/Aliases.js.map +1 -0
  546. package/build/queries/find/DeferredAlias.cjs +25 -0
  547. package/build/queries/find/DeferredAlias.cjs.map +1 -0
  548. package/build/queries/find/DeferredAlias.d.cts +22 -0
  549. package/build/queries/find/DeferredAlias.d.cts.map +1 -0
  550. package/build/queries/find/DeferredAlias.d.mts +22 -0
  551. package/build/queries/find/DeferredAlias.d.mts.map +1 -0
  552. package/build/queries/find/DeferredAlias.js +22 -0
  553. package/build/queries/find/DeferredAlias.js.map +1 -0
  554. package/build/queries/find/EntityFilter.cjs +27 -0
  555. package/build/queries/find/EntityFilter.cjs.map +1 -0
  556. package/build/queries/find/EntityFilter.d.cts +127 -0
  557. package/build/queries/find/EntityFilter.d.cts.map +1 -0
  558. package/build/queries/find/EntityFilter.d.mts +127 -0
  559. package/build/queries/find/EntityFilter.d.mts.map +1 -0
  560. package/build/queries/find/EntityFilter.js +26 -0
  561. package/build/queries/find/EntityFilter.js.map +1 -0
  562. package/build/queries/find/EntityGraphQLFilter.cjs +52 -0
  563. package/build/queries/find/EntityGraphQLFilter.cjs.map +1 -0
  564. package/build/queries/find/EntityGraphQLFilter.d.cts +59 -0
  565. package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -0
  566. package/build/queries/find/EntityGraphQLFilter.d.mts +59 -0
  567. package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -0
  568. package/build/queries/find/EntityGraphQLFilter.js +50 -0
  569. package/build/queries/find/EntityGraphQLFilter.js.map +1 -0
  570. package/build/queries/find/QueryParser.cjs +553 -0
  571. package/build/queries/find/QueryParser.cjs.map +1 -0
  572. package/build/queries/find/QueryParser.collectionJoins.cjs +353 -0
  573. package/build/queries/find/QueryParser.collectionJoins.cjs.map +1 -0
  574. package/build/queries/find/QueryParser.collectionJoins.d.cts +30 -0
  575. package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -0
  576. package/build/queries/find/QueryParser.collectionJoins.d.mts +30 -0
  577. package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -0
  578. package/build/queries/find/QueryParser.collectionJoins.js +352 -0
  579. package/build/queries/find/QueryParser.collectionJoins.js.map +1 -0
  580. package/build/queries/find/QueryParser.d.cts +192 -0
  581. package/build/queries/find/QueryParser.d.cts.map +1 -0
  582. package/build/queries/find/QueryParser.d.mts +192 -0
  583. package/build/queries/find/QueryParser.d.mts.map +1 -0
  584. package/build/queries/find/QueryParser.js +546 -0
  585. package/build/queries/find/QueryParser.js.map +1 -0
  586. package/build/queries/find/QueryParser.pruning.cjs +115 -0
  587. package/build/queries/find/QueryParser.pruning.cjs.map +1 -0
  588. package/build/queries/find/QueryParser.pruning.d.cts +8 -0
  589. package/build/queries/find/QueryParser.pruning.d.cts.map +1 -0
  590. package/build/queries/find/QueryParser.pruning.d.mts +8 -0
  591. package/build/queries/find/QueryParser.pruning.d.mts.map +1 -0
  592. package/build/queries/find/QueryParser.pruning.js +113 -0
  593. package/build/queries/find/QueryParser.pruning.js.map +1 -0
  594. package/build/queries/find/QueryVisitor.cjs +77 -0
  595. package/build/queries/find/QueryVisitor.cjs.map +1 -0
  596. package/build/queries/find/QueryVisitor.d.cts +24 -0
  597. package/build/queries/find/QueryVisitor.d.cts.map +1 -0
  598. package/build/queries/find/QueryVisitor.d.mts +24 -0
  599. package/build/queries/find/QueryVisitor.d.mts.map +1 -0
  600. package/build/queries/find/QueryVisitor.js +74 -0
  601. package/build/queries/find/QueryVisitor.js.map +1 -0
  602. package/build/queries/find/buildFindQuery.cjs +112 -0
  603. package/build/queries/find/buildFindQuery.cjs.map +1 -0
  604. package/build/queries/find/buildFindQuery.d.cts +24 -0
  605. package/build/queries/find/buildFindQuery.d.cts.map +1 -0
  606. package/build/queries/find/buildFindQuery.d.mts +24 -0
  607. package/build/queries/find/buildFindQuery.d.mts.map +1 -0
  608. package/build/queries/find/buildFindQuery.js +110 -0
  609. package/build/queries/find/buildFindQuery.js.map +1 -0
  610. package/build/queries/find/scopes.cjs +301 -0
  611. package/build/queries/find/scopes.cjs.map +1 -0
  612. package/build/queries/find/scopes.d.cts +188 -0
  613. package/build/queries/find/scopes.d.cts.map +1 -0
  614. package/build/queries/find/scopes.d.mts +188 -0
  615. package/build/queries/find/scopes.d.mts.map +1 -0
  616. package/build/queries/find/scopes.js +296 -0
  617. package/build/queries/find/scopes.js.map +1 -0
  618. package/build/queries/parsedConditions.cjs +21 -0
  619. package/build/queries/parsedConditions.cjs.map +1 -0
  620. package/build/queries/parsedConditions.d.cts +127 -0
  621. package/build/queries/parsedConditions.d.cts.map +1 -0
  622. package/build/queries/parsedConditions.d.mts +127 -0
  623. package/build/queries/parsedConditions.d.mts.map +1 -0
  624. package/build/queries/parsedConditions.js +20 -0
  625. package/build/queries/parsedConditions.js.map +1 -0
  626. package/build/queries/renderConditions.cjs +66 -0
  627. package/build/queries/renderConditions.cjs.map +1 -0
  628. package/build/queries/renderConditions.d.cts +15 -0
  629. package/build/queries/renderConditions.d.cts.map +1 -0
  630. package/build/queries/renderConditions.d.mts +15 -0
  631. package/build/queries/renderConditions.d.mts.map +1 -0
  632. package/build/queries/renderConditions.js +64 -0
  633. package/build/queries/renderConditions.js.map +1 -0
  634. package/build/queries/skipCondition.cjs +14 -0
  635. package/build/queries/skipCondition.cjs.map +1 -0
  636. package/build/queries/skipCondition.d.cts +7 -0
  637. package/build/queries/skipCondition.d.cts.map +1 -0
  638. package/build/queries/skipCondition.d.mts +7 -0
  639. package/build/queries/skipCondition.d.mts.map +1 -0
  640. package/build/queries/skipCondition.js +13 -0
  641. package/build/queries/skipCondition.js.map +1 -0
  642. package/build/queries/sql/AliasAssigner.cjs +35 -0
  643. package/build/queries/sql/AliasAssigner.cjs.map +1 -0
  644. package/build/queries/sql/AliasAssigner.d.cts +13 -0
  645. package/build/queries/sql/AliasAssigner.d.cts.map +1 -0
  646. package/build/queries/sql/AliasAssigner.d.mts +13 -0
  647. package/build/queries/sql/AliasAssigner.d.mts.map +1 -0
  648. package/build/queries/sql/AliasAssigner.js +34 -0
  649. package/build/queries/sql/AliasAssigner.js.map +1 -0
  650. package/build/queries/sql/Expr.cjs +529 -0
  651. package/build/queries/sql/Expr.cjs.map +1 -0
  652. package/build/queries/sql/Expr.d.cts +284 -0
  653. package/build/queries/sql/Expr.d.cts.map +1 -0
  654. package/build/queries/sql/Expr.d.mts +284 -0
  655. package/build/queries/sql/Expr.d.mts.map +1 -0
  656. package/build/queries/sql/Expr.js +512 -0
  657. package/build/queries/sql/Expr.js.map +1 -0
  658. package/build/queries/sql/JoinTree.cjs +72 -0
  659. package/build/queries/sql/JoinTree.cjs.map +1 -0
  660. package/build/queries/sql/JoinTree.d.cts +107 -0
  661. package/build/queries/sql/JoinTree.d.cts.map +1 -0
  662. package/build/queries/sql/JoinTree.d.mts +107 -0
  663. package/build/queries/sql/JoinTree.d.mts.map +1 -0
  664. package/build/queries/sql/JoinTree.js +71 -0
  665. package/build/queries/sql/JoinTree.js.map +1 -0
  666. package/build/queries/sql/Tables.cjs +803 -0
  667. package/build/queries/sql/Tables.cjs.map +1 -0
  668. package/build/queries/sql/Tables.d.cts +322 -0
  669. package/build/queries/sql/Tables.d.cts.map +1 -0
  670. package/build/queries/sql/Tables.d.mts +322 -0
  671. package/build/queries/sql/Tables.d.mts.map +1 -0
  672. package/build/queries/sql/Tables.js +786 -0
  673. package/build/queries/sql/Tables.js.map +1 -0
  674. package/build/queries/sql/custom.cjs +52 -0
  675. package/build/queries/sql/custom.cjs.map +1 -0
  676. package/build/queries/sql/custom.d.cts +85 -0
  677. package/build/queries/sql/custom.d.cts.map +1 -0
  678. package/build/queries/sql/custom.d.mts +85 -0
  679. package/build/queries/sql/custom.d.mts.map +1 -0
  680. package/build/queries/sql/custom.js +49 -0
  681. package/build/queries/sql/custom.js.map +1 -0
  682. package/build/queries/sql/execute.cjs +276 -0
  683. package/build/queries/sql/execute.cjs.map +1 -0
  684. package/build/queries/sql/execute.d.cts +294 -0
  685. package/build/queries/sql/execute.d.cts.map +1 -0
  686. package/build/queries/sql/execute.d.mts +294 -0
  687. package/build/queries/sql/execute.d.mts.map +1 -0
  688. package/build/queries/sql/execute.js +273 -0
  689. package/build/queries/sql/execute.js.map +1 -0
  690. package/build/queries/sql/expressions/arrayAgg.cjs +63 -0
  691. package/build/queries/sql/expressions/arrayAgg.cjs.map +1 -0
  692. package/build/queries/sql/expressions/arrayAgg.d.cts +24 -0
  693. package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -0
  694. package/build/queries/sql/expressions/arrayAgg.d.mts +24 -0
  695. package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -0
  696. package/build/queries/sql/expressions/arrayAgg.js +61 -0
  697. package/build/queries/sql/expressions/arrayAgg.js.map +1 -0
  698. package/build/queries/sql/expressions/case.cjs +71 -0
  699. package/build/queries/sql/expressions/case.cjs.map +1 -0
  700. package/build/queries/sql/expressions/case.d.cts +57 -0
  701. package/build/queries/sql/expressions/case.d.cts.map +1 -0
  702. package/build/queries/sql/expressions/case.d.mts +57 -0
  703. package/build/queries/sql/expressions/case.d.mts.map +1 -0
  704. package/build/queries/sql/expressions/case.js +68 -0
  705. package/build/queries/sql/expressions/case.js.map +1 -0
  706. package/build/queries/sql/expressions/coalesce.cjs +25 -0
  707. package/build/queries/sql/expressions/coalesce.cjs.map +1 -0
  708. package/build/queries/sql/expressions/coalesce.d.cts +21 -0
  709. package/build/queries/sql/expressions/coalesce.d.cts.map +1 -0
  710. package/build/queries/sql/expressions/coalesce.d.mts +21 -0
  711. package/build/queries/sql/expressions/coalesce.d.mts.map +1 -0
  712. package/build/queries/sql/expressions/coalesce.js +22 -0
  713. package/build/queries/sql/expressions/coalesce.js.map +1 -0
  714. package/build/queries/sql/expressions/codecs.cjs +126 -0
  715. package/build/queries/sql/expressions/codecs.cjs.map +1 -0
  716. package/build/queries/sql/expressions/codecs.d.cts +11 -0
  717. package/build/queries/sql/expressions/codecs.d.cts.map +1 -0
  718. package/build/queries/sql/expressions/codecs.d.mts +11 -0
  719. package/build/queries/sql/expressions/codecs.d.mts.map +1 -0
  720. package/build/queries/sql/expressions/codecs.js +125 -0
  721. package/build/queries/sql/expressions/codecs.js.map +1 -0
  722. package/build/queries/sql/expressions/expression.cjs +102 -0
  723. package/build/queries/sql/expressions/expression.cjs.map +1 -0
  724. package/build/queries/sql/expressions/expression.d.cts +23 -0
  725. package/build/queries/sql/expressions/expression.d.cts.map +1 -0
  726. package/build/queries/sql/expressions/expression.d.mts +23 -0
  727. package/build/queries/sql/expressions/expression.d.mts.map +1 -0
  728. package/build/queries/sql/expressions/expression.js +97 -0
  729. package/build/queries/sql/expressions/expression.js.map +1 -0
  730. package/build/queries/sql/expressions/greatest.cjs +25 -0
  731. package/build/queries/sql/expressions/greatest.cjs.map +1 -0
  732. package/build/queries/sql/expressions/greatest.d.cts +21 -0
  733. package/build/queries/sql/expressions/greatest.d.cts.map +1 -0
  734. package/build/queries/sql/expressions/greatest.d.mts +21 -0
  735. package/build/queries/sql/expressions/greatest.d.mts.map +1 -0
  736. package/build/queries/sql/expressions/greatest.js +22 -0
  737. package/build/queries/sql/expressions/greatest.js.map +1 -0
  738. package/build/queries/sql/expressions/least.cjs +25 -0
  739. package/build/queries/sql/expressions/least.cjs.map +1 -0
  740. package/build/queries/sql/expressions/least.d.cts +21 -0
  741. package/build/queries/sql/expressions/least.d.cts.map +1 -0
  742. package/build/queries/sql/expressions/least.d.mts +21 -0
  743. package/build/queries/sql/expressions/least.d.mts.map +1 -0
  744. package/build/queries/sql/expressions/least.js +22 -0
  745. package/build/queries/sql/expressions/least.js.map +1 -0
  746. package/build/queries/sql/expressions/nullIf.cjs +27 -0
  747. package/build/queries/sql/expressions/nullIf.cjs.map +1 -0
  748. package/build/queries/sql/expressions/nullIf.d.cts +22 -0
  749. package/build/queries/sql/expressions/nullIf.d.cts.map +1 -0
  750. package/build/queries/sql/expressions/nullIf.d.mts +22 -0
  751. package/build/queries/sql/expressions/nullIf.d.mts.map +1 -0
  752. package/build/queries/sql/expressions/nullIf.js +24 -0
  753. package/build/queries/sql/expressions/nullIf.js.map +1 -0
  754. package/build/queries/sql/expressions/parseExpression.cjs +75 -0
  755. package/build/queries/sql/expressions/parseExpression.cjs.map +1 -0
  756. package/build/queries/sql/expressions/parseExpression.d.cts +19 -0
  757. package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -0
  758. package/build/queries/sql/expressions/parseExpression.d.mts +19 -0
  759. package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -0
  760. package/build/queries/sql/expressions/parseExpression.js +70 -0
  761. package/build/queries/sql/expressions/parseExpression.js.map +1 -0
  762. package/build/queries/sql/expressions/types.cjs +1 -0
  763. package/build/queries/sql/expressions/types.d.cts +114 -0
  764. package/build/queries/sql/expressions/types.d.cts.map +1 -0
  765. package/build/queries/sql/expressions/types.d.mts +114 -0
  766. package/build/queries/sql/expressions/types.d.mts.map +1 -0
  767. package/build/queries/sql/expressions/types.js +1 -0
  768. package/build/queries/sql/keywords.cjs +136 -0
  769. package/build/queries/sql/keywords.cjs.map +1 -0
  770. package/build/queries/sql/keywords.d.cts +18 -0
  771. package/build/queries/sql/keywords.d.cts.map +1 -0
  772. package/build/queries/sql/keywords.d.mts +18 -0
  773. package/build/queries/sql/keywords.d.mts.map +1 -0
  774. package/build/queries/sql/keywords.js +132 -0
  775. package/build/queries/sql/keywords.js.map +1 -0
  776. package/build/queries/sql/query.cjs +1610 -0
  777. package/build/queries/sql/query.cjs.map +1 -0
  778. package/build/queries/sql/query.d.cts +844 -0
  779. package/build/queries/sql/query.d.cts.map +1 -0
  780. package/build/queries/sql/query.d.mts +844 -0
  781. package/build/queries/sql/query.d.mts.map +1 -0
  782. package/build/queries/sql/query.js +1592 -0
  783. package/build/queries/sql/query.js.map +1 -0
  784. package/build/queries/unnest.cjs +62 -0
  785. package/build/queries/unnest.cjs.map +1 -0
  786. package/build/queries/unnest.d.cts +16 -0
  787. package/build/queries/unnest.d.cts.map +1 -0
  788. package/build/queries/unnest.d.mts +16 -0
  789. package/build/queries/unnest.d.mts.map +1 -0
  790. package/build/queries/unnest.js +60 -0
  791. package/build/queries/unnest.js.map +1 -0
  792. package/build/queries/valueFilters.cjs +240 -0
  793. package/build/queries/valueFilters.cjs.map +1 -0
  794. package/build/queries/valueFilters.d.cts +26 -0
  795. package/build/queries/valueFilters.d.cts.map +1 -0
  796. package/build/queries/valueFilters.d.mts +26 -0
  797. package/build/queries/valueFilters.d.mts.map +1 -0
  798. package/build/queries/valueFilters.js +236 -0
  799. package/build/queries/valueFilters.js.map +1 -0
  800. package/build/reactivity/ReactionsManager.cjs +264 -0
  801. package/build/reactivity/ReactionsManager.cjs.map +1 -0
  802. package/build/reactivity/ReactionsManager.d.cts +98 -0
  803. package/build/reactivity/ReactionsManager.d.cts.map +1 -0
  804. package/build/reactivity/ReactionsManager.d.mts +98 -0
  805. package/build/reactivity/ReactionsManager.d.mts.map +1 -0
  806. package/build/reactivity/ReactionsManager.js +263 -0
  807. package/build/reactivity/ReactionsManager.js.map +1 -0
  808. package/build/reactivity/reactiveHints.cjs +328 -0
  809. package/build/reactivity/reactiveHints.cjs.map +1 -0
  810. package/build/reactivity/reactiveHints.d.cts +143 -0
  811. package/build/reactivity/reactiveHints.d.cts.map +1 -0
  812. package/build/reactivity/reactiveHints.d.mts +143 -0
  813. package/build/reactivity/reactiveHints.d.mts.map +1 -0
  814. package/build/reactivity/reactiveHints.js +321 -0
  815. package/build/reactivity/reactiveHints.js.map +1 -0
  816. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  817. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  818. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  819. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  820. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  821. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  822. package/build/relations/AbstractPropertyImpl.js +13 -13
  823. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  824. package/build/relations/AbstractRelationImpl.cjs +15 -0
  825. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  826. package/build/relations/AbstractRelationImpl.d.cts +43 -0
  827. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  828. package/build/relations/AbstractRelationImpl.d.mts +43 -0
  829. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  830. package/build/relations/AbstractRelationImpl.js +12 -17
  831. package/build/relations/AbstractRelationImpl.js.map +1 -1
  832. package/build/relations/AsyncProperty.cjs +75 -0
  833. package/build/relations/AsyncProperty.cjs.map +1 -0
  834. package/build/relations/AsyncProperty.d.cts +40 -0
  835. package/build/relations/AsyncProperty.d.cts.map +1 -0
  836. package/build/relations/AsyncProperty.d.mts +40 -0
  837. package/build/relations/AsyncProperty.d.mts.map +1 -0
  838. package/build/relations/AsyncProperty.js +61 -70
  839. package/build/relations/AsyncProperty.js.map +1 -1
  840. package/build/relations/AsyncReactiveField.cjs +110 -0
  841. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  842. package/build/relations/AsyncReactiveField.d.cts +50 -0
  843. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  844. package/build/relations/AsyncReactiveField.d.mts +50 -0
  845. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  846. package/build/relations/AsyncReactiveField.js +97 -116
  847. package/build/relations/AsyncReactiveField.js.map +1 -1
  848. package/build/relations/Collection.cjs +23 -0
  849. package/build/relations/Collection.cjs.map +1 -0
  850. package/build/relations/Collection.d.cts +37 -0
  851. package/build/relations/Collection.d.cts.map +1 -0
  852. package/build/relations/Collection.d.mts +37 -0
  853. package/build/relations/Collection.d.mts.map +1 -0
  854. package/build/relations/Collection.js +14 -11
  855. package/build/relations/Collection.js.map +1 -1
  856. package/build/relations/CustomCollection.cjs +144 -0
  857. package/build/relations/CustomCollection.cjs.map +1 -0
  858. package/build/relations/CustomCollection.d.cts +74 -0
  859. package/build/relations/CustomCollection.d.cts.map +1 -0
  860. package/build/relations/CustomCollection.d.mts +74 -0
  861. package/build/relations/CustomCollection.d.mts.map +1 -0
  862. package/build/relations/CustomCollection.js +138 -162
  863. package/build/relations/CustomCollection.js.map +1 -1
  864. package/build/relations/CustomReference.cjs +142 -0
  865. package/build/relations/CustomReference.cjs.map +1 -0
  866. package/build/relations/CustomReference.d.cts +76 -0
  867. package/build/relations/CustomReference.d.cts.map +1 -0
  868. package/build/relations/CustomReference.d.mts +76 -0
  869. package/build/relations/CustomReference.d.mts.map +1 -0
  870. package/build/relations/CustomReference.js +135 -147
  871. package/build/relations/CustomReference.js.map +1 -1
  872. package/build/relations/EnumCollection.cjs +178 -0
  873. package/build/relations/EnumCollection.cjs.map +1 -0
  874. package/build/relations/EnumCollection.d.cts +86 -0
  875. package/build/relations/EnumCollection.d.cts.map +1 -0
  876. package/build/relations/EnumCollection.d.mts +86 -0
  877. package/build/relations/EnumCollection.d.mts.map +1 -0
  878. package/build/relations/EnumCollection.js +172 -207
  879. package/build/relations/EnumCollection.js.map +1 -1
  880. package/build/relations/LargeCollection.cjs +4 -0
  881. package/build/relations/LargeCollection.d.cts +22 -0
  882. package/build/relations/LargeCollection.d.cts.map +1 -0
  883. package/build/relations/LargeCollection.d.mts +22 -0
  884. package/build/relations/LargeCollection.d.mts.map +1 -0
  885. package/build/relations/LargeCollection.js +4 -3
  886. package/build/relations/LazyField.cjs +140 -0
  887. package/build/relations/LazyField.cjs.map +1 -0
  888. package/build/relations/LazyField.d.cts +51 -0
  889. package/build/relations/LazyField.d.cts.map +1 -0
  890. package/build/relations/LazyField.d.mts +51 -0
  891. package/build/relations/LazyField.d.mts.map +1 -0
  892. package/build/relations/LazyField.js +134 -0
  893. package/build/relations/LazyField.js.map +1 -0
  894. package/build/relations/ManyToManyCollection.cjs +421 -0
  895. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  896. package/build/relations/ManyToManyCollection.d.cts +59 -0
  897. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  898. package/build/relations/ManyToManyCollection.d.mts +59 -0
  899. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  900. package/build/relations/ManyToManyCollection.js +411 -471
  901. package/build/relations/ManyToManyCollection.js.map +1 -1
  902. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  903. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  904. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  905. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  906. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  907. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  908. package/build/relations/ManyToManyLargeCollection.js +85 -118
  909. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  910. package/build/relations/ManyToOneReference.cjs +364 -0
  911. package/build/relations/ManyToOneReference.cjs.map +1 -0
  912. package/build/relations/ManyToOneReference.d.cts +121 -0
  913. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  914. package/build/relations/ManyToOneReference.d.mts +121 -0
  915. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  916. package/build/relations/ManyToOneReference.js +344 -411
  917. package/build/relations/ManyToOneReference.js.map +1 -1
  918. package/build/relations/OneToManyCollection.cjs +492 -0
  919. package/build/relations/OneToManyCollection.cjs.map +1 -0
  920. package/build/relations/OneToManyCollection.d.cts +69 -0
  921. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  922. package/build/relations/OneToManyCollection.d.mts +69 -0
  923. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  924. package/build/relations/OneToManyCollection.js +480 -579
  925. package/build/relations/OneToManyCollection.js.map +1 -1
  926. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  927. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  928. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  929. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  930. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  931. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  932. package/build/relations/OneToManyLargeCollection.js +79 -99
  933. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  934. package/build/relations/OneToOneReference.cjs +209 -0
  935. package/build/relations/OneToOneReference.cjs.map +1 -0
  936. package/build/relations/OneToOneReference.d.cts +97 -0
  937. package/build/relations/OneToOneReference.d.cts.map +1 -0
  938. package/build/relations/OneToOneReference.d.mts +97 -0
  939. package/build/relations/OneToOneReference.d.mts.map +1 -0
  940. package/build/relations/OneToOneReference.js +193 -221
  941. package/build/relations/OneToOneReference.js.map +1 -1
  942. package/build/relations/PolymorphicReference.cjs +210 -0
  943. package/build/relations/PolymorphicReference.cjs.map +1 -0
  944. package/build/relations/PolymorphicReference.d.cts +93 -0
  945. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  946. package/build/relations/PolymorphicReference.d.mts +93 -0
  947. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  948. package/build/relations/PolymorphicReference.js +200 -237
  949. package/build/relations/PolymorphicReference.js.map +1 -1
  950. package/build/relations/PropertySymbols.cjs +7 -0
  951. package/build/relations/PropertySymbols.cjs.map +1 -0
  952. package/build/relations/PropertySymbols.d.cts +5 -0
  953. package/build/relations/PropertySymbols.d.cts.map +1 -0
  954. package/build/relations/PropertySymbols.d.mts +5 -0
  955. package/build/relations/PropertySymbols.d.mts.map +1 -0
  956. package/build/relations/PropertySymbols.js +6 -0
  957. package/build/relations/PropertySymbols.js.map +1 -0
  958. package/build/relations/ReactiveField.cjs +114 -0
  959. package/build/relations/ReactiveField.cjs.map +1 -0
  960. package/build/relations/ReactiveField.d.cts +88 -0
  961. package/build/relations/ReactiveField.d.cts.map +1 -0
  962. package/build/relations/ReactiveField.d.mts +88 -0
  963. package/build/relations/ReactiveField.d.mts.map +1 -0
  964. package/build/relations/ReactiveField.js +104 -137
  965. package/build/relations/ReactiveField.js.map +1 -1
  966. package/build/relations/ReactiveGetter.cjs +40 -0
  967. package/build/relations/ReactiveGetter.cjs.map +1 -0
  968. package/build/relations/ReactiveGetter.d.cts +33 -0
  969. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  970. package/build/relations/ReactiveGetter.d.mts +33 -0
  971. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  972. package/build/relations/ReactiveGetter.js +30 -31
  973. package/build/relations/ReactiveGetter.js.map +1 -1
  974. package/build/relations/ReactiveManyToMany.cjs +198 -0
  975. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  976. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  977. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  978. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  979. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  980. package/build/relations/ReactiveManyToMany.js +187 -238
  981. package/build/relations/ReactiveManyToMany.js.map +1 -1
  982. package/build/relations/ReactiveManyToManyOtherSide.cjs +148 -0
  983. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  984. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  985. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  986. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  987. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  988. package/build/relations/ReactiveManyToManyOtherSide.js +139 -152
  989. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  990. package/build/relations/ReactiveReference.cjs +336 -0
  991. package/build/relations/ReactiveReference.cjs.map +1 -0
  992. package/build/relations/ReactiveReference.d.cts +124 -0
  993. package/build/relations/ReactiveReference.d.cts.map +1 -0
  994. package/build/relations/ReactiveReference.d.mts +124 -0
  995. package/build/relations/ReactiveReference.d.mts.map +1 -0
  996. package/build/relations/ReactiveReference.js +321 -385
  997. package/build/relations/ReactiveReference.js.map +1 -1
  998. package/build/relations/ReadOnlyCollection.cjs +18 -0
  999. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  1000. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  1001. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  1002. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  1003. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  1004. package/build/relations/ReadOnlyCollection.js +9 -9
  1005. package/build/relations/ReadOnlyCollection.js.map +1 -1
  1006. package/build/relations/RecursiveCollection.cjs +386 -0
  1007. package/build/relations/RecursiveCollection.cjs.map +1 -0
  1008. package/build/relations/RecursiveCollection.d.cts +112 -0
  1009. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  1010. package/build/relations/RecursiveCollection.d.mts +112 -0
  1011. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  1012. package/build/relations/RecursiveCollection.js +367 -427
  1013. package/build/relations/RecursiveCollection.js.map +1 -1
  1014. package/build/relations/RecursiveCycleError.cjs +17 -0
  1015. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  1016. package/build/relations/RecursiveCycleError.d.cts +15 -0
  1017. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  1018. package/build/relations/RecursiveCycleError.d.mts +15 -0
  1019. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  1020. package/build/relations/RecursiveCycleError.js +14 -13
  1021. package/build/relations/RecursiveCycleError.js.map +1 -1
  1022. package/build/relations/Reference.cjs +25 -0
  1023. package/build/relations/Reference.cjs.map +1 -0
  1024. package/build/relations/Reference.d.cts +39 -0
  1025. package/build/relations/Reference.d.cts.map +1 -0
  1026. package/build/relations/Reference.d.mts +39 -0
  1027. package/build/relations/Reference.d.mts.map +1 -0
  1028. package/build/relations/Reference.js +15 -14
  1029. package/build/relations/Reference.js.map +1 -1
  1030. package/build/relations/ReferenceSymbols.cjs +7 -0
  1031. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  1032. package/build/relations/ReferenceSymbols.d.cts +5 -0
  1033. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  1034. package/build/relations/ReferenceSymbols.d.mts +5 -0
  1035. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  1036. package/build/relations/ReferenceSymbols.js +6 -0
  1037. package/build/relations/ReferenceSymbols.js.map +1 -0
  1038. package/build/relations/Relation.cjs +17 -0
  1039. package/build/relations/Relation.cjs.map +1 -0
  1040. package/build/relations/Relation.d.cts +16 -0
  1041. package/build/relations/Relation.d.cts.map +1 -0
  1042. package/build/relations/Relation.d.mts +16 -0
  1043. package/build/relations/Relation.d.mts.map +1 -0
  1044. package/build/relations/Relation.js +10 -8
  1045. package/build/relations/Relation.js.map +1 -1
  1046. package/build/relations/RelationSymbols.cjs +9 -0
  1047. package/build/relations/RelationSymbols.cjs.map +1 -0
  1048. package/build/relations/RelationSymbols.d.cts +6 -0
  1049. package/build/relations/RelationSymbols.d.cts.map +1 -0
  1050. package/build/relations/RelationSymbols.d.mts +6 -0
  1051. package/build/relations/RelationSymbols.d.mts.map +1 -0
  1052. package/build/relations/RelationSymbols.js +7 -0
  1053. package/build/relations/RelationSymbols.js.map +1 -0
  1054. package/build/relations/hasAsyncMethod.cjs +47 -0
  1055. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  1056. package/build/relations/hasAsyncMethod.d.cts +29 -0
  1057. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  1058. package/build/relations/hasAsyncMethod.d.mts +29 -0
  1059. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  1060. package/build/relations/hasAsyncMethod.js +40 -43
  1061. package/build/relations/hasAsyncMethod.js.map +1 -1
  1062. package/build/relations/hasManyDerived.cjs +35 -0
  1063. package/build/relations/hasManyDerived.cjs.map +1 -0
  1064. package/build/relations/hasManyDerived.d.cts +25 -0
  1065. package/build/relations/hasManyDerived.d.cts.map +1 -0
  1066. package/build/relations/hasManyDerived.d.mts +25 -0
  1067. package/build/relations/hasManyDerived.d.mts.map +1 -0
  1068. package/build/relations/hasManyDerived.js +30 -28
  1069. package/build/relations/hasManyDerived.js.map +1 -1
  1070. package/build/relations/hasManyThrough.cjs +29 -0
  1071. package/build/relations/hasManyThrough.cjs.map +1 -0
  1072. package/build/relations/hasManyThrough.d.cts +16 -0
  1073. package/build/relations/hasManyThrough.d.cts.map +1 -0
  1074. package/build/relations/hasManyThrough.d.mts +16 -0
  1075. package/build/relations/hasManyThrough.d.mts.map +1 -0
  1076. package/build/relations/hasManyThrough.js +24 -20
  1077. package/build/relations/hasManyThrough.js.map +1 -1
  1078. package/build/relations/hasOneDerived.cjs +32 -0
  1079. package/build/relations/hasOneDerived.cjs.map +1 -0
  1080. package/build/relations/hasOneDerived.d.cts +15 -0
  1081. package/build/relations/hasOneDerived.d.cts.map +1 -0
  1082. package/build/relations/hasOneDerived.d.mts +15 -0
  1083. package/build/relations/hasOneDerived.d.mts.map +1 -0
  1084. package/build/relations/hasOneDerived.js +27 -20
  1085. package/build/relations/hasOneDerived.js.map +1 -1
  1086. package/build/relations/hasOneThrough.cjs +31 -0
  1087. package/build/relations/hasOneThrough.cjs.map +1 -0
  1088. package/build/relations/hasOneThrough.d.cts +16 -0
  1089. package/build/relations/hasOneThrough.d.cts.map +1 -0
  1090. package/build/relations/hasOneThrough.d.mts +16 -0
  1091. package/build/relations/hasOneThrough.d.mts.map +1 -0
  1092. package/build/relations/hasOneThrough.js +26 -22
  1093. package/build/relations/hasOneThrough.js.map +1 -1
  1094. package/build/relations/hasProperty.cjs +109 -0
  1095. package/build/relations/hasProperty.cjs.map +1 -0
  1096. package/build/relations/hasProperty.d.cts +53 -0
  1097. package/build/relations/hasProperty.d.cts.map +1 -0
  1098. package/build/relations/hasProperty.d.mts +53 -0
  1099. package/build/relations/hasProperty.d.mts.map +1 -0
  1100. package/build/relations/hasProperty.js +90 -95
  1101. package/build/relations/hasProperty.js.map +1 -1
  1102. package/build/relations/index.cjs +99 -0
  1103. package/build/relations/index.d.cts +32 -0
  1104. package/build/relations/index.d.mts +32 -0
  1105. package/build/relations/index.js +31 -97
  1106. package/build/relations/isCascadeDelete.cjs +11 -0
  1107. package/build/relations/isCascadeDelete.cjs.map +1 -0
  1108. package/build/relations/isCascadeDelete.d.cts +7 -0
  1109. package/build/relations/isCascadeDelete.d.cts.map +1 -0
  1110. package/build/relations/isCascadeDelete.d.mts +7 -0
  1111. package/build/relations/isCascadeDelete.d.mts.map +1 -0
  1112. package/build/relations/isCascadeDelete.js +10 -0
  1113. package/build/relations/isCascadeDelete.js.map +1 -0
  1114. package/build/resurrection.cjs +74 -0
  1115. package/build/resurrection.cjs.map +1 -0
  1116. package/build/resurrection.d.cts +13 -0
  1117. package/build/resurrection.d.cts.map +1 -0
  1118. package/build/resurrection.d.mts +13 -0
  1119. package/build/resurrection.d.mts.map +1 -0
  1120. package/build/resurrection.js +48 -69
  1121. package/build/resurrection.js.map +1 -1
  1122. package/build/rules.cjs +227 -0
  1123. package/build/rules.cjs.map +1 -0
  1124. package/build/rules.d.cts +145 -0
  1125. package/build/rules.d.cts.map +1 -0
  1126. package/build/rules.d.mts +145 -0
  1127. package/build/rules.d.mts.map +1 -0
  1128. package/build/rules.js +189 -204
  1129. package/build/rules.js.map +1 -1
  1130. package/build/runtimeConfig.cjs +25 -0
  1131. package/build/runtimeConfig.cjs.map +1 -0
  1132. package/build/runtimeConfig.d.cts +24 -0
  1133. package/build/runtimeConfig.d.cts.map +1 -0
  1134. package/build/runtimeConfig.d.mts +24 -0
  1135. package/build/runtimeConfig.d.mts.map +1 -0
  1136. package/build/runtimeConfig.js +16 -12
  1137. package/build/runtimeConfig.js.map +1 -1
  1138. package/build/serde/TypeInfo.cjs +80 -0
  1139. package/build/serde/TypeInfo.cjs.map +1 -0
  1140. package/build/serde/TypeInfo.d.cts +57 -0
  1141. package/build/serde/TypeInfo.d.cts.map +1 -0
  1142. package/build/serde/TypeInfo.d.mts +57 -0
  1143. package/build/serde/TypeInfo.d.mts.map +1 -0
  1144. package/build/serde/TypeInfo.js +78 -0
  1145. package/build/serde/TypeInfo.js.map +1 -0
  1146. package/build/serde/columns.cjs +63 -0
  1147. package/build/serde/columns.cjs.map +1 -0
  1148. package/build/serde/columns.d.cts +38 -0
  1149. package/build/serde/columns.d.cts.map +1 -0
  1150. package/build/serde/columns.d.mts +38 -0
  1151. package/build/serde/columns.d.mts.map +1 -0
  1152. package/build/serde/columns.js +62 -0
  1153. package/build/serde/columns.js.map +1 -0
  1154. package/build/serde/fieldSerde.cjs +188 -0
  1155. package/build/serde/fieldSerde.cjs.map +1 -0
  1156. package/build/serde/fieldSerde.d.cts +87 -0
  1157. package/build/serde/fieldSerde.d.cts.map +1 -0
  1158. package/build/serde/fieldSerde.d.mts +87 -0
  1159. package/build/serde/fieldSerde.d.mts.map +1 -0
  1160. package/build/serde/fieldSerde.js +182 -0
  1161. package/build/serde/fieldSerde.js.map +1 -0
  1162. package/build/serde/serde.cjs +499 -0
  1163. package/build/serde/serde.cjs.map +1 -0
  1164. package/build/serde/serde.d.cts +248 -0
  1165. package/build/serde/serde.d.cts.map +1 -0
  1166. package/build/serde/serde.d.mts +248 -0
  1167. package/build/serde/serde.d.mts.map +1 -0
  1168. package/build/serde/serde.js +485 -0
  1169. package/build/serde/serde.js.map +1 -0
  1170. package/build/serde/temporal.cjs +57 -0
  1171. package/build/serde/temporal.cjs.map +1 -0
  1172. package/build/serde/temporal.d.cts +44 -0
  1173. package/build/serde/temporal.d.cts.map +1 -0
  1174. package/build/serde/temporal.d.mts +44 -0
  1175. package/build/serde/temporal.d.mts.map +1 -0
  1176. package/build/serde/temporal.js +55 -0
  1177. package/build/serde/temporal.js.map +1 -0
  1178. package/build/serde/temporalMappers.cjs +62 -0
  1179. package/build/serde/temporalMappers.cjs.map +1 -0
  1180. package/build/serde/temporalMappers.d.cts +36 -0
  1181. package/build/serde/temporalMappers.d.cts.map +1 -0
  1182. package/build/serde/temporalMappers.d.mts +36 -0
  1183. package/build/serde/temporalMappers.d.mts.map +1 -0
  1184. package/build/serde/temporalMappers.js +58 -0
  1185. package/build/serde/temporalMappers.js.map +1 -0
  1186. package/build/trusted.cjs +16 -0
  1187. package/build/trusted.cjs.map +1 -0
  1188. package/build/trusted.d.cts +8 -0
  1189. package/build/trusted.d.cts.map +1 -0
  1190. package/build/trusted.d.mts +8 -0
  1191. package/build/trusted.d.mts.map +1 -0
  1192. package/build/trusted.js +8 -8
  1193. package/build/trusted.js.map +1 -1
  1194. package/build/typeMap.cjs +3 -0
  1195. package/build/typeMap.d.cts +88 -0
  1196. package/build/typeMap.d.cts.map +1 -0
  1197. package/build/typeMap.d.mts +88 -0
  1198. package/build/typeMap.d.mts.map +1 -0
  1199. package/build/typeMap.js +3 -3
  1200. package/build/upsert.cjs +175 -0
  1201. package/build/upsert.cjs.map +1 -0
  1202. package/build/upsert.d.cts +42 -0
  1203. package/build/upsert.d.cts.map +1 -0
  1204. package/build/upsert.d.mts +42 -0
  1205. package/build/upsert.d.mts.map +1 -0
  1206. package/build/upsert.js +159 -274
  1207. package/build/upsert.js.map +1 -1
  1208. package/build/utils.cjs +204 -0
  1209. package/build/utils.cjs.map +1 -0
  1210. package/build/utils.d.cts +65 -0
  1211. package/build/utils.d.cts.map +1 -0
  1212. package/build/utils.d.mts +65 -0
  1213. package/build/utils.d.mts.map +1 -0
  1214. package/build/utils.js +123 -192
  1215. package/build/utils.js.map +1 -1
  1216. package/package.json +34 -14
  1217. package/build/AliasAssigner.d.ts +0 -10
  1218. package/build/AliasAssigner.d.ts.map +0 -1
  1219. package/build/AliasAssigner.js +0 -39
  1220. package/build/AliasAssigner.js.map +0 -1
  1221. package/build/Aliases.d.ts +0 -117
  1222. package/build/Aliases.d.ts.map +0 -1
  1223. package/build/Aliases.js +0 -457
  1224. package/build/Aliases.js.map +0 -1
  1225. package/build/BaseEntity.d.ts +0 -68
  1226. package/build/BaseEntity.d.ts.map +0 -1
  1227. package/build/ConditionBuilder.d.ts +0 -29
  1228. package/build/ConditionBuilder.d.ts.map +0 -1
  1229. package/build/ConditionBuilder.js +0 -112
  1230. package/build/ConditionBuilder.js.map +0 -1
  1231. package/build/Entity.d.ts +0 -39
  1232. package/build/Entity.d.ts.map +0 -1
  1233. package/build/EntityFields.d.ts +0 -37
  1234. package/build/EntityFields.d.ts.map +0 -1
  1235. package/build/EntityFields.js.map +0 -1
  1236. package/build/EntityFilter.d.ts +0 -134
  1237. package/build/EntityFilter.d.ts.map +0 -1
  1238. package/build/EntityFilter.js +0 -21
  1239. package/build/EntityFilter.js.map +0 -1
  1240. package/build/EntityGraphQLFilter.d.ts +0 -56
  1241. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1242. package/build/EntityGraphQLFilter.js +0 -53
  1243. package/build/EntityGraphQLFilter.js.map +0 -1
  1244. package/build/EntityManager.d.ts +0 -740
  1245. package/build/EntityManager.d.ts.map +0 -1
  1246. package/build/EntityMetadata.d.ts +0 -233
  1247. package/build/EntityMetadata.d.ts.map +0 -1
  1248. package/build/EnumMetadata.d.ts +0 -15
  1249. package/build/EnumMetadata.d.ts.map +0 -1
  1250. package/build/EnumMetadata.js.map +0 -1
  1251. package/build/FlushLock.d.ts +0 -26
  1252. package/build/FlushLock.d.ts.map +0 -1
  1253. package/build/FlushLock.js +0 -57
  1254. package/build/FlushLock.js.map +0 -1
  1255. package/build/HintTree.d.ts +0 -42
  1256. package/build/HintTree.d.ts.map +0 -1
  1257. package/build/HintTree.js +0 -64
  1258. package/build/HintTree.js.map +0 -1
  1259. package/build/IndexManager.d.ts +0 -31
  1260. package/build/IndexManager.d.ts.map +0 -1
  1261. package/build/InstanceData.d.ts +0 -79
  1262. package/build/InstanceData.d.ts.map +0 -1
  1263. package/build/IsLoadedCache.d.ts +0 -32
  1264. package/build/IsLoadedCache.d.ts.map +0 -1
  1265. package/build/IsLoadedCache.js +0 -91
  1266. package/build/IsLoadedCache.js.map +0 -1
  1267. package/build/JoinRows.d.ts +0 -117
  1268. package/build/JoinRows.d.ts.map +0 -1
  1269. package/build/JoinRows.js +0 -320
  1270. package/build/JoinRows.js.map +0 -1
  1271. package/build/PendingChanges.d.ts +0 -26
  1272. package/build/PendingChanges.d.ts.map +0 -1
  1273. package/build/PendingChanges.js +0 -3
  1274. package/build/PendingChanges.js.map +0 -1
  1275. package/build/PluginManager.d.ts +0 -102
  1276. package/build/PluginManager.d.ts.map +0 -1
  1277. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1278. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1279. package/build/QueryParser.collectionJoins.js +0 -466
  1280. package/build/QueryParser.collectionJoins.js.map +0 -1
  1281. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1282. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1283. package/build/QueryParser.collectionJoins.test.js +0 -772
  1284. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1285. package/build/QueryParser.d.ts +0 -336
  1286. package/build/QueryParser.d.ts.map +0 -1
  1287. package/build/QueryParser.js +0 -965
  1288. package/build/QueryParser.js.map +0 -1
  1289. package/build/QueryParser.pruning.d.ts +0 -7
  1290. package/build/QueryParser.pruning.d.ts.map +0 -1
  1291. package/build/QueryParser.pruning.js +0 -195
  1292. package/build/QueryParser.pruning.js.map +0 -1
  1293. package/build/QueryParser.pruning.test.d.ts +0 -2
  1294. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1295. package/build/QueryParser.pruning.test.js +0 -106
  1296. package/build/QueryParser.pruning.test.js.map +0 -1
  1297. package/build/QueryParser.test.d.ts +0 -2
  1298. package/build/QueryParser.test.d.ts.map +0 -1
  1299. package/build/QueryParser.test.js +0 -27
  1300. package/build/QueryParser.test.js.map +0 -1
  1301. package/build/QueryVisitor.d.ts +0 -19
  1302. package/build/QueryVisitor.d.ts.map +0 -1
  1303. package/build/QueryVisitor.js +0 -106
  1304. package/build/QueryVisitor.js.map +0 -1
  1305. package/build/ReactionsManager.d.ts +0 -85
  1306. package/build/ReactionsManager.d.ts.map +0 -1
  1307. package/build/ReactionsManager.js +0 -315
  1308. package/build/ReactionsManager.js.map +0 -1
  1309. package/build/Todo.d.ts +0 -35
  1310. package/build/Todo.d.ts.map +0 -1
  1311. package/build/Todo.js +0 -73
  1312. package/build/Todo.js.map +0 -1
  1313. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1314. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1315. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1316. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1317. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1318. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1319. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1320. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1321. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1322. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1323. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1324. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1325. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1326. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1327. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1328. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1329. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1330. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1331. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1332. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1333. package/build/changes.d.ts +0 -92
  1334. package/build/changes.d.ts.map +0 -1
  1335. package/build/config.d.ts +0 -250
  1336. package/build/config.d.ts.map +0 -1
  1337. package/build/config.test.d.ts +0 -2
  1338. package/build/config.test.d.ts.map +0 -1
  1339. package/build/config.test.js +0 -53
  1340. package/build/config.test.js.map +0 -1
  1341. package/build/configure.d.ts +0 -15
  1342. package/build/configure.d.ts.map +0 -1
  1343. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1344. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1345. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1346. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1347. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1348. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1349. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1350. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1351. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1352. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1353. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1354. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1355. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1356. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1357. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1358. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1359. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1360. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1361. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1362. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1363. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1364. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1365. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1366. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1367. package/build/defaults.d.ts +0 -54
  1368. package/build/defaults.d.ts.map +0 -1
  1369. package/build/driverApi.d.ts +0 -19
  1370. package/build/driverApi.d.ts.map +0 -1
  1371. package/build/driverApi.js +0 -17
  1372. package/build/driverApi.js.map +0 -1
  1373. package/build/drivers/Driver.d.ts +0 -26
  1374. package/build/drivers/Driver.d.ts.map +0 -1
  1375. package/build/drivers/Driver.js.map +0 -1
  1376. package/build/drivers/EntityWriter.d.ts +0 -64
  1377. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1378. package/build/drivers/IdAssigner.d.ts +0 -48
  1379. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1380. package/build/drivers/buildRawQuery.d.ts +0 -22
  1381. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1382. package/build/drivers/buildRawQuery.js +0 -153
  1383. package/build/drivers/buildRawQuery.js.map +0 -1
  1384. package/build/drivers/buildUtils.d.ts +0 -9
  1385. package/build/drivers/buildUtils.d.ts.map +0 -1
  1386. package/build/drivers/buildUtils.js +0 -88
  1387. package/build/drivers/buildUtils.js.map +0 -1
  1388. package/build/drivers/index.d.ts +0 -6
  1389. package/build/drivers/index.d.ts.map +0 -1
  1390. package/build/drivers/index.js.map +0 -1
  1391. package/build/fields.d.ts +0 -26
  1392. package/build/fields.d.ts.map +0 -1
  1393. package/build/getProperties.d.ts +0 -28
  1394. package/build/getProperties.d.ts.map +0 -1
  1395. package/build/index.d.ts +0 -133
  1396. package/build/index.d.ts.map +0 -1
  1397. package/build/json.d.ts +0 -77
  1398. package/build/json.d.ts.map +0 -1
  1399. package/build/k.d.ts +0 -2
  1400. package/build/k.d.ts.map +0 -1
  1401. package/build/keys.d.ts +0 -49
  1402. package/build/keys.d.ts.map +0 -1
  1403. package/build/keywords.d.ts +0 -5
  1404. package/build/keywords.d.ts.map +0 -1
  1405. package/build/keywords.js +0 -124
  1406. package/build/keywords.js.map +0 -1
  1407. package/build/loadHints.d.ts +0 -121
  1408. package/build/loadHints.d.ts.map +0 -1
  1409. package/build/loadHints.js +0 -129
  1410. package/build/loadHints.js.map +0 -1
  1411. package/build/loadLens.d.ts +0 -77
  1412. package/build/loadLens.d.ts.map +0 -1
  1413. package/build/loadLens.js +0 -320
  1414. package/build/loadLens.js.map +0 -1
  1415. package/build/logging/FactoryLogger.d.ts +0 -24
  1416. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1417. package/build/logging/FieldLogger.d.ts +0 -27
  1418. package/build/logging/FieldLogger.d.ts.map +0 -1
  1419. package/build/logging/ReactionLogger.d.ts +0 -27
  1420. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1421. package/build/newEntity.d.ts +0 -45
  1422. package/build/newEntity.d.ts.map +0 -1
  1423. package/build/newTestInstance.d.ts +0 -208
  1424. package/build/newTestInstance.d.ts.map +0 -1
  1425. package/build/normalizeHints.d.ts +0 -23
  1426. package/build/normalizeHints.d.ts.map +0 -1
  1427. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1428. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1429. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1430. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1431. package/build/plugins/PreloadPlugin.js.map +0 -1
  1432. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1433. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1434. package/build/preloading/canPreload.d.ts +0 -3
  1435. package/build/preloading/canPreload.d.ts.map +0 -1
  1436. package/build/preloading/partitionHint.d.ts +0 -5
  1437. package/build/preloading/partitionHint.d.ts.map +0 -1
  1438. package/build/reactiveHints.d.ts +0 -146
  1439. package/build/reactiveHints.d.ts.map +0 -1
  1440. package/build/reactiveHints.js +0 -509
  1441. package/build/reactiveHints.js.map +0 -1
  1442. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1443. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1444. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1445. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1446. package/build/relations/AsyncProperty.d.ts +0 -36
  1447. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1448. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1449. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1450. package/build/relations/Collection.d.ts +0 -33
  1451. package/build/relations/Collection.d.ts.map +0 -1
  1452. package/build/relations/CustomCollection.d.ts +0 -69
  1453. package/build/relations/CustomCollection.d.ts.map +0 -1
  1454. package/build/relations/CustomReference.d.ts +0 -71
  1455. package/build/relations/CustomReference.d.ts.map +0 -1
  1456. package/build/relations/EnumCollection.d.ts +0 -81
  1457. package/build/relations/EnumCollection.d.ts.map +0 -1
  1458. package/build/relations/LargeCollection.d.ts +0 -19
  1459. package/build/relations/LargeCollection.d.ts.map +0 -1
  1460. package/build/relations/LargeCollection.js.map +0 -1
  1461. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1462. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1463. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1464. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1465. package/build/relations/ManyToOneReference.d.ts +0 -117
  1466. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1467. package/build/relations/OneToManyCollection.d.ts +0 -62
  1468. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1469. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1470. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1471. package/build/relations/OneToOneReference.d.ts +0 -93
  1472. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1473. package/build/relations/PolymorphicReference.d.ts +0 -89
  1474. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1475. package/build/relations/ReactiveField.d.ts +0 -85
  1476. package/build/relations/ReactiveField.d.ts.map +0 -1
  1477. package/build/relations/ReactiveGetter.d.ts +0 -30
  1478. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1479. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1480. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1481. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1482. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1483. package/build/relations/ReactiveReference.d.ts +0 -119
  1484. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1485. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1486. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1487. package/build/relations/RecursiveCollection.d.ts +0 -108
  1488. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1489. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1490. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1491. package/build/relations/Reference.d.ts +0 -35
  1492. package/build/relations/Reference.d.ts.map +0 -1
  1493. package/build/relations/Relation.d.ts +0 -14
  1494. package/build/relations/Relation.d.ts.map +0 -1
  1495. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1496. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1497. package/build/relations/hasManyDerived.d.ts +0 -22
  1498. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1499. package/build/relations/hasManyThrough.d.ts +0 -10
  1500. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1501. package/build/relations/hasOneDerived.d.ts +0 -12
  1502. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1503. package/build/relations/hasOneThrough.d.ts +0 -10
  1504. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1505. package/build/relations/hasProperty.d.ts +0 -50
  1506. package/build/relations/hasProperty.d.ts.map +0 -1
  1507. package/build/relations/index.d.ts +0 -30
  1508. package/build/relations/index.d.ts.map +0 -1
  1509. package/build/relations/index.js.map +0 -1
  1510. package/build/resurrection.d.ts +0 -10
  1511. package/build/resurrection.d.ts.map +0 -1
  1512. package/build/rules.d.ts +0 -123
  1513. package/build/rules.d.ts.map +0 -1
  1514. package/build/runtimeConfig.d.ts +0 -17
  1515. package/build/runtimeConfig.d.ts.map +0 -1
  1516. package/build/scopes.d.ts +0 -185
  1517. package/build/scopes.d.ts.map +0 -1
  1518. package/build/scopes.js +0 -302
  1519. package/build/scopes.js.map +0 -1
  1520. package/build/serde.d.ts +0 -277
  1521. package/build/serde.d.ts.map +0 -1
  1522. package/build/serde.js +0 -517
  1523. package/build/serde.js.map +0 -1
  1524. package/build/temporal.d.ts +0 -46
  1525. package/build/temporal.d.ts.map +0 -1
  1526. package/build/temporal.js +0 -66
  1527. package/build/temporal.js.map +0 -1
  1528. package/build/temporalMappers.d.ts +0 -25
  1529. package/build/temporalMappers.d.ts.map +0 -1
  1530. package/build/temporalMappers.js +0 -59
  1531. package/build/temporalMappers.js.map +0 -1
  1532. package/build/trusted.d.ts +0 -5
  1533. package/build/trusted.d.ts.map +0 -1
  1534. package/build/typeMap.d.ts +0 -68
  1535. package/build/typeMap.d.ts.map +0 -1
  1536. package/build/typeMap.js.map +0 -1
  1537. package/build/unnest.d.ts +0 -13
  1538. package/build/unnest.d.ts.map +0 -1
  1539. package/build/unnest.js +0 -85
  1540. package/build/unnest.js.map +0 -1
  1541. package/build/upsert.d.ts +0 -42
  1542. package/build/upsert.d.ts.map +0 -1
  1543. package/build/utils.d.ts +0 -60
  1544. package/build/utils.d.ts.map +0 -1
  1545. package/build/withLoaded.d.ts +0 -56
  1546. package/build/withLoaded.d.ts.map +0 -1
  1547. package/build/withLoaded.js +0 -76
  1548. package/build/withLoaded.js.map +0 -1
@@ -1,21 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImmutableEntitiesPlugin = void 0;
4
- const PluginManager_1 = require("../PluginManager");
5
- const utils_1 = require("../utils");
6
- class ImmutableEntitiesPlugin extends PluginManager_1.Plugin {
7
- entities = new Set();
8
- beforeSetField(entity, field, newValue) {
9
- if (this.entities.has(entity)) {
10
- (0, utils_1.fail)(`Cannot set field ${field} on immutable entity ${entity}`);
11
- }
12
- }
13
- addEntity(entity) {
14
- this.entities.add(entity);
15
- }
16
- removeEntity(entity) {
17
- this.entities.delete(entity);
18
- }
19
- }
20
- exports.ImmutableEntitiesPlugin = ImmutableEntitiesPlugin;
1
+ import { fail } from "../utils.js";
2
+ import { Plugin } from "../PluginManager.js";
3
+ import "../Entity.js";
4
+ //#region src/plugins/ImmutableEntitiesPlugin.ts
5
+ var ImmutableEntitiesPlugin = class extends Plugin {
6
+ entities = /* @__PURE__ */ new Set();
7
+ beforeSetField(entity, field, newValue) {
8
+ if (this.entities.has(entity)) fail(`Cannot set field ${field} on immutable entity ${entity}`);
9
+ }
10
+ addEntity(entity) {
11
+ this.entities.add(entity);
12
+ }
13
+ removeEntity(entity) {
14
+ this.entities.delete(entity);
15
+ }
16
+ };
17
+ //#endregion
18
+ export { ImmutableEntitiesPlugin };
19
+
21
20
  //# sourceMappingURL=ImmutableEntitiesPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImmutableEntitiesPlugin.js","sourceRoot":"","sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"names":[],"mappings":";;;AACA,oDAA0C;AAC1C,oCAAgC;AAEhC,MAAa,uBAAwB,SAAQ,sBAAM;IACxC,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE3C,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,QAAa;QACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAA,YAAI,EAAC,oBAAoB,KAAK,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAhBD,0DAgBC"}
1
+ {"version":3,"file":"ImmutableEntitiesPlugin.js","names":[],"sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { Plugin } from \"src/PluginManager.ts\";\nimport { fail } from \"src/utils.ts\";\n\nexport class ImmutableEntitiesPlugin extends Plugin {\n readonly entities: Set<Entity> = new Set();\n\n beforeSetField(entity: Entity, field: string, newValue: any): void {\n if (this.entities.has(entity)) {\n fail(`Cannot set field ${field} on immutable entity ${entity}`);\n }\n }\n\n addEntity(entity: Entity) {\n this.entities.add(entity);\n }\n\n removeEntity(entity: Entity) {\n this.entities.delete(entity);\n }\n}\n"],"mappings":";;;;AAIA,IAAa,0BAAb,cAA6C,OAAO;CAClD,2BAAiC,IAAI,IAAI;CAEzC,eAAe,QAAgB,OAAe,UAAqB;EACjE,IAAI,KAAK,SAAS,IAAI,MAAM,GAC1B,KAAK,oBAAoB,MAAM,uBAAuB,QAAQ;CAElE;CAEA,UAAU,QAAgB;EACxB,KAAK,SAAS,IAAI,MAAM;CAC1B;CAEA,aAAa,QAAgB;EAC3B,KAAK,SAAS,OAAO,MAAM;CAC7B;AACF"}
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../EntityMetadata.cjs");
3
+ require("../Entity.cjs");
@@ -0,0 +1,77 @@
1
+ import { LateralJoinTable, ParsedFindQuery } from "../queries/find/QueryParser.cjs";
2
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.cjs";
3
+ import { RowData } from "../RowData.cjs";
4
+ import { EntityMetadata } from "../EntityMetadata.cjs";
5
+ import { EntityOrId, HintNode } from "../loading/HintTree.cjs";
6
+ import { Entity } from "../Entity.cjs";
7
+ //#region src/plugins/PreloadPlugin.d.ts
8
+ /**
9
+ * This is a plugin API dedicated to preloading data for subtrees of entities.
10
+ *
11
+ * I.e. when evaluating `em.load(Author, "a:1", { books: "reviews" })`, loading both the
12
+ * Author `a:1` plus all the author's books, and all the author's books' reviews, in a single
13
+ * SQL call.
14
+ *
15
+ * Implementations of this API should execute the SQL queries necessary to load the data, and
16
+ * then store the preloaded data in the `EntityManager.preloadedRelations` cache, which the
17
+ * `OneToManyCollection`, `ManyToOneReference`, etc. relation implementations check before
18
+ * issuing their own `.load()` SQL calls.
19
+ */
20
+ interface PreloadPlugin {
21
+ /**
22
+ * Given a single load hint, partitions it into the sql-able and non-sql-able parts.
23
+ *
24
+ * The sql-able hints will later be passed to `preloadPopulate` to fetch as a single
25
+ * SQL call.
26
+ */
27
+ partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
28
+ /**
29
+ * Given an existing `ParsedFindQuery`, adds extra selects & joins directly
30
+ * to the `query` that will preload any child data requested in `tree`.
31
+ *
32
+ * The caller is still responsible for executing `query`, and then also
33
+ * calling the `PreloadHydrator` with the database results for the preload
34
+ * plugin to instantiate & populate the EM's preload cache.
35
+ *
36
+ * Note that the actual relations themselves won't be loaded, just the preload
37
+ * cache populated to make the relation `.preload()` / `.load()` fast.
38
+ */
39
+ addPreloading<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): PreloadHydrator | undefined;
40
+ /**
41
+ * Given an anticipated `ParsedFindQuery`, returns lower-level `JoinResult` that
42
+ * are the fragments of SELECTs and JOINs that the caller can work into their custom
43
+ * query.
44
+ *
45
+ * This is primarily for callers who aren't going to call `driver.executeFind`, but instead
46
+ * are crafting their own SQL query for `driver.executeQuery` (basically this is `em.findAll`
47
+ * because it uses a complicated CTE + join strategy to do batching).
48
+ */
49
+ getPreloadJoins<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): JoinResult[];
50
+ }
51
+ /**
52
+ * Given the query's rows — classic POJO rows, or a `RowData` result in lazy-rows mode — and the
53
+ * already-hydrated `entities` for each row, reads the preload-specific columns out of the result
54
+ * set, and pushes them into the EM preload cache, hydrating the child entities in the process,
55
+ * but not marking any relations as loaded.
56
+ *
57
+ * Classic loaders keep passing plain row arrays (the pre-RowData contract), so existing plugin
58
+ * implementations that only handle arrays continue to work everywhere except lazy-rows mode.
59
+ *
60
+ * The order of the rows and `entities` must match.
61
+ */
62
+ type PreloadHydrator = (rows: any[] | RowData, entities: any[]) => void;
63
+ /** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */
64
+ type JoinResult = {
65
+ /** The select clause(s) for this join, i.e. `b._ as _b` or `c._ as _c`. */
66
+ selects: {
67
+ value: string;
68
+ as: string;
69
+ }[];
70
+ /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */
71
+ join: LateralJoinTable;
72
+ /** The processor for this child's lateral join, which itself might recursively processor subjoins. */
73
+ hydrator: PreloadHydrator;
74
+ };
75
+ //#endregion
76
+ export { JoinResult, PreloadHydrator, PreloadPlugin };
77
+ //# sourceMappingURL=PreloadPlugin.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadPlugin.d.cts","names":[],"sources":["../../src/plugins/PreloadPlugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;UAmBiB;;;;;;;EAOf,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;;;;;;;;;;;;EAarC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;EAWH,gBAAgB,UAAU,QACxB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;;;;KAcO,mBAAmB,cAAc,SAAS;;KAG1C;;EAEV;IAAW;IAAe;;;EAE1B,MAAM;;EAEN,UAAU"}
@@ -0,0 +1,77 @@
1
+ import { LateralJoinTable, ParsedFindQuery } from "../queries/find/QueryParser.mjs";
2
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.mjs";
3
+ import { RowData } from "../RowData.mjs";
4
+ import { EntityMetadata } from "../EntityMetadata.mjs";
5
+ import { EntityOrId, HintNode } from "../loading/HintTree.mjs";
6
+ import { Entity } from "../Entity.mjs";
7
+ //#region src/plugins/PreloadPlugin.d.ts
8
+ /**
9
+ * This is a plugin API dedicated to preloading data for subtrees of entities.
10
+ *
11
+ * I.e. when evaluating `em.load(Author, "a:1", { books: "reviews" })`, loading both the
12
+ * Author `a:1` plus all the author's books, and all the author's books' reviews, in a single
13
+ * SQL call.
14
+ *
15
+ * Implementations of this API should execute the SQL queries necessary to load the data, and
16
+ * then store the preloaded data in the `EntityManager.preloadedRelations` cache, which the
17
+ * `OneToManyCollection`, `ManyToOneReference`, etc. relation implementations check before
18
+ * issuing their own `.load()` SQL calls.
19
+ */
20
+ interface PreloadPlugin {
21
+ /**
22
+ * Given a single load hint, partitions it into the sql-able and non-sql-able parts.
23
+ *
24
+ * The sql-able hints will later be passed to `preloadPopulate` to fetch as a single
25
+ * SQL call.
26
+ */
27
+ partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
28
+ /**
29
+ * Given an existing `ParsedFindQuery`, adds extra selects & joins directly
30
+ * to the `query` that will preload any child data requested in `tree`.
31
+ *
32
+ * The caller is still responsible for executing `query`, and then also
33
+ * calling the `PreloadHydrator` with the database results for the preload
34
+ * plugin to instantiate & populate the EM's preload cache.
35
+ *
36
+ * Note that the actual relations themselves won't be loaded, just the preload
37
+ * cache populated to make the relation `.preload()` / `.load()` fast.
38
+ */
39
+ addPreloading<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): PreloadHydrator | undefined;
40
+ /**
41
+ * Given an anticipated `ParsedFindQuery`, returns lower-level `JoinResult` that
42
+ * are the fragments of SELECTs and JOINs that the caller can work into their custom
43
+ * query.
44
+ *
45
+ * This is primarily for callers who aren't going to call `driver.executeFind`, but instead
46
+ * are crafting their own SQL query for `driver.executeQuery` (basically this is `em.findAll`
47
+ * because it uses a complicated CTE + join strategy to do batching).
48
+ */
49
+ getPreloadJoins<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): JoinResult[];
50
+ }
51
+ /**
52
+ * Given the query's rows — classic POJO rows, or a `RowData` result in lazy-rows mode — and the
53
+ * already-hydrated `entities` for each row, reads the preload-specific columns out of the result
54
+ * set, and pushes them into the EM preload cache, hydrating the child entities in the process,
55
+ * but not marking any relations as loaded.
56
+ *
57
+ * Classic loaders keep passing plain row arrays (the pre-RowData contract), so existing plugin
58
+ * implementations that only handle arrays continue to work everywhere except lazy-rows mode.
59
+ *
60
+ * The order of the rows and `entities` must match.
61
+ */
62
+ type PreloadHydrator = (rows: any[] | RowData, entities: any[]) => void;
63
+ /** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */
64
+ type JoinResult = {
65
+ /** The select clause(s) for this join, i.e. `b._ as _b` or `c._ as _c`. */
66
+ selects: {
67
+ value: string;
68
+ as: string;
69
+ }[];
70
+ /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */
71
+ join: LateralJoinTable;
72
+ /** The processor for this child's lateral join, which itself might recursively processor subjoins. */
73
+ hydrator: PreloadHydrator;
74
+ };
75
+ //#endregion
76
+ export { JoinResult, PreloadHydrator, PreloadPlugin };
77
+ //# sourceMappingURL=PreloadPlugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadPlugin.d.mts","names":[],"sources":["../../src/plugins/PreloadPlugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;UAmBiB;;;;;;;EAOf,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;;;;;;;;;;;;EAarC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;EAWH,gBAAgB,UAAU,QACxB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;;;;KAcO,mBAAmB,cAAc,SAAS;;KAG1C;;EAEV;IAAW;IAAe;;;EAE1B,MAAM;;EAEN,UAAU"}
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PreloadPlugin.js.map
1
+ import "../EntityMetadata.js";
2
+ import "../Entity.js";
3
+ export {};
@@ -0,0 +1,280 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_keys = require("../keys.cjs");
3
+ const require_queries_sql_keywords = require("../queries/sql/keywords.cjs");
4
+ const require_queries_ConditionBuilder = require("../queries/ConditionBuilder.cjs");
5
+ const require_queries_find_QueryParser = require("../queries/find/QueryParser.cjs");
6
+ const require_utils = require("../utils.cjs");
7
+ const require_EntityMetadata = require("../EntityMetadata.cjs");
8
+ const require_preloading_canPreload = require("./canPreload.cjs");
9
+ const require_preloading_partitionHint = require("./partitionHint.cjs");
10
+ const require_queries_sql_AliasAssigner = require("../queries/sql/AliasAssigner.cjs");
11
+ require("../plugins/PreloadPlugin.cjs");
12
+ const require_EntityManager = require("../EntityManager.cjs");
13
+ require("../Entity.cjs");
14
+ //#region src/preloading/JsonAggregatePreloader.ts
15
+ /**
16
+ * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
17
+ * to preload/reduce a subtree of data while still being a single row of data.
18
+ */
19
+ var JsonAggregatePreloader = class {
20
+ partitionHint(meta, hint) {
21
+ return require_preloading_partitionHint.partitionHint(meta, hint);
22
+ }
23
+ addPreloading(meta, root, query) {
24
+ const assigner = new require_queries_sql_AliasAssigner.AliasAssigner(query);
25
+ const alias = require_queries_find_QueryParser.getTables(query)[0].alias;
26
+ const joins = calcLateralJoins(assigner, {
27
+ tree: root,
28
+ alias,
29
+ meta
30
+ }, root, alias, meta);
31
+ if (joins.length === 0) return void 0;
32
+ for (const { alias, relationAlias, join } of joins) {
33
+ query.selects.push({
34
+ sql: `${require_queries_sql_keywords.kqDot(alias, "_")} as ${require_queries_sql_keywords.kq(relationAlias)}`,
35
+ aliases: [alias],
36
+ bindings: []
37
+ });
38
+ query.tables.push(join);
39
+ }
40
+ return (rows, entities) => {
41
+ for (let i = 0; i < entities.length; i++) {
42
+ const parent = entities[i];
43
+ for (const { relationAlias, hydrator } of joins) hydrator(parent, parent, readRowValue(rows, i, relationAlias) ?? []);
44
+ }
45
+ };
46
+ }
47
+ getPreloadJoins(meta, root, query) {
48
+ const assigner = new require_queries_sql_AliasAssigner.AliasAssigner(query);
49
+ const alias = require_queries_find_QueryParser.getTables(query)[0].alias;
50
+ return calcLateralJoins(assigner, {
51
+ tree: root,
52
+ alias,
53
+ meta
54
+ }, root, alias, meta).map((join) => {
55
+ return {
56
+ selects: [{
57
+ value: require_queries_sql_keywords.kqDot(join.alias, "_"),
58
+ as: join.relationAlias
59
+ }],
60
+ join: join.join,
61
+ hydrator: (rows, entities) => {
62
+ for (let i = 0; i < entities.length; i++) {
63
+ const parent = entities[i];
64
+ join.hydrator(parent, parent, readRowValue(rows, i, join.relationAlias) ?? []);
65
+ }
66
+ }
67
+ };
68
+ });
69
+ }
70
+ };
71
+ /**
72
+ * For a given hint tree `hint`, finds all SQL-able relations and preloads them.
73
+ *
74
+ * Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`
75
+ * children/grand children back as arbitrarily-deeply nested arrays, and then
76
+ * stash the results in the `EntityManager` `joinLoadedRelations` cache, which
77
+ * each join-instrumented relation will check before making its SQL calls.
78
+ *
79
+ * https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D
80
+ */
81
+ /**
82
+ * Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s
83
+ * that will pull in the `books` & `comments` children.
84
+ */
85
+ function calcLateralJoins(assigner, root, tree, parentAlias, parentMeta, pathPrefix = "") {
86
+ const results = [];
87
+ Object.entries(tree.hints).forEach(([key, subTree]) => {
88
+ const field = parentMeta.allFields[key];
89
+ if (field && require_preloading_canPreload.canPreload(parentMeta, field)) {
90
+ if (field.kind === "m2mEnum") {
91
+ results.push(calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix));
92
+ return;
93
+ }
94
+ const otherMeta = field.otherMetadata();
95
+ const otherField = otherMeta.allFields[field.otherFieldName];
96
+ const otherAlias = `_${assigner.getAlias(otherMeta.tableName)}`;
97
+ const pathKey = key.toLowerCase();
98
+ const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${pathKey}`)}`;
99
+ const subJoins = calcLateralJoins(assigner, root, subTree, otherAlias, otherMeta, `${pathPrefix}${pathKey}_`);
100
+ const columns = Object.values(otherMeta.allFields).filter((f) => f.serde && !(f.kind === "primitive" && f.lazy)).flatMap((f) => f.serde.columns);
101
+ const selects = [...columns.map((c) => require_queries_sql_keywords.kqDot(otherAlias, c.columnName)), ...subJoins.map((sb) => require_queries_sql_keywords.kqDot(sb.alias, "_"))];
102
+ const aliasMaybeSuffix = require_queries_sql_keywords.kq(`${parentAlias}${field.aliasSuffix}`);
103
+ const cb = new require_queries_ConditionBuilder.ConditionBuilder();
104
+ let m2mTable;
105
+ let m2mAlias;
106
+ if (otherField.kind === "m2o") cb.addRawCondition({
107
+ aliases: [otherAlias, parentAlias],
108
+ condition: `${require_queries_sql_keywords.kqDot(otherAlias, otherField.serde.columns[0].columnName)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
109
+ pruneable: true
110
+ });
111
+ else if (otherField.kind === "poly") {
112
+ const comp = otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ?? require_utils.fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);
113
+ cb.addRawCondition({
114
+ aliases: [otherAlias, parentAlias],
115
+ condition: `${require_queries_sql_keywords.kqDot(otherAlias, comp.columnName)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
116
+ pruneable: true
117
+ });
118
+ } else if (otherField.kind === "o2m" || otherField.kind === "lo2m") cb.addRawCondition({
119
+ aliases: [otherAlias, aliasMaybeSuffix],
120
+ condition: `${require_queries_sql_keywords.kqDot(otherAlias, "id")} = ${aliasMaybeSuffix}.${require_queries_sql_keywords.kq(field.serde.columns[0].columnName)}`,
121
+ pruneable: true
122
+ });
123
+ else if (otherField.kind === "o2o") cb.addRawCondition({
124
+ aliases: [otherAlias, aliasMaybeSuffix],
125
+ condition: `${require_queries_sql_keywords.kqDot(otherAlias, "id")} = ${aliasMaybeSuffix}.${require_queries_sql_keywords.kq(field.serde.columns[0].columnName)}`,
126
+ pruneable: true
127
+ });
128
+ else if (otherField.kind === "m2m") {
129
+ m2mAlias = assigner.getAlias(otherField.joinTableName);
130
+ if (otherField.hasJoinTableId) selects.unshift(require_queries_sql_keywords.kqDot(m2mAlias, "id"));
131
+ m2mTable = {
132
+ join: "inner",
133
+ table: otherField.joinTableName,
134
+ alias: m2mAlias,
135
+ col1: require_queries_sql_keywords.kqDot(parentAlias, "id"),
136
+ col2: require_queries_sql_keywords.kqDot(m2mAlias, otherField.columnNames[1])
137
+ };
138
+ cb.addRawCondition({
139
+ aliases: [m2mAlias, otherAlias],
140
+ condition: `${require_queries_sql_keywords.kqDot(m2mAlias, otherField.columnNames[0])} = ${require_queries_sql_keywords.kqDot(otherAlias, "id")}`,
141
+ pruneable: true
142
+ });
143
+ } else throw new Error(`Unsupported otherField.kind ${otherField.kind}`);
144
+ if (subTree.entities.size !== root.tree.entities.size) cb.addRawCondition({
145
+ aliases: [root.alias],
146
+ condition: `${require_queries_sql_keywords.kqDot(root.alias, "id")} = ANY(?)`,
147
+ bindings: [[...subTree.entities].filter((e) => typeof e === "string" || !e.isNewEntity).map((e) => require_keys.keyToNumber(root.meta, typeof e === "string" ? e : e.id))],
148
+ pruneable: true
149
+ });
150
+ const orderBy = otherField.kind === "m2m" && !otherField.hasJoinTableId ? `${require_queries_sql_keywords.kq(m2mAlias)}.${require_queries_sql_keywords.kq(otherField.columnNames[0])}` : `${require_queries_sql_keywords.kq(m2mAlias ?? otherAlias)}.id`;
151
+ const join = {
152
+ join: "lateral",
153
+ alias: otherAlias,
154
+ fromAlias: "unset",
155
+ table: otherMeta.tableName,
156
+ query: {
157
+ selects: [`json_agg(json_build_array(${selects.join(", ")}) order by ${orderBy}) as _`],
158
+ tables: [
159
+ {
160
+ join: "primary",
161
+ table: otherMeta.tableName,
162
+ alias: otherAlias
163
+ },
164
+ ...m2mTable ? [m2mTable] : [],
165
+ ...subJoins.map((sj) => sj.join)
166
+ ],
167
+ condition: cb.toExpressionFilter(),
168
+ orderBys: []
169
+ }
170
+ };
171
+ const columnNames = columns.map((c) => c.columnName);
172
+ const m2mOffset = field.kind === "m2m" && field.hasJoinTableId ? 1 : 0;
173
+ const hydrator = (root, parent, arrays) => {
174
+ const { em } = root;
175
+ if (subTree.entitiesKind === "instances" && !subTree.entities.has(root)) return;
176
+ if (subTree.entitiesKind === "ids" && !subTree.entities.has(root.idTagged)) return;
177
+ const children = arrays.map((array) => {
178
+ const taggedId = require_keys.keyToTaggedId(otherMeta, array[m2mOffset]);
179
+ const row = {};
180
+ for (let i = 0; i < columns.length; i++) row[columnNames[i]] = columns[i].mapFromJsonAgg(array[m2mOffset + i]);
181
+ const entity = em.findExistingInstance(taggedId) ?? em.hydrate(otherMeta.cstr, [row], { overwriteExisting: false })[0];
182
+ if (field.kind === "m2m") {
183
+ const m2m = parent[key];
184
+ require_EntityManager.getEmInternalApi(em).joinRows(m2m).addPreloadedRow(m2m, field.hasJoinTableId ? array[0] : void 0, parent, entity);
185
+ }
186
+ subJoins.forEach((sub, i) => {
187
+ sub.hydrator(root, entity, array[m2mOffset + columns.length + i] ?? []);
188
+ });
189
+ return entity;
190
+ });
191
+ require_EntityManager.getEmInternalApi(em).setPreloadedRelation(parent.idTagged, key, children);
192
+ };
193
+ results.push({
194
+ alias: otherAlias,
195
+ relationAlias,
196
+ join,
197
+ hydrator
198
+ });
199
+ }
200
+ });
201
+ return results;
202
+ }
203
+ /**
204
+ * Builds the `CROSS JOIN LATERAL` that aggregates an enum-m2m join table (e.g. `publisher_logo_colors`)
205
+ * into a json array of enum ids, e.g. `[[1], [3]]` (or `[[1, id], [3, id]]` for id-ful join tables).
206
+ */
207
+ function calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix) {
208
+ const [entityColumn, enumColumn] = field.columnNames;
209
+ const jtAlias = `_${assigner.getAlias(field.joinTableName)}`;
210
+ const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${key.toLowerCase()}`)}`;
211
+ const parts = [require_queries_sql_keywords.kqDot(jtAlias, enumColumn)];
212
+ if (field.hasJoinTableId) parts.push(require_queries_sql_keywords.kqDot(jtAlias, "id"));
213
+ const cb = new require_queries_ConditionBuilder.ConditionBuilder();
214
+ cb.addRawCondition({
215
+ aliases: [jtAlias, parentAlias],
216
+ condition: `${require_queries_sql_keywords.kqDot(jtAlias, entityColumn)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
217
+ pruneable: true
218
+ });
219
+ if (subTree.entities.size !== root.tree.entities.size) cb.addRawCondition({
220
+ aliases: [root.alias],
221
+ condition: `${require_queries_sql_keywords.kqDot(root.alias, "id")} = ANY(?)`,
222
+ bindings: [[...subTree.entities].filter((e) => typeof e === "string" || !e.isNewEntity).map((e) => require_keys.keyToNumber(root.meta, typeof e === "string" ? e : e.id))],
223
+ pruneable: true
224
+ });
225
+ const orderBy = `${require_queries_sql_keywords.kq(jtAlias)}.${require_queries_sql_keywords.kq(field.hasJoinTableId ? "id" : enumColumn)}`;
226
+ const join = {
227
+ join: "lateral",
228
+ alias: jtAlias,
229
+ fromAlias: "unset",
230
+ table: field.joinTableName,
231
+ query: {
232
+ selects: [`json_agg(json_build_array(${parts.join(", ")}) order by ${orderBy}) as _`],
233
+ tables: [{
234
+ join: "primary",
235
+ table: field.joinTableName,
236
+ alias: jtAlias
237
+ }],
238
+ condition: cb.toExpressionFilter(),
239
+ orderBys: []
240
+ }
241
+ };
242
+ const hydrator = (root, parent, arrays) => {
243
+ const { em } = root;
244
+ if (subTree.entitiesKind === "instances" && !subTree.entities.has(root)) return;
245
+ if (subTree.entitiesKind === "ids" && !subTree.entities.has(root.idTagged)) return;
246
+ const like = {
247
+ entity: parent,
248
+ joinTableName: field.joinTableName,
249
+ columnName: entityColumn,
250
+ otherColumnName: enumColumn,
251
+ fieldName: key,
252
+ meta: require_EntityMetadata.getMetadataForField(require_EntityMetadata.getMetadata(parent), key),
253
+ otherEnum: field.enumDetailType,
254
+ hasJoinTableId: field.hasJoinTableId
255
+ };
256
+ const api = require_EntityManager.getEmInternalApi(em);
257
+ const joinRows = api.joinRows(like);
258
+ const codes = [];
259
+ for (const array of arrays) {
260
+ const enumId = array[0];
261
+ joinRows.addPreloadedRow(like, field.hasJoinTableId ? array[1] : void 0, parent, enumId);
262
+ codes.push(field.enumDetailType.findById(enumId).code);
263
+ }
264
+ api.setPreloadedRelation(parent.idTagged, key, codes);
265
+ };
266
+ return {
267
+ alias: jtAlias,
268
+ relationAlias,
269
+ join,
270
+ hydrator
271
+ };
272
+ }
273
+ /** Reads one column from either classic POJO rows or a lazy `RowData` result. */
274
+ function readRowValue(rows, rowIndex, columnName) {
275
+ return Array.isArray(rows) ? rows[rowIndex][columnName] : rows.get(rowIndex, columnName);
276
+ }
277
+ //#endregion
278
+ exports.JsonAggregatePreloader = JsonAggregatePreloader;
279
+
280
+ //# sourceMappingURL=JsonAggregatePreloader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonAggregatePreloader.cjs","names":["partitionHint","AliasAssigner","getTables","kqDot","kq","canPreload","ConditionBuilder","fail","keyToNumber","keyToTaggedId","getMetadataForField","getMetadata","getEmInternalApi"],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { getEmInternalApi } from \"src/EntityManager.ts\";\nimport { type EntityMetadata, type ManyToManyEnumField, getMetadata, getMetadataForField } from \"src/EntityMetadata.ts\";\nimport type { ManyToManyLike } from \"src/flush/JoinRows.ts\";\nimport { keyToNumber, keyToTaggedId } from \"src/keys.ts\";\nimport type { EntityOrId, HintNode } from \"src/loading/HintTree.ts\";\nimport type { LoadHint, NestedLoadHint } from \"src/loading/loadHints.ts\";\nimport { type JoinResult, type PreloadHydrator, type PreloadPlugin } from \"src/plugins/PreloadPlugin.ts\";\nimport { canPreload } from \"src/preloading/canPreload.ts\";\nimport { partitionHint } from \"src/preloading/partitionHint.ts\";\nimport { ConditionBuilder } from \"src/queries/ConditionBuilder.ts\";\nimport {\n type JoinTable,\n type LateralJoinTable,\n type ParsedFindQuery,\n getTables,\n} from \"src/queries/find/QueryParser.ts\";\nimport { AliasAssigner } from \"src/queries/sql/AliasAssigner.ts\";\nimport { kq, kqDot } from \"src/queries/sql/keywords.ts\";\nimport { type RowData } from \"src/RowData.ts\";\nimport { fail } from \"src/utils.ts\";\n\n/**\n * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`\n * to preload/reduce a subtree of data while still being a single row of data.\n */\nexport class JsonAggregatePreloader implements PreloadPlugin {\n partitionHint(\n meta: EntityMetadata | undefined,\n hint: LoadHint<any>,\n ): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined] {\n return partitionHint(meta, hint);\n }\n\n addPreloading<T extends Entity>(\n meta: EntityMetadata,\n root: HintNode<T>,\n query: ParsedFindQuery,\n ): PreloadHydrator | undefined {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n if (joins.length === 0) return undefined;\n\n // Include the aggregate `_b1._ as _prequel`, `_c._ as _randomComment`\n for (const { alias, relationAlias, join } of joins) {\n query.selects.push({\n sql: `${kqDot(alias, \"_\")} as ${kq(relationAlias)}`,\n aliases: [alias],\n bindings: [],\n });\n query.tables.push(join);\n }\n\n return (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n for (const { relationAlias, hydrator } of joins) {\n hydrator(parent, parent, readRowValue(rows, i, relationAlias) ?? []);\n }\n }\n };\n }\n\n getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[] {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n\n // Adapt our json aggregate joins to the higher-level JoinResult\n return joins.map((join) => {\n return {\n selects: [{ value: kqDot(join.alias, \"_\"), as: join.relationAlias }],\n join: join.join,\n hydrator: (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n join.hydrator(parent, parent, readRowValue(rows, i, join.relationAlias) ?? []);\n }\n },\n };\n });\n }\n}\n\n/** Decodes an array-of-arrays of children entries, and stores them the `parent`'s relation. */\ntype AggregateJsonHydrator = (root: Entity, parent: Entity, arrays: unknown[][]) => void;\n\n/**\n * For a given hint tree `hint`, finds all SQL-able relations and preloads them.\n *\n * Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`\n * children/grand children back as arbitrarily-deeply nested arrays, and then\n * stash the results in the `EntityManager` `joinLoadedRelations` cache, which\n * each join-instrumented relation will check before making its SQL calls.\n *\n * https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D\n */\n\n/**\n * Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s\n * that will pull in the `books` & `comments` children.\n */\nfunction calcLateralJoins<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n tree: HintNode<I>,\n parentAlias: string,\n parentMeta: EntityMetadata,\n pathPrefix: string = \"\",\n): AggregateJoinResult[] {\n const results: AggregateJoinResult[] = [];\n\n // Join in SQL-able hints from parent\n Object.entries(tree.hints).forEach(([key, subTree]) => {\n const field = parentMeta.allFields[key];\n // AsyncProperties don't have fields, which is fine, skip for now...\n if (field && canPreload(parentMeta, field)) {\n // Enum m2ms have no \"other\" entity to join/hydrate; just aggregate the join table's enum ids.\n if (field.kind === \"m2mEnum\") {\n results.push(calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix));\n return;\n }\n const otherMeta = field.otherMetadata();\n const otherField = otherMeta.allFields[field.otherFieldName];\n\n // Short table alias for column refs inside the subquery, e.g. `_b1`\n const otherAlias = `_${assigner.getAlias(otherMeta.tableName)}`;\n // Readable path-based column alias for the outer AS clause, e.g. `_books_reviews`\n const pathKey = key.toLowerCase();\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${pathKey}`)}`;\n\n // Do the recursion up-front, so we can work it into our own join/hydrator\n const subJoins = calcLateralJoins(assigner, root, subTree, otherAlias, otherMeta, `${pathPrefix}${pathKey}_`);\n\n // Get all fields with serdes and flatten out the columns, skipping `lazy` columns (fetched on-demand)\n const columns = Object.values(otherMeta.allFields)\n .filter((f) => f.serde && !(f.kind === \"primitive\" && f.lazy))\n .flatMap((f) => f.serde!.columns);\n const selects = [\n ...columns.map((c) => kqDot(otherAlias, c.columnName)),\n // We eventually need to handle parent types/subtypes here...\n // Combine any grandchilden\n ...subJoins.map((sb) => kqDot(sb.alias, \"_\")),\n ];\n\n const aliasMaybeSuffix = kq(`${parentAlias}${field.aliasSuffix}`);\n\n const cb = new ConditionBuilder();\n let m2mTable: JoinTable | undefined;\n let m2mAlias: string | undefined;\n if (otherField.kind === \"m2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, otherField.serde.columns[0].columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"poly\") {\n // Get the component that points to us\n // const comp = otherField.components.find((c) => getAllMetas(parentMeta).some((m) => m.cstr === c.otherMetadata().cstr)) ??\n const comp =\n otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ??\n fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, comp.columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2m\" || otherField.kind === \"lo2m\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"m2m\") {\n m2mAlias = assigner.getAlias(otherField.joinTableName);\n // Get the m2m row's id to track in JoinRows; id-less tables have no surrogate id.\n if (otherField.hasJoinTableId) selects.unshift(kqDot(m2mAlias, \"id\"));\n m2mTable = {\n join: \"inner\",\n table: otherField.joinTableName,\n alias: m2mAlias,\n col1: kqDot(parentAlias, \"id\"),\n col2: kqDot(m2mAlias, otherField.columnNames[1]),\n };\n cb.addRawCondition({\n aliases: [m2mAlias, otherAlias],\n condition: `${kqDot(m2mAlias, otherField.columnNames[0])} = ${kqDot(otherAlias, \"id\")}`,\n pruneable: true,\n });\n } else {\n throw new Error(`Unsupported otherField.kind ${otherField.kind}`);\n }\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n // For m2m, order by the join-row's id so preloaded results match the order the lazy batch\n // loader returns (which orders by join-row id). Id-less join tables have no surrogate id,\n // so order by the other entity's FK column (matching the lazy loader & getOthers). Otherwise,\n // order by the target entity's id.\n const orderBy =\n otherField.kind === \"m2m\" && !otherField.hasJoinTableId\n ? `${kq(m2mAlias!)}.${kq(otherField.columnNames[0])}`\n : `${kq(m2mAlias ?? otherAlias)}.id`;\n\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: otherAlias,\n // Do we need to say which alias we're coming from, to avoid having it pruned?\n // ...maybe not because preloading is always on the primary table?\n fromAlias: \"unset\",\n table: otherMeta.tableName,\n query: {\n selects: [`json_agg(json_build_array(${selects.join(\", \")}) order by ${orderBy}) as _`],\n tables: [\n { join: \"primary\", table: otherMeta.tableName, alias: otherAlias },\n ...(m2mTable ? [m2mTable] : []),\n ...subJoins.map((sj) => sj.join),\n ],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n // Pre-compute column names so we don't re-read them per entity\n const columnNames = columns.map((c) => c.columnName);\n // If we've snuck the m2m row id into the json array, ignore it (id-less tables have no id)\n const m2mOffset = field.kind === \"m2m\" && field.hasJoinTableId ? 1 : 0;\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n\n // If we had overlapping load hints, i.e. `author.books` for [a1, a2] and `author.comments` for [a1], and\n // we're processing the arrays of comments, but for a root author like `a2` that didn't ask for our load\n // hint, then skip it to keep the relation unloaded.\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n\n // We get back an array of [[1, title], [2, title], [3, title]]\n const children = arrays.map((array) => {\n const taggedId = keyToTaggedId(otherMeta, array[m2mOffset] as any)!;\n const row: Record<string, any> = {};\n for (let i = 0; i < columns.length; i++) {\n row[columnNames[i]] = columns[i].mapFromJsonAgg(array[m2mOffset + i]);\n }\n const entity =\n em.findExistingInstance<Entity>(taggedId) ??\n (em.hydrate(otherMeta.cstr, [row], { overwriteExisting: false }) as Entity[])[0];\n // Tell the internal JoinRow booking-keeping about this m2m row\n if (field.kind === \"m2m\") {\n // TODO This `addExisting` needs to be pulled up, out of the `arrays.map`, so we can do a `loadRows`-ish\n // call that passes all now-known m2m rows into JoinRows as a single list, so that it can mark any\n // deleted-from-under-us m2m rows as deleted.\n const m2m = (parent as any)[key];\n getEmInternalApi(em)\n .joinRows(m2m)\n .addPreloadedRow(m2m, field.hasJoinTableId ? (array[0] as any) : undefined, parent, entity);\n }\n // Within each child, look for grandchildren\n subJoins.forEach((sub, i) => {\n // array[i] could be null if there are no grandchildren, but still call `sub` to\n // process it so that we store the empty array into the em.joinLoadedRelations, to\n // avoid the relation.load method later doing a SQL for rows we know are not there.\n sub.hydrator(root, entity, (array[m2mOffset + columns.length + i] as any) ?? []);\n });\n return entity;\n });\n // Cache the entities so `.load`s will see them\n getEmInternalApi(em).setPreloadedRelation(parent.idTagged, key, children);\n };\n\n results.push({ alias: otherAlias, relationAlias, join, hydrator });\n }\n });\n\n return results;\n}\n\n/**\n * Builds the `CROSS JOIN LATERAL` that aggregates an enum-m2m join table (e.g. `publisher_logo_colors`)\n * into a json array of enum ids, e.g. `[[1], [3]]` (or `[[1, id], [3, id]]` for id-ful join tables).\n */\nfunction calcEnumLateralJoin<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n subTree: HintNode<I>,\n parentAlias: string,\n field: ManyToManyEnumField,\n key: string,\n pathPrefix: string,\n): AggregateJoinResult {\n const [entityColumn, enumColumn] = field.columnNames;\n const jtAlias = `_${assigner.getAlias(field.joinTableName)}`;\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${key.toLowerCase()}`)}`;\n\n const parts = [kqDot(jtAlias, enumColumn)];\n if (field.hasJoinTableId) parts.push(kqDot(jtAlias, \"id\"));\n\n const cb = new ConditionBuilder();\n cb.addRawCondition({\n aliases: [jtAlias, parentAlias],\n condition: `${kqDot(jtAlias, entityColumn)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n const orderBy = `${kq(jtAlias)}.${kq(field.hasJoinTableId ? \"id\" : enumColumn)}`;\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: jtAlias,\n fromAlias: \"unset\",\n table: field.joinTableName,\n query: {\n selects: [`json_agg(json_build_array(${parts.join(\", \")}) order by ${orderBy}) as _`],\n tables: [{ join: \"primary\", table: field.joinTableName, alias: jtAlias }],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n const like: ManyToManyLike = {\n entity: parent,\n joinTableName: field.joinTableName,\n columnName: entityColumn,\n otherColumnName: enumColumn,\n fieldName: key,\n meta: getMetadataForField(getMetadata(parent), key),\n otherEnum: field.enumDetailType,\n hasJoinTableId: field.hasJoinTableId,\n };\n const api = getEmInternalApi(em);\n const joinRows = api.joinRows(like);\n const codes: any[] = [];\n for (const array of arrays) {\n const enumId = array[0] as number;\n joinRows.addPreloadedRow(like, field.hasJoinTableId ? (array[1] as number) : undefined, parent, enumId);\n codes.push(field.enumDetailType.findById(enumId)!.code);\n }\n api.setPreloadedRelation(parent.idTagged, key, codes);\n };\n\n return { alias: jtAlias, relationAlias, join, hydrator };\n}\n\n/** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */\ntype AggregateJoinResult = {\n /** The short table alias used for column references inside the subquery, e.g. `_b1`. */\n alias: string;\n /** The readable relation-name alias used in the outer `AS` clause, e.g. `_prequel`. */\n relationAlias: string;\n /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */\n join: LateralJoinTable;\n /** The hydrator for this child's lateral join, which itself might recursively hydrator subjoins. */\n hydrator: AggregateJsonHydrator;\n};\n\n/** Reads one column from either classic POJO rows or a lazy `RowData` result. */\nfunction readRowValue(rows: any[] | RowData, rowIndex: number, columnName: string): any {\n return Array.isArray(rows) ? rows[rowIndex][columnName] : rows.get(rowIndex, columnName);\n}\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ParsedFindQuery } from "../queries/find/QueryParser.cjs";
2
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.cjs";
3
+ import { EntityMetadata } from "../EntityMetadata.cjs";
4
+ import { HintNode } from "../loading/HintTree.cjs";
5
+ import { JoinResult, PreloadHydrator, PreloadPlugin } from "../plugins/PreloadPlugin.cjs";
6
+ import { Entity } from "../Entity.cjs";
7
+ //#region src/preloading/JsonAggregatePreloader.d.ts
8
+ /**
9
+ * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
10
+ * to preload/reduce a subtree of data while still being a single row of data.
11
+ */
12
+ declare class JsonAggregatePreloader implements PreloadPlugin {
13
+ partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
14
+ addPreloading<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): PreloadHydrator | undefined;
15
+ getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[];
16
+ }
17
+ //#endregion
18
+ export { JsonAggregatePreloader };
19
+ //# sourceMappingURL=JsonAggregatePreloader.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonAggregatePreloader.d.cts","names":[],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"mappings":";;;;;;;;;;;cA0Ba,kCAAkC;EAC7C,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;EAIrC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,IACf,OAAO,kBACN;EA6BH,gBAAgB,UAAU,QAAQ,MAAM,gBAAgB,MAAM,SAAS,IAAI,OAAO,kBAAkB"}
@@ -0,0 +1,19 @@
1
+ import { ParsedFindQuery } from "../queries/find/QueryParser.mjs";
2
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.mjs";
3
+ import { EntityMetadata } from "../EntityMetadata.mjs";
4
+ import { HintNode } from "../loading/HintTree.mjs";
5
+ import { JoinResult, PreloadHydrator, PreloadPlugin } from "../plugins/PreloadPlugin.mjs";
6
+ import { Entity } from "../Entity.mjs";
7
+ //#region src/preloading/JsonAggregatePreloader.d.ts
8
+ /**
9
+ * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
10
+ * to preload/reduce a subtree of data while still being a single row of data.
11
+ */
12
+ declare class JsonAggregatePreloader implements PreloadPlugin {
13
+ partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
14
+ addPreloading<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): PreloadHydrator | undefined;
15
+ getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[];
16
+ }
17
+ //#endregion
18
+ export { JsonAggregatePreloader };
19
+ //# sourceMappingURL=JsonAggregatePreloader.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonAggregatePreloader.d.mts","names":[],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"mappings":";;;;;;;;;;;cA0Ba,kCAAkC;EAC7C,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;EAIrC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,IACf,OAAO,kBACN;EA6BH,gBAAgB,UAAU,QAAQ,MAAM,gBAAgB,MAAM,SAAS,IAAI,OAAO,kBAAkB"}