joist-core 2.4.0-next.37 → 2.4.0-next.39

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 (691) hide show
  1. package/build/BaseEntity.d.cts +3 -4
  2. package/build/BaseEntity.d.cts.map +1 -1
  3. package/build/BaseEntity.d.mts +3 -4
  4. package/build/BaseEntity.d.mts.map +1 -1
  5. package/build/Entity.d.cts +3 -4
  6. package/build/Entity.d.cts.map +1 -1
  7. package/build/Entity.d.mts +3 -4
  8. package/build/Entity.d.mts.map +1 -1
  9. package/build/EntityFields.d.cts +3 -4
  10. package/build/EntityFields.d.cts.map +1 -1
  11. package/build/EntityFields.d.mts +3 -4
  12. package/build/EntityFields.d.mts.map +1 -1
  13. package/build/EntityManager.cjs +11 -3
  14. package/build/EntityManager.cjs.map +1 -1
  15. package/build/EntityManager.d.cts +47 -41
  16. package/build/EntityManager.d.cts.map +1 -1
  17. package/build/EntityManager.d.mts +47 -41
  18. package/build/EntityManager.d.mts.map +1 -1
  19. package/build/EntityManager.js +11 -3
  20. package/build/EntityManager.js.map +1 -1
  21. package/build/EntityMetadata.d.cts +31 -32
  22. package/build/EntityMetadata.d.cts.map +1 -1
  23. package/build/EntityMetadata.d.mts +31 -32
  24. package/build/EntityMetadata.d.mts.map +1 -1
  25. package/build/EnumMetadata.d.cts +1 -2
  26. package/build/EnumMetadata.d.cts.map +1 -1
  27. package/build/EnumMetadata.d.mts +1 -2
  28. package/build/EnumMetadata.d.mts.map +1 -1
  29. package/build/IndexManager.cjs.map +1 -1
  30. package/build/IndexManager.d.cts +2 -3
  31. package/build/IndexManager.d.cts.map +1 -1
  32. package/build/IndexManager.d.mts +2 -3
  33. package/build/IndexManager.d.mts.map +1 -1
  34. package/build/IndexManager.js.map +1 -1
  35. package/build/InstanceData.cjs.map +1 -1
  36. package/build/InstanceData.d.cts +1 -2
  37. package/build/InstanceData.d.cts.map +1 -1
  38. package/build/InstanceData.d.mts +1 -2
  39. package/build/InstanceData.d.mts.map +1 -1
  40. package/build/InstanceData.js.map +1 -1
  41. package/build/PluginManager.cjs.map +1 -1
  42. package/build/PluginManager.d.cts +4 -4
  43. package/build/PluginManager.d.cts.map +1 -1
  44. package/build/PluginManager.d.mts +4 -4
  45. package/build/PluginManager.d.mts.map +1 -1
  46. package/build/PluginManager.js.map +1 -1
  47. package/build/RowData.d.cts +3 -4
  48. package/build/RowData.d.cts.map +1 -1
  49. package/build/RowData.d.mts +3 -4
  50. package/build/RowData.d.mts.map +1 -1
  51. package/build/batchloaders/BatchLoader.cjs.map +1 -1
  52. package/build/batchloaders/BatchLoader.d.cts +1 -2
  53. package/build/batchloaders/BatchLoader.d.cts.map +1 -1
  54. package/build/batchloaders/BatchLoader.d.mts +1 -2
  55. package/build/batchloaders/BatchLoader.d.mts.map +1 -1
  56. package/build/batchloaders/BatchLoader.js.map +1 -1
  57. package/build/batchloaders/enumCollectionBatchLoader.d.cts +2 -3
  58. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -1
  59. package/build/batchloaders/enumCollectionBatchLoader.d.mts +2 -3
  60. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -1
  61. package/build/batchloaders/loadBatchLoader.d.cts +2 -3
  62. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -1
  63. package/build/batchloaders/loadBatchLoader.d.mts +2 -3
  64. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -1
  65. package/build/batchloaders/manyToManyBatchLoader.d.cts +2 -3
  66. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -1
  67. package/build/batchloaders/manyToManyBatchLoader.d.mts +2 -3
  68. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -1
  69. package/build/batchloaders/oneToManyBatchLoader.d.cts +2 -3
  70. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -1
  71. package/build/batchloaders/oneToManyBatchLoader.d.mts +2 -3
  72. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -1
  73. package/build/batchloaders/oneToOneBatchLoader.d.cts +2 -3
  74. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -1
  75. package/build/batchloaders/oneToOneBatchLoader.d.mts +2 -3
  76. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -1
  77. package/build/batchloaders/populateBatchLoader.d.cts +2 -3
  78. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -1
  79. package/build/batchloaders/populateBatchLoader.d.mts +2 -3
  80. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -1
  81. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +2 -3
  82. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -1
  83. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +2 -3
  84. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -1
  85. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +2 -3
  86. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -1
  87. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +2 -3
  88. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -1
  89. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +2 -3
  90. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -1
  91. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +2 -3
  92. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -1
  93. package/build/changes.cjs.map +1 -1
  94. package/build/changes.d.cts +9 -10
  95. package/build/changes.d.cts.map +1 -1
  96. package/build/changes.d.mts +9 -10
  97. package/build/changes.d.mts.map +1 -1
  98. package/build/changes.js.map +1 -1
  99. package/build/config.d.cts +17 -17
  100. package/build/config.d.cts.map +1 -1
  101. package/build/config.d.mts +17 -17
  102. package/build/config.d.mts.map +1 -1
  103. package/build/configure.d.cts +8 -9
  104. package/build/configure.d.cts.map +1 -1
  105. package/build/configure.d.mts +8 -9
  106. package/build/configure.d.mts.map +1 -1
  107. package/build/dataloaders/fastWhereFilterHash.d.cts +1 -2
  108. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -1
  109. package/build/dataloaders/fastWhereFilterHash.d.mts +1 -2
  110. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -1
  111. package/build/dataloaders/findByUniqueDataLoader.d.cts +2 -3
  112. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -1
  113. package/build/dataloaders/findByUniqueDataLoader.d.mts +2 -3
  114. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -1
  115. package/build/dataloaders/findCountDataLoader.d.cts +4 -5
  116. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -1
  117. package/build/dataloaders/findCountDataLoader.d.mts +4 -5
  118. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -1
  119. package/build/dataloaders/findDataLoader.d.cts +11 -12
  120. package/build/dataloaders/findDataLoader.d.cts.map +1 -1
  121. package/build/dataloaders/findDataLoader.d.mts +11 -12
  122. package/build/dataloaders/findDataLoader.d.mts.map +1 -1
  123. package/build/dataloaders/findIdsDataLoader.d.cts +2 -3
  124. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -1
  125. package/build/dataloaders/findIdsDataLoader.d.mts +2 -3
  126. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -1
  127. package/build/dataloaders/findOrCreateDataLoader.d.cts +3 -3
  128. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -1
  129. package/build/dataloaders/findOrCreateDataLoader.d.mts +3 -3
  130. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -1
  131. package/build/dataloaders/findPaginatedDataLoader.d.cts +1 -2
  132. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -1
  133. package/build/dataloaders/findPaginatedDataLoader.d.mts +1 -2
  134. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -1
  135. package/build/dataloaders/lensDataLoader.d.cts +2 -3
  136. package/build/dataloaders/lensDataLoader.d.cts.map +1 -1
  137. package/build/dataloaders/lensDataLoader.d.mts +2 -3
  138. package/build/dataloaders/lensDataLoader.d.mts.map +1 -1
  139. package/build/dataloaders/manyToManyFindDataLoader.d.cts +2 -3
  140. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -1
  141. package/build/dataloaders/manyToManyFindDataLoader.d.mts +2 -3
  142. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -1
  143. package/build/dataloaders/oneToManyFindDataLoader.d.cts +2 -3
  144. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -1
  145. package/build/dataloaders/oneToManyFindDataLoader.d.mts +2 -3
  146. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -1
  147. package/build/defaults.cjs.map +1 -1
  148. package/build/defaults.d.cts +7 -7
  149. package/build/defaults.d.cts.map +1 -1
  150. package/build/defaults.d.mts +7 -7
  151. package/build/defaults.d.mts.map +1 -1
  152. package/build/defaults.js.map +1 -1
  153. package/build/drivers/Driver.d.cts +2 -3
  154. package/build/drivers/Driver.d.cts.map +1 -1
  155. package/build/drivers/Driver.d.mts +2 -3
  156. package/build/drivers/Driver.d.mts.map +1 -1
  157. package/build/drivers/EntityWriter.d.cts +7 -7
  158. package/build/drivers/EntityWriter.d.cts.map +1 -1
  159. package/build/drivers/EntityWriter.d.mts +7 -7
  160. package/build/drivers/EntityWriter.d.mts.map +1 -1
  161. package/build/drivers/IdAssigner.cjs.map +1 -1
  162. package/build/drivers/IdAssigner.d.cts +5 -5
  163. package/build/drivers/IdAssigner.d.cts.map +1 -1
  164. package/build/drivers/IdAssigner.d.mts +5 -5
  165. package/build/drivers/IdAssigner.d.mts.map +1 -1
  166. package/build/drivers/IdAssigner.js.map +1 -1
  167. package/build/drivers/driverApi.d.cts +2 -3
  168. package/build/drivers/driverApi.d.cts.map +1 -1
  169. package/build/drivers/driverApi.d.mts +2 -3
  170. package/build/drivers/driverApi.d.mts.map +1 -1
  171. package/build/fields.d.cts +6 -7
  172. package/build/fields.d.cts.map +1 -1
  173. package/build/fields.d.mts +6 -7
  174. package/build/fields.d.mts.map +1 -1
  175. package/build/flush/FlushLock.cjs.map +1 -1
  176. package/build/flush/FlushLock.d.cts +1 -2
  177. package/build/flush/FlushLock.d.cts.map +1 -1
  178. package/build/flush/FlushLock.d.mts +1 -2
  179. package/build/flush/FlushLock.d.mts.map +1 -1
  180. package/build/flush/FlushLock.js.map +1 -1
  181. package/build/flush/JoinRows.cjs.map +1 -1
  182. package/build/flush/JoinRows.d.cts +5 -6
  183. package/build/flush/JoinRows.d.cts.map +1 -1
  184. package/build/flush/JoinRows.d.mts +5 -6
  185. package/build/flush/JoinRows.d.mts.map +1 -1
  186. package/build/flush/JoinRows.js.map +1 -1
  187. package/build/flush/PendingChanges.d.cts +5 -6
  188. package/build/flush/PendingChanges.d.cts.map +1 -1
  189. package/build/flush/PendingChanges.d.mts +5 -6
  190. package/build/flush/PendingChanges.d.mts.map +1 -1
  191. package/build/flush/Todo.d.cts +5 -6
  192. package/build/flush/Todo.d.cts.map +1 -1
  193. package/build/flush/Todo.d.mts +5 -6
  194. package/build/flush/Todo.d.mts.map +1 -1
  195. package/build/getProperties.d.cts +3 -4
  196. package/build/getProperties.d.cts.map +1 -1
  197. package/build/getProperties.d.mts +3 -4
  198. package/build/getProperties.d.mts.map +1 -1
  199. package/build/index.d.cts +17 -17
  200. package/build/index.d.cts.map +1 -1
  201. package/build/index.d.mts +17 -17
  202. package/build/index.d.mts.map +1 -1
  203. package/build/json.d.cts +11 -11
  204. package/build/json.d.cts.map +1 -1
  205. package/build/json.d.mts +11 -11
  206. package/build/json.d.mts.map +1 -1
  207. package/build/keys.d.cts +27 -27
  208. package/build/keys.d.cts.map +1 -1
  209. package/build/keys.d.mts +27 -27
  210. package/build/keys.d.mts.map +1 -1
  211. package/build/loading/HintTree.d.cts +3 -4
  212. package/build/loading/HintTree.d.cts.map +1 -1
  213. package/build/loading/HintTree.d.mts +3 -4
  214. package/build/loading/HintTree.d.mts.map +1 -1
  215. package/build/loading/IsLoadedCache.cjs.map +1 -1
  216. package/build/loading/IsLoadedCache.d.cts +2 -3
  217. package/build/loading/IsLoadedCache.d.cts.map +1 -1
  218. package/build/loading/IsLoadedCache.d.mts +2 -3
  219. package/build/loading/IsLoadedCache.d.mts.map +1 -1
  220. package/build/loading/IsLoadedCache.js.map +1 -1
  221. package/build/loading/loadHints.d.cts +17 -17
  222. package/build/loading/loadHints.d.cts.map +1 -1
  223. package/build/loading/loadHints.d.mts +17 -17
  224. package/build/loading/loadHints.d.mts.map +1 -1
  225. package/build/loading/loadLens.d.cts +13 -13
  226. package/build/loading/loadLens.d.cts.map +1 -1
  227. package/build/loading/loadLens.d.mts +13 -13
  228. package/build/loading/loadLens.d.mts.map +1 -1
  229. package/build/loading/withLoaded.d.cts +5 -6
  230. package/build/loading/withLoaded.d.cts.map +1 -1
  231. package/build/loading/withLoaded.d.mts +5 -6
  232. package/build/loading/withLoaded.d.mts.map +1 -1
  233. package/build/logging/FactoryLogger.d.cts +3 -4
  234. package/build/logging/FactoryLogger.d.cts.map +1 -1
  235. package/build/logging/FactoryLogger.d.mts +3 -4
  236. package/build/logging/FactoryLogger.d.mts.map +1 -1
  237. package/build/logging/FieldLogger.cjs.map +1 -1
  238. package/build/logging/FieldLogger.d.cts +4 -5
  239. package/build/logging/FieldLogger.d.cts.map +1 -1
  240. package/build/logging/FieldLogger.d.mts +4 -5
  241. package/build/logging/FieldLogger.d.mts.map +1 -1
  242. package/build/logging/FieldLogger.js.map +1 -1
  243. package/build/logging/ReactionLogger.d.cts +7 -7
  244. package/build/logging/ReactionLogger.d.cts.map +1 -1
  245. package/build/logging/ReactionLogger.d.mts +7 -7
  246. package/build/logging/ReactionLogger.d.mts.map +1 -1
  247. package/build/newEntity.cjs.map +1 -1
  248. package/build/newEntity.d.cts +4 -5
  249. package/build/newEntity.d.cts.map +1 -1
  250. package/build/newEntity.d.mts +4 -5
  251. package/build/newEntity.d.mts.map +1 -1
  252. package/build/newEntity.js.map +1 -1
  253. package/build/newTestInstance.d.cts +21 -21
  254. package/build/newTestInstance.d.cts.map +1 -1
  255. package/build/newTestInstance.d.mts +21 -21
  256. package/build/newTestInstance.d.mts.map +1 -1
  257. package/build/normalizeHints.d.cts +7 -8
  258. package/build/normalizeHints.d.cts.map +1 -1
  259. package/build/normalizeHints.d.mts +7 -8
  260. package/build/normalizeHints.d.mts.map +1 -1
  261. package/build/nowUTC.d.cts +4 -5
  262. package/build/nowUTC.d.cts.map +1 -1
  263. package/build/nowUTC.d.mts +4 -5
  264. package/build/nowUTC.d.mts.map +1 -1
  265. package/build/plugins/ImmutableEntitiesPlugin.d.cts +1 -2
  266. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -1
  267. package/build/plugins/ImmutableEntitiesPlugin.d.mts +1 -2
  268. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -1
  269. package/build/plugins/PreloadPlugin.d.cts +3 -4
  270. package/build/plugins/PreloadPlugin.d.cts.map +1 -1
  271. package/build/plugins/PreloadPlugin.d.mts +3 -4
  272. package/build/plugins/PreloadPlugin.d.mts.map +1 -1
  273. package/build/preloading/JsonAggregatePreloader.d.cts +1 -2
  274. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -1
  275. package/build/preloading/JsonAggregatePreloader.d.mts +1 -2
  276. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -1
  277. package/build/preloading/canPreload.d.cts +1 -2
  278. package/build/preloading/canPreload.d.cts.map +1 -1
  279. package/build/preloading/canPreload.d.mts +1 -2
  280. package/build/preloading/canPreload.d.mts.map +1 -1
  281. package/build/preloading/partitionHint.d.cts +1 -2
  282. package/build/preloading/partitionHint.d.cts.map +1 -1
  283. package/build/preloading/partitionHint.d.mts +1 -2
  284. package/build/preloading/partitionHint.d.mts.map +1 -1
  285. package/build/queries/ConditionBuilder.d.cts +2 -2
  286. package/build/queries/ConditionBuilder.d.cts.map +1 -1
  287. package/build/queries/ConditionBuilder.d.mts +2 -2
  288. package/build/queries/ConditionBuilder.d.mts.map +1 -1
  289. package/build/queries/conditions.d.cts +11 -12
  290. package/build/queries/conditions.d.cts.map +1 -1
  291. package/build/queries/conditions.d.mts +11 -12
  292. package/build/queries/conditions.d.mts.map +1 -1
  293. package/build/queries/entityQueryUtils.d.cts +4 -5
  294. package/build/queries/entityQueryUtils.d.cts.map +1 -1
  295. package/build/queries/entityQueryUtils.d.mts +4 -5
  296. package/build/queries/entityQueryUtils.d.mts.map +1 -1
  297. package/build/queries/find/Aliases.d.cts +16 -16
  298. package/build/queries/find/Aliases.d.cts.map +1 -1
  299. package/build/queries/find/Aliases.d.mts +16 -16
  300. package/build/queries/find/Aliases.d.mts.map +1 -1
  301. package/build/queries/find/DeferredAlias.d.cts +5 -6
  302. package/build/queries/find/DeferredAlias.d.cts.map +1 -1
  303. package/build/queries/find/DeferredAlias.d.mts +5 -6
  304. package/build/queries/find/DeferredAlias.d.mts.map +1 -1
  305. package/build/queries/find/EntityFilter.d.cts +12 -13
  306. package/build/queries/find/EntityFilter.d.cts.map +1 -1
  307. package/build/queries/find/EntityFilter.d.mts +12 -13
  308. package/build/queries/find/EntityFilter.d.mts.map +1 -1
  309. package/build/queries/find/EntityGraphQLFilter.d.cts +8 -9
  310. package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -1
  311. package/build/queries/find/EntityGraphQLFilter.d.mts +8 -9
  312. package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -1
  313. package/build/queries/find/QueryParser.collectionJoins.d.cts +1 -2
  314. package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -1
  315. package/build/queries/find/QueryParser.collectionJoins.d.mts +1 -2
  316. package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -1
  317. package/build/queries/find/QueryParser.d.cts +18 -18
  318. package/build/queries/find/QueryParser.d.cts.map +1 -1
  319. package/build/queries/find/QueryParser.d.mts +18 -18
  320. package/build/queries/find/QueryParser.d.mts.map +1 -1
  321. package/build/queries/find/QueryParser.pruning.d.cts +2 -3
  322. package/build/queries/find/QueryParser.pruning.d.cts.map +1 -1
  323. package/build/queries/find/QueryParser.pruning.d.mts +2 -3
  324. package/build/queries/find/QueryParser.pruning.d.mts.map +1 -1
  325. package/build/queries/find/QueryVisitor.d.cts +4 -4
  326. package/build/queries/find/QueryVisitor.d.cts.map +1 -1
  327. package/build/queries/find/QueryVisitor.d.mts +4 -4
  328. package/build/queries/find/QueryVisitor.d.mts.map +1 -1
  329. package/build/queries/find/buildFindQuery.d.cts +3 -3
  330. package/build/queries/find/buildFindQuery.d.cts.map +1 -1
  331. package/build/queries/find/buildFindQuery.d.mts +3 -3
  332. package/build/queries/find/buildFindQuery.d.mts.map +1 -1
  333. package/build/queries/find/scopes.cjs.map +1 -1
  334. package/build/queries/find/scopes.d.cts +12 -13
  335. package/build/queries/find/scopes.d.cts.map +1 -1
  336. package/build/queries/find/scopes.d.mts +12 -13
  337. package/build/queries/find/scopes.d.mts.map +1 -1
  338. package/build/queries/find/scopes.js.map +1 -1
  339. package/build/queries/parsedConditions.d.cts +7 -8
  340. package/build/queries/parsedConditions.d.cts.map +1 -1
  341. package/build/queries/parsedConditions.d.mts +7 -8
  342. package/build/queries/parsedConditions.d.mts.map +1 -1
  343. package/build/queries/renderConditions.d.cts +3 -4
  344. package/build/queries/renderConditions.d.cts.map +1 -1
  345. package/build/queries/renderConditions.d.mts +3 -4
  346. package/build/queries/renderConditions.d.mts.map +1 -1
  347. package/build/queries/skipCondition.d.cts +1 -2
  348. package/build/queries/skipCondition.d.cts.map +1 -1
  349. package/build/queries/skipCondition.d.mts +1 -2
  350. package/build/queries/skipCondition.d.mts.map +1 -1
  351. package/build/queries/sql/AliasAssigner.cjs.map +1 -1
  352. package/build/queries/sql/AliasAssigner.d.cts +1 -2
  353. package/build/queries/sql/AliasAssigner.d.cts.map +1 -1
  354. package/build/queries/sql/AliasAssigner.d.mts +1 -2
  355. package/build/queries/sql/AliasAssigner.d.mts.map +1 -1
  356. package/build/queries/sql/AliasAssigner.js.map +1 -1
  357. package/build/queries/sql/Expr.d.cts +26 -27
  358. package/build/queries/sql/Expr.d.cts.map +1 -1
  359. package/build/queries/sql/Expr.d.mts +26 -27
  360. package/build/queries/sql/Expr.d.mts.map +1 -1
  361. package/build/queries/sql/JoinTree.d.cts +5 -5
  362. package/build/queries/sql/JoinTree.d.cts.map +1 -1
  363. package/build/queries/sql/JoinTree.d.mts +5 -5
  364. package/build/queries/sql/JoinTree.d.mts.map +1 -1
  365. package/build/queries/sql/Tables.d.cts +39 -39
  366. package/build/queries/sql/Tables.d.cts.map +1 -1
  367. package/build/queries/sql/Tables.d.mts +39 -39
  368. package/build/queries/sql/Tables.d.mts.map +1 -1
  369. package/build/queries/sql/custom.d.cts +14 -14
  370. package/build/queries/sql/custom.d.cts.map +1 -1
  371. package/build/queries/sql/custom.d.mts +14 -14
  372. package/build/queries/sql/custom.d.mts.map +1 -1
  373. package/build/queries/sql/execute.d.cts +15 -15
  374. package/build/queries/sql/execute.d.cts.map +1 -1
  375. package/build/queries/sql/execute.d.mts +15 -15
  376. package/build/queries/sql/execute.d.mts.map +1 -1
  377. package/build/queries/sql/expressions/arrayAgg.d.cts +5 -6
  378. package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -1
  379. package/build/queries/sql/expressions/arrayAgg.d.mts +5 -6
  380. package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -1
  381. package/build/queries/sql/expressions/case.d.cts +10 -10
  382. package/build/queries/sql/expressions/case.d.cts.map +1 -1
  383. package/build/queries/sql/expressions/case.d.mts +10 -10
  384. package/build/queries/sql/expressions/case.d.mts.map +1 -1
  385. package/build/queries/sql/expressions/coalesce.d.cts +5 -6
  386. package/build/queries/sql/expressions/coalesce.d.cts.map +1 -1
  387. package/build/queries/sql/expressions/coalesce.d.mts +5 -6
  388. package/build/queries/sql/expressions/coalesce.d.mts.map +1 -1
  389. package/build/queries/sql/expressions/codecs.d.cts +1 -2
  390. package/build/queries/sql/expressions/codecs.d.cts.map +1 -1
  391. package/build/queries/sql/expressions/codecs.d.mts +1 -2
  392. package/build/queries/sql/expressions/codecs.d.mts.map +1 -1
  393. package/build/queries/sql/expressions/expression.d.cts +6 -6
  394. package/build/queries/sql/expressions/expression.d.cts.map +1 -1
  395. package/build/queries/sql/expressions/expression.d.mts +6 -6
  396. package/build/queries/sql/expressions/expression.d.mts.map +1 -1
  397. package/build/queries/sql/expressions/greatest.d.cts +5 -6
  398. package/build/queries/sql/expressions/greatest.d.cts.map +1 -1
  399. package/build/queries/sql/expressions/greatest.d.mts +5 -6
  400. package/build/queries/sql/expressions/greatest.d.mts.map +1 -1
  401. package/build/queries/sql/expressions/least.d.cts +5 -6
  402. package/build/queries/sql/expressions/least.d.cts.map +1 -1
  403. package/build/queries/sql/expressions/least.d.mts +5 -6
  404. package/build/queries/sql/expressions/least.d.mts.map +1 -1
  405. package/build/queries/sql/expressions/nullIf.d.cts +5 -6
  406. package/build/queries/sql/expressions/nullIf.d.cts.map +1 -1
  407. package/build/queries/sql/expressions/nullIf.d.mts +5 -6
  408. package/build/queries/sql/expressions/nullIf.d.mts.map +1 -1
  409. package/build/queries/sql/expressions/parseExpression.d.cts +5 -6
  410. package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -1
  411. package/build/queries/sql/expressions/parseExpression.d.mts +5 -6
  412. package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -1
  413. package/build/queries/sql/expressions/types.d.cts +11 -11
  414. package/build/queries/sql/expressions/types.d.cts.map +1 -1
  415. package/build/queries/sql/expressions/types.d.mts +11 -11
  416. package/build/queries/sql/expressions/types.d.mts.map +1 -1
  417. package/build/queries/sql/keywords.d.cts +4 -5
  418. package/build/queries/sql/keywords.d.cts.map +1 -1
  419. package/build/queries/sql/keywords.d.mts +4 -5
  420. package/build/queries/sql/keywords.d.mts.map +1 -1
  421. package/build/queries/sql/query.cjs.map +1 -1
  422. package/build/queries/sql/query.d.cts +67 -67
  423. package/build/queries/sql/query.d.cts.map +1 -1
  424. package/build/queries/sql/query.d.mts +67 -67
  425. package/build/queries/sql/query.d.mts.map +1 -1
  426. package/build/queries/sql/query.js.map +1 -1
  427. package/build/queries/unnest.d.cts +2 -3
  428. package/build/queries/unnest.d.cts.map +1 -1
  429. package/build/queries/unnest.d.mts +2 -3
  430. package/build/queries/unnest.d.mts.map +1 -1
  431. package/build/queries/valueFilters.d.cts +5 -6
  432. package/build/queries/valueFilters.d.cts.map +1 -1
  433. package/build/queries/valueFilters.d.mts +5 -6
  434. package/build/queries/valueFilters.d.mts.map +1 -1
  435. package/build/reactivity/ReactionsManager.cjs.map +1 -1
  436. package/build/reactivity/ReactionsManager.d.cts +2 -3
  437. package/build/reactivity/ReactionsManager.d.cts.map +1 -1
  438. package/build/reactivity/ReactionsManager.d.mts +2 -3
  439. package/build/reactivity/ReactionsManager.d.mts.map +1 -1
  440. package/build/reactivity/ReactionsManager.js.map +1 -1
  441. package/build/reactivity/reactiveHints.d.cts +18 -18
  442. package/build/reactivity/reactiveHints.d.cts.map +1 -1
  443. package/build/reactivity/reactiveHints.d.mts +18 -18
  444. package/build/reactivity/reactiveHints.d.mts.map +1 -1
  445. package/build/relations/AbstractPropertyImpl.cjs.map +1 -1
  446. package/build/relations/AbstractPropertyImpl.d.cts +1 -2
  447. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -1
  448. package/build/relations/AbstractPropertyImpl.d.mts +1 -2
  449. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -1
  450. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  451. package/build/relations/AbstractRelationImpl.d.cts +1 -2
  452. package/build/relations/AbstractRelationImpl.d.cts.map +1 -1
  453. package/build/relations/AbstractRelationImpl.d.mts +1 -2
  454. package/build/relations/AbstractRelationImpl.d.mts.map +1 -1
  455. package/build/relations/AsyncProperty.cjs.map +1 -1
  456. package/build/relations/AsyncProperty.d.cts +5 -6
  457. package/build/relations/AsyncProperty.d.cts.map +1 -1
  458. package/build/relations/AsyncProperty.d.mts +5 -6
  459. package/build/relations/AsyncProperty.d.mts.map +1 -1
  460. package/build/relations/AsyncProperty.js.map +1 -1
  461. package/build/relations/AsyncReactiveField.cjs.map +1 -1
  462. package/build/relations/AsyncReactiveField.d.cts +4 -5
  463. package/build/relations/AsyncReactiveField.d.cts.map +1 -1
  464. package/build/relations/AsyncReactiveField.d.mts +4 -5
  465. package/build/relations/AsyncReactiveField.d.mts.map +1 -1
  466. package/build/relations/AsyncReactiveField.js.map +1 -1
  467. package/build/relations/Collection.d.cts +4 -5
  468. package/build/relations/Collection.d.cts.map +1 -1
  469. package/build/relations/Collection.d.mts +4 -5
  470. package/build/relations/Collection.d.mts.map +1 -1
  471. package/build/relations/CustomCollection.cjs.map +1 -1
  472. package/build/relations/CustomCollection.d.cts +3 -4
  473. package/build/relations/CustomCollection.d.cts.map +1 -1
  474. package/build/relations/CustomCollection.d.mts +3 -4
  475. package/build/relations/CustomCollection.d.mts.map +1 -1
  476. package/build/relations/CustomCollection.js.map +1 -1
  477. package/build/relations/CustomReference.cjs.map +1 -1
  478. package/build/relations/CustomReference.d.cts +3 -4
  479. package/build/relations/CustomReference.d.cts.map +1 -1
  480. package/build/relations/CustomReference.d.mts +3 -4
  481. package/build/relations/CustomReference.d.mts.map +1 -1
  482. package/build/relations/CustomReference.js.map +1 -1
  483. package/build/relations/EnumCollection.cjs.map +1 -1
  484. package/build/relations/EnumCollection.d.cts +5 -5
  485. package/build/relations/EnumCollection.d.cts.map +1 -1
  486. package/build/relations/EnumCollection.d.mts +5 -5
  487. package/build/relations/EnumCollection.d.mts.map +1 -1
  488. package/build/relations/EnumCollection.js.map +1 -1
  489. package/build/relations/LargeCollection.d.cts +1 -2
  490. package/build/relations/LargeCollection.d.cts.map +1 -1
  491. package/build/relations/LargeCollection.d.mts +1 -2
  492. package/build/relations/LargeCollection.d.mts.map +1 -1
  493. package/build/relations/LazyField.cjs.map +1 -1
  494. package/build/relations/LazyField.d.cts +7 -8
  495. package/build/relations/LazyField.d.cts.map +1 -1
  496. package/build/relations/LazyField.d.mts +7 -8
  497. package/build/relations/LazyField.d.mts.map +1 -1
  498. package/build/relations/LazyField.js.map +1 -1
  499. package/build/relations/ManyToManyCollection.cjs.map +1 -1
  500. package/build/relations/ManyToManyCollection.d.cts +2 -3
  501. package/build/relations/ManyToManyCollection.d.cts.map +1 -1
  502. package/build/relations/ManyToManyCollection.d.mts +2 -3
  503. package/build/relations/ManyToManyCollection.d.mts.map +1 -1
  504. package/build/relations/ManyToManyCollection.js.map +1 -1
  505. package/build/relations/ManyToManyLargeCollection.d.cts +2 -3
  506. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -1
  507. package/build/relations/ManyToManyLargeCollection.d.mts +2 -3
  508. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -1
  509. package/build/relations/ManyToOneReference.cjs.map +1 -1
  510. package/build/relations/ManyToOneReference.d.cts +6 -7
  511. package/build/relations/ManyToOneReference.d.cts.map +1 -1
  512. package/build/relations/ManyToOneReference.d.mts +6 -7
  513. package/build/relations/ManyToOneReference.d.mts.map +1 -1
  514. package/build/relations/ManyToOneReference.js.map +1 -1
  515. package/build/relations/OneToManyCollection.cjs.map +1 -1
  516. package/build/relations/OneToManyCollection.d.cts +2 -3
  517. package/build/relations/OneToManyCollection.d.cts.map +1 -1
  518. package/build/relations/OneToManyCollection.d.mts +2 -3
  519. package/build/relations/OneToManyCollection.d.mts.map +1 -1
  520. package/build/relations/OneToManyCollection.js.map +1 -1
  521. package/build/relations/OneToManyLargeCollection.cjs.map +1 -1
  522. package/build/relations/OneToManyLargeCollection.d.cts +2 -3
  523. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -1
  524. package/build/relations/OneToManyLargeCollection.d.mts +2 -3
  525. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -1
  526. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  527. package/build/relations/OneToOneReference.cjs.map +1 -1
  528. package/build/relations/OneToOneReference.d.cts +7 -7
  529. package/build/relations/OneToOneReference.d.cts.map +1 -1
  530. package/build/relations/OneToOneReference.d.mts +7 -7
  531. package/build/relations/OneToOneReference.d.mts.map +1 -1
  532. package/build/relations/OneToOneReference.js.map +1 -1
  533. package/build/relations/PolymorphicReference.cjs.map +1 -1
  534. package/build/relations/PolymorphicReference.d.cts +4 -5
  535. package/build/relations/PolymorphicReference.d.cts.map +1 -1
  536. package/build/relations/PolymorphicReference.d.mts +4 -5
  537. package/build/relations/PolymorphicReference.d.mts.map +1 -1
  538. package/build/relations/PolymorphicReference.js.map +1 -1
  539. package/build/relations/PropertySymbols.d.cts +1 -2
  540. package/build/relations/PropertySymbols.d.cts.map +1 -1
  541. package/build/relations/PropertySymbols.d.mts +1 -2
  542. package/build/relations/PropertySymbols.d.mts.map +1 -1
  543. package/build/relations/ReactiveField.cjs.map +1 -1
  544. package/build/relations/ReactiveField.d.cts +4 -5
  545. package/build/relations/ReactiveField.d.cts.map +1 -1
  546. package/build/relations/ReactiveField.d.mts +4 -5
  547. package/build/relations/ReactiveField.d.mts.map +1 -1
  548. package/build/relations/ReactiveField.js.map +1 -1
  549. package/build/relations/ReactiveGetter.cjs.map +1 -1
  550. package/build/relations/ReactiveGetter.d.cts +4 -5
  551. package/build/relations/ReactiveGetter.d.cts.map +1 -1
  552. package/build/relations/ReactiveGetter.d.mts +4 -5
  553. package/build/relations/ReactiveGetter.d.mts.map +1 -1
  554. package/build/relations/ReactiveGetter.js.map +1 -1
  555. package/build/relations/ReactiveManyToMany.cjs.map +1 -1
  556. package/build/relations/ReactiveManyToMany.d.cts +4 -5
  557. package/build/relations/ReactiveManyToMany.d.cts.map +1 -1
  558. package/build/relations/ReactiveManyToMany.d.mts +4 -5
  559. package/build/relations/ReactiveManyToMany.d.mts.map +1 -1
  560. package/build/relations/ReactiveManyToMany.js.map +1 -1
  561. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -1
  562. package/build/relations/ReactiveManyToManyOtherSide.d.cts +4 -5
  563. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -1
  564. package/build/relations/ReactiveManyToManyOtherSide.d.mts +4 -5
  565. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -1
  566. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  567. package/build/relations/ReactiveReference.cjs.map +1 -1
  568. package/build/relations/ReactiveReference.d.cts +5 -6
  569. package/build/relations/ReactiveReference.d.cts.map +1 -1
  570. package/build/relations/ReactiveReference.d.mts +5 -6
  571. package/build/relations/ReactiveReference.d.mts.map +1 -1
  572. package/build/relations/ReactiveReference.js.map +1 -1
  573. package/build/relations/ReadOnlyCollection.d.cts +4 -5
  574. package/build/relations/ReadOnlyCollection.d.cts.map +1 -1
  575. package/build/relations/ReadOnlyCollection.d.mts +4 -5
  576. package/build/relations/ReadOnlyCollection.d.mts.map +1 -1
  577. package/build/relations/RecursiveCollection.cjs.map +1 -1
  578. package/build/relations/RecursiveCollection.d.cts +10 -10
  579. package/build/relations/RecursiveCollection.d.cts.map +1 -1
  580. package/build/relations/RecursiveCollection.d.mts +10 -10
  581. package/build/relations/RecursiveCollection.d.mts.map +1 -1
  582. package/build/relations/RecursiveCollection.js.map +1 -1
  583. package/build/relations/RecursiveCycleError.d.cts +2 -2
  584. package/build/relations/RecursiveCycleError.d.cts.map +1 -1
  585. package/build/relations/RecursiveCycleError.d.mts +2 -2
  586. package/build/relations/RecursiveCycleError.d.mts.map +1 -1
  587. package/build/relations/Reference.d.cts +5 -5
  588. package/build/relations/Reference.d.cts.map +1 -1
  589. package/build/relations/Reference.d.mts +5 -5
  590. package/build/relations/Reference.d.mts.map +1 -1
  591. package/build/relations/ReferenceSymbols.d.cts +1 -2
  592. package/build/relations/ReferenceSymbols.d.cts.map +1 -1
  593. package/build/relations/ReferenceSymbols.d.mts +1 -2
  594. package/build/relations/ReferenceSymbols.d.mts.map +1 -1
  595. package/build/relations/Relation.d.cts +3 -3
  596. package/build/relations/Relation.d.cts.map +1 -1
  597. package/build/relations/Relation.d.mts +3 -3
  598. package/build/relations/Relation.d.mts.map +1 -1
  599. package/build/relations/RelationSymbols.d.cts +2 -3
  600. package/build/relations/RelationSymbols.d.cts.map +1 -1
  601. package/build/relations/RelationSymbols.d.mts +2 -3
  602. package/build/relations/RelationSymbols.d.mts.map +1 -1
  603. package/build/relations/hasAsyncMethod.cjs.map +1 -1
  604. package/build/relations/hasAsyncMethod.d.cts +6 -6
  605. package/build/relations/hasAsyncMethod.d.cts.map +1 -1
  606. package/build/relations/hasAsyncMethod.d.mts +6 -6
  607. package/build/relations/hasAsyncMethod.d.mts.map +1 -1
  608. package/build/relations/hasAsyncMethod.js.map +1 -1
  609. package/build/relations/hasManyDerived.d.cts +2 -2
  610. package/build/relations/hasManyDerived.d.cts.map +1 -1
  611. package/build/relations/hasManyDerived.d.mts +2 -2
  612. package/build/relations/hasManyDerived.d.mts.map +1 -1
  613. package/build/relations/hasManyThrough.d.cts +1 -2
  614. package/build/relations/hasManyThrough.d.cts.map +1 -1
  615. package/build/relations/hasManyThrough.d.mts +1 -2
  616. package/build/relations/hasManyThrough.d.mts.map +1 -1
  617. package/build/relations/hasOneDerived.d.cts +1 -2
  618. package/build/relations/hasOneDerived.d.cts.map +1 -1
  619. package/build/relations/hasOneDerived.d.mts +1 -2
  620. package/build/relations/hasOneDerived.d.mts.map +1 -1
  621. package/build/relations/hasOneThrough.d.cts +1 -2
  622. package/build/relations/hasOneThrough.d.cts.map +1 -1
  623. package/build/relations/hasOneThrough.d.mts +1 -2
  624. package/build/relations/hasOneThrough.d.mts.map +1 -1
  625. package/build/relations/hasProperty.cjs.map +1 -1
  626. package/build/relations/hasProperty.d.cts +8 -8
  627. package/build/relations/hasProperty.d.cts.map +1 -1
  628. package/build/relations/hasProperty.d.mts +8 -8
  629. package/build/relations/hasProperty.d.mts.map +1 -1
  630. package/build/relations/hasProperty.js.map +1 -1
  631. package/build/relations/isCascadeDelete.d.cts +1 -2
  632. package/build/relations/isCascadeDelete.d.cts.map +1 -1
  633. package/build/relations/isCascadeDelete.d.mts +1 -2
  634. package/build/relations/isCascadeDelete.d.mts.map +1 -1
  635. package/build/resurrection.d.cts +3 -4
  636. package/build/resurrection.d.cts.map +1 -1
  637. package/build/resurrection.d.mts +3 -4
  638. package/build/resurrection.d.mts.map +1 -1
  639. package/build/rules.d.cts +20 -20
  640. package/build/rules.d.cts.map +1 -1
  641. package/build/rules.d.mts +20 -20
  642. package/build/rules.d.mts.map +1 -1
  643. package/build/runtimeConfig.d.cts +4 -5
  644. package/build/runtimeConfig.d.cts.map +1 -1
  645. package/build/runtimeConfig.d.mts +4 -5
  646. package/build/runtimeConfig.d.mts.map +1 -1
  647. package/build/serde/TypeInfo.d.cts +3 -4
  648. package/build/serde/TypeInfo.d.cts.map +1 -1
  649. package/build/serde/TypeInfo.d.mts +3 -4
  650. package/build/serde/TypeInfo.d.mts.map +1 -1
  651. package/build/serde/columns.d.cts +2 -3
  652. package/build/serde/columns.d.cts.map +1 -1
  653. package/build/serde/columns.d.mts +2 -3
  654. package/build/serde/columns.d.mts.map +1 -1
  655. package/build/serde/fieldSerde.d.cts +9 -9
  656. package/build/serde/fieldSerde.d.cts.map +1 -1
  657. package/build/serde/fieldSerde.d.mts +9 -9
  658. package/build/serde/fieldSerde.d.mts.map +1 -1
  659. package/build/serde/serde.d.cts +18 -19
  660. package/build/serde/serde.d.cts.map +1 -1
  661. package/build/serde/serde.d.mts +18 -19
  662. package/build/serde/serde.d.mts.map +1 -1
  663. package/build/serde/temporal.d.cts +5 -5
  664. package/build/serde/temporal.d.cts.map +1 -1
  665. package/build/serde/temporal.d.mts +5 -5
  666. package/build/serde/temporal.d.mts.map +1 -1
  667. package/build/serde/temporalMappers.d.cts +4 -5
  668. package/build/serde/temporalMappers.d.cts.map +1 -1
  669. package/build/serde/temporalMappers.d.mts +4 -5
  670. package/build/serde/temporalMappers.d.mts.map +1 -1
  671. package/build/transitions.d.cts +17 -18
  672. package/build/transitions.d.cts.map +1 -1
  673. package/build/transitions.d.mts +17 -18
  674. package/build/transitions.d.mts.map +1 -1
  675. package/build/trusted.d.cts +2 -3
  676. package/build/trusted.d.cts.map +1 -1
  677. package/build/trusted.d.mts +2 -3
  678. package/build/trusted.d.mts.map +1 -1
  679. package/build/typeMap.d.cts +17 -17
  680. package/build/typeMap.d.cts.map +1 -1
  681. package/build/typeMap.d.mts +17 -17
  682. package/build/typeMap.d.mts.map +1 -1
  683. package/build/upsert.d.cts +4 -4
  684. package/build/upsert.d.cts.map +1 -1
  685. package/build/upsert.d.mts +4 -4
  686. package/build/upsert.d.mts.map +1 -1
  687. package/build/utils.d.cts +27 -28
  688. package/build/utils.d.cts.map +1 -1
  689. package/build/utils.d.mts +27 -28
  690. package/build/utils.d.mts.map +1 -1
  691. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.mts","names":[],"sources":["../src/keys.ts"],"mappings":";;;;;;;iBAUgB,qBAAqB;KAMhC;EACH;;EAEA;;;iBAIc,OAAO,UAAU,QAAQ,MAAM,eAAe,IAAI,IAAI,uBAAuB,KAAK;iBAgBlF,0BACd,OAAO,SAAS,gDACf;;iBAKa,YAAY,MAAM,YAAY;iBAC9B,YAAY,MAAM,YAAY;;iBAwC9B,cAAc,MAAM,YAAY,2BAA2B;;iBAM3D,eAAe,MAAM,KAAK;;iBAK1B,mBAAmB;;iBAWnB,WAAW;;iBAEX,WAAW,MAAM,gBAAgB;iBAcjC,iBAAiB;;iBAOjB,WAAW,MAAM,YAAY,IAAI,SAAS;iBAC1C,WAAW,MAAM,YAAY,IAAI,qBAAqB;;iBA0BtD,aAAa,UAAU,QACrC,MAAM,YACN,OAAO,kCACN,IAAI;;iBAKS,MAAM,MAAM,YAAY;iBACxB,MAAM,MAAM,wBAAwB;iBACpC,MAAM,MAAM,YAAY;iBACxB,MAAM,MAAM,wBAAwB;;iBAgCpC,OAAO,MAAM,YAAY;iBACzB,OAAO,MAAM,wBAAwB;iBAQrC,QAAQ,MAAM,YAAY;iBAC1B,QAAQ,MAAM,YAAY;iBAC1B,QAAQ,QAAQ;;iBAQhB,SAAS,MAAM,YAAY;;iBAO3B,eAAe;;iBAcf,UAAU"}
