palistor 0.0.24

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 (431) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +947 -0
  3. package/dist/index.d.ts +54 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +58 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/react/createTrackingProxy.d.ts +55 -0
  8. package/dist/react/createTrackingProxy.d.ts.map +1 -0
  9. package/dist/react/createTrackingProxy.js +149 -0
  10. package/dist/react/createTrackingProxy.js.map +1 -0
  11. package/dist/react/useForm.d.ts +108 -0
  12. package/dist/react/useForm.d.ts.map +1 -0
  13. package/dist/react/useForm.js +180 -0
  14. package/dist/react/useForm.js.map +1 -0
  15. package/dist/react/useNotifier.d.ts +35 -0
  16. package/dist/react/useNotifier.d.ts.map +1 -0
  17. package/dist/react/useNotifier.js +41 -0
  18. package/dist/react/useNotifier.js.map +1 -0
  19. package/dist/react/usePersist.d.ts +45 -0
  20. package/dist/react/usePersist.d.ts.map +1 -0
  21. package/dist/react/usePersist.js +60 -0
  22. package/dist/react/usePersist.js.map +1 -0
  23. package/dist/react/useStoreContext.d.ts +42 -0
  24. package/dist/react/useStoreContext.d.ts.map +1 -0
  25. package/dist/react/useStoreContext.js +46 -0
  26. package/dist/react/useStoreContext.js.map +1 -0
  27. package/dist/react/useTranslator.d.ts +37 -0
  28. package/dist/react/useTranslator.d.ts.map +1 -0
  29. package/dist/react/useTranslator.js +43 -0
  30. package/dist/react/useTranslator.js.map +1 -0
  31. package/dist/store/applyPatch/applyPatch.d.ts +17 -0
  32. package/dist/store/applyPatch/applyPatch.d.ts.map +1 -0
  33. package/dist/store/applyPatch/applyPatch.js +44 -0
  34. package/dist/store/applyPatch/applyPatch.js.map +1 -0
  35. package/dist/store/buildProxy/buildEntityProjectionProxy.d.ts +52 -0
  36. package/dist/store/buildProxy/buildEntityProjectionProxy.d.ts.map +1 -0
  37. package/dist/store/buildProxy/buildEntityProjectionProxy.js +321 -0
  38. package/dist/store/buildProxy/buildEntityProjectionProxy.js.map +1 -0
  39. package/dist/store/buildProxy/buildListProxy.d.ts +33 -0
  40. package/dist/store/buildProxy/buildListProxy.d.ts.map +1 -0
  41. package/dist/store/buildProxy/buildListProxy.js +306 -0
  42. package/dist/store/buildProxy/buildListProxy.js.map +1 -0
  43. package/dist/store/buildProxy/buildProxy.d.ts +41 -0
  44. package/dist/store/buildProxy/buildProxy.d.ts.map +1 -0
  45. package/dist/store/buildProxy/buildProxy.js +380 -0
  46. package/dist/store/buildProxy/buildProxy.js.map +1 -0
  47. package/dist/store/buildProxy/computeProxyKeys.d.ts +15 -0
  48. package/dist/store/buildProxy/computeProxyKeys.d.ts.map +1 -0
  49. package/dist/store/buildProxy/computeProxyKeys.js +28 -0
  50. package/dist/store/buildProxy/computeProxyKeys.js.map +1 -0
  51. package/dist/store/buildProxy/handleLazyResolve.d.ts +10 -0
  52. package/dist/store/buildProxy/handleLazyResolve.d.ts.map +1 -0
  53. package/dist/store/buildProxy/handleLazyResolve.js +26 -0
  54. package/dist/store/buildProxy/handleLazyResolve.js.map +1 -0
  55. package/dist/store/buildProxy/initProxyCaches.d.ts +16 -0
  56. package/dist/store/buildProxy/initProxyCaches.d.ts.map +1 -0
  57. package/dist/store/buildProxy/initProxyCaches.js +17 -0
  58. package/dist/store/buildProxy/initProxyCaches.js.map +1 -0
  59. package/dist/store/compute/computeFieldState.d.ts +10 -0
  60. package/dist/store/compute/computeFieldState.d.ts.map +1 -0
  61. package/dist/store/compute/computeFieldState.js +53 -0
  62. package/dist/store/compute/computeFieldState.js.map +1 -0
  63. package/dist/store/compute/fieldStateChanged.d.ts +6 -0
  64. package/dist/store/compute/fieldStateChanged.d.ts.map +1 -0
  65. package/dist/store/compute/fieldStateChanged.js +20 -0
  66. package/dist/store/compute/fieldStateChanged.js.map +1 -0
  67. package/dist/store/compute/index.d.ts +7 -0
  68. package/dist/store/compute/index.d.ts.map +1 -0
  69. package/dist/store/compute/index.js +6 -0
  70. package/dist/store/compute/index.js.map +1 -0
  71. package/dist/store/compute/isEmpty.d.ts +6 -0
  72. package/dist/store/compute/isEmpty.d.ts.map +1 -0
  73. package/dist/store/compute/isEmpty.js +14 -0
  74. package/dist/store/compute/isEmpty.js.map +1 -0
  75. package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts +11 -0
  76. package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts.map +1 -0
  77. package/dist/store/compute/recompute/collectGroupComputeNodes.js +26 -0
  78. package/dist/store/compute/recompute/collectGroupComputeNodes.js.map +1 -0
  79. package/dist/store/compute/recompute/collectGroupLeafNodes.d.ts +11 -0
  80. package/dist/store/compute/recompute/collectGroupLeafNodes.d.ts.map +1 -0
  81. package/dist/store/compute/recompute/collectGroupLeafNodes.js +26 -0
  82. package/dist/store/compute/recompute/collectGroupLeafNodes.js.map +1 -0
  83. package/dist/store/compute/recompute/index.d.ts +7 -0
  84. package/dist/store/compute/recompute/index.d.ts.map +1 -0
  85. package/dist/store/compute/recompute/index.js +6 -0
  86. package/dist/store/compute/recompute/index.js.map +1 -0
  87. package/dist/store/compute/recompute/recomputeAndNotify.d.ts +8 -0
  88. package/dist/store/compute/recompute/recomputeAndNotify.d.ts.map +1 -0
  89. package/dist/store/compute/recompute/recomputeAndNotify.js +13 -0
  90. package/dist/store/compute/recompute/recomputeAndNotify.js.map +1 -0
  91. package/dist/store/compute/recompute/recomputeLeaves.d.ts +23 -0
  92. package/dist/store/compute/recompute/recomputeLeaves.d.ts.map +1 -0
  93. package/dist/store/compute/recompute/recomputeLeaves.js +77 -0
  94. package/dist/store/compute/recompute/recomputeLeaves.js.map +1 -0
  95. package/dist/store/compute/recompute/recomputeTargeted.d.ts +14 -0
  96. package/dist/store/compute/recompute/recomputeTargeted.d.ts.map +1 -0
  97. package/dist/store/compute/recompute/recomputeTargeted.js +50 -0
  98. package/dist/store/compute/recompute/recomputeTargeted.js.map +1 -0
  99. package/dist/store/compute/recompute/topologicalSortComputed.d.ts +16 -0
  100. package/dist/store/compute/recompute/topologicalSortComputed.d.ts.map +1 -0
  101. package/dist/store/compute/recompute/topologicalSortComputed.js +60 -0
  102. package/dist/store/compute/recompute/topologicalSortComputed.js.map +1 -0
  103. package/dist/store/compute/recompute/types.d.ts +24 -0
  104. package/dist/store/compute/recompute/types.d.ts.map +1 -0
  105. package/dist/store/compute/recompute/types.js +2 -0
  106. package/dist/store/compute/recompute/types.js.map +1 -0
  107. package/dist/store/compute/resolveFlag.d.ts +7 -0
  108. package/dist/store/compute/resolveFlag.d.ts.map +1 -0
  109. package/dist/store/compute/resolveFlag.js +12 -0
  110. package/dist/store/compute/resolveFlag.js.map +1 -0
  111. package/dist/store/compute/resolveString.d.ts +11 -0
  112. package/dist/store/compute/resolveString.d.ts.map +1 -0
  113. package/dist/store/compute/resolveString.js +18 -0
  114. package/dist/store/compute/resolveString.js.map +1 -0
  115. package/dist/store/compute/types.d.ts +37 -0
  116. package/dist/store/compute/types.d.ts.map +1 -0
  117. package/dist/store/compute/types.js +2 -0
  118. package/dist/store/compute/types.js.map +1 -0
  119. package/dist/store/constants.d.ts +83 -0
  120. package/dist/store/constants.d.ts.map +1 -0
  121. package/dist/store/constants.js +145 -0
  122. package/dist/store/constants.js.map +1 -0
  123. package/dist/store/defineFieldMapping.d.ts +41 -0
  124. package/dist/store/defineFieldMapping.d.ts.map +1 -0
  125. package/dist/store/defineFieldMapping.js +42 -0
  126. package/dist/store/defineFieldMapping.js.map +1 -0
  127. package/dist/store/defineList.d.ts +14 -0
  128. package/dist/store/defineList.d.ts.map +1 -0
  129. package/dist/store/defineList.js +7 -0
  130. package/dist/store/defineList.js.map +1 -0
  131. package/dist/store/dirtyTracking/captureInitialValues.d.ts +8 -0
  132. package/dist/store/dirtyTracking/captureInitialValues.d.ts.map +1 -0
  133. package/dist/store/dirtyTracking/captureInitialValues.js +16 -0
  134. package/dist/store/dirtyTracking/captureInitialValues.js.map +1 -0
  135. package/dist/store/dirtyTracking/collectInitialSnapshot.d.ts +10 -0
  136. package/dist/store/dirtyTracking/collectInitialSnapshot.d.ts.map +1 -0
  137. package/dist/store/dirtyTracking/collectInitialSnapshot.js +35 -0
  138. package/dist/store/dirtyTracking/collectInitialSnapshot.js.map +1 -0
  139. package/dist/store/dirtyTracking/index.d.ts +7 -0
  140. package/dist/store/dirtyTracking/index.d.ts.map +1 -0
  141. package/dist/store/dirtyTracking/index.js +6 -0
  142. package/dist/store/dirtyTracking/index.js.map +1 -0
  143. package/dist/store/dirtyTracking/isDirtyValue.d.ts +7 -0
  144. package/dist/store/dirtyTracking/isDirtyValue.d.ts.map +1 -0
  145. package/dist/store/dirtyTracking/isDirtyValue.js +25 -0
  146. package/dist/store/dirtyTracking/isDirtyValue.js.map +1 -0
  147. package/dist/store/dirtyTracking/mergeInitialValues.d.ts +11 -0
  148. package/dist/store/dirtyTracking/mergeInitialValues.d.ts.map +1 -0
  149. package/dist/store/dirtyTracking/mergeInitialValues.js +29 -0
  150. package/dist/store/dirtyTracking/mergeInitialValues.js.map +1 -0
  151. package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts +17 -0
  152. package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts.map +1 -0
  153. package/dist/store/dirtyTracking/recomputeDirtyTargeted.js +90 -0
  154. package/dist/store/dirtyTracking/recomputeDirtyTargeted.js.map +1 -0
  155. package/dist/store/dirtyTracking/setGroupRevalidate.d.ts +13 -0
  156. package/dist/store/dirtyTracking/setGroupRevalidate.d.ts.map +1 -0
  157. package/dist/store/dirtyTracking/setGroupRevalidate.js +32 -0
  158. package/dist/store/dirtyTracking/setGroupRevalidate.js.map +1 -0
  159. package/dist/store/entityRegistry/entityRegistry.d.ts +166 -0
  160. package/dist/store/entityRegistry/entityRegistry.d.ts.map +1 -0
  161. package/dist/store/entityRegistry/entityRegistry.js +402 -0
  162. package/dist/store/entityRegistry/entityRegistry.js.map +1 -0
  163. package/dist/store/entityRegistry/generateId.d.ts +7 -0
  164. package/dist/store/entityRegistry/generateId.d.ts.map +1 -0
  165. package/dist/store/entityRegistry/generateId.js +18 -0
  166. package/dist/store/entityRegistry/generateId.js.map +1 -0
  167. package/dist/store/entityRegistry/index.d.ts +4 -0
  168. package/dist/store/entityRegistry/index.d.ts.map +1 -0
  169. package/dist/store/entityRegistry/index.js +3 -0
  170. package/dist/store/entityRegistry/index.js.map +1 -0
  171. package/dist/store/entityRegistry/types.d.ts +50 -0
  172. package/dist/store/entityRegistry/types.d.ts.map +1 -0
  173. package/dist/store/entityRegistry/types.js +2 -0
  174. package/dist/store/entityRegistry/types.js.map +1 -0
  175. package/dist/store/fieldMapping.typecheck.d.ts +2 -0
  176. package/dist/store/fieldMapping.typecheck.d.ts.map +1 -0
  177. package/dist/store/fieldMapping.typecheck.js +71 -0
  178. package/dist/store/fieldMapping.typecheck.js.map +1 -0
  179. package/dist/store/groupDeps/createGroupDeps.d.ts +9 -0
  180. package/dist/store/groupDeps/createGroupDeps.d.ts.map +1 -0
  181. package/dist/store/groupDeps/createGroupDeps.js +29 -0
  182. package/dist/store/groupDeps/createGroupDeps.js.map +1 -0
  183. package/dist/store/groupDeps/createTrackingValues.d.ts +15 -0
  184. package/dist/store/groupDeps/createTrackingValues.d.ts.map +1 -0
  185. package/dist/store/groupDeps/createTrackingValues.js +39 -0
  186. package/dist/store/groupDeps/createTrackingValues.js.map +1 -0
  187. package/dist/store/groupDeps/getNodeGroupPath.d.ts +9 -0
  188. package/dist/store/groupDeps/getNodeGroupPath.d.ts.map +1 -0
  189. package/dist/store/groupDeps/getNodeGroupPath.js +20 -0
  190. package/dist/store/groupDeps/getNodeGroupPath.js.map +1 -0
  191. package/dist/store/groupDeps/getRecipientGroups.d.ts +5 -0
  192. package/dist/store/groupDeps/getRecipientGroups.d.ts.map +1 -0
  193. package/dist/store/groupDeps/getRecipientGroups.js +15 -0
  194. package/dist/store/groupDeps/getRecipientGroups.js.map +1 -0
  195. package/dist/store/groupDeps/groupDeps.d.ts +19 -0
  196. package/dist/store/groupDeps/groupDeps.d.ts.map +1 -0
  197. package/dist/store/groupDeps/groupDeps.js +19 -0
  198. package/dist/store/groupDeps/groupDeps.js.map +1 -0
  199. package/dist/store/groupDeps/index.d.ts +7 -0
  200. package/dist/store/groupDeps/index.d.ts.map +1 -0
  201. package/dist/store/groupDeps/index.js +7 -0
  202. package/dist/store/groupDeps/index.js.map +1 -0
  203. package/dist/store/groupDeps/pairKey.d.ts +7 -0
  204. package/dist/store/groupDeps/pairKey.d.ts.map +1 -0
  205. package/dist/store/groupDeps/pairKey.js +12 -0
  206. package/dist/store/groupDeps/pairKey.js.map +1 -0
  207. package/dist/store/groupDeps/resolveGroupByPath.d.ts +8 -0
  208. package/dist/store/groupDeps/resolveGroupByPath.d.ts.map +1 -0
  209. package/dist/store/groupDeps/resolveGroupByPath.js +19 -0
  210. package/dist/store/groupDeps/resolveGroupByPath.js.map +1 -0
  211. package/dist/store/init/createNotificationHub.d.ts +81 -0
  212. package/dist/store/init/createNotificationHub.d.ts.map +1 -0
  213. package/dist/store/init/createNotificationHub.js +149 -0
  214. package/dist/store/init/createNotificationHub.js.map +1 -0
  215. package/dist/store/init/createResolveManager.d.ts +166 -0
  216. package/dist/store/init/createResolveManager.d.ts.map +1 -0
  217. package/dist/store/init/createResolveManager.js +502 -0
  218. package/dist/store/init/createResolveManager.js.map +1 -0
  219. package/dist/store/init/initGroupSubmitting.d.ts +8 -0
  220. package/dist/store/init/initGroupSubmitting.d.ts.map +1 -0
  221. package/dist/store/init/initGroupSubmitting.js +39 -0
  222. package/dist/store/init/initGroupSubmitting.js.map +1 -0
  223. package/dist/store/normalizeConfig.d.ts +28 -0
  224. package/dist/store/normalizeConfig.d.ts.map +1 -0
  225. package/dist/store/normalizeConfig.js +76 -0
  226. package/dist/store/normalizeConfig.js.map +1 -0
  227. package/dist/store/onChangePipeline/computeFieldKey.d.ts +11 -0
  228. package/dist/store/onChangePipeline/computeFieldKey.d.ts.map +1 -0
  229. package/dist/store/onChangePipeline/computeFieldKey.js +18 -0
  230. package/dist/store/onChangePipeline/computeFieldKey.js.map +1 -0
  231. package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts +8 -0
  232. package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts.map +1 -0
  233. package/dist/store/onChangePipeline/findOnChangeAncestors.js +22 -0
  234. package/dist/store/onChangePipeline/findOnChangeAncestors.js.map +1 -0
  235. package/dist/store/onChangePipeline/onChangePipeline.d.ts +29 -0
  236. package/dist/store/onChangePipeline/onChangePipeline.d.ts.map +1 -0
  237. package/dist/store/onChangePipeline/onChangePipeline.js +99 -0
  238. package/dist/store/onChangePipeline/onChangePipeline.js.map +1 -0
  239. package/dist/store/persist/drivers.d.ts +34 -0
  240. package/dist/store/persist/drivers.d.ts.map +1 -0
  241. package/dist/store/persist/drivers.js +89 -0
  242. package/dist/store/persist/drivers.js.map +1 -0
  243. package/dist/store/persist/index.d.ts +7 -0
  244. package/dist/store/persist/index.d.ts.map +1 -0
  245. package/dist/store/persist/index.js +3 -0
  246. package/dist/store/persist/index.js.map +1 -0
  247. package/dist/store/persist/persistManager.d.ts +67 -0
  248. package/dist/store/persist/persistManager.d.ts.map +1 -0
  249. package/dist/store/persist/persistManager.js +198 -0
  250. package/dist/store/persist/persistManager.js.map +1 -0
  251. package/dist/store/persist/types.d.ts +66 -0
  252. package/dist/store/persist/types.d.ts.map +1 -0
  253. package/dist/store/persist/types.js +9 -0
  254. package/dist/store/persist/types.js.map +1 -0
  255. package/dist/store/resetPipeline/buildResetPatch.d.ts +11 -0
  256. package/dist/store/resetPipeline/buildResetPatch.d.ts.map +1 -0
  257. package/dist/store/resetPipeline/buildResetPatch.js +22 -0
  258. package/dist/store/resetPipeline/buildResetPatch.js.map +1 -0
  259. package/dist/store/resetPipeline/collectDefaults.d.ts +12 -0
  260. package/dist/store/resetPipeline/collectDefaults.d.ts.map +1 -0
  261. package/dist/store/resetPipeline/collectDefaults.js +31 -0
  262. package/dist/store/resetPipeline/collectDefaults.js.map +1 -0
  263. package/dist/store/resetPipeline/resetPipeline.d.ts +19 -0
  264. package/dist/store/resetPipeline/resetPipeline.d.ts.map +1 -0
  265. package/dist/store/resetPipeline/resetPipeline.js +49 -0
  266. package/dist/store/resetPipeline/resetPipeline.js.map +1 -0
  267. package/dist/store/resolvePipeline/applyPendingWrites.d.ts +26 -0
  268. package/dist/store/resolvePipeline/applyPendingWrites.d.ts.map +1 -0
  269. package/dist/store/resolvePipeline/applyPendingWrites.js +68 -0
  270. package/dist/store/resolvePipeline/applyPendingWrites.js.map +1 -0
  271. package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts +16 -0
  272. package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts.map +1 -0
  273. package/dist/store/resolvePipeline/createContextTrackingProxy.js +29 -0
  274. package/dist/store/resolvePipeline/createContextTrackingProxy.js.map +1 -0
  275. package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts +75 -0
  276. package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts.map +1 -0
  277. package/dist/store/resolvePipeline/createValuesTrackingProxy.js +128 -0
  278. package/dist/store/resolvePipeline/createValuesTrackingProxy.js.map +1 -0
  279. package/dist/store/resolvePipeline/executeEntityFieldResolve.d.ts +29 -0
  280. package/dist/store/resolvePipeline/executeEntityFieldResolve.d.ts.map +1 -0
  281. package/dist/store/resolvePipeline/executeEntityFieldResolve.js +218 -0
  282. package/dist/store/resolvePipeline/executeEntityFieldResolve.js.map +1 -0
  283. package/dist/store/resolvePipeline/executeListResolve.d.ts +32 -0
  284. package/dist/store/resolvePipeline/executeListResolve.d.ts.map +1 -0
  285. package/dist/store/resolvePipeline/executeListResolve.js +157 -0
  286. package/dist/store/resolvePipeline/executeListResolve.js.map +1 -0
  287. package/dist/store/resolvePipeline/executeResolve.d.ts +26 -0
  288. package/dist/store/resolvePipeline/executeResolve.d.ts.map +1 -0
  289. package/dist/store/resolvePipeline/executeResolve.js +201 -0
  290. package/dist/store/resolvePipeline/executeResolve.js.map +1 -0
  291. package/dist/store/resolvePipeline/findResolvesToRetrigger.d.ts +10 -0
  292. package/dist/store/resolvePipeline/findResolvesToRetrigger.d.ts.map +1 -0
  293. package/dist/store/resolvePipeline/findResolvesToRetrigger.js +29 -0
  294. package/dist/store/resolvePipeline/findResolvesToRetrigger.js.map +1 -0
  295. package/dist/store/resolvePipeline/index.d.ts +22 -0
  296. package/dist/store/resolvePipeline/index.d.ts.map +1 -0
  297. package/dist/store/resolvePipeline/index.js +18 -0
  298. package/dist/store/resolvePipeline/index.js.map +1 -0
  299. package/dist/store/resolvePipeline/initResolveStates.d.ts +41 -0
  300. package/dist/store/resolvePipeline/initResolveStates.d.ts.map +1 -0
  301. package/dist/store/resolvePipeline/initResolveStates.js +95 -0
  302. package/dist/store/resolvePipeline/initResolveStates.js.map +1 -0
  303. package/dist/store/resolvePipeline/resetResolveState.d.ts +8 -0
  304. package/dist/store/resolvePipeline/resetResolveState.d.ts.map +1 -0
  305. package/dist/store/resolvePipeline/resetResolveState.js +18 -0
  306. package/dist/store/resolvePipeline/resetResolveState.js.map +1 -0
  307. package/dist/store/resolvePipeline/types.d.ts +134 -0
  308. package/dist/store/resolvePipeline/types.d.ts.map +1 -0
  309. package/dist/store/resolvePipeline/types.js +54 -0
  310. package/dist/store/resolvePipeline/types.js.map +1 -0
  311. package/dist/store/store/NodeRegistry/index.d.ts +3 -0
  312. package/dist/store/store/NodeRegistry/index.d.ts.map +1 -0
  313. package/dist/store/store/NodeRegistry/index.js +2 -0
  314. package/dist/store/store/NodeRegistry/index.js.map +1 -0
  315. package/dist/store/store/NodeRegistry/nodeRegistry.d.ts +139 -0
  316. package/dist/store/store/NodeRegistry/nodeRegistry.d.ts.map +1 -0
  317. package/dist/store/store/NodeRegistry/nodeRegistry.js +255 -0
  318. package/dist/store/store/NodeRegistry/nodeRegistry.js.map +1 -0
  319. package/dist/store/store/NodeRegistry/nodeUtils.d.ts +17 -0
  320. package/dist/store/store/NodeRegistry/nodeUtils.d.ts.map +1 -0
  321. package/dist/store/store/NodeRegistry/nodeUtils.js +21 -0
  322. package/dist/store/store/NodeRegistry/nodeUtils.js.map +1 -0
  323. package/dist/store/store/NodeRegistry/nodeView.d.ts +28 -0
  324. package/dist/store/store/NodeRegistry/nodeView.d.ts.map +1 -0
  325. package/dist/store/store/NodeRegistry/nodeView.js +16 -0
  326. package/dist/store/store/NodeRegistry/nodeView.js.map +1 -0
  327. package/dist/store/store/dirtyTracker.d.ts +27 -0
  328. package/dist/store/store/dirtyTracker.d.ts.map +1 -0
  329. package/dist/store/store/dirtyTracker.js +38 -0
  330. package/dist/store/store/dirtyTracker.js.map +1 -0
  331. package/dist/store/store/groupDepsMap.d.ts +52 -0
  332. package/dist/store/store/groupDepsMap.d.ts.map +1 -0
  333. package/dist/store/store/groupDepsMap.js +84 -0
  334. package/dist/store/store/groupDepsMap.js.map +1 -0
  335. package/dist/store/store/hasComputedProps.d.ts +7 -0
  336. package/dist/store/store/hasComputedProps.d.ts.map +1 -0
  337. package/dist/store/store/hasComputedProps.js +15 -0
  338. package/dist/store/store/hasComputedProps.js.map +1 -0
  339. package/dist/store/store/index.d.ts +6 -0
  340. package/dist/store/store/index.d.ts.map +1 -0
  341. package/dist/store/store/index.js +3 -0
  342. package/dist/store/store/index.js.map +1 -0
  343. package/dist/store/store/nodeMap.d.ts +12 -0
  344. package/dist/store/store/nodeMap.d.ts.map +1 -0
  345. package/dist/store/store/nodeMap.js +30 -0
  346. package/dist/store/store/nodeMap.js.map +1 -0
  347. package/dist/store/store/palistor.d.ts +256 -0
  348. package/dist/store/store/palistor.d.ts.map +1 -0
  349. package/dist/store/store/palistor.js +772 -0
  350. package/dist/store/store/palistor.js.map +1 -0
  351. package/dist/store/store/registerNodes.d.ts +33 -0
  352. package/dist/store/store/registerNodes.d.ts.map +1 -0
  353. package/dist/store/store/registerNodes.js +88 -0
  354. package/dist/store/store/registerNodes.js.map +1 -0
  355. package/dist/store/store/serviceRegistry.d.ts +24 -0
  356. package/dist/store/store/serviceRegistry.d.ts.map +1 -0
  357. package/dist/store/store/serviceRegistry.js +32 -0
  358. package/dist/store/store/serviceRegistry.js.map +1 -0
  359. package/dist/store/store/types.d.ts +622 -0
  360. package/dist/store/store/types.d.ts.map +1 -0
  361. package/dist/store/store/types.js +2 -0
  362. package/dist/store/store/types.js.map +1 -0
  363. package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts +7 -0
  364. package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts.map +1 -0
  365. package/dist/store/submitPipeline/applyLeafBeforeSubmit.js +26 -0
  366. package/dist/store/submitPipeline/applyLeafBeforeSubmit.js.map +1 -0
  367. package/dist/store/submitPipeline/collectLeafStates.d.ts +11 -0
  368. package/dist/store/submitPipeline/collectLeafStates.d.ts.map +1 -0
  369. package/dist/store/submitPipeline/collectLeafStates.js +17 -0
  370. package/dist/store/submitPipeline/collectLeafStates.js.map +1 -0
  371. package/dist/store/submitPipeline/getSubValues.d.ts +9 -0
  372. package/dist/store/submitPipeline/getSubValues.d.ts.map +1 -0
  373. package/dist/store/submitPipeline/getSubValues.js +26 -0
  374. package/dist/store/submitPipeline/getSubValues.js.map +1 -0
  375. package/dist/store/submitPipeline/submitPipeline.d.ts +32 -0
  376. package/dist/store/submitPipeline/submitPipeline.d.ts.map +1 -0
  377. package/dist/store/submitPipeline/submitPipeline.js +119 -0
  378. package/dist/store/submitPipeline/submitPipeline.js.map +1 -0
  379. package/dist/store/submitPipeline/types.d.ts +12 -0
  380. package/dist/store/submitPipeline/types.d.ts.map +1 -0
  381. package/dist/store/submitPipeline/types.js +2 -0
  382. package/dist/store/submitPipeline/types.js.map +1 -0
  383. package/dist/store/traversal/index.d.ts +4 -0
  384. package/dist/store/traversal/index.d.ts.map +1 -0
  385. package/dist/store/traversal/index.js +3 -0
  386. package/dist/store/traversal/index.js.map +1 -0
  387. package/dist/store/traversal/nodeClassifier.d.ts +23 -0
  388. package/dist/store/traversal/nodeClassifier.d.ts.map +1 -0
  389. package/dist/store/traversal/nodeClassifier.js +46 -0
  390. package/dist/store/traversal/nodeClassifier.js.map +1 -0
  391. package/dist/store/traversal/walkFull.d.ts +33 -0
  392. package/dist/store/traversal/walkFull.d.ts.map +1 -0
  393. package/dist/store/traversal/walkFull.js +28 -0
  394. package/dist/store/traversal/walkFull.js.map +1 -0
  395. package/dist/store/valuesCache/valuesCache.d.ts +27 -0
  396. package/dist/store/valuesCache/valuesCache.d.ts.map +1 -0
  397. package/dist/store/valuesCache/valuesCache.js +58 -0
  398. package/dist/store/valuesCache/valuesCache.js.map +1 -0
  399. package/dist/store/writePipeline/formatPatch.d.ts +14 -0
  400. package/dist/store/writePipeline/formatPatch.d.ts.map +1 -0
  401. package/dist/store/writePipeline/formatPatch.js +35 -0
  402. package/dist/store/writePipeline/formatPatch.js.map +1 -0
  403. package/dist/store/writePipeline/formatValue.d.ts +12 -0
  404. package/dist/store/writePipeline/formatValue.d.ts.map +1 -0
  405. package/dist/store/writePipeline/formatValue.js +15 -0
  406. package/dist/store/writePipeline/formatValue.js.map +1 -0
  407. package/dist/store/writePipeline/index.d.ts +8 -0
  408. package/dist/store/writePipeline/index.d.ts.map +1 -0
  409. package/dist/store/writePipeline/index.js +7 -0
  410. package/dist/store/writePipeline/index.js.map +1 -0
  411. package/dist/store/writePipeline/mergeChanged.d.ts +9 -0
  412. package/dist/store/writePipeline/mergeChanged.d.ts.map +1 -0
  413. package/dist/store/writePipeline/mergeChanged.js +15 -0
  414. package/dist/store/writePipeline/mergeChanged.js.map +1 -0
  415. package/dist/store/writePipeline/runSetter.d.ts +16 -0
  416. package/dist/store/writePipeline/runSetter.d.ts.map +1 -0
  417. package/dist/store/writePipeline/runSetter.js +35 -0
  418. package/dist/store/writePipeline/runSetter.js.map +1 -0
  419. package/dist/store/writePipeline/storeValue.d.ts +11 -0
  420. package/dist/store/writePipeline/storeValue.d.ts.map +1 -0
  421. package/dist/store/writePipeline/storeValue.js +17 -0
  422. package/dist/store/writePipeline/storeValue.js.map +1 -0
  423. package/dist/store/writePipeline/types.d.ts +10 -0
  424. package/dist/store/writePipeline/types.d.ts.map +1 -0
  425. package/dist/store/writePipeline/types.js +2 -0
  426. package/dist/store/writePipeline/types.js.map +1 -0
  427. package/dist/store/writePipeline/writePipeline.d.ts +31 -0
  428. package/dist/store/writePipeline/writePipeline.d.ts.map +1 -0
  429. package/dist/store/writePipeline/writePipeline.js +97 -0
  430. package/dist/store/writePipeline/writePipeline.js.map +1 -0
  431. package/package.json +79 -0