1
+ {"version":3,"file":"keys.d.mts","names":[],"sources":["../src/keys.ts"],"mappings":";;;;;;;wBAUgB,qBAAqB;KAMhC;EACH;;EAEA;;;wBAIc,OAAO,UAAU,QAAQ,MAAM,eAAe,IAAI,IAAI,uBAAuB,KAAK;wBAgBlF,0BACd,OAAO,SAAS,gDACf;;wBAKa,YAAY,MAAM,YAAY;wBAC9B,YAAY,MAAM,YAAY;;wBAwC9B,cAAc,MAAM,YAAY,2BAA2B;;wBAM3D,eAAe,MAAM,KAAK;;wBAK1B,mBAAmB;;wBAWnB,WAAW;;wBAEX,WAAW,MAAM,gBAAgB;wBAcjC,iBAAiB;;wBAOjB,WAAW,MAAM,YAAY,IAAI,SAAS;wBAC1C,WAAW,MAAM,YAAY,IAAI,qBAAqB;;wBA0BtD,aAAa,UAAU,QACrC,MAAM,YACN,OAAO,kCACN,IAAI;;wBAKS,MAAM,MAAM,YAAY;wBACxB,MAAM,MAAM,wBAAwB;wBACpC,MAAM,MAAM,YAAY;wBACxB,MAAM,MAAM,wBAAwB;;wBAgCpC,OAAO,MAAM,YAAY;wBACzB,OAAO,MAAM,wBAAwB;wBAQrC,QAAQ,MAAM,YAAY;wBAC1B,QAAQ,MAAM,YAAY;wBAC1B,QAAQ,QAAQ;;wBAQhB,SAAS,MAAM,YAAY;;wBAO3B,eAAe;;wBAcf,UAAU"}
@@ -2,8 +2,8 @@ import { LoadHint } from "./loadHints.cjs";
2
2
  import { TaggedId } from "../EntityManager.cjs";