@@ -0,0 +1,502 @@
1
+ import { generateTmpId } from "../entityRegistry";
2
+ import { buildEntityValues } from "../buildProxy/buildEntityProjectionProxy";
3
+ import { EntityResolveStateMap, initResolveStates, executeResolve, executeListResolve, executeEntityFieldResolve, findResolvesToRetrigger, resetResolveState, } from "../resolvePipeline/index";
4
+ import { isLeafNode } from "../traversal";
5
+ // ─── Класс ───────────────────────────────────────────────────────────────────
6
+ /**
7
+ * Менеджер resolve-подсистемы.
8
+ *
9
+ * Консолидирует:
10
+ * - Инициализацию resolve-состояний (initResolveStates)
11
+ * - triggerResolve / getResolveState
12
+ * - Post-notify hook для retrigger по зависимостям
13
+ * - Запуск eager resolvers (lazy: false)
14
+ */
15
+ // ─── Константы ─────────────────────────────────────────────────────────────────
16
+ /**
17
+ * Максимальное число автоматических перезапусков одного resolver-а подряд
18
+ * (через postNotifyHook). При превышении — предупреждение и пропуск.
19
+ * Защищает от циклических зависимостей вида A→B→A.
20
+ */
21
+ const MAX_AUTO_RETRIGGERS = 10;
22
+ // ─── Вспомогательные функции ────────────────────────────────────────────────
23
+ function isContextSatisfied(contextDeps, context) {
24
+ if (!contextDeps || contextDeps.length === 0)
25
+ return true;
26
+ return contextDeps.every((key) => context[key] != null);
27
+ }
28
+ // ─── Класс ───────────────────────────────────────────────────────────────────
29
+ export class ResolveManager {
30
+ constructor(deps) {
31
+ /** Resolve-состояния всех узлов с resolve-конфигом. */
32
+ this.states = new Map();
33
+ /**
34
+ * Per-entity состояния resolve.
35
+ * - Per-field: (entityId, templateFieldNode) → ResolveState
36
+ * - Per-template binding: (entityId, templateNode) → ResolveState
37
+ * где status === "pending" означает загрузку, state.submitting === true — отправку формы.
38
+ */
39
+ this.entityStates = new EntityResolveStateMap();
40
+ /** Записи, ожидающие удовлетворения contextDeps перед запуском. */
41
+ this.pendingContextQueue = new Set();
42
+ // ─── Публичное API ─────────────────────────────────────────────────────────
43
+ /**
44
+ * Запустить resolve для конкретного узла (если у него есть resolve-конфиг).
45
+ * Arrow function — сохраняет `this` при деструктуризации/передаче как callback.
46
+ */
47
+ this.triggerResolve = (node) => {
48
+ const entry = this.resolveEntryMap.get(node);
49
+ if (!entry)
50
+ return;
51
+ // Ручной запуск сбрасывает счётчик автоматических перезапусков
52
+ const state = this.states.get(node);
53
+ if (state)
54
+ state.autoRetriggerCount = 0;
55
+ this._executeEntry(entry);
56
+ };
57
+ /**
58
+ * Получить текущее состояние resolve для узла.
59
+ * Arrow function — сохраняет `this` при деструктуризации/передаче как callback.
60
+ */
61
+ this.getResolveState = (node) => {
62
+ return this.states.get(node);
63
+ };
64
+ const { rootConfig, nodeState, recompute, notifyChanged, notify, initialValueMap, valuesCache, store, listStates, setEntitiesRaw, syncListValuesCache, entityRegistry, } = deps;
65
+ this.listStates = listStates;
66
+ this.entityRegistry = entityRegistry;
67
+ const allEntries = initResolveStates(rootConfig, this.states);
68
+ this.templateFieldEntries = allEntries.filter((e) => e.isTemplateField === true);
69
+ this.resolveEntries = allEntries.filter((e) => !e.isTemplateField);
70
+ this.resolveEntryMap = new Map(this.resolveEntries.map((e) => [e.node, e]));
71
+ // Строим карты быстрого доступа для записей template-полей
72
+ this.templateFieldEntryMap = new Map(this.templateFieldEntries.map((e) => [e.node, e]));
73
+ this.listNodeToTemplateFieldEntries = new Map();
74
+ for (const entry of this.templateFieldEntries) {
75
+ const listNode = entry.listNode;
76
+ let arr = this.listNodeToTemplateFieldEntries.get(listNode);
77
+ if (!arr) {
78
+ arr = [];
79
+ this.listNodeToTemplateFieldEntries.set(listNode, arr);
80
+ }
81
+ arr.push(entry);
82
+ }
83
+ this.resolveDeps = {
84
+ rootConfig,
85
+ nodeState,
86
+ resolveStates: this.states,
87
+ recompute,
88
+ notifyChanged,
89
+ notify,
90
+ getValues: () => structuredClone(valuesCache.values),
91
+ initialValueMap,
92
+ valuesCache,
93
+ store,
94
+ };
95
+ this.listResolveDeps = {
96
+ ...this.resolveDeps,
97
+ setEntitiesRaw,
98
+ syncListValuesCache,
99
+ };
100
+ }
101
+ // ─── Фаза 2: entity field resolve ──────────────────────────────────────────
102
+ /**
103
+ * Запустить per-entity field resolve для конкретного entity и template-поля.
104
+ *
105
+ * Логика:
106
+ * 1. Найти TemplateFieldResolveEntry по templateFieldNode
107
+ * 2. getOrCreate ResolveState в entityStates
108
+ * 3. skipIfResolved: если entity leaf уже имеет значение ≠ template default → skip
109
+ * 4. Deduplication: если status === "pending" → return
110
+ * 5. Вызвать _executeEntityFieldEntry (Phase 2: stub, Phase 3: реальная execution)
111
+ */
112
+ triggerEntityFieldResolve(entityId, templateFieldNode) {
113
+ const entry = this.templateFieldEntryMap.get(templateFieldNode);
114
+ if (!entry)
115
+ return;
116
+ const state = this.entityStates.getOrCreate(entityId, templateFieldNode, new Set(entry.resolve.deps ?? []));
117
+ // Проверка skipIfResolved: если у entity leaf уже есть значение ≠ template default
118
+ const skipIfResolved = entry.resolve.options?.skipIfResolved ?? true;
119
+ if (skipIfResolved) {
120
+ const entityNode = this.entityRegistry.get(entityId);
121
+ if (entityNode) {
122
+ const entityLeaf = entityNode[entry.fieldKey];
123
+ const templateDefault = entry.node.value;
124
+ if (entityLeaf &&
125
+ isLeafNode(entityLeaf) &&
126
+ entityLeaf.value !== templateDefault &&
127
+ entityLeaf.value !== undefined &&
128
+ entityLeaf.value !== null) {
129
+ // Значение уже отличается от дефолтного — помечаем resolved и пропускаем
130
+ if (state.status === "idle") {
131
+ state.status = "resolved";
132
+ }
133
+ return;
134
+ }
135
+ }
136
+ }
137
+ // Дедупликация: уже выполняется
138
+ if (state.status === "pending")
139
+ return;
140
+ this._executeEntityFieldEntry(entry, entityId);
141
+ }
142
+ /**
143
+ * Запустить resolve для entity-template binding.
144
+ * Перенесено из Palistor (фаза 6 — унификация entity resolve в ResolveManager).
145
+ *
146
+ * - Проверяет наличие templateNode.resolve.resolver
147
+ * - Deduplication: пропускает если уже loading (status === "pending")
148
+ * - status "pending" → resolver(entityProxy, store) → upsert result → markResolved → status "resolved"
149
+ * - При ошибке: onError → status "error"
150
+ */
151
+ triggerEntityTemplateResolve(entityId, templateNode, entityProxy) {
152
+ const resolve = templateNode.resolve;
153
+ if (!resolve || typeof resolve.resolver !== "function")
154
+ return;
155
+ const entityNode = this.entityRegistry.get(entityId);
156
+ if (!entityNode)
157
+ return;
158
+ const bindingState = this.entityStates.getOrCreate(entityId, templateNode);
159
+ if (bindingState.status === "pending")
160
+ return;
161
+ const entityNodeObj = entityNode;
162
+ bindingState.status = "pending";
163
+ this.resolveDeps.notifyChanged(new Set([entityNodeObj]));
164
+ void (async () => {
165
+ try {
166
+ const result = await resolve.resolver(entityProxy, this.resolveDeps.store);
167
+ bindingState.status = "resolved";
168
+ if (result && typeof result === "object") {
169
+ const changed = this.listResolveDeps.setEntitiesRaw([result]);
170
+ this.entityRegistry.markResolved(entityId, templateNode);
171
+ changed.add(entityNodeObj);
172
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
173
+ const recomputed = this.resolveDeps.store.recompute(changed);
174
+ for (const n of changed)
175
+ recomputed.add(n);
176
+ this.resolveDeps.notifyChanged(recomputed);
177
+ }
178
+ else {
179
+ this.entityRegistry.markResolved(entityId, templateNode);
180
+ this.resolveDeps.notifyChanged(new Set([entityNodeObj]));
181
+ }
182
+ }
183
+ catch (err) {
184
+ bindingState.status = "error";
185
+ try {
186
+ resolve.onError?.(err, { notify: this.resolveDeps.notify });
187
+ }
188
+ catch {
189
+ // подавляем ошибки в onError
190
+ }
191
+ this.resolveDeps.notifyChanged(new Set([entityNodeObj]));
192
+ }
193
+ })();
194
+ }
195
+ /**
196
+ * Запустить resolve для per-entity вложенного списка (вариант C, фаза C1).
197
+ *
198
+ * Состояние resolve хранится в общем `entityStates`, ключ — (ownerId, listConfigNode).
199
+ * Состав списка — в `EntityListState` (на `ownerEntity.lists`), идентичность
200
+ * которого служит ключом изолированной версии в хабе.
201
+ *
202
+ * - Проверяет `listConfigNode[1].resolve.resolver`.
203
+ * - Дедупликация: пропускает, если уже `pending`/`resolved`.
204
+ * - `pending` → resolver(parentValues, store) → upsert children с owner-ссылкой →
205
+ * обновление `EntityListState.itemIds` → notify (bump версии entityListState).
206
+ * - При ошибке: onError → status `error`.
207
+ */
208
+ triggerEntityListResolve(ownerId, listConfigNode, ownerEntity) {
209
+ const listConfig = Array.isArray(listConfigNode)
210
+ ? listConfigNode[1]
211
+ : undefined;
212
+ const resolve = listConfig?.resolve;
213
+ if (!resolve || typeof resolve.resolver !== "function")
214
+ return;
215
+ const entityListState = this.entityRegistry.getOrCreateEntityListState(ownerEntity, listConfigNode);
216
+ const state = this.entityStates.getOrCreate(ownerId, listConfigNode, new Set(resolve.deps ?? []));
217
+ // Дедупликация: уже выполняется или завершён (C1 — без deps-driven re-resolve).
218
+ if (state.status === "pending" || state.status === "resolved")
219
+ return;
220
+ state.status = "pending";
221
+ this.resolveDeps.notifyChanged(new Set([entityListState]));
222
+ void (async () => {
223
+ try {
224
+ // Q4: resolver получает плоский snapshot ВЛАДЕЛЬЦА (не projection-proxy).
225
+ const parentValues = buildEntityValues(ownerEntity, this.resolveDeps.nodeState);
226
+ const result = await resolve.resolver(parentValues, this.resolveDeps.store);
227
+ state.status = "resolved";
228
+ const items = Array.isArray(result) ? result : [];
229
+ const changed = new Set();
230
+ // Предварительно фиксируем id (стабильно для items без id), затем заливаем.
231
+ const ids = [];
232
+ const itemsWithIds = items.map((item) => {
233
+ const rawId = item.id;
234
+ const id = typeof rawId === "string" && rawId.trim() !== "" ? rawId : generateTmpId();
235
+ ids.push(id);
236
+ return { ...item, id };
237
+ });
238
+ if (itemsWithIds.length > 0) {
239
+ const entityChanged = this.listResolveDeps.setEntitiesRaw(itemsWithIds);
240
+ for (const n of entityChanged)
241
+ changed.add(n);
242
+ // Проставить owner-ссылку каждому child + проиндексировать.
243
+ for (const id of ids) {
244
+ const childNode = this.entityRegistry.get(id);
245
+ if (childNode) {
246
+ this.entityRegistry.setEntityOwner(childNode, ownerId, listConfigNode);
247
+ }
248
+ }
249
+ }
250
+ const els = this.entityRegistry.getOrCreateEntityListState(ownerEntity, listConfigNode);
251
+ els.itemIds = ids;
252
+ els.initialItemIds = [...ids];
253
+ // C3: материализовать состав в projectionObj владельца (для getValues).
254
+ this.resolveDeps.store.syncListValuesCache(els);
255
+ changed.add(entityListState);
256
+ const recomputed = this.resolveDeps.store.recompute(changed);
257
+ for (const n of changed)
258
+ recomputed.add(n);
259
+ this.resolveDeps.notifyChanged(recomputed);
260
+ }
261
+ catch (err) {
262
+ state.status = "error";
263
+ try {
264
+ resolve.onError?.(err, { notify: this.resolveDeps.notify });
265
+ }
266
+ catch {
267
+ // подавляем ошибки в onError
268
+ }
269
+ this.resolveDeps.notifyChanged(new Set([entityListState]));
270
+ }
271
+ })();
272
+ }
273
+ /** Текущий id владельца (учитывает rekey через nodeState). */
274
+ _listOwnerId(ownerEntity) {
275
+ const idLeaf = ownerEntity.id;
276
+ const ns = this.resolveDeps.nodeState;
277
+ return ((ns.get(idLeaf)?.value) ?? ownerEntity.id.value);
278
+ }
279
+ /**
280
+ * Единая точка чтения resolve-state списка (root + per-entity).
281
+ *
282
+ * Дает builder-у/loading один источник, не зная, где физически лежит состояние:
283
+ * - root → `this.states` (ключ — listConfigNode);
284
+ * - entity→ `this.entityStates` (ключ — (ownerId, listConfigNode)).
285
+ *
286
+ * Физическое слияние двух хранилищ не делается намеренно: root-list states
287
+ * сцеплены с общим `this.states` (deps-retrigger/reset), и их вынос дороже
288
+ * и рискованнее, чем выигрыш. Унификация здесь — на уровне доступа.
289
+ */
290
+ getListResolveState(listState) {
291
+ if (listState.ownerEntity === null) {
292
+ return this.states.get(listState.listConfigNode);
293
+ }
294
+ const ownerId = this._listOwnerId(listState.ownerEntity);
295
+ return this.entityStates.get(ownerId, listState.listConfigNode);
296
+ }
297
+ /**
298
+ * Единая точка запуска resolve списка (root + per-entity).
299
+ * Диспетчеризует по `ownerEntity` на существующие тела
300
+ * ({@link triggerResolve} → executeListResolve / {@link triggerEntityListResolve}).
301
+ */
302
+ triggerListResolve(listState) {
303
+ if (listState.ownerEntity === null) {
304
+ this.triggerResolve(listState.listConfigNode);
305
+ return;
306
+ }
307
+ const ownerId = this._listOwnerId(listState.ownerEntity);
308
+ this.triggerEntityListResolve(ownerId, listState.listConfigNode, listState.ownerEntity);
309
+ }
310
+ /**
311
+ * Очистить все per-entity resolve states для удалённой entity.
312
+ * Вызывается из Palistor.delete(entityId) — фаза 4.
313
+ */
314
+ cleanupEntityResolveStates(entityId) {
315
+ this.entityStates.delete(entityId);
316
+ }
317
+ /**
318
+ * Подключить retrigger resolve в notification hub.
319
+ * Возвращает функцию-хук `(changedPaths) => void`, которую нужно
320
+ * установить в `hub.setPostNotifyHook`.
321
+ * Возвращает `null`, если resolve-записей нет.
322
+ */
323
+ createPostNotifyHook() {
324
+ if (this.resolveEntries.length === 0 && this.templateFieldEntries.length === 0)
325
+ return null;
326
+ return (changedPaths) => {
327
+ const toRetrigger = findResolvesToRetrigger(changedPaths, this.states, this.resolveEntries);
328
+ // Отслеживаем узлы, которые только что запущены, чтобы не помечать их
329
+ // pendingRetrigger в том же тике (у них уже есть новое значение зависимости).
330
+ const justTriggeredNodes = new Set(toRetrigger.map((e) => e.node));
331
+ for (const entry of toRetrigger) {
332
+ const state = this.states.get(entry.node);
333
+ if (state) {
334
+ const count = (state.autoRetriggerCount ?? 0) + 1;
335
+ if (count > MAX_AUTO_RETRIGGERS) {
336
+ console.warn(`Palistor: resolver auto-retrigger cap (${MAX_AUTO_RETRIGGERS}) reached. ` +
337
+ `Possible circular dependency. Node deps: [${[...state.dependencies].join(", ")}]`);
338
+ continue;
339
+ }
340
+ state.autoRetriggerCount = count;
341
+ }
342
+ resetResolveState(entry.node, this.states);
343
+ this._executeEntry(entry);
344
+ }
345
+ // Помечаем resolver-ы, которые УЖЕ были в pending (не только что запущены),
346
+ // чьи зависимости изменились — они перезапустятся после завершения текущей резолюции.
347
+ for (const entry of this.resolveEntries) {
348
+ if (justTriggeredNodes.has(entry.node))
349
+ continue;
350
+ const state = this.states.get(entry.node);
351
+ if (!state || state.status !== "pending")
352
+ continue;
353
+ for (const dep of state.dependencies) {
354
+ if (changedPaths.has(dep)) {
355
+ state.pendingRetrigger = true;
356
+ break;
357
+ }
358
+ }
359
+ }
360
+ // Фаза 4: перезапуск entity field resolves при изменении путей entity.
361
+ if (this.templateFieldEntries.length > 0) {
362
+ this._retriggerEntityFieldResolves(changedPaths);
363
+ }
364
+ };
365
+ }
366
+ /**
367
+ * Фаза 4: парсит entity-пути из changedPaths и перезапускает entity field resolves,
368
+ * чьи зависимости пересекаются с изменёнными путями полей.
369
+ *
370
+ * Entity-пути имеют вид `_entity_.${entityId}.${fieldPath}`.
371
+ * Зависимости в entityStates хранятся относительно entity (например, "name", не "_entity_.u1.name").
372
+ */
373
+ _retriggerEntityFieldResolves(changedPaths) {
374
+ // Парсим entity-пути: строим карту entityId → Set<changedFieldPath>
375
+ const entityChanges = new Map();
376
+ for (const path of changedPaths) {
377
+ if (!path.startsWith("_entity_."))
378
+ continue;
379
+ const withoutPrefix = path.slice("_entity_.".length);
380
+ const dotIndex = withoutPrefix.indexOf(".");
381
+ if (dotIndex === -1)
382
+ continue;
383
+ const entityId = withoutPrefix.slice(0, dotIndex);
384
+ const fieldPath = withoutPrefix.slice(dotIndex + 1);
385
+ let fields = entityChanges.get(entityId);
386
+ if (!fields) {
387
+ fields = new Set();
388
+ entityChanges.set(entityId, fields);
389
+ }
390
+ fields.add(fieldPath);
391
+ }
392
+ if (entityChanges.size === 0)
393
+ return;
394
+ for (const [entityId, changedFields] of entityChanges) {
395
+ for (const entry of this.templateFieldEntries) {
396
+ const state = this.entityStates.get(entityId, entry.node);
397
+ if (!state)
398
+ continue;
399
+ if (state.status === "resolved" || state.status === "error") {
400
+ // Проверяем, изменилась ли хоть одна зависимость → перезапуск
401
+ let shouldRetrigger = false;
402
+ for (const dep of state.dependencies) {
403
+ if (changedFields.has(dep)) {
404
+ shouldRetrigger = true;
405
+ break;
406
+ }
407
+ }
408
+ if (shouldRetrigger) {
409
+ // Сбрасываем состояние в idle и выполняем напрямую (обходим skipIfResolved —
410
+ // это перезапуск по изменению зависимости, а не начальная загрузка).
411
+ state.status = "idle";
412
+ state.pendingRetrigger = false;
413
+ this._executeEntityFieldEntry(entry, entityId);
414
+ }
415
+ }
416
+ else if (state.status === "pending") {
417
+ // Помечаем pendingRetrigger, чтобы перезапустить после завершения текущего resolve
418
+ for (const dep of state.dependencies) {
419
+ if (changedFields.has(dep)) {
420
+ state.pendingRetrigger = true;
421
+ break;
422
+ }
423
+ }
424
+ }
425
+ }
426
+ }
427
+ }
428
+ /** Запустить eager resolvers (lazy: false). */
429
+ launchEager() {
430
+ for (const entry of this.resolveEntries) {
431
+ const lazy = entry.resolve?.options?.lazy ?? true;
432
+ if (!lazy) {
433
+ this._executeEntry(entry);
434
+ }
435
+ }
436
+ }
437
+ /**
438
+ * Ретриггерить резолверы, зависящие от изменённых путей.
439
+ * Используется из `Palistor.setContext()` для реактивного перезапуска
440
+ * резолверов при изменении контекста.
441
+ */
442
+ retriggerByPaths(changedPaths) {
443
+ if (changedPaths.size === 0)
444
+ return;
445
+ const toRetrigger = findResolvesToRetrigger(changedPaths, this.states, this.resolveEntries);
446
+ for (const entry of toRetrigger) {
447
+ // setContext — явное внешнее изменение, сбрасываем счётчик авто-перезапусков
448
+ const state = this.states.get(entry.node);
449
+ if (state)
450
+ state.autoRetriggerCount = 0;
451
+ resetResolveState(entry.node, this.states);
452
+ this._executeEntry(entry);
453
+ }
454
+ // Сбрасываем очередь отложенных: запускаем записи, у которых contextDeps теперь удовлетворены
455
+ for (const entry of this.pendingContextQueue) {
456
+ const resolve = entry.resolve;
457
+ if (isContextSatisfied(resolve?.contextDeps, this.resolveDeps.store.context)) {
458
+ this.pendingContextQueue.delete(entry);
459
+ this._executeEntry(entry);
460
+ }
461
+ }
462
+ }
463
+ // ─── Внутренняя диспетчеризация ──────────────────────────────────────────────
464
+ /** Диспетчеризует запись в нужную функцию выполнения (группа или список). */
465
+ _executeEntry(entry) {
466
+ // Фаза 4, условие запуска: если contextDeps не удовлетворены — откладываем в очередь
467
+ const resolve = entry.resolve;
468
+ if (!isContextSatisfied(resolve?.contextDeps, this.resolveDeps.store.context)) {
469
+ this.pendingContextQueue.add(entry);
470
+ return;
471
+ }
472
+ if (entry.isListNode) {
473
+ const listState = this.listStates.get(entry.node);
474
+ if (listState && entry.resolve) {
475
+ executeListResolve(entry.node, entry.resolve, listState, this.listResolveDeps);
476
+ }
477
+ }
478
+ else {
479
+ executeResolve(entry.node, entry.resolve, this.resolveDeps);
480
+ }
481
+ }
482
+ /**
483
+ * Выполняет entity field resolve для заданной entry + entityId.
484
+ * Делегирует вызов executeEntityFieldResolve с per-entity ResolveDeps.
485
+ */
486
+ _executeEntityFieldEntry(entry, entityId) {
487
+ const entityNode = this.entityRegistry.get(entityId);
488
+ if (!entityNode)
489
+ return;
490
+ const entityFieldDeps = {
491
+ ...this.resolveDeps,
492
+ entityStates: this.entityStates,
493
+ };
494
+ executeEntityFieldResolve(entityId, entry, entityNode, entityFieldDeps);
495
+ }
496
+ }
497
+ // ─── Устаревший алиас-фабрика ───────────────────────────────────────────────
498
+ /** @deprecated Используйте `new ResolveManager(deps)`. */
499
+ export function createResolveManager(deps) {
500
+ return new ResolveManager(deps);
501
+ }
502
+ //# sourceMappingURL=createResolveManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createResolveManager.js","sourceRoot":"","sources":["../../../store/init/createResolveManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FieldState } from "../compute/index";
2
+ import type { AnyConfigNode } from "../store/types";
3
+ /**
4
+ * Инициализирует submitting: false, dirty: false, revalidate: false
5
+ * в nodeState для корневого и всех вложенных групповых узлов.
6
+ */
7
+ export declare function initGroupSubmitting(node: AnyConfigNode, nodeState: WeakMap<object, FieldState>): void;
8
+ //# sourceMappingURL=initGroupSubmitting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initGroupSubmitting.d.ts","sourceRoot":"","sources":["../../../store/init/initGroupSubmitting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,QAWvC"}
@@ -0,0 +1,39 @@
1
+ import { walkFull } from "../traversal";
2
+ /**
3
+ * Инициализирует submitting: false, dirty: false, revalidate: false
4
+ * в nodeState для корневого и всех вложенных групповых узлов.
5
+ */
6
+ export function initGroupSubmitting(node, nodeState) {
7
+ // Инициализируем сам корневой узел (walkFull его не посещает)
8
+ initGroupNode(node, nodeState);
9
+ walkFull(node, {
10
+ onLeaf() { }, // листья пропускаем
11
+ onGroupEnter(groupNode) {
12
+ initGroupNode(groupNode, nodeState);
13
+ },
14
+ });
15
+ }
16
+ function initGroupNode(node, nodeState) {
17
+ const existing = nodeState.get(node);
18
+ if (existing) {
19
+ nodeState.set(node, {
20
+ ...existing,
21
+ submitting: existing.submitting ?? false,
22
+ dirty: existing.dirty ?? false,
23
+ revalidate: existing.revalidate ?? false,
24
+ });
25
+ }
26
+ else {
27
+ nodeState.set(node, {
28
+ value: undefined,
29
+ isVisible: true,
30
+ isRequired: false,
31
+ isDisabled: false,
32
+ isReadOnly: false,
33
+ submitting: false,
34
+ dirty: false,
35
+ revalidate: false,
36
+ });
37
+ }
38
+ }
39
+ //# sourceMappingURL=initGroupSubmitting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initGroupSubmitting.js","sourceRoot":"","sources":["../../../store/init/initGroupSubmitting.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAmB,EACnB,SAAsC;IAEtC,8DAA8D;IAC9D,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE/B,QAAQ,CAAC,IAAI,EAAE;QACb,MAAM,KAAI,CAAC,EAAE,oBAAoB;QACjC,YAAY,CAAC,SAAS;YACpB,aAAa,CAAC,SAA0B,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB,EAAE,SAAsC;IAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;YAClB,GAAG,QAAQ;YACX,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;YACxC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;YAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { FieldMapping } from "./store/types";
2
+ /**
3
+ * Приводит конфиг, написанный во ВНЕШНИХ (замапленных) именах, к внутренним —
4
+ * один раз, на границе конструктора `Palistor`, ДО того как дерево попадёт в
5
+ * init/compute/traversal.
6
+ *
7
+ * Зачем: `fieldMapping` задаёт единый публичный словарь имён полей. Автор пишет
8
+ * конфиг в этом словаре (`required`, `helpText`, …), а всё внутреннее ядро
9
+ * (computeFieldState, registerNodes, обходы по `CONFIG_PROPS` / `"value" in node`)
10
+ * оперирует internal-именами (`isRequired`, `description`, …). Нормализуя дерево
11
+ * в одной точке, мы не трогаем ни одно из ~десятка мест ниже по стеку —
12
+ * все они продолжают работать с internal-именами без изменений.
13
+ *
14
+ * Переводятся только ключи из {@link MAPPABLE_CONFIG_KEYS} (пересечение
15
+ * mappable-ключей и входных ключей конфига). Идентичность дочерних полей
16
+ * (`email`, `passport`, …) не ремапится никогда.
17
+ *
18
+ * Инвариант карты (см. RFC): external-имя не должно совпадать с именем соседнего
19
+ * дочернего поля.
20
+ *
21
+ * @param config корневой конфиг (как написал автор)
22
+ * @param externalToInternal обратная карта external→internal (sparse)
23
+ * @param fieldMapping прямая карта internal→external (для strict-проверок)
24
+ * @returns новое нормализованное дерево (оригинал не мутируется). Если карта
25
+ * пуста — возвращается исходный `config` без копий (нулевой оверхед).
26
+ */
27
+ export declare function normalizeConfig<T>(config: T, externalToInternal: Record<string, string>, fieldMapping: FieldMapping): T;
28
+ //# sourceMappingURL=normalizeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeConfig.d.ts","sourceRoot":"","sources":["../../store/normalizeConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,CAAC,EACT,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,YAAY,EAAE,YAAY,GACzB,CAAC,CAGH"}