3
3
  import { Entity } from "../Entity.cjs";
4
4
  //#region src/loading/HintTree.d.ts
5
- type EntityOrId = Entity | TaggedId;
6
- type HintNode<E extends EntityOrId> = {
5
+ export type EntityOrId = Entity | TaggedId;
6
+ export type HintNode<E extends EntityOrId> = {
7
7
  /** These entities are the root entities of our preload, i.e. we use them to trim the tree to prevent over-fetching. */
8
8
  entities: Set<E>;
9
9
  /** A runtime indication of the type of `E`. */
@@ -36,10 +36,9 @@ type HintNode<E extends EntityOrId> = {
36
36
  * Which will let us preload `authors` for all three publishers, but `books` only for the
37
37
  * first two, and `reviews` only for the third, i.e. we can prevent over-fetching.
38
38
  */
39
- declare function buildHintTree<E extends EntityOrId>(hints: readonly {
39
+ export declare function buildHintTree<E extends EntityOrId>(hints: readonly {
40
40
  entity: E;
41
41
  hint: LoadHint<any> | undefined;
42
42
  }[] | LoadHint<any>): HintNode<E>;
43
43
  //#endregion
44
- export { EntityOrId, HintNode, buildHintTree };
45
44
  //# sourceMappingURL=HintTree.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HintTree.d.cts","names":[],"sources":["../../src/loading/HintTree.ts"],"mappings":";;;;KASY,aAAa,SAAS;KAEtB,SAAS,UAAU;;EAE7B,UAAU,IAAI;;EAEd;;EAEA;KAAU,cAAc,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BnB,cAAc,UAAU,YACtC;EAAkB,QAAQ;EAAG,MAAM;MAAgC,gBAClE,SAAS"}
1
+ {"version":3,"file":"HintTree.d.cts","names":[],"sources":["../../src/loading/HintTree.ts"],"mappings":";;;;YASY,aAAa,SAAS;YAEtB,SAAS,UAAU;;EAE7B,UAAU,IAAI;;EAEd;;EAEA;KAAU,cAAc,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0BnB,cAAc,UAAU,YACtC;EAAkB,QAAQ;EAAG,MAAM;MAAgC,gBAClE,SAAS"}
@@ -2,8 +2,8 @@ import { LoadHint } from "./loadHints.mjs";
2
2
  import { TaggedId } from "../EntityManager.mjs";
3
3
  import { Entity } from "../Entity.mjs";
4
4
  //#region src/loading/HintTree.d.ts
5
- type EntityOrId = Entity | TaggedId;
6
- type HintNode<E extends EntityOrId> = {
5
+ export type EntityOrId = Entity | TaggedId;
6
+ export type HintNode<E extends EntityOrId> = {
7
7
  /** These entities are the root entities of our preload, i.e. we use them to trim the tree to prevent over-fetching. */
8
8
  entities: Set<E>;
9
9
  /** A runtime indication of the type of `E`. */
@@ -36,10 +36,9 @@ type HintNode<E extends EntityOrId> = {
36
36
  * Which will let us preload `authors` for all three publishers, but `books` only for the
37
37
  * first two, and `reviews` only for the third, i.e. we can prevent over-fetching.
38
38
  */
39
- declare function buildHintTree<E extends EntityOrId>(hints: readonly {
39
+ export declare function buildHintTree<E extends EntityOrId>(hints: readonly {
40
40
  entity: E;
41
41
  hint: LoadHint<any> | undefined;
42
42
  }[] | LoadHint<any>): HintNode<E>;
43
43
  //#endregion
44
- export { EntityOrId, HintNode, buildHintTree };
45
44
  //# sourceMappingURL=HintTree.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HintTree.d.mts","names":[],"sources":["../../src/loading/HintTree.ts"],"mappings":";;;;KASY,aAAa,SAAS;KAEtB,SAAS,UAAU;;EAE7B,UAAU,IAAI;;EAEd;;EAEA;KAAU,cAAc,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BnB,cAAc,UAAU,YACtC;EAAkB,QAAQ;EAAG,MAAM;MAAgC,gBAClE,SAAS"}
1
+ {"version":3,"file":"HintTree.d.mts","names":[],"sources":["../../src/loading/HintTree.ts"],"mappings":";;;;YASY,aAAa,SAAS;YAEtB,SAAS,UAAU;;EAE7B,UAAU,IAAI;;EAEd;;EAEA;KAAU,cAAc,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0BnB,cAAc,UAAU,YACtC;EAAkB,QAAQ;EAAG,MAAM;MAAgC,gBAClE,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"IsLoadedCache.cjs","names":["getMetadata","#smartCache","#smartDirtySets","#naiveCache","#naiveDirtySets","#resetDownstreamReactables"],"sources":["../../src/loading/IsLoadedCache.ts"],"sourcesContent":["import type { Entity } from \"src/Entity.ts\";\nimport { type EntityMetadata, getMetadata } from \"src/EntityMetadata.ts\";\n\n/**\n * Interface for our relations that have dynamic & expensive `isLoaded` checks.\n *\n * ...and also `OneToManyCollection.get` calls.\n *\n * The primary m2o/o2m/m2m relations all have trivial `isLoaded` checks--are they\n * loaded or not.\n *\n * But for \"composite relations\", i.e. a ReactiveField or ReactiveRelation whose\n * \"load-ness\" is calculated by evaluating its load hint across a subgraph of entities\n * & relations, load-ness can be more dynamic true-then-false, as its subgraph changes.\n *\n * To avoid performance issues (see https://github.com/joist-orm/joist-orm/issues/1166),\n * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven\n * cache invalidation whenever relations are mutated (via a hook in `setField`).\n */\nexport interface IsLoadedCachable {\n entity: Entity;\n fieldName: string;\n isLoaded: boolean;\n resetIsLoaded(): void;\n}\n\nexport class IsLoadedCache {\n // Cache of `{ tag -> { fieldName -> Set<IsLoadedCachable> } }` to hold derived relations\n // we can selectively invalidate by walking from the mutated field to any downstream\n // cacheables.\n #smartCache: Record<string, Record<string, Set<IsLoadedCachable>>> = {};\n // A dumb cache for things that are hard selectively invalidate (o2m.get, recursive collections,\n // and custom references/collections), so any mutation resets these.\n #naiveCache = new Set<IsLoadedCachable>();\n // Counter to skip reactive hint walking when no smart cache sets are populated.\n #smartDirtySets = 0;\n // Counter to fast-path resetIsLoaded when the naive cache is empty.\n #naiveDirtySets = 0;\n\n /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */\n add(target: IsLoadedCachable): void {\n const meta = getMetadata(target.entity);\n const set = ((this.#smartCache[meta.tagName] ??= {})[target.fieldName] ??= new Set());\n if (set.size === 0) {\n this.#smartDirtySets++;\n }\n set.add(target);\n }\n\n addNaive(target: IsLoadedCachable): void {\n if (this.#naiveCache.size === 0) this.#naiveDirtySets++;\n this.#naiveCache.add(target);\n }\n\n /** Resets any in-memory #isLoaded/#isCached caches that depend on `entity.fieldName`. */\n resetIsLoaded(entity: Entity, fieldName: string): void {\n if (this.#smartDirtySets === 0 && this.#naiveDirtySets === 0) return;\n // Reset caches that we can deterministically find by walking the reactivity hints\n if (this.#smartDirtySets > 0) {\n this.#resetDownstreamReactables(getMetadata(entity), fieldName);\n }\n // We could use this to invalidate m2o.get, but it doesn't work for collections\n // with an orderBy, when the orderBy changes, so for now we use the blunt naiveCache.\n // const field = meta.allFields[fieldName];\n // if (field.kind === \"m2o\") {\n // const otherMeta = field.otherMetadata();\n // const set = this.smartCache[otherMeta.tagName]?.[field.otherFieldName];\n // if (set) {\n // for (const target of set) target.resetIsLoaded();\n // set.clear();\n // }\n // }\n if (this.#naiveCache.size > 0) {\n for (const target of this.#naiveCache.values()) target.resetIsLoaded();\n this.#naiveCache.clear();\n this.#naiveDirtySets--;\n }\n }\n\n /**\n * Given a `meta+field`, statically find all downstream Reactables, and if any of those\n * Reactables are a) in-memory already, and b) registered themselves as cached,\n * tell them to reset.\n */\n #resetDownstreamReactables(meta: EntityMetadata, fieldName: string): void {\n // These are reactables in other entities that are watching/reacting to this entity/fieldName\n const reactables = meta.reactablesIncludingReadOnlyByField!.get(fieldName);\n if (reactables === undefined) return;\n for (const r of reactables) {\n if (this.#smartDirtySets === 0) return;\n // I.e. we've written to Author.firstName, and this reactable in Book/otherMeta depends on it\n const otherMeta = getMetadata(r.cstr);\n // Find any cache entries for this cstr + name\n const set = this.#smartCache[otherMeta.tagName]?.[r.name];\n if (set?.size > 0) {\n for (const target of set) {\n target.resetIsLoaded();\n // Is this target itself a RF/RR? If so, transitively reset its cache as well.\n const otherMeta = getMetadata(target.entity);\n const otherField = otherMeta.allFields[target.fieldName];\n if (\"derived\" in otherField && otherField.derived) {\n this.#resetDownstreamReactables(otherMeta, otherField.fieldName);\n }\n }\n set.clear();\n this.#smartDirtySets--;\n }\n }\n }\n}\n"],"mappings":";;;AA0BA,IAAa,gBAAb,MAA2B;CAIzB,cAAqE,CAAC;CAGtE,8BAAc,IAAI,IAAsB;CAExC,kBAAkB;CAElB,kBAAkB;;CAGlB,IAAI,QAAgC;EAClC,MAAM,OAAOA,uBAAAA,YAAY,OAAO,MAAM;EACtC,MAAM,MAAO,CAAC,KAAKC,YAAY,KAAK,aAAa,CAAC,EAAA,CAAG,OAAO,+BAAe,IAAI,IAAI;EACnF,IAAI,IAAI,SAAS,GACf,KAAKC;EAEP,IAAI,IAAI,MAAM;CAChB;CAEA,SAAS,QAAgC;EACvC,IAAI,KAAKC,YAAY,SAAS,GAAG,KAAKC;EACtC,KAAKD,YAAY,IAAI,MAAM;CAC7B;;CAGA,cAAc,QAAgB,WAAyB;EACrD,IAAI,KAAKD,oBAAoB,KAAK,KAAKE,oBAAoB,GAAG;EAE9D,IAAI,KAAKF,kBAAkB,GACzB,KAAKG,2BAA2BL,uBAAAA,YAAY,MAAM,GAAG,SAAS;EAahE,IAAI,KAAKG,YAAY,OAAO,GAAG;GAC7B,KAAK,MAAM,UAAU,KAAKA,YAAY,OAAO,GAAG,OAAO,cAAc;GACrE,KAAKA,YAAY,MAAM;GACvB,KAAKC;EACP;CACF;;;;;;CAOA,2BAA2B,MAAsB,WAAyB;EAExE,MAAM,aAAa,KAAK,mCAAoC,IAAI,SAAS;EACzE,IAAI,eAAe,KAAA,GAAW;EAC9B,KAAK,MAAM,KAAK,YAAY;GAC1B,IAAI,KAAKF,oBAAoB,GAAG;GAEhC,MAAM,YAAYF,uBAAAA,YAAY,EAAE,IAAI;GAEpC,MAAM,MAAM,KAAKC,YAAY,UAAU,QAAQ,GAAG,EAAE;GACpD,IAAI,KAAK,OAAO,GAAG;IACjB,KAAK,MAAM,UAAU,KAAK;KACxB,OAAO,cAAc;KAErB,MAAM,YAAYD,uBAAAA,YAAY,OAAO,MAAM;KAC3C,MAAM,aAAa,UAAU,UAAU,OAAO;KAC9C,IAAI,aAAa,cAAc,WAAW,SACxC,KAAKK,2BAA2B,WAAW,WAAW,SAAS;IAEnE;IACA,IAAI,MAAM;IACV,KAAKH;GACP;EACF;CACF;AACF"}
1
+ {"version":3,"file":"IsLoadedCache.cjs","names":["getMetadata"],"sources":["../../src/loading/IsLoadedCache.ts"],"sourcesContent":["import type { Entity } from \"src/Entity.ts\";\nimport { type EntityMetadata, getMetadata } from \"src/EntityMetadata.ts\";\n\n/**\n * Interface for our relations that have dynamic & expensive `isLoaded` checks.\n *\n * ...and also `OneToManyCollection.get` calls.\n *\n * The primary m2o/o2m/m2m relations all have trivial `isLoaded` checks--are they\n * loaded or not.\n *\n * But for \"composite relations\", i.e. a ReactiveField or ReactiveRelation whose\n * \"load-ness\" is calculated by evaluating its load hint across a subgraph of entities\n * & relations, load-ness can be more dynamic true-then-false, as its subgraph changes.\n *\n * To avoid performance issues (see https://github.com/joist-orm/joist-orm/issues/1166),\n * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven\n * cache invalidation whenever relations are mutated (via a hook in `setField`).\n */\nexport interface IsLoadedCachable {\n entity: Entity;\n fieldName: string;\n isLoaded: boolean;\n resetIsLoaded(): void;\n}\n\nexport class IsLoadedCache {\n // Cache of `{ tag -> { fieldName -> Set<IsLoadedCachable> } }` to hold derived relations\n // we can selectively invalidate by walking from the mutated field to any downstream\n // cacheables.\n #smartCache: Record<string, Record<string, Set<IsLoadedCachable>>> = {};\n // A dumb cache for things that are hard selectively invalidate (o2m.get, recursive collections,\n // and custom references/collections), so any mutation resets these.\n #naiveCache = new Set<IsLoadedCachable>();\n // Counter to skip reactive hint walking when no smart cache sets are populated.\n #smartDirtySets = 0;\n // Counter to fast-path resetIsLoaded when the naive cache is empty.\n #naiveDirtySets = 0;\n\n /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */\n add(target: IsLoadedCachable): void {\n const meta = getMetadata(target.entity);\n const set = ((this.#smartCache[meta.tagName] ??= {})[target.fieldName] ??= new Set());\n if (set.size === 0) {\n this.#smartDirtySets++;\n }\n set.add(target);\n }\n\n addNaive(target: IsLoadedCachable): void {\n if (this.#naiveCache.size === 0) this.#naiveDirtySets++;\n this.#naiveCache.add(target);\n }\n\n /** Resets any in-memory #isLoaded/#isCached caches that depend on `entity.fieldName`. */\n resetIsLoaded(entity: Entity, fieldName: string): void {\n if (this.#smartDirtySets === 0 && this.#naiveDirtySets === 0) return;\n // Reset caches that we can deterministically find by walking the reactivity hints\n if (this.#smartDirtySets > 0) {\n this.#resetDownstreamReactables(getMetadata(entity), fieldName);\n }\n // We could use this to invalidate m2o.get, but it doesn't work for collections\n // with an orderBy, when the orderBy changes, so for now we use the blunt naiveCache.\n // const field = meta.allFields[fieldName];\n // if (field.kind === \"m2o\") {\n // const otherMeta = field.otherMetadata();\n // const set = this.smartCache[otherMeta.tagName]?.[field.otherFieldName];\n // if (set) {\n // for (const target of set) target.resetIsLoaded();\n // set.clear();\n // }\n // }\n if (this.#naiveCache.size > 0) {\n for (const target of this.#naiveCache.values()) target.resetIsLoaded();\n this.#naiveCache.clear();\n this.#naiveDirtySets--;\n }\n }\n\n /**\n * Given a `meta+field`, statically find all downstream Reactables, and if any of those\n * Reactables are a) in-memory already, and b) registered themselves as cached,\n * tell them to reset.\n */\n #resetDownstreamReactables(meta: EntityMetadata, fieldName: string): void {\n // These are reactables in other entities that are watching/reacting to this entity/fieldName\n const reactables = meta.reactablesIncludingReadOnlyByField!.get(fieldName);\n if (reactables === undefined) return;\n for (const r of reactables) {\n if (this.#smartDirtySets === 0) return;\n // I.e. we've written to Author.firstName, and this reactable in Book/otherMeta depends on it\n const otherMeta = getMetadata(r.cstr);\n // Find any cache entries for this cstr + name\n const set = this.#smartCache[otherMeta.tagName]?.[r.name];\n if (set?.size > 0) {\n for (const target of set) {\n target.resetIsLoaded();\n // Is this target itself a RF/RR? If so, transitively reset its cache as well.\n const otherMeta = getMetadata(target.entity);\n const otherField = otherMeta.allFields[target.fieldName];\n if (\"derived\" in otherField && otherField.derived) {\n this.#resetDownstreamReactables(otherMeta, otherField.fieldName);\n }\n }\n set.clear();\n this.#smartDirtySets--;\n }\n }\n }\n}\n"],"mappings":";;;AA0BA,IAAa,gBAAb,MAA2B;CAIzB,cAAqE,CAAC;CAGtE,8BAAc,IAAI,IAAsB;CAExC,kBAAkB;CAElB,kBAAkB;;CAGlB,IAAI,QAAgC;EAClC,MAAM,OAAOA,uBAAAA,YAAY,OAAO,MAAM;EACtC,MAAM,MAAO,CAAC,KAAK,YAAY,KAAK,aAAa,CAAC,EAAA,CAAG,OAAO,+BAAe,IAAI,IAAI;EACnF,IAAI,IAAI,SAAS,GACf,KAAK;EAEP,IAAI,IAAI,MAAM;CAChB;CAEA,SAAS,QAAgC;EACvC,IAAI,KAAK,YAAY,SAAS,GAAG,KAAK;EACtC,KAAK,YAAY,IAAI,MAAM;CAC7B;;CAGA,cAAc,QAAgB,WAAyB;EACrD,IAAI,KAAK,oBAAoB,KAAK,KAAK,oBAAoB,GAAG;EAE9D,IAAI,KAAK,kBAAkB,GACzB,KAAK,2BAA2BA,uBAAAA,YAAY,MAAM,GAAG,SAAS;EAahE,IAAI,KAAK,YAAY,OAAO,GAAG;GAC7B,KAAK,MAAM,UAAU,KAAK,YAAY,OAAO,GAAG,OAAO,cAAc;GACrE,KAAK,YAAY,MAAM;GACvB,KAAK;EACP;CACF;;;;;;CAOA,2BAA2B,MAAsB,WAAyB;EAExE,MAAM,aAAa,KAAK,mCAAoC,IAAI,SAAS;EACzE,IAAI,eAAe,KAAA,GAAW;EAC9B,KAAK,MAAM,KAAK,YAAY;GAC1B,IAAI,KAAK,oBAAoB,GAAG;GAEhC,MAAM,YAAYA,uBAAAA,YAAY,EAAE,IAAI;GAEpC,MAAM,MAAM,KAAK,YAAY,UAAU,QAAQ,GAAG,EAAE;GACpD,IAAI,KAAK,OAAO,GAAG;IACjB,KAAK,MAAM,UAAU,KAAK;KACxB,OAAO,cAAc;KAErB,MAAM,YAAYA,uBAAAA,YAAY,OAAO,MAAM;KAC3C,MAAM,aAAa,UAAU,UAAU,OAAO;KAC9C,IAAI,aAAa,cAAc,WAAW,SACxC,KAAK,2BAA2B,WAAW,WAAW,SAAS;IAEnE;IACA,IAAI,MAAM;IACV,KAAK;GACP;EACF;CACF;AACF"}
@@ -16,13 +16,13 @@ import { Entity } from "../Entity.cjs";
16
16
  * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven
17
17
  * cache invalidation whenever relations are mutated (via a hook in `setField`).
18
18
  */
19
- interface IsLoadedCachable {
19
+ export interface IsLoadedCachable {
20
20
  entity: Entity;
21
21
  fieldName: string;
22
22
  isLoaded: boolean;
23
23
  resetIsLoaded(): void;
24
24
  }
25
- declare class IsLoadedCache {
25
+ export declare class IsLoadedCache {
26
26
  #private;
27
27
  /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */
28
28
  add(target: IsLoadedCachable): void;
@@ -31,5 +31,4 @@ declare class IsLoadedCache {
31
31
  resetIsLoaded(entity: Entity, fieldName: string): void;
32
32
  }
33
33
  //#endregion
34
- export { IsLoadedCachable, IsLoadedCache };
35
34
  //# sourceMappingURL=IsLoadedCache.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsLoadedCache.d.cts","names":[],"sources":["../../src/loading/IsLoadedCache.ts"],"mappings":";;;;;;;;;;;;;;;;;;UAmBiB;EACf,QAAQ;EACR;EACA;EACA;;cAGW;;;EAcX,IAAI,QAAQ;EASZ,SAAS,QAAQ;;EAMjB,cAAc,QAAQ,QAAQ"}
1
+ {"version":3,"file":"IsLoadedCache.d.cts","names":[],"sources":["../../src/loading/IsLoadedCache.ts"],"mappings":";;;;;;;;;;;;;;;;;;iBAmBiB;EACf,QAAQ;EACR;EACA;EACA;;qBAGW;;;EAcX,IAAI,QAAQ;EASZ,SAAS,QAAQ;;EAMjB,cAAc,QAAQ,QAAQ"}
@@ -16,13 +16,13 @@ import { Entity } from "../Entity.mjs";
16
16
  * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven
17
17
  * cache invalidation whenever relations are mutated (via a hook in `setField`).
18
18
  */
19
- interface IsLoadedCachable {
19
+ export interface IsLoadedCachable {
20
20
  entity: Entity;
21
21
  fieldName: string;
22
22
  isLoaded: boolean;
23
23
  resetIsLoaded(): void;
24
24
  }
25
- declare class IsLoadedCache {
25
+ export declare class IsLoadedCache {
26
26
  #private;
27
27
  /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */
28
28
  add(target: IsLoadedCachable): void;
@@ -31,5 +31,4 @@ declare class IsLoadedCache {
31
31
  resetIsLoaded(entity: Entity, fieldName: string): void;
32
32
  }
33
33
  //#endregion
34
- export { IsLoadedCachable, IsLoadedCache };
35
34
  //# sourceMappingURL=IsLoadedCache.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsLoadedCache.d.mts","names":[],"sources":["../../src/loading/IsLoadedCache.ts"],"mappings":";;;;;;;;;;;;;;;;;;UAmBiB;EACf,QAAQ;EACR;EACA;EACA;;cAGW;;;EAcX,IAAI,QAAQ;EASZ,SAAS,QAAQ;;EAMjB,cAAc,QAAQ,QAAQ"}
1
+ {"version":3,"file":"IsLoadedCache.d.mts","names":[],"sources":["../../src/loading/IsLoadedCache.ts"],"mappings":";;;;;;;;;;;;;;;;;;iBAmBiB;EACf,QAAQ;EACR;EACA;EACA;;qBAGW;;;EAcX,IAAI,QAAQ;EASZ,SAAS,QAAQ;;EAMjB,cAAc,QAAQ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"IsLoadedCache.js","names":["#smartCache","#smartDirtySets","#naiveCache","#naiveDirtySets","#resetDownstreamReactables"],"sources":["../../src/loading/IsLoadedCache.ts"],"sourcesContent":["import type { Entity } from \"src/Entity.ts\";\nimport { type EntityMetadata, getMetadata } from \"src/EntityMetadata.ts\";\n\n/**\n * Interface for our relations that have dynamic & expensive `isLoaded` checks.\n *\n * ...and also `OneToManyCollection.get` calls.\n *\n * The primary m2o/o2m/m2m relations all have trivial `isLoaded` checks--are they\n * loaded or not.\n *\n * But for \"composite relations\", i.e. a ReactiveField or ReactiveRelation whose\n * \"load-ness\" is calculated by evaluating its load hint across a subgraph of entities\n * & relations, load-ness can be more dynamic true-then-false, as its subgraph changes.\n *\n * To avoid performance issues (see https://github.com/joist-orm/joist-orm/issues/1166),\n * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven\n * cache invalidation whenever relations are mutated (via a hook in `setField`).\n */\nexport interface IsLoadedCachable {\n entity: Entity;\n fieldName: string;\n isLoaded: boolean;\n resetIsLoaded(): void;\n}\n\nexport class IsLoadedCache {\n // Cache of `{ tag -> { fieldName -> Set<IsLoadedCachable> } }` to hold derived relations\n // we can selectively invalidate by walking from the mutated field to any downstream\n // cacheables.\n #smartCache: Record<string, Record<string, Set<IsLoadedCachable>>> = {};\n // A dumb cache for things that are hard selectively invalidate (o2m.get, recursive collections,\n // and custom references/collections), so any mutation resets these.\n #naiveCache = new Set<IsLoadedCachable>();\n // Counter to skip reactive hint walking when no smart cache sets are populated.\n #smartDirtySets = 0;\n // Counter to fast-path resetIsLoaded when the naive cache is empty.\n #naiveDirtySets = 0;\n\n /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */\n add(target: IsLoadedCachable): void {\n const meta = getMetadata(target.entity);\n const set = ((this.#smartCache[meta.tagName] ??= {})[target.fieldName] ??= new Set());\n if (set.size === 0) {\n this.#smartDirtySets++;\n }\n set.add(target);\n }\n\n addNaive(target: IsLoadedCachable): void {\n if (this.#naiveCache.size === 0) this.#naiveDirtySets++;\n this.#naiveCache.add(target);\n }\n\n /** Resets any in-memory #isLoaded/#isCached caches that depend on `entity.fieldName`. */\n resetIsLoaded(entity: Entity, fieldName: string): void {\n if (this.#smartDirtySets === 0 && this.#naiveDirtySets === 0) return;\n // Reset caches that we can deterministically find by walking the reactivity hints\n if (this.#smartDirtySets > 0) {\n this.#resetDownstreamReactables(getMetadata(entity), fieldName);\n }\n // We could use this to invalidate m2o.get, but it doesn't work for collections\n // with an orderBy, when the orderBy changes, so for now we use the blunt naiveCache.\n // const field = meta.allFields[fieldName];\n // if (field.kind === \"m2o\") {\n // const otherMeta = field.otherMetadata();\n // const set = this.smartCache[otherMeta.tagName]?.[field.otherFieldName];\n // if (set) {\n // for (const target of set) target.resetIsLoaded();\n // set.clear();\n // }\n // }\n if (this.#naiveCache.size > 0) {\n for (const target of this.#naiveCache.values()) target.resetIsLoaded();\n this.#naiveCache.clear();\n this.#naiveDirtySets--;\n }\n }\n\n /**\n * Given a `meta+field`, statically find all downstream Reactables, and if any of those\n * Reactables are a) in-memory already, and b) registered themselves as cached,\n * tell them to reset.\n */\n #resetDownstreamReactables(meta: EntityMetadata, fieldName: string): void {\n // These are reactables in other entities that are watching/reacting to this entity/fieldName\n const reactables = meta.reactablesIncludingReadOnlyByField!.get(fieldName);\n if (reactables === undefined) return;\n for (const r of reactables) {\n if (this.#smartDirtySets === 0) return;\n // I.e. we've written to Author.firstName, and this reactable in Book/otherMeta depends on it\n const otherMeta = getMetadata(r.cstr);\n // Find any cache entries for this cstr + name\n const set = this.#smartCache[otherMeta.tagName]?.[r.name];\n if (set?.size > 0) {\n for (const target of set) {\n target.resetIsLoaded();\n // Is this target itself a RF/RR? If so, transitively reset its cache as well.\n const otherMeta = getMetadata(target.entity);\n const otherField = otherMeta.allFields[target.fieldName];\n if (\"derived\" in otherField && otherField.derived) {\n this.#resetDownstreamReactables(otherMeta, otherField.fieldName);\n }\n }\n set.clear();\n this.#smartDirtySets--;\n }\n }\n }\n}\n"],"mappings":";;AA0BA,IAAa,gBAAb,MAA2B;CAIzB,cAAqE,CAAC;CAGtE,8BAAc,IAAI,IAAsB;CAExC,kBAAkB;CAElB,kBAAkB;;CAGlB,IAAI,QAAgC;EAClC,MAAM,OAAO,YAAY,OAAO,MAAM;EACtC,MAAM,MAAO,CAAC,KAAKA,YAAY,KAAK,aAAa,CAAC,EAAA,CAAG,OAAO,+BAAe,IAAI,IAAI;EACnF,IAAI,IAAI,SAAS,GACf,KAAKC;EAEP,IAAI,IAAI,MAAM;CAChB;CAEA,SAAS,QAAgC;EACvC,IAAI,KAAKC,YAAY,SAAS,GAAG,KAAKC;EACtC,KAAKD,YAAY,IAAI,MAAM;CAC7B;;CAGA,cAAc,QAAgB,WAAyB;EACrD,IAAI,KAAKD,oBAAoB,KAAK,KAAKE,oBAAoB,GAAG;EAE9D,IAAI,KAAKF,kBAAkB,GACzB,KAAKG,2BAA2B,YAAY,MAAM,GAAG,SAAS;EAahE,IAAI,KAAKF,YAAY,OAAO,GAAG;GAC7B,KAAK,MAAM,UAAU,KAAKA,YAAY,OAAO,GAAG,OAAO,cAAc;GACrE,KAAKA,YAAY,MAAM;GACvB,KAAKC;EACP;CACF;;;;;;CAOA,2BAA2B,MAAsB,WAAyB;EAExE,MAAM,aAAa,KAAK,mCAAoC,IAAI,SAAS;EACzE,IAAI,eAAe,KAAA,GAAW;EAC9B,KAAK,MAAM,KAAK,YAAY;GAC1B,IAAI,KAAKF,oBAAoB,GAAG;GAEhC,MAAM,YAAY,YAAY,EAAE,IAAI;GAEpC,MAAM,MAAM,KAAKD,YAAY,UAAU,QAAQ,GAAG,EAAE;GACpD,IAAI,KAAK,OAAO,GAAG;IACjB,KAAK,MAAM,UAAU,KAAK;KACxB,OAAO,cAAc;KAErB,MAAM,YAAY,YAAY,OAAO,MAAM;KAC3C,MAAM,aAAa,UAAU,UAAU,OAAO;KAC9C,IAAI,aAAa,cAAc,WAAW,SACxC,KAAKI,2BAA2B,WAAW,WAAW,SAAS;IAEnE;IACA,IAAI,MAAM;IACV,KAAKH;GACP;EACF;CACF;AACF"}
1
+ {"version":3,"file":"IsLoadedCache.js","names":[],"sources":["../../src/loading/IsLoadedCache.ts"],"sourcesContent":["import type { Entity } from \"src/Entity.ts\";\nimport { type EntityMetadata, getMetadata } from \"src/EntityMetadata.ts\";\n\n/**\n * Interface for our relations that have dynamic & expensive `isLoaded` checks.\n *\n * ...and also `OneToManyCollection.get` calls.\n *\n * The primary m2o/o2m/m2m relations all have trivial `isLoaded` checks--are they\n * loaded or not.\n *\n * But for \"composite relations\", i.e. a ReactiveField or ReactiveRelation whose\n * \"load-ness\" is calculated by evaluating its load hint across a subgraph of entities\n * & relations, load-ness can be more dynamic true-then-false, as its subgraph changes.\n *\n * To avoid performance issues (see https://github.com/joist-orm/joist-orm/issues/1166),\n * we cache this dynamic/expensive `isLoaded` checks, and then do targeted, reactivity-driven\n * cache invalidation whenever relations are mutated (via a hook in `setField`).\n */\nexport interface IsLoadedCachable {\n entity: Entity;\n fieldName: string;\n isLoaded: boolean;\n resetIsLoaded(): void;\n}\n\nexport class IsLoadedCache {\n // Cache of `{ tag -> { fieldName -> Set<IsLoadedCachable> } }` to hold derived relations\n // we can selectively invalidate by walking from the mutated field to any downstream\n // cacheables.\n #smartCache: Record<string, Record<string, Set<IsLoadedCachable>>> = {};\n // A dumb cache for things that are hard selectively invalidate (o2m.get, recursive collections,\n // and custom references/collections), so any mutation resets these.\n #naiveCache = new Set<IsLoadedCachable>();\n // Counter to skip reactive hint walking when no smart cache sets are populated.\n #smartDirtySets = 0;\n // Counter to fast-path resetIsLoaded when the naive cache is empty.\n #naiveDirtySets = 0;\n\n /** Adds a ReactiveField/Relation/Collection to be invalidated when its dependencies change. */\n add(target: IsLoadedCachable): void {\n const meta = getMetadata(target.entity);\n const set = ((this.#smartCache[meta.tagName] ??= {})[target.fieldName] ??= new Set());\n if (set.size === 0) {\n this.#smartDirtySets++;\n }\n set.add(target);\n }\n\n addNaive(target: IsLoadedCachable): void {\n if (this.#naiveCache.size === 0) this.#naiveDirtySets++;\n this.#naiveCache.add(target);\n }\n\n /** Resets any in-memory #isLoaded/#isCached caches that depend on `entity.fieldName`. */\n resetIsLoaded(entity: Entity, fieldName: string): void {\n if (this.#smartDirtySets === 0 && this.#naiveDirtySets === 0) return;\n // Reset caches that we can deterministically find by walking the reactivity hints\n if (this.#smartDirtySets > 0) {\n this.#resetDownstreamReactables(getMetadata(entity), fieldName);\n }\n // We could use this to invalidate m2o.get, but it doesn't work for collections\n // with an orderBy, when the orderBy changes, so for now we use the blunt naiveCache.\n // const field = meta.allFields[fieldName];\n // if (field.kind === \"m2o\") {\n // const otherMeta = field.otherMetadata();\n // const set = this.smartCache[otherMeta.tagName]?.[field.otherFieldName];\n // if (set) {\n // for (const target of set) target.resetIsLoaded();\n // set.clear();\n // }\n // }\n if (this.#naiveCache.size > 0) {\n for (const target of this.#naiveCache.values()) target.resetIsLoaded();\n this.#naiveCache.clear();\n this.#naiveDirtySets--;\n }\n }\n\n /**\n * Given a `meta+field`, statically find all downstream Reactables, and if any of those\n * Reactables are a) in-memory already, and b) registered themselves as cached,\n * tell them to reset.\n */\n #resetDownstreamReactables(meta: EntityMetadata, fieldName: string): void {\n // These are reactables in other entities that are watching/reacting to this entity/fieldName\n const reactables = meta.reactablesIncludingReadOnlyByField!.get(fieldName);\n if (reactables === undefined) return;\n for (const r of reactables) {\n if (this.#smartDirtySets === 0) return;\n // I.e. we've written to Author.firstName, and this reactable in Book/otherMeta depends on it\n const otherMeta = getMetadata(r.cstr);\n // Find any cache entries for this cstr + name\n const set = this.#smartCache[otherMeta.tagName]?.[r.name];\n if (set?.size > 0) {\n for (const target of set) {\n target.resetIsLoaded();\n // Is this target itself a RF/RR? If so, transitively reset its cache as well.\n const otherMeta = getMetadata(target.entity);\n const otherField = otherMeta.allFields[target.fieldName];\n if (\"derived\" in otherField && otherField.derived) {\n this.#resetDownstreamReactables(otherMeta, otherField.fieldName);\n }\n }\n set.clear();\n this.#smartDirtySets--;\n }\n }\n }\n}\n"],"mappings":";;AA0BA,IAAa,gBAAb,MAA2B;CAIzB,cAAqE,CAAC;CAGtE,8BAAc,IAAI,IAAsB;CAExC,kBAAkB;CAElB,kBAAkB;;CAGlB,IAAI,QAAgC;EAClC,MAAM,OAAO,YAAY,OAAO,MAAM;EACtC,MAAM,MAAO,CAAC,KAAK,YAAY,KAAK,aAAa,CAAC,EAAA,CAAG,OAAO,+BAAe,IAAI,IAAI;EACnF,IAAI,IAAI,SAAS,GACf,KAAK;EAEP,IAAI,IAAI,MAAM;CAChB;CAEA,SAAS,QAAgC;EACvC,IAAI,KAAK,YAAY,SAAS,GAAG,KAAK;EACtC,KAAK,YAAY,IAAI,MAAM;CAC7B;;CAGA,cAAc,QAAgB,WAAyB;EACrD,IAAI,KAAK,oBAAoB,KAAK,KAAK,oBAAoB,GAAG;EAE9D,IAAI,KAAK,kBAAkB,GACzB,KAAK,2BAA2B,YAAY,MAAM,GAAG,SAAS;EAahE,IAAI,KAAK,YAAY,OAAO,GAAG;GAC7B,KAAK,MAAM,UAAU,KAAK,YAAY,OAAO,GAAG,OAAO,cAAc;GACrE,KAAK,YAAY,MAAM;GACvB,KAAK;EACP;CACF;;;;;;CAOA,2BAA2B,MAAsB,WAAyB;EAExE,MAAM,aAAa,KAAK,mCAAoC,IAAI,SAAS;EACzE,IAAI,eAAe,KAAA,GAAW;EAC9B,KAAK,MAAM,KAAK,YAAY;GAC1B,IAAI,KAAK,oBAAoB,GAAG;GAEhC,MAAM,YAAY,YAAY,EAAE,IAAI;GAEpC,MAAM,MAAM,KAAK,YAAY,UAAU,QAAQ,GAAG,EAAE;GACpD,IAAI,KAAK,OAAO,GAAG;IACjB,KAAK,MAAM,UAAU,KAAK;KACxB,OAAO,cAAc;KAErB,MAAM,YAAY,YAAY,OAAO,MAAM;KAC3C,MAAM,aAAa,UAAU,UAAU,OAAO;KAC9C,IAAI,aAAa,cAAc,WAAW,SACxC,KAAK,2BAA2B,WAAW,WAAW,SAAS;IAEnE;IACA,IAAI,MAAM;IACV,KAAK;GACP;EACF;CACF;AACF"}
@@ -18,7 +18,7 @@ type DeepLoadHint<T extends Entity> = NestedLoadHint<T> & {
18
18
  };
19
19
  type MaybeBaseType = any;
20
20
  /** Marks a given `T[K]` field as the loaded/synchronous version of the collection. */
21
- type MarkLoaded<T extends Entity, P, UH = {}> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
21
+ export type MarkLoaded<T extends Entity, P, UH = {}> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
22
22
  /** A version of MarkLoaded the uses `DeepLoadHint` for tests. */
23
23
  type MarkDeepLoaded<T extends Entity, P> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
24
24
  /**
@@ -42,14 +42,14 @@ type MaybeUseOptsType<T extends Entity, O, K extends keyof T & keyof O> = O[K] e
42
42
  * `O` is the generic from the call site so that if the caller passes `{ author: SomeLoadedAuthor }`,
43
43
  * we'll prefer that type, as it might have more nested load hints that we can't otherwise assume.
44
44
  */
45
- type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & { [K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>; };
45
+ export type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & { [K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>; };
46
46
  /**
47
47
  * Marks all references/collections of `T` as deeply loaded, which is only useful for
48
48
  * tests where we can have "the whole object graph" in-memory.
49
49
  */
50
- type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
50
+ export type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
51
51
  /** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
52
- declare function isNew<T extends Entity>(e: T): e is New<T>;
52
+ export declare function isNew<T extends Entity>(e: T): e is New<T>;
53
53
  /**
54
54
  * All the loadable fields, i.e. relations or lazy-loaded/async properties, in an entity.
55
55
  *
@@ -57,7 +57,7 @@ declare function isNew<T extends Entity>(e: T): e is New<T>;
57
57
  * fields that have be added to the entity classes, i.e. `Author.numberOfBooks2` async
58
58
  * properties.
59
59
  */
60
- type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>; };
60
+ export type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>; };
61
61
  /**
62
62
  * Given an entity field/value, return the loadable entity.
63
63
  *
@@ -66,7 +66,7 @@ type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K
66
66
  * Note that we usually return entities, but for AsyncProperties it could be
67
67
  * a calculated primitive value like number or string.
68
68
  */
69
- type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends Property<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
69
+ export type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends Property<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
70
70
  /**
71
71
  * A load hint of a single key, multiple keys, or nested keys and sub-hints.
72
72
  *
@@ -74,12 +74,12 @@ type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends R
74
74
  * collections, and async properties to preload (like `Book.author` or `Author.books`), and
75
75
  * do not include any primitive fields (like `Author.firstName`).
76
76
  */
77
- type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
78
- type NestedLoadHint<T extends Entity> = { [K in keyof Loadable<T>]?: Loadable<T>[K] extends (infer U extends Entity) ? LoadHint<U> : {}; };
77
+ export type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
78
+ export type NestedLoadHint<T extends Entity> = { [K in keyof Loadable<T>]?: Loadable<T>[K] extends (infer U extends Entity) ? LoadHint<U> : {}; };
79
79
  /** Given an entity `T` that is being populated with hints `H`, marks the `H` attributes as populated. */
80
- type Loaded<T extends Entity, H> = T & { [K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>; };
80
+ export type Loaded<T extends Entity, H> = T & { [K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>; };
81
81
  /** Recursively checks if the relations from a load hint are loaded on an entity. */
82
- declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
82
+ export declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
83
83
  /**
84
84
  * Recursively checks if a relation-only populate hint is loaded on an entity.
85
85
  *
@@ -88,29 +88,29 @@ declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hi
88
88
  * Treating those primitive leaves as loaded would let `EntityManager.populate` skip the batchloader path and change
89
89
  * reactive recalculation ordering, so the populate fast-path only applies to true relation populate hints.
90
90
  */
91
- declare function isLoadedForPopulate<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
92
- declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
91
+ export declare function isLoadedForPopulate<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
92
+ export declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
93
93
  /**
94
94
  * Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
95
95
  *
96
96
  * Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
97
97
  */
98
- declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
98
+ export declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
99
99
  /**
100
100
  * Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
101
101
  *
102
102
  * Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
103
103
  */
104
- declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
104
+ export declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
105
105
  /**
106
106
  * Unsafe type check for `entity` to `hint`, *without* a runtime type check.
107
107
  *
108
108
  * You should only use this if you're extremely sure that entity has hint loaded.
109
109
  */
110
- declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
110
+ export declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
111
111
  /** From any `Relations` field in `T`, i.e. for loader hints. */
112
- type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
112
+ export type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
113
113
  type SubType<T, C> = Pick<T, { [K in keyof T]: T[K] extends C ? K : never; }[keyof T]>;
114
114
  //#endregion
115
- export { DeepNew, LoadHint, Loadable, LoadableValue, Loaded, MarkLoaded, NestedLoadHint, New, RelationsIn, assertLoaded, ensureLoaded, isLoaded, isLoadedForPopulate, isNew, maybePopulateThen, unsafeLoaded };
115
+ export {};
116
116
  //# sourceMappingURL=loadHints.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadHints.d.cts","names":[],"sources":["../../src/loading/loadHints.ts"],"mappings":"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"}
1
+ {"version":3,"file":"loadHints.d.cts","names":[],"sources":["../../src/loading/loadHints.ts"],"mappings":"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"}
@@ -18,7 +18,7 @@ type DeepLoadHint<T extends Entity> = NestedLoadHint<T> & {
18
18
  };
19
19
  type MaybeBaseType = any;
20
20
  /** Marks a given `T[K]` field as the loaded/synchronous version of the collection. */
21
- type MarkLoaded<T extends Entity, P, UH = {}> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
21
+ export type MarkLoaded<T extends Entity, P, UH = {}> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
22
22
  /** A version of MarkLoaded the uses `DeepLoadHint` for tests. */
23
23
  type MarkDeepLoaded<T extends Entity, P> = P extends EnumCollection<MaybeBaseType, infer E> ? LoadedEnumCollection<T, E> : P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends Property<MaybeBaseType, infer V> ? [V] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
24
24
  /**
@@ -42,14 +42,14 @@ type MaybeUseOptsType<T extends Entity, O, K extends keyof T & keyof O> = O[K] e
42
42
  * `O` is the generic from the call site so that if the caller passes `{ author: SomeLoadedAuthor }`,
43
43
  * we'll prefer that type, as it might have more nested load hints that we can't otherwise assume.
44
44
  */
45
- type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & { [K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>; };
45
+ export type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & { [K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>; };
46
46
  /**
47
47
  * Marks all references/collections of `T` as deeply loaded, which is only useful for
48
48
  * tests where we can have "the whole object graph" in-memory.
49
49
  */
50
- type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
50
+ export type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
51
51
  /** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
52
- declare function isNew<T extends Entity>(e: T): e is New<T>;
52
+ export declare function isNew<T extends Entity>(e: T): e is New<T>;
53
53
  /**
54
54
  * All the loadable fields, i.e. relations or lazy-loaded/async properties, in an entity.
55
55
  *
@@ -57,7 +57,7 @@ declare function isNew<T extends Entity>(e: T): e is New<T>;
57
57
  * fields that have be added to the entity classes, i.e. `Author.numberOfBooks2` async
58
58
  * properties.
59
59
  */
60
- type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>; };
60
+ export type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>; };
61
61
  /**
62
62
  * Given an entity field/value, return the loadable entity.
63
63
  *
@@ -66,7 +66,7 @@ type Loadable<T extends Entity> = { -readonly [K in keyof T as LoadableValue<T[K
66
66
  * Note that we usually return entities, but for AsyncProperties it could be
67
67
  * a calculated primitive value like number or string.
68
68
  */
69
- type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends Property<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
69
+ export type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends Property<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
70
70
  /**
71
71
  * A load hint of a single key, multiple keys, or nested keys and sub-hints.
72
72
  *
@@ -74,12 +74,12 @@ type LoadableValue<V> = V extends EnumCollection<any, infer E> ? E : V extends R
74
74
  * collections, and async properties to preload (like `Book.author` or `Author.books`), and
75
75
  * do not include any primitive fields (like `Author.firstName`).
76
76
  */
77
- type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
78
- type NestedLoadHint<T extends Entity> = { [K in keyof Loadable<T>]?: Loadable<T>[K] extends (infer U extends Entity) ? LoadHint<U> : {}; };
77
+ export type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
78
+ export type NestedLoadHint<T extends Entity> = { [K in keyof Loadable<T>]?: Loadable<T>[K] extends (infer U extends Entity) ? LoadHint<U> : {}; };
79
79
  /** Given an entity `T` that is being populated with hints `H`, marks the `H` attributes as populated. */
80
- type Loaded<T extends Entity, H> = T & { [K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>; };
80
+ export type Loaded<T extends Entity, H> = T & { [K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>; };
81
81
  /** Recursively checks if the relations from a load hint are loaded on an entity. */
82
- declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
82
+ export declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
83
83
  /**
84
84
  * Recursively checks if a relation-only populate hint is loaded on an entity.
85
85
  *
@@ -88,29 +88,29 @@ declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hi
88
88
  * Treating those primitive leaves as loaded would let `EntityManager.populate` skip the batchloader path and change
89
89
  * reactive recalculation ordering, so the populate fast-path only applies to true relation populate hints.
90
90
  */
91
- declare function isLoadedForPopulate<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
92
- declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
91
+ export declare function isLoadedForPopulate<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
92
+ export declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
93
93
  /**
94
94
  * Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
95
95
  *
96
96
  * Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
97
97
  */
98
- declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
98
+ export declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
99
99
  /**
100
100
  * Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
101
101
  *
102
102
  * Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
103
103
  */
104
- declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
104
+ export declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
105
105
  /**
106
106
  * Unsafe type check for `entity` to `hint`, *without* a runtime type check.
107
107
  *
108
108
  * You should only use this if you're extremely sure that entity has hint loaded.
109
109
  */
110
- declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
110
+ export declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
111
111
  /** From any `Relations` field in `T`, i.e. for loader hints. */
112
- type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
112
+ export type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
113
113
  type SubType<T, C> = Pick<T, { [K in keyof T]: T[K] extends C ? K : never; }[keyof T]>;
114
114
  //#endregion
115
- export { DeepNew, LoadHint, Loadable, LoadableValue, Loaded, MarkLoaded, NestedLoadHint, New, RelationsIn, assertLoaded, ensureLoaded, isLoaded, isLoadedForPopulate, isNew, maybePopulateThen, unsafeLoaded };
115
+ export {};
116
116
  //# sourceMappingURL=loadHints.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadHints.d.mts","names":[],"sources":["../../src/loading/loadHints.ts"],"mappings":"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"}
1
+ {"version":3,"file":"loadHints.d.mts","names":[],"sources":["../../src/loading/loadHints.ts"],"mappings":";;;;;;;;;;;;;;cAuBM;KACD,aAAa,UAAU,UAAU,eAAe;GAAQ;;KAUxD;;YAGO,WAAW,UAAU,QAAQ,GAAG,WAC1C,UAAU,eAAe,qBAAqB,KAC1C,qBAAqB,GAAG,KACxB,UAAU,kBAAkB,qBAAqB,KAC/C,wBAAwB,GAAG,OAAO,GAAG,OACrC,UAAU,UAAU,qBAAqB,SAAS,KAChD,gBAAgB,GAAG,OAAO,GAAG,KAAK,KAClC,UAAU,WAAW,qBAAqB,KACxC,iBAAiB,GAAG,OAAO,GAAG,OAC9B,UAAU,mBAAmB,qBAAqB,KAChD,yBAAyB,GAAG,OAAO,GAAG,OACtC,UAAU,SAAS,qBAAqB,MAErC,mBAAmB,UAAU,uBACxC,eAAe,GAAG,OAAO,GAAG,MAAM,QAAQ,GAAG,MAC7C,0BAA0B,UAAU,YACpC,eAAe,GAAG,OAAO,GAAG,SAC5B,eAAe,GAAG,KACR,UAAU,YAAY,SAAS,SAAS,KACtC,aAAa,GAAG,GAAG;;KAIhC,eAAe,UAAU,QAAQ,KACpC,UAAU,eAAe,qBAAqB,KAC1C,qBAAqB,GAAG,KACxB,UAAU,kBAAkB,qBAAqB,KAC/C,wBAAwB,GAAG,OAAO,GAAG,aAAa,OAClD,UAAU,UAAU,qBAAqB,SAAS,KAChD,gBAAgB,GAAG,OAAO,GAAG,aAAa,KAAK,KAC/C,UAAU,WAAW,qBAAqB,KACxC,iBAAiB,GAAG,OAAO,GAAG,aAAa,OAC3C,UAAU,mBAAmB,qBAAqB,KAChD,yBAAyB,GAAG,OAAO,GAAG,aAAa,OACnD,UAAU,SAAS,qBAAqB,MAErC,mBAAmB,UAAU,uBACxC,eAAe,GAAG,OAAO,GAAG,aAAa,MAAM,QAAQ,GAAG,MAC1D,0BAA0B,UAAU,YACpC,eAAe,GAAG,OAAO,GAAG,aAAa,SACzC,eAAe,GAAG,KACR,UAAU,YAAY,SAAS,SAAS,KACtC,aAAa,GAAG,GAAG;;;;;;;;;;;;;;KAgBhC,iBAAiB,UAAU,QAAQ,GAAG,gBAAgB,UAAU,KACnE,EAAE,WAAW,sBAAsB,MAC/B,WAAW,SACT,EAAE,WAAW,kBAAkB,SAAS,KACtC,wBAAwB,GAAG,KAC3B,EAAE,WAAW,UAAU,SAAS,SAAS,KACvC,gBAAgB,GAAG,IAAI,aAE3B,WAAW,YAAY,MACrB,WAAW,SACT,EAAE,WAAW,WAAW,SAAS,KAC/B,iBAAiB,GAAG,cAEtB,EAAE,KACJ,EAAE;;;;;;;;YAUA,IAAI,UAAU,QAAQ,UAAU,OAAO,KAAK,OAAO,MAAM,OASlE,WAAW,IAAI,gBAAgB,IAAI,iBAAiB,GAAG,GAAG,KAAK,WAAW,GAAG,EAAE;;;;;YAOtE,QAAQ,UAAU,UAAU,OAAO,GAAG,aAAa;;wBAG/C,MAAM,UAAU,QAAQ,GAAG,IAAI,KAAK,IAAI;;;;;;;;YAW5C,SAAS,UAAU,uBAClB,WAAW,KAAK,cAAc,EAAE,4BAA4B,IAAI,cAAc,EAAE;;;;;;;;;YAWjF,cAAc,KACxB,UAAU,0BAA0B,KAChC,IACA,UAAU,qBAAqB,UAC7B,IACA,UAAU,sBAAsB,KAC9B,IACA,UAAU,8BAA8B,KACtC,IACA,UAAU,4BAA4B,KACpC,IACA,UAAU,oBAAoB,KAG5B,iBAAiB,UAAU,sBAAsB,IAAI;;;;;;;;YAUzD,SAAS,UAAU,iBACpB,SAAS,eAChB,oBAAoB,SAAS,eAC7B,eAAe;YAEP,eAAe,UAAU,aAElC,WAAW,SAAS,MAAM,SAAS,GAAG,kBAAiB,UAAU,UAAS,SAAS;;YAI1E,OAAO,UAAU,QAAQ,KAAK,OACvC,WAAW,UAAU,cAAc,KAAK,UAAU,aAAa,KAC5D,eAAe,GAAG,EAAE,MACpB,WAAW,GAAG,EAAE,IAAI,cAAc,GAAG;;wBAI3B,SAAS,UAAU,QAAQ,UAAU,SAAS,IAAI,QAAQ,GAAG,MAAM,IAAI,UAAU,OAAO,GAAG;;;;;;;;;wBAwC3F,oBAAoB,UAAU,QAAQ,UAAU,SAAS,IACvE,QAAQ,GACR,MAAM,IACL,UAAU,OAAO,GAAG;wBA6BP,kBAAkB,UAAU,QAAQ,UAAU,SAAS,IAAI,GACzE,QAAQ,GACR,MAAM,GACN,KAAK,QAAQ,OAAO,GAAG,OAAO,IAC7B,aAAa;;;;;;wBASA,aAAa,UAAU,cAAc,UAAU,SAAS,IACtE,QAAQ,GACR,MAAM,YACG,UAAU,OAAO,GAAG;;;;;;wBASf,aAAa,UAAU,cAAc,UAAU,SAAS,IAAI,QAAQ,GAAG,MAAM,IAAI,OAAO,GAAG;;;;;;wBAU3F,aAAa,UAAU,cAAc,UAAU,SAAS,IAAI,QAAQ,GAAG,MAAM,IAAI,OAAO,GAAG;;YAK/F,YAAY,UAAU,UAAU,QAAQ,GAAG;KAGlD,QAAQ,GAAG,KAAK,KAAK,MAAM,WAAW,IAAI,EAAE,WAAW,IAAI,mBAAkB"}
@@ -33,7 +33,7 @@ type DropUndefined<T> = Exclude<T, undefined>;
33
33
  * `R` is either a `T` or `T[]` or `T | undefined` and just captures whether we've hit a
34
34
  * list at any point in the lens navigation path.
35
35
  */
36
- type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>; };
36
+ export type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>; };
37
37
  /**
38
38
  * Allows declaratively loading/traversing several layers of references at once.
39
39
  *
@@ -43,35 +43,35 @@ type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<Ma
43
43
  * const publisher = await book.load(b => b.author.publisher);
44
44
  * ```
45
45
  */
46
- declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
46
+ export declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
47
47
  forceReload?: boolean;
48
48
  sql?: boolean;
49
49
  }): Promise<V>;
50
50
  /** Loads a precomputed lens path, avoiding repeated lambda/proxy evaluation for long-lived relation declarations. */
51
- declare function loadLensPath<T extends Entity, V>(start: T | readonly T[], paths: string[], opts?: {
51
+ export declare function loadLensPath<T extends Entity, V>(start: T | readonly T[], paths: string[], opts?: {
52
52
  forceReload?: boolean;
53
53
  sql?: boolean;
54
54
  }): Promise<V>;
55
- declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
56
- declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
55
+ export declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
56
+ export declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
57
57
  /**
58
58
  * The synchronous version of `loadLens`.
59
59
  *
60
60
  * This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
61
61
  */
62
- declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
62
+ export declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
63
63
  /** Synchronously traverses a precomputed lens path. */
64
- declare function getLensPath<T, V>(startMeta: EntityMetadata, start: T | readonly T[], paths: string[]): V;
64
+ export declare function getLensPath<T, V>(startMeta: EntityMetadata, start: T | readonly T[], paths: string[]): V;
65
65
  /** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
66
- declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
66
+ export declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
67
67
  /** Returns whether a precomputed lens path is loaded; primarily for deeply loaded instances in tests. */
68
- declare function isLensLoadedPath<T>(start: T | readonly T[], paths: string[]): boolean;
68
+ export declare function isLensLoadedPath<T>(start: T | readonly T[], paths: string[]): boolean;
69
69
  /** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
70
- declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
70
+ export declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
71
71
  /** Accepts lens paths like `[books, reviews]` and returns a hint like `{ books: { reviews: {} } }`. */
72
- declare function lensPathToLoadHint<T extends Entity>(paths: string[]): LoadHint<T>;
72
+ export declare function lensPathToLoadHint<T extends Entity>(paths: string[]): LoadHint<T>;
73
73
  /** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
74
- declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
74
+ export declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
75
75
  //#endregion
76
- export { Lens, getLens, getLensPath, isAllSqlPaths, isLensLoaded, isLensLoadedPath, lensPathToLoadHint, lensToLoadHint, lensToPath, loadLens, loadLensPath, mapPathsToTarget };
76
+ export {};
77
77
  //# sourceMappingURL=loadLens.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadLens.d.cts","names":[],"sources":["../../src/loading/loadLens.ts"],"mappings":";;;;;KAkBK,SAAS;EAAO,QAAQ,QAAQ;;;KAGhC,cAAc,WAAW,YAAY;;;;;;;;;;;;;KAiBrC,WAAW,GAAG,KACjB,UAAU,sBACL,YAAY,oBAAoB,MAC/B,cAAc,OACd,cAAc,OAChB,UAAU,qBACR,KACC,yBACC,gBACA;;KAKL,eAAe,KAAK,UAAU,oBAAoB,KAAK,IAAI;KAE3D,cAAc,KAAK,QAAQ;;;;;;;;;;KAWpB,KAAK,GAAG,IAAI,QACrB,WAAW,IAAI,EAAE,WAAW,eAAe,KACxC,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,EAAE,WAAW,oBAAoB,KAC/B,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,KAAK,eAAe,cAAc,EAAE,MAAM,WAAW,GAAG,EAAE;;;;;;;;;;iBAe5C,SAAS,UAAU,QAAQ,GAAG,GAClD,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAC/B;EAAQ;EAAuB;IAC9B,QAAQ;;iBAKK,aAAa,UAAU,QAAQ,GAC7C,OAAO,aAAa,KACpB,iBACA;EAAQ;EAAuB;IAC9B,QAAQ;iBA8FK,cAAc,MAAM,gBAAgB;iBAapC,iBAAiB,QAAQ,gBAAgB,mBAAmB,iBAAiB,gBAAgB;;;;;;iBAkC7F,QAAQ,GAAG,GAAG,GAC5B,WAAW,gBACX,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAC9B;;iBAKa,YAAY,GAAG,GAAG,WAAW,gBAAgB,OAAO,aAAa,KAAK,kBAAkB;;iBAqDxF,aAAa,GAAG,GAAG,GAAG,OAAO,aAAa,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG;;iBAK9E,iBAAiB,GAAG,OAAO,aAAa,KAAK;;iBAgC7C,eAAe,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS;;iBAKpF,mBAAmB,UAAU,QAAQ,kBAAkB,SAAS;;iBAUhE,WAAW,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG"}
1
+ {"version":3,"file":"loadLens.d.cts","names":[],"sources":["../../src/loading/loadLens.ts"],"mappings":";;;;;KAkBK,SAAS;EAAO,QAAQ,QAAQ;;;KAGhC,cAAc,WAAW,YAAY;;;;;;;;;;;;;KAiBrC,WAAW,GAAG,KACjB,UAAU,sBACL,YAAY,oBAAoB,MAC/B,cAAc,OACd,cAAc,OAChB,UAAU,qBACR,KACC,yBACC,gBACA;;KAKL,eAAe,KAAK,UAAU,oBAAoB,KAAK,IAAI;KAE3D,cAAc,KAAK,QAAQ;;;;;;;;;;YAWpB,KAAK,GAAG,IAAI,QACrB,WAAW,IAAI,EAAE,WAAW,eAAe,KACxC,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,EAAE,WAAW,oBAAoB,KAC/B,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,KAAK,eAAe,cAAc,EAAE,MAAM,WAAW,GAAG,EAAE;;;;;;;;;;wBAe5C,SAAS,UAAU,QAAQ,GAAG,GAClD,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAC/B;EAAQ;EAAuB;IAC9B,QAAQ;;wBAKK,aAAa,UAAU,QAAQ,GAC7C,OAAO,aAAa,KACpB,iBACA;EAAQ;EAAuB;IAC9B,QAAQ;wBA8FK,cAAc,MAAM,gBAAgB;wBAapC,iBAAiB,QAAQ,gBAAgB,mBAAmB,iBAAiB,gBAAgB;;;;;;wBAkC7F,QAAQ,GAAG,GAAG,GAC5B,WAAW,gBACX,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAC9B;;wBAKa,YAAY,GAAG,GAAG,WAAW,gBAAgB,OAAO,aAAa,KAAK,kBAAkB;;wBAqDxF,aAAa,GAAG,GAAG,GAAG,OAAO,aAAa,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG;;wBAK9E,iBAAiB,GAAG,OAAO,aAAa,KAAK;;wBAgC7C,eAAe,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS;;wBAKpF,mBAAmB,UAAU,QAAQ,kBAAkB,SAAS;;wBAUhE,WAAW,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG"}
@@ -33,7 +33,7 @@ type DropUndefined<T> = Exclude<T, undefined>;
33
33
  * `R` is either a `T` or `T[]` or `T | undefined` and just captures whether we've hit a
34
34
  * list at any point in the lens navigation path.
35
35
  */
36
- type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>; };
36
+ export type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>; };
37
37
  /**
38
38
  * Allows declaratively loading/traversing several layers of references at once.
39
39
  *
@@ -43,35 +43,35 @@ type Lens<T, R = T> = { [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<Ma
43
43
  * const publisher = await book.load(b => b.author.publisher);
44
44
  * ```
45
45
  */
46
- declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
46
+ export declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
47
47
  forceReload?: boolean;
48
48
  sql?: boolean;
49
49
  }): Promise<V>;
50
50
  /** Loads a precomputed lens path, avoiding repeated lambda/proxy evaluation for long-lived relation declarations. */
51
- declare function loadLensPath<T extends Entity, V>(start: T | readonly T[], paths: string[], opts?: {
51
+ export declare function loadLensPath<T extends Entity, V>(start: T | readonly T[], paths: string[], opts?: {
52
52
  forceReload?: boolean;
53
53
  sql?: boolean;
54
54
  }): Promise<V>;
55
- declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
56
- declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
55
+ export declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
56
+ export declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
57
57
  /**
58
58
  * The synchronous version of `loadLens`.
59
59
  *
60
60
  * This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
61
61
  */
62
- declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
62
+ export declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
63
63
  /** Synchronously traverses a precomputed lens path. */
64
- declare function getLensPath<T, V>(startMeta: EntityMetadata, start: T | readonly T[], paths: string[]): V;
64
+ export declare function getLensPath<T, V>(startMeta: EntityMetadata, start: T | readonly T[], paths: string[]): V;
65
65
  /** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
66
- declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
66
+ export declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
67
67
  /** Returns whether a precomputed lens path is loaded; primarily for deeply loaded instances in tests. */
68
- declare function isLensLoadedPath<T>(start: T | readonly T[], paths: string[]): boolean;
68
+ export declare function isLensLoadedPath<T>(start: T | readonly T[], paths: string[]): boolean;
69
69
  /** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
70
- declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
70
+ export declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
71
71
  /** Accepts lens paths like `[books, reviews]` and returns a hint like `{ books: { reviews: {} } }`. */
72
- declare function lensPathToLoadHint<T extends Entity>(paths: string[]): LoadHint<T>;
72
+ export declare function lensPathToLoadHint<T extends Entity>(paths: string[]): LoadHint<T>;
73
73
  /** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
74
- declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
74
+ export declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
75
75
  //#endregion
76
- export { Lens, getLens, getLensPath, isAllSqlPaths, isLensLoaded, isLensLoadedPath, lensPathToLoadHint, lensToLoadHint, lensToPath, loadLens, loadLensPath, mapPathsToTarget };
76
+ export {};
77
77
  //# sourceMappingURL=loadLens.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadLens.d.mts","names":[],"sources":["../../src/loading/loadLens.ts"],"mappings":";;;;;KAkBK,SAAS;EAAO,QAAQ,QAAQ;;;KAGhC,cAAc,WAAW,YAAY;;;;;;;;;;;;;KAiBrC,WAAW,GAAG,KACjB,UAAU,sBACL,YAAY,oBAAoB,MAC/B,cAAc,OACd,cAAc,OAChB,UAAU,qBACR,KACC,yBACC,gBACA;;KAKL,eAAe,KAAK,UAAU,oBAAoB,KAAK,IAAI;KAE3D,cAAc,KAAK,QAAQ;;;;;;;;;;KAWpB,KAAK,GAAG,IAAI,QACrB,WAAW,IAAI,EAAE,WAAW,eAAe,KACxC,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,EAAE,WAAW,oBAAoB,KAC/B,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,KAAK,eAAe,cAAc,EAAE,MAAM,WAAW,GAAG,EAAE;;;;;;;;;;iBAe5C,SAAS,UAAU,QAAQ,GAAG,GAClD,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAC/B;EAAQ;EAAuB;IAC9B,QAAQ;;iBAKK,aAAa,UAAU,QAAQ,GAC7C,OAAO,aAAa,KACpB,iBACA;EAAQ;EAAuB;IAC9B,QAAQ;iBA8FK,cAAc,MAAM,gBAAgB;iBAapC,iBAAiB,QAAQ,gBAAgB,mBAAmB,iBAAiB,gBAAgB;;;;;;iBAkC7F,QAAQ,GAAG,GAAG,GAC5B,WAAW,gBACX,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAC9B;;iBAKa,YAAY,GAAG,GAAG,WAAW,gBAAgB,OAAO,aAAa,KAAK,kBAAkB;;iBAqDxF,aAAa,GAAG,GAAG,GAAG,OAAO,aAAa,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG;;iBAK9E,iBAAiB,GAAG,OAAO,aAAa,KAAK;;iBAgC7C,eAAe,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS;;iBAKpF,mBAAmB,UAAU,QAAQ,kBAAkB,SAAS;;iBAUhE,WAAW,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG"}
1
+ {"version":3,"file":"loadLens.d.mts","names":[],"sources":["../../src/loading/loadLens.ts"],"mappings":";;;;;KAkBK,SAAS;EAAO,QAAQ,QAAQ;;;KAGhC,cAAc,WAAW,YAAY;;;;;;;;;;;;;KAiBrC,WAAW,GAAG,KACjB,UAAU,sBACL,YAAY,oBAAoB,MAC/B,cAAc,OACd,cAAc,OAChB,UAAU,qBACR,KACC,yBACC,gBACA;;KAKL,eAAe,KAAK,UAAU,oBAAoB,KAAK,IAAI;KAE3D,cAAc,KAAK,QAAQ;;;;;;;;;;YAWpB,KAAK,GAAG,IAAI,QACrB,WAAW,IAAI,EAAE,WAAW,eAAe,KACxC,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,EAAE,WAAW,oBAAoB,KAC/B,KAAK,eAAe,cAAc,KAAK,WAAW,GAAG,MACrD,KAAK,eAAe,cAAc,EAAE,MAAM,WAAW,GAAG,EAAE;;;;;;;;;;wBAe5C,SAAS,UAAU,QAAQ,GAAG,GAClD,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAC/B;EAAQ;EAAuB;IAC9B,QAAQ;;wBAKK,aAAa,UAAU,QAAQ,GAC7C,OAAO,aAAa,KACpB,iBACA;EAAQ;EAAuB;IAC9B,QAAQ;wBA8FK,cAAc,MAAM,gBAAgB;wBAapC,iBAAiB,QAAQ,gBAAgB,mBAAmB,iBAAiB,gBAAgB;;;;;;wBAkC7F,QAAQ,GAAG,GAAG,GAC5B,WAAW,gBACX,OAAO,aAAa,KACpB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAC9B;;wBAKa,YAAY,GAAG,GAAG,WAAW,gBAAgB,OAAO,aAAa,KAAK,kBAAkB;;wBAqDxF,aAAa,GAAG,GAAG,GAAG,OAAO,aAAa,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG;;wBAK9E,iBAAiB,GAAG,OAAO,aAAa,KAAK;;wBAgC7C,eAAe,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS;;wBAKpF,mBAAmB,UAAU,QAAQ,kBAAkB,SAAS;;wBAUhE,WAAW,UAAU,QAAQ,GAAG,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG"}