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.
- package/LICENSE +21 -0
- package/README.md +947 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/react/createTrackingProxy.d.ts +55 -0
- package/dist/react/createTrackingProxy.d.ts.map +1 -0
- package/dist/react/createTrackingProxy.js +149 -0
- package/dist/react/createTrackingProxy.js.map +1 -0
- package/dist/react/useForm.d.ts +108 -0
- package/dist/react/useForm.d.ts.map +1 -0
- package/dist/react/useForm.js +180 -0
- package/dist/react/useForm.js.map +1 -0
- package/dist/react/useNotifier.d.ts +35 -0
- package/dist/react/useNotifier.d.ts.map +1 -0
- package/dist/react/useNotifier.js +41 -0
- package/dist/react/useNotifier.js.map +1 -0
- package/dist/react/usePersist.d.ts +45 -0
- package/dist/react/usePersist.d.ts.map +1 -0
- package/dist/react/usePersist.js +60 -0
- package/dist/react/usePersist.js.map +1 -0
- package/dist/react/useStoreContext.d.ts +42 -0
- package/dist/react/useStoreContext.d.ts.map +1 -0
- package/dist/react/useStoreContext.js +46 -0
- package/dist/react/useStoreContext.js.map +1 -0
- package/dist/react/useTranslator.d.ts +37 -0
- package/dist/react/useTranslator.d.ts.map +1 -0
- package/dist/react/useTranslator.js +43 -0
- package/dist/react/useTranslator.js.map +1 -0
- package/dist/store/applyPatch/applyPatch.d.ts +17 -0
- package/dist/store/applyPatch/applyPatch.d.ts.map +1 -0
- package/dist/store/applyPatch/applyPatch.js +44 -0
- package/dist/store/applyPatch/applyPatch.js.map +1 -0
- package/dist/store/buildProxy/buildEntityProjectionProxy.d.ts +52 -0
- package/dist/store/buildProxy/buildEntityProjectionProxy.d.ts.map +1 -0
- package/dist/store/buildProxy/buildEntityProjectionProxy.js +321 -0
- package/dist/store/buildProxy/buildEntityProjectionProxy.js.map +1 -0
- package/dist/store/buildProxy/buildListProxy.d.ts +33 -0
- package/dist/store/buildProxy/buildListProxy.d.ts.map +1 -0
- package/dist/store/buildProxy/buildListProxy.js +306 -0
- package/dist/store/buildProxy/buildListProxy.js.map +1 -0
- package/dist/store/buildProxy/buildProxy.d.ts +41 -0
- package/dist/store/buildProxy/buildProxy.d.ts.map +1 -0
- package/dist/store/buildProxy/buildProxy.js +380 -0
- package/dist/store/buildProxy/buildProxy.js.map +1 -0
- package/dist/store/buildProxy/computeProxyKeys.d.ts +15 -0
- package/dist/store/buildProxy/computeProxyKeys.d.ts.map +1 -0
- package/dist/store/buildProxy/computeProxyKeys.js +28 -0
- package/dist/store/buildProxy/computeProxyKeys.js.map +1 -0
- package/dist/store/buildProxy/handleLazyResolve.d.ts +10 -0
- package/dist/store/buildProxy/handleLazyResolve.d.ts.map +1 -0
- package/dist/store/buildProxy/handleLazyResolve.js +26 -0
- package/dist/store/buildProxy/handleLazyResolve.js.map +1 -0
- package/dist/store/buildProxy/initProxyCaches.d.ts +16 -0
- package/dist/store/buildProxy/initProxyCaches.d.ts.map +1 -0
- package/dist/store/buildProxy/initProxyCaches.js +17 -0
- package/dist/store/buildProxy/initProxyCaches.js.map +1 -0
- package/dist/store/compute/computeFieldState.d.ts +10 -0
- package/dist/store/compute/computeFieldState.d.ts.map +1 -0
- package/dist/store/compute/computeFieldState.js +53 -0
- package/dist/store/compute/computeFieldState.js.map +1 -0
- package/dist/store/compute/fieldStateChanged.d.ts +6 -0
- package/dist/store/compute/fieldStateChanged.d.ts.map +1 -0
- package/dist/store/compute/fieldStateChanged.js +20 -0
- package/dist/store/compute/fieldStateChanged.js.map +1 -0
- package/dist/store/compute/index.d.ts +7 -0
- package/dist/store/compute/index.d.ts.map +1 -0
- package/dist/store/compute/index.js +6 -0
- package/dist/store/compute/index.js.map +1 -0
- package/dist/store/compute/isEmpty.d.ts +6 -0
- package/dist/store/compute/isEmpty.d.ts.map +1 -0
- package/dist/store/compute/isEmpty.js +14 -0
- package/dist/store/compute/isEmpty.js.map +1 -0
- package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts +11 -0
- package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts.map +1 -0
- package/dist/store/compute/recompute/collectGroupComputeNodes.js +26 -0
- package/dist/store/compute/recompute/collectGroupComputeNodes.js.map +1 -0
- package/dist/store/compute/recompute/collectGroupLeafNodes.d.ts +11 -0
- package/dist/store/compute/recompute/collectGroupLeafNodes.d.ts.map +1 -0
- package/dist/store/compute/recompute/collectGroupLeafNodes.js +26 -0
- package/dist/store/compute/recompute/collectGroupLeafNodes.js.map +1 -0
- package/dist/store/compute/recompute/index.d.ts +7 -0
- package/dist/store/compute/recompute/index.d.ts.map +1 -0
- package/dist/store/compute/recompute/index.js +6 -0
- package/dist/store/compute/recompute/index.js.map +1 -0
- package/dist/store/compute/recompute/recomputeAndNotify.d.ts +8 -0
- package/dist/store/compute/recompute/recomputeAndNotify.d.ts.map +1 -0
- package/dist/store/compute/recompute/recomputeAndNotify.js +13 -0
- package/dist/store/compute/recompute/recomputeAndNotify.js.map +1 -0
- package/dist/store/compute/recompute/recomputeLeaves.d.ts +23 -0
- package/dist/store/compute/recompute/recomputeLeaves.d.ts.map +1 -0
- package/dist/store/compute/recompute/recomputeLeaves.js +77 -0
- package/dist/store/compute/recompute/recomputeLeaves.js.map +1 -0
- package/dist/store/compute/recompute/recomputeTargeted.d.ts +14 -0
- package/dist/store/compute/recompute/recomputeTargeted.d.ts.map +1 -0
- package/dist/store/compute/recompute/recomputeTargeted.js +50 -0
- package/dist/store/compute/recompute/recomputeTargeted.js.map +1 -0
- package/dist/store/compute/recompute/topologicalSortComputed.d.ts +16 -0
- package/dist/store/compute/recompute/topologicalSortComputed.d.ts.map +1 -0
- package/dist/store/compute/recompute/topologicalSortComputed.js +60 -0
- package/dist/store/compute/recompute/topologicalSortComputed.js.map +1 -0
- package/dist/store/compute/recompute/types.d.ts +24 -0
- package/dist/store/compute/recompute/types.d.ts.map +1 -0
- package/dist/store/compute/recompute/types.js +2 -0
- package/dist/store/compute/recompute/types.js.map +1 -0
- package/dist/store/compute/resolveFlag.d.ts +7 -0
- package/dist/store/compute/resolveFlag.d.ts.map +1 -0
- package/dist/store/compute/resolveFlag.js +12 -0
- package/dist/store/compute/resolveFlag.js.map +1 -0
- package/dist/store/compute/resolveString.d.ts +11 -0
- package/dist/store/compute/resolveString.d.ts.map +1 -0
- package/dist/store/compute/resolveString.js +18 -0
- package/dist/store/compute/resolveString.js.map +1 -0
- package/dist/store/compute/types.d.ts +37 -0
- package/dist/store/compute/types.d.ts.map +1 -0
- package/dist/store/compute/types.js +2 -0
- package/dist/store/compute/types.js.map +1 -0
- package/dist/store/constants.d.ts +83 -0
- package/dist/store/constants.d.ts.map +1 -0
- package/dist/store/constants.js +145 -0
- package/dist/store/constants.js.map +1 -0
- package/dist/store/defineFieldMapping.d.ts +41 -0
- package/dist/store/defineFieldMapping.d.ts.map +1 -0
- package/dist/store/defineFieldMapping.js +42 -0
- package/dist/store/defineFieldMapping.js.map +1 -0
- package/dist/store/defineList.d.ts +14 -0
- package/dist/store/defineList.d.ts.map +1 -0
- package/dist/store/defineList.js +7 -0
- package/dist/store/defineList.js.map +1 -0
- package/dist/store/dirtyTracking/captureInitialValues.d.ts +8 -0
- package/dist/store/dirtyTracking/captureInitialValues.d.ts.map +1 -0
- package/dist/store/dirtyTracking/captureInitialValues.js +16 -0
- package/dist/store/dirtyTracking/captureInitialValues.js.map +1 -0
- package/dist/store/dirtyTracking/collectInitialSnapshot.d.ts +10 -0
- package/dist/store/dirtyTracking/collectInitialSnapshot.d.ts.map +1 -0
- package/dist/store/dirtyTracking/collectInitialSnapshot.js +35 -0
- package/dist/store/dirtyTracking/collectInitialSnapshot.js.map +1 -0
- package/dist/store/dirtyTracking/index.d.ts +7 -0
- package/dist/store/dirtyTracking/index.d.ts.map +1 -0
- package/dist/store/dirtyTracking/index.js +6 -0
- package/dist/store/dirtyTracking/index.js.map +1 -0
- package/dist/store/dirtyTracking/isDirtyValue.d.ts +7 -0
- package/dist/store/dirtyTracking/isDirtyValue.d.ts.map +1 -0
- package/dist/store/dirtyTracking/isDirtyValue.js +25 -0
- package/dist/store/dirtyTracking/isDirtyValue.js.map +1 -0
- package/dist/store/dirtyTracking/mergeInitialValues.d.ts +11 -0
- package/dist/store/dirtyTracking/mergeInitialValues.d.ts.map +1 -0
- package/dist/store/dirtyTracking/mergeInitialValues.js +29 -0
- package/dist/store/dirtyTracking/mergeInitialValues.js.map +1 -0
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts +17 -0
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts.map +1 -0
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.js +90 -0
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.js.map +1 -0
- package/dist/store/dirtyTracking/setGroupRevalidate.d.ts +13 -0
- package/dist/store/dirtyTracking/setGroupRevalidate.d.ts.map +1 -0
- package/dist/store/dirtyTracking/setGroupRevalidate.js +32 -0
- package/dist/store/dirtyTracking/setGroupRevalidate.js.map +1 -0
- package/dist/store/entityRegistry/entityRegistry.d.ts +166 -0
- package/dist/store/entityRegistry/entityRegistry.d.ts.map +1 -0
- package/dist/store/entityRegistry/entityRegistry.js +402 -0
- package/dist/store/entityRegistry/entityRegistry.js.map +1 -0
- package/dist/store/entityRegistry/generateId.d.ts +7 -0
- package/dist/store/entityRegistry/generateId.d.ts.map +1 -0
- package/dist/store/entityRegistry/generateId.js +18 -0
- package/dist/store/entityRegistry/generateId.js.map +1 -0
- package/dist/store/entityRegistry/index.d.ts +4 -0
- package/dist/store/entityRegistry/index.d.ts.map +1 -0
- package/dist/store/entityRegistry/index.js +3 -0
- package/dist/store/entityRegistry/index.js.map +1 -0
- package/dist/store/entityRegistry/types.d.ts +50 -0
- package/dist/store/entityRegistry/types.d.ts.map +1 -0
- package/dist/store/entityRegistry/types.js +2 -0
- package/dist/store/entityRegistry/types.js.map +1 -0
- package/dist/store/fieldMapping.typecheck.d.ts +2 -0
- package/dist/store/fieldMapping.typecheck.d.ts.map +1 -0
- package/dist/store/fieldMapping.typecheck.js +71 -0
- package/dist/store/fieldMapping.typecheck.js.map +1 -0
- package/dist/store/groupDeps/createGroupDeps.d.ts +9 -0
- package/dist/store/groupDeps/createGroupDeps.d.ts.map +1 -0
- package/dist/store/groupDeps/createGroupDeps.js +29 -0
- package/dist/store/groupDeps/createGroupDeps.js.map +1 -0
- package/dist/store/groupDeps/createTrackingValues.d.ts +15 -0
- package/dist/store/groupDeps/createTrackingValues.d.ts.map +1 -0
- package/dist/store/groupDeps/createTrackingValues.js +39 -0
- package/dist/store/groupDeps/createTrackingValues.js.map +1 -0
- package/dist/store/groupDeps/getNodeGroupPath.d.ts +9 -0
- package/dist/store/groupDeps/getNodeGroupPath.d.ts.map +1 -0
- package/dist/store/groupDeps/getNodeGroupPath.js +20 -0
- package/dist/store/groupDeps/getNodeGroupPath.js.map +1 -0
- package/dist/store/groupDeps/getRecipientGroups.d.ts +5 -0
- package/dist/store/groupDeps/getRecipientGroups.d.ts.map +1 -0
- package/dist/store/groupDeps/getRecipientGroups.js +15 -0
- package/dist/store/groupDeps/getRecipientGroups.js.map +1 -0
- package/dist/store/groupDeps/groupDeps.d.ts +19 -0
- package/dist/store/groupDeps/groupDeps.d.ts.map +1 -0
- package/dist/store/groupDeps/groupDeps.js +19 -0
- package/dist/store/groupDeps/groupDeps.js.map +1 -0
- package/dist/store/groupDeps/index.d.ts +7 -0
- package/dist/store/groupDeps/index.d.ts.map +1 -0
- package/dist/store/groupDeps/index.js +7 -0
- package/dist/store/groupDeps/index.js.map +1 -0
- package/dist/store/groupDeps/pairKey.d.ts +7 -0
- package/dist/store/groupDeps/pairKey.d.ts.map +1 -0
- package/dist/store/groupDeps/pairKey.js +12 -0
- package/dist/store/groupDeps/pairKey.js.map +1 -0
- package/dist/store/groupDeps/resolveGroupByPath.d.ts +8 -0
- package/dist/store/groupDeps/resolveGroupByPath.d.ts.map +1 -0
- package/dist/store/groupDeps/resolveGroupByPath.js +19 -0
- package/dist/store/groupDeps/resolveGroupByPath.js.map +1 -0
- package/dist/store/init/createNotificationHub.d.ts +81 -0
- package/dist/store/init/createNotificationHub.d.ts.map +1 -0
- package/dist/store/init/createNotificationHub.js +149 -0
- package/dist/store/init/createNotificationHub.js.map +1 -0
- package/dist/store/init/createResolveManager.d.ts +166 -0
- package/dist/store/init/createResolveManager.d.ts.map +1 -0
- package/dist/store/init/createResolveManager.js +502 -0
- package/dist/store/init/createResolveManager.js.map +1 -0
- package/dist/store/init/initGroupSubmitting.d.ts +8 -0
- package/dist/store/init/initGroupSubmitting.d.ts.map +1 -0
- package/dist/store/init/initGroupSubmitting.js +39 -0
- package/dist/store/init/initGroupSubmitting.js.map +1 -0
- package/dist/store/normalizeConfig.d.ts +28 -0
- package/dist/store/normalizeConfig.d.ts.map +1 -0
- package/dist/store/normalizeConfig.js +76 -0
- package/dist/store/normalizeConfig.js.map +1 -0
- package/dist/store/onChangePipeline/computeFieldKey.d.ts +11 -0
- package/dist/store/onChangePipeline/computeFieldKey.d.ts.map +1 -0
- package/dist/store/onChangePipeline/computeFieldKey.js +18 -0
- package/dist/store/onChangePipeline/computeFieldKey.js.map +1 -0
- package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts +8 -0
- package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts.map +1 -0
- package/dist/store/onChangePipeline/findOnChangeAncestors.js +22 -0
- package/dist/store/onChangePipeline/findOnChangeAncestors.js.map +1 -0
- package/dist/store/onChangePipeline/onChangePipeline.d.ts +29 -0
- package/dist/store/onChangePipeline/onChangePipeline.d.ts.map +1 -0
- package/dist/store/onChangePipeline/onChangePipeline.js +99 -0
- package/dist/store/onChangePipeline/onChangePipeline.js.map +1 -0
- package/dist/store/persist/drivers.d.ts +34 -0
- package/dist/store/persist/drivers.d.ts.map +1 -0
- package/dist/store/persist/drivers.js +89 -0
- package/dist/store/persist/drivers.js.map +1 -0
- package/dist/store/persist/index.d.ts +7 -0
- package/dist/store/persist/index.d.ts.map +1 -0
- package/dist/store/persist/index.js +3 -0
- package/dist/store/persist/index.js.map +1 -0
- package/dist/store/persist/persistManager.d.ts +67 -0
- package/dist/store/persist/persistManager.d.ts.map +1 -0
- package/dist/store/persist/persistManager.js +198 -0
- package/dist/store/persist/persistManager.js.map +1 -0
- package/dist/store/persist/types.d.ts +66 -0
- package/dist/store/persist/types.d.ts.map +1 -0
- package/dist/store/persist/types.js +9 -0
- package/dist/store/persist/types.js.map +1 -0
- package/dist/store/resetPipeline/buildResetPatch.d.ts +11 -0
- package/dist/store/resetPipeline/buildResetPatch.d.ts.map +1 -0
- package/dist/store/resetPipeline/buildResetPatch.js +22 -0
- package/dist/store/resetPipeline/buildResetPatch.js.map +1 -0
- package/dist/store/resetPipeline/collectDefaults.d.ts +12 -0
- package/dist/store/resetPipeline/collectDefaults.d.ts.map +1 -0
- package/dist/store/resetPipeline/collectDefaults.js +31 -0
- package/dist/store/resetPipeline/collectDefaults.js.map +1 -0
- package/dist/store/resetPipeline/resetPipeline.d.ts +19 -0
- package/dist/store/resetPipeline/resetPipeline.d.ts.map +1 -0
- package/dist/store/resetPipeline/resetPipeline.js +49 -0
- package/dist/store/resetPipeline/resetPipeline.js.map +1 -0
- package/dist/store/resolvePipeline/applyPendingWrites.d.ts +26 -0
- package/dist/store/resolvePipeline/applyPendingWrites.d.ts.map +1 -0
- package/dist/store/resolvePipeline/applyPendingWrites.js +68 -0
- package/dist/store/resolvePipeline/applyPendingWrites.js.map +1 -0
- package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts +16 -0
- package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts.map +1 -0
- package/dist/store/resolvePipeline/createContextTrackingProxy.js +29 -0
- package/dist/store/resolvePipeline/createContextTrackingProxy.js.map +1 -0
- package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts +75 -0
- package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts.map +1 -0
- package/dist/store/resolvePipeline/createValuesTrackingProxy.js +128 -0
- package/dist/store/resolvePipeline/createValuesTrackingProxy.js.map +1 -0
- package/dist/store/resolvePipeline/executeEntityFieldResolve.d.ts +29 -0
- package/dist/store/resolvePipeline/executeEntityFieldResolve.d.ts.map +1 -0
- package/dist/store/resolvePipeline/executeEntityFieldResolve.js +218 -0
- package/dist/store/resolvePipeline/executeEntityFieldResolve.js.map +1 -0
- package/dist/store/resolvePipeline/executeListResolve.d.ts +32 -0
- package/dist/store/resolvePipeline/executeListResolve.d.ts.map +1 -0
- package/dist/store/resolvePipeline/executeListResolve.js +157 -0
- package/dist/store/resolvePipeline/executeListResolve.js.map +1 -0
- package/dist/store/resolvePipeline/executeResolve.d.ts +26 -0
- package/dist/store/resolvePipeline/executeResolve.d.ts.map +1 -0
- package/dist/store/resolvePipeline/executeResolve.js +201 -0
- package/dist/store/resolvePipeline/executeResolve.js.map +1 -0
- package/dist/store/resolvePipeline/findResolvesToRetrigger.d.ts +10 -0
- package/dist/store/resolvePipeline/findResolvesToRetrigger.d.ts.map +1 -0
- package/dist/store/resolvePipeline/findResolvesToRetrigger.js +29 -0
- package/dist/store/resolvePipeline/findResolvesToRetrigger.js.map +1 -0
- package/dist/store/resolvePipeline/index.d.ts +22 -0
- package/dist/store/resolvePipeline/index.d.ts.map +1 -0
- package/dist/store/resolvePipeline/index.js +18 -0
- package/dist/store/resolvePipeline/index.js.map +1 -0
- package/dist/store/resolvePipeline/initResolveStates.d.ts +41 -0
- package/dist/store/resolvePipeline/initResolveStates.d.ts.map +1 -0
- package/dist/store/resolvePipeline/initResolveStates.js +95 -0
- package/dist/store/resolvePipeline/initResolveStates.js.map +1 -0
- package/dist/store/resolvePipeline/resetResolveState.d.ts +8 -0
- package/dist/store/resolvePipeline/resetResolveState.d.ts.map +1 -0
- package/dist/store/resolvePipeline/resetResolveState.js +18 -0
- package/dist/store/resolvePipeline/resetResolveState.js.map +1 -0
- package/dist/store/resolvePipeline/types.d.ts +134 -0
- package/dist/store/resolvePipeline/types.d.ts.map +1 -0
- package/dist/store/resolvePipeline/types.js +54 -0
- package/dist/store/resolvePipeline/types.js.map +1 -0
- package/dist/store/store/NodeRegistry/index.d.ts +3 -0
- package/dist/store/store/NodeRegistry/index.d.ts.map +1 -0
- package/dist/store/store/NodeRegistry/index.js +2 -0
- package/dist/store/store/NodeRegistry/index.js.map +1 -0
- package/dist/store/store/NodeRegistry/nodeRegistry.d.ts +139 -0
- package/dist/store/store/NodeRegistry/nodeRegistry.d.ts.map +1 -0
- package/dist/store/store/NodeRegistry/nodeRegistry.js +255 -0
- package/dist/store/store/NodeRegistry/nodeRegistry.js.map +1 -0
- package/dist/store/store/NodeRegistry/nodeUtils.d.ts +17 -0
- package/dist/store/store/NodeRegistry/nodeUtils.d.ts.map +1 -0
- package/dist/store/store/NodeRegistry/nodeUtils.js +21 -0
- package/dist/store/store/NodeRegistry/nodeUtils.js.map +1 -0
- package/dist/store/store/NodeRegistry/nodeView.d.ts +28 -0
- package/dist/store/store/NodeRegistry/nodeView.d.ts.map +1 -0
- package/dist/store/store/NodeRegistry/nodeView.js +16 -0
- package/dist/store/store/NodeRegistry/nodeView.js.map +1 -0
- package/dist/store/store/dirtyTracker.d.ts +27 -0
- package/dist/store/store/dirtyTracker.d.ts.map +1 -0
- package/dist/store/store/dirtyTracker.js +38 -0
- package/dist/store/store/dirtyTracker.js.map +1 -0
- package/dist/store/store/groupDepsMap.d.ts +52 -0
- package/dist/store/store/groupDepsMap.d.ts.map +1 -0
- package/dist/store/store/groupDepsMap.js +84 -0
- package/dist/store/store/groupDepsMap.js.map +1 -0
- package/dist/store/store/hasComputedProps.d.ts +7 -0
- package/dist/store/store/hasComputedProps.d.ts.map +1 -0
- package/dist/store/store/hasComputedProps.js +15 -0
- package/dist/store/store/hasComputedProps.js.map +1 -0
- package/dist/store/store/index.d.ts +6 -0
- package/dist/store/store/index.d.ts.map +1 -0
- package/dist/store/store/index.js +3 -0
- package/dist/store/store/index.js.map +1 -0
- package/dist/store/store/nodeMap.d.ts +12 -0
- package/dist/store/store/nodeMap.d.ts.map +1 -0
- package/dist/store/store/nodeMap.js +30 -0
- package/dist/store/store/nodeMap.js.map +1 -0
- package/dist/store/store/palistor.d.ts +256 -0
- package/dist/store/store/palistor.d.ts.map +1 -0
- package/dist/store/store/palistor.js +772 -0
- package/dist/store/store/palistor.js.map +1 -0
- package/dist/store/store/registerNodes.d.ts +33 -0
- package/dist/store/store/registerNodes.d.ts.map +1 -0
- package/dist/store/store/registerNodes.js +88 -0
- package/dist/store/store/registerNodes.js.map +1 -0
- package/dist/store/store/serviceRegistry.d.ts +24 -0
- package/dist/store/store/serviceRegistry.d.ts.map +1 -0
- package/dist/store/store/serviceRegistry.js +32 -0
- package/dist/store/store/serviceRegistry.js.map +1 -0
- package/dist/store/store/types.d.ts +622 -0
- package/dist/store/store/types.d.ts.map +1 -0
- package/dist/store/store/types.js +2 -0
- package/dist/store/store/types.js.map +1 -0
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts +7 -0
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts.map +1 -0
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.js +26 -0
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.js.map +1 -0
- package/dist/store/submitPipeline/collectLeafStates.d.ts +11 -0
- package/dist/store/submitPipeline/collectLeafStates.d.ts.map +1 -0
- package/dist/store/submitPipeline/collectLeafStates.js +17 -0
- package/dist/store/submitPipeline/collectLeafStates.js.map +1 -0
- package/dist/store/submitPipeline/getSubValues.d.ts +9 -0
- package/dist/store/submitPipeline/getSubValues.d.ts.map +1 -0
- package/dist/store/submitPipeline/getSubValues.js +26 -0
- package/dist/store/submitPipeline/getSubValues.js.map +1 -0
- package/dist/store/submitPipeline/submitPipeline.d.ts +32 -0
- package/dist/store/submitPipeline/submitPipeline.d.ts.map +1 -0
- package/dist/store/submitPipeline/submitPipeline.js +119 -0
- package/dist/store/submitPipeline/submitPipeline.js.map +1 -0
- package/dist/store/submitPipeline/types.d.ts +12 -0
- package/dist/store/submitPipeline/types.d.ts.map +1 -0
- package/dist/store/submitPipeline/types.js +2 -0
- package/dist/store/submitPipeline/types.js.map +1 -0
- package/dist/store/traversal/index.d.ts +4 -0
- package/dist/store/traversal/index.d.ts.map +1 -0
- package/dist/store/traversal/index.js +3 -0
- package/dist/store/traversal/index.js.map +1 -0
- package/dist/store/traversal/nodeClassifier.d.ts +23 -0
- package/dist/store/traversal/nodeClassifier.d.ts.map +1 -0
- package/dist/store/traversal/nodeClassifier.js +46 -0
- package/dist/store/traversal/nodeClassifier.js.map +1 -0
- package/dist/store/traversal/walkFull.d.ts +33 -0
- package/dist/store/traversal/walkFull.d.ts.map +1 -0
- package/dist/store/traversal/walkFull.js +28 -0
- package/dist/store/traversal/walkFull.js.map +1 -0
- package/dist/store/valuesCache/valuesCache.d.ts +27 -0
- package/dist/store/valuesCache/valuesCache.d.ts.map +1 -0
- package/dist/store/valuesCache/valuesCache.js +58 -0
- package/dist/store/valuesCache/valuesCache.js.map +1 -0
- package/dist/store/writePipeline/formatPatch.d.ts +14 -0
- package/dist/store/writePipeline/formatPatch.d.ts.map +1 -0
- package/dist/store/writePipeline/formatPatch.js +35 -0
- package/dist/store/writePipeline/formatPatch.js.map +1 -0
- package/dist/store/writePipeline/formatValue.d.ts +12 -0
- package/dist/store/writePipeline/formatValue.d.ts.map +1 -0
- package/dist/store/writePipeline/formatValue.js +15 -0
- package/dist/store/writePipeline/formatValue.js.map +1 -0
- package/dist/store/writePipeline/index.d.ts +8 -0
- package/dist/store/writePipeline/index.d.ts.map +1 -0
- package/dist/store/writePipeline/index.js +7 -0
- package/dist/store/writePipeline/index.js.map +1 -0
- package/dist/store/writePipeline/mergeChanged.d.ts +9 -0
- package/dist/store/writePipeline/mergeChanged.d.ts.map +1 -0
- package/dist/store/writePipeline/mergeChanged.js +15 -0
- package/dist/store/writePipeline/mergeChanged.js.map +1 -0
- package/dist/store/writePipeline/runSetter.d.ts +16 -0
- package/dist/store/writePipeline/runSetter.d.ts.map +1 -0
- package/dist/store/writePipeline/runSetter.js +35 -0
- package/dist/store/writePipeline/runSetter.js.map +1 -0
- package/dist/store/writePipeline/storeValue.d.ts +11 -0
- package/dist/store/writePipeline/storeValue.d.ts.map +1 -0
- package/dist/store/writePipeline/storeValue.js +17 -0
- package/dist/store/writePipeline/storeValue.js.map +1 -0
- package/dist/store/writePipeline/types.d.ts +10 -0
- package/dist/store/writePipeline/types.d.ts.map +1 -0
- package/dist/store/writePipeline/types.js +2 -0
- package/dist/store/writePipeline/types.js.map +1 -0
- package/dist/store/writePipeline/writePipeline.d.ts +31 -0
- package/dist/store/writePipeline/writePipeline.d.ts.map +1 -0
- package/dist/store/writePipeline/writePipeline.js +97 -0
- package/dist/store/writePipeline/writePipeline.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { CONFIG_NODE, LIST_STATE, LIST_SPREAD_KEYS } from "../constants";
|
|
2
|
+
import { generateTmpId } from "../entityRegistry";
|
|
3
|
+
import { buildEntityProjectionProxy, buildEntityValuesWithLists, } from "./buildEntityProjectionProxy";
|
|
4
|
+
// ─── arraysEqual helper ──────────────────────────────────────────────────────
|
|
5
|
+
function arraysEqual(a, b) {
|
|
6
|
+
if (a.length !== b.length)
|
|
7
|
+
return false;
|
|
8
|
+
for (let i = 0; i < a.length; i++) {
|
|
9
|
+
if (a[i] !== b[i])
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Ключи per-entity list proxy (вариант C). Тот же набор членов, что
|
|
16
|
+
* {@link LIST_SPREAD_KEYS}, но в историческом порядке per-entity-листа —
|
|
17
|
+
* сохраняем его, пока root и entity не выровнены по ключам.
|
|
18
|
+
*/
|
|
19
|
+
const ENTITY_LIST_SPREAD_KEYS = [
|
|
20
|
+
"items",
|
|
21
|
+
"length",
|
|
22
|
+
"loading",
|
|
23
|
+
"dirty",
|
|
24
|
+
"map",
|
|
25
|
+
"getById",
|
|
26
|
+
"add",
|
|
27
|
+
"remove",
|
|
28
|
+
"setItems",
|
|
29
|
+
"getValues",
|
|
30
|
+
];
|
|
31
|
+
// ─── buildListProxy ──────────────────────────────────────────────────────────
|
|
32
|
+
/**
|
|
33
|
+
* Build a ListProxyNode for a list — ЕДИНЫЙ builder (root + per-entity).
|
|
34
|
+
*
|
|
35
|
+
* Список идентифицируется объектом {@link ListState}. `listState.ownerEntity`
|
|
36
|
+
* различает два случая:
|
|
37
|
+
* - `null` → root-list (состояние в `kernel.nodes.listStates`);
|
|
38
|
+
* - entity → per-entity nested list (вариант C; состояние в `owner.lists`).
|
|
39
|
+
*
|
|
40
|
+
* Скелет, мутации, proxy и кэш — общие. Точки, где root и entity ещё расходятся
|
|
41
|
+
* (sync valuesCache, resolve/loading, семантика add/setItems), временно
|
|
42
|
+
* диспетчеризуются по `owner`; их слияние — фазы U3 (sync) и U5 (resolve).
|
|
43
|
+
*
|
|
44
|
+
* The proxy exposes:
|
|
45
|
+
* items — ReadonlyArray<EntityProjectionProxy>, one per itemId
|
|
46
|
+
* length — number of items
|
|
47
|
+
* loading — async resolver in progress
|
|
48
|
+
* dirty — itemIds differ from the initial snapshot
|
|
49
|
+
* add(id) — add existing entity by ID
|
|
50
|
+
* add(values) — upsert entity + add to list
|
|
51
|
+
* remove(id) — remove entity from list (entity stays in registry)
|
|
52
|
+
* getById(id) — find proxy by ID
|
|
53
|
+
* setItems(ids) — bulk-replace itemIds
|
|
54
|
+
* map(fn) — map for React rendering
|
|
55
|
+
* getValues() — plain values snapshot of all items
|
|
56
|
+
* [Symbol.iterator] — iteration
|
|
57
|
+
*
|
|
58
|
+
* Entity proxies are cached per list instance (stable references for React);
|
|
59
|
+
* the list proxy itself is cached per `ListState` in `kernel.nodes.listProxyCache`.
|
|
60
|
+
*/
|
|
61
|
+
export function buildListProxy(listState, kernel) {
|
|
62
|
+
// Стабильный кэш proxy на каждый ListState (root и per-entity — единый кэш).
|
|
63
|
+
const cached = kernel.nodes.listProxyCache.get(listState);
|
|
64
|
+
if (cached)
|
|
65
|
+
return cached;
|
|
66
|
+
const listConfigNode = listState.listConfigNode;
|
|
67
|
+
const template = listState.template;
|
|
68
|
+
const listConfig = listState.listConfig;
|
|
69
|
+
/** Владелец списка: `null` = root, EntityNode = per-entity. */
|
|
70
|
+
const owner = listState.ownerEntity;
|
|
71
|
+
// Per-list стабильный кэш entity-проекций (стабильные ссылки для React).
|
|
72
|
+
const entityProxyCache = new WeakMap();
|
|
73
|
+
/** Build EntityProjectionProxy for a given entityId. */
|
|
74
|
+
function buildItemProxy(id) {
|
|
75
|
+
const entityNode = kernel.entityRegistry.get(id);
|
|
76
|
+
if (!entityNode)
|
|
77
|
+
return undefined;
|
|
78
|
+
return buildEntityProjectionProxy(entityNode, template, kernel, entityProxyCache);
|
|
79
|
+
}
|
|
80
|
+
/** Текущий id владельца (учитывает rekey через nodeState). Только для per-entity. */
|
|
81
|
+
const getOwnerId = () => {
|
|
82
|
+
const idLeaf = owner.id;
|
|
83
|
+
return (kernel.nodes.nodeState.get(idLeaf)?.value ??
|
|
84
|
+
owner.id.value);
|
|
85
|
+
};
|
|
86
|
+
/** Notify observers that the list itself changed + recompute dependents. */
|
|
87
|
+
const notifyListChanged = () => {
|
|
88
|
+
kernel.syncListValuesCache(listState);
|
|
89
|
+
if (owner) {
|
|
90
|
+
// Per-entity: изолированная идентичность — сам объект listState; владельца
|
|
91
|
+
// тоже в changed, чтобы `entity.values`/`entity.dirty`-наблюдатели обновились.
|
|
92
|
+
const changed = new Set();
|
|
93
|
+
changed.add(listState);
|
|
94
|
+
changed.add(owner);
|
|
95
|
+
const recomputed = kernel.recompute(changed);
|
|
96
|
+
for (const n of changed)
|
|
97
|
+
recomputed.add(n);
|
|
98
|
+
kernel.notifyChanged(recomputed);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Root: полный recompute (valuesCache.users → все computed).
|
|
102
|
+
const recomputed = kernel.recompute();
|
|
103
|
+
// U2: трекинг root-листа теперь по объекту ListState.
|
|
104
|
+
recomputed.add(listState);
|
|
105
|
+
// Мост обратной совместимости: старые тесты читают getNodeVersion(listNode).
|
|
106
|
+
recomputed.add(listConfigNode);
|
|
107
|
+
kernel.notifyChanged(recomputed);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
/** Trigger lazy list resolve on first access (root + per-entity, единый путь). */
|
|
111
|
+
const triggerLazyResolveIfNeeded = () => {
|
|
112
|
+
if (!listConfig?.resolve)
|
|
113
|
+
return;
|
|
114
|
+
const st = kernel.resolveManager.getListResolveState(listState);
|
|
115
|
+
// Root: state существует (idle из initResolveStates). Entity: может отсутствовать.
|
|
116
|
+
if (!st || st.status === "idle") {
|
|
117
|
+
// Defer: GET-трап во время React-рендера; синхронный resolve→notify
|
|
118
|
+
// дал бы "Cannot update a component while rendering another".
|
|
119
|
+
queueMicrotask(() => kernel.resolveManager.triggerListResolve(listState));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// ─── Mutations ───────────────────────────────────────────────────────────────
|
|
123
|
+
// Overloads: add(id) → void; add(values) → created entity proxy (TItem).
|
|
124
|
+
// The proxy is returned only for the values form (matches ListProxyNode.add).
|
|
125
|
+
const addFn = (idOrValues) => {
|
|
126
|
+
const fromValues = typeof idOrValues !== "string";
|
|
127
|
+
if (owner) {
|
|
128
|
+
const ownerId = getOwnerId();
|
|
129
|
+
let entityId;
|
|
130
|
+
if (typeof idOrValues === "string") {
|
|
131
|
+
entityId = idOrValues;
|
|
132
|
+
if (!kernel.entityRegistry.has(entityId)) {
|
|
133
|
+
throw new Error(`[palistor] per-entity list add("${entityId}"): entity not found in registry.`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
const rawId = idOrValues.id;
|
|
138
|
+
entityId =
|
|
139
|
+
typeof rawId === "string" && rawId.trim() !== "" ? rawId : generateTmpId();
|
|
140
|
+
// set() регистрирует leaf-ноды + projectionObj (с собственным recompute/notify).
|
|
141
|
+
kernel.set({ ...idOrValues, id: entityId });
|
|
142
|
+
}
|
|
143
|
+
const childNode = kernel.entityRegistry.get(entityId);
|
|
144
|
+
if (childNode) {
|
|
145
|
+
kernel.entityRegistry.setEntityOwner(childNode, ownerId, listConfigNode);
|
|
146
|
+
}
|
|
147
|
+
if (!listState.itemIds.includes(entityId)) {
|
|
148
|
+
listState.itemIds.push(entityId);
|
|
149
|
+
}
|
|
150
|
+
notifyListChanged();
|
|
151
|
+
return fromValues ? buildItemProxy(entityId) : undefined;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
let entityId;
|
|
155
|
+
if (typeof idOrValues === "string") {
|
|
156
|
+
entityId = idOrValues;
|
|
157
|
+
if (!kernel.entityRegistry.has(entityId))
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// upsert entity into store (creates entityProjectionObj + registers leaves)
|
|
162
|
+
kernel.set(idOrValues);
|
|
163
|
+
const entityNode = kernel.entityRegistry.upsert(idOrValues);
|
|
164
|
+
entityId = entityNode.id.value;
|
|
165
|
+
}
|
|
166
|
+
if (!listState.itemIds.includes(entityId)) {
|
|
167
|
+
listState.itemIds.push(entityId);
|
|
168
|
+
notifyListChanged();
|
|
169
|
+
}
|
|
170
|
+
return fromValues ? buildItemProxy(entityId) : undefined;
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
const removeFn = (id) => {
|
|
174
|
+
const idx = listState.itemIds.indexOf(id);
|
|
175
|
+
if (idx === -1)
|
|
176
|
+
return;
|
|
177
|
+
listState.itemIds.splice(idx, 1);
|
|
178
|
+
notifyListChanged();
|
|
179
|
+
};
|
|
180
|
+
const getByIdFn = (id) => {
|
|
181
|
+
if (!listState.itemIds.includes(id))
|
|
182
|
+
return undefined;
|
|
183
|
+
return buildItemProxy(id);
|
|
184
|
+
};
|
|
185
|
+
const setItemsFn = (ids) => {
|
|
186
|
+
if (owner) {
|
|
187
|
+
const ownerId = getOwnerId();
|
|
188
|
+
for (const id of ids) {
|
|
189
|
+
if (!kernel.entityRegistry.has(id)) {
|
|
190
|
+
throw new Error(`[palistor] per-entity list setItems: entity "${id}" not found in registry.`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
listState.itemIds = [...ids];
|
|
194
|
+
for (const id of ids) {
|
|
195
|
+
const childNode = kernel.entityRegistry.get(id);
|
|
196
|
+
if (childNode) {
|
|
197
|
+
kernel.entityRegistry.setEntityOwner(childNode, ownerId, listConfigNode);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
notifyListChanged();
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
listState.itemIds.length = 0;
|
|
204
|
+
for (const id of ids)
|
|
205
|
+
listState.itemIds.push(id);
|
|
206
|
+
notifyListChanged();
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
const mapFn = (fn) => {
|
|
210
|
+
return listState.itemIds
|
|
211
|
+
.map((id, index) => {
|
|
212
|
+
const proxy = buildItemProxy(id);
|
|
213
|
+
if (!proxy)
|
|
214
|
+
return undefined;
|
|
215
|
+
return fn(proxy, index, id);
|
|
216
|
+
})
|
|
217
|
+
.filter((item) => item !== undefined);
|
|
218
|
+
};
|
|
219
|
+
const getValuesFn = () => listState.itemIds
|
|
220
|
+
.map((id) => {
|
|
221
|
+
const child = kernel.entityRegistry.get(id);
|
|
222
|
+
return child ? buildEntityValuesWithLists(child, template, kernel) : undefined;
|
|
223
|
+
})
|
|
224
|
+
.filter((v) => v !== undefined);
|
|
225
|
+
// ─── Proxy object ──────────────────────────────────────────────────────────
|
|
226
|
+
// internal → external проекция ключей spread (mappable: loading, dirty).
|
|
227
|
+
const fwd = kernel.fieldMapping;
|
|
228
|
+
const spreadKeys = (owner ? ENTITY_LIST_SPREAD_KEYS : LIST_SPREAD_KEYS).map((k) => fwd[k] ?? k);
|
|
229
|
+
const proxy = new Proxy(listConfigNode, {
|
|
230
|
+
get(_target, key) {
|
|
231
|
+
// Прозрачный config-узел (для отладки/useForm). НЕ ключ трекинга.
|
|
232
|
+
if (key === CONFIG_NODE)
|
|
233
|
+
return listConfigNode;
|
|
234
|
+
// Бренд идентичности списка — ключ трекинга (root и per-entity единообразно).
|
|
235
|
+
if (key === LIST_STATE)
|
|
236
|
+
return listState;
|
|
237
|
+
if (typeof key === "symbol") {
|
|
238
|
+
if (key === Symbol.iterator) {
|
|
239
|
+
return function* () {
|
|
240
|
+
for (const id of listState.itemIds) {
|
|
241
|
+
const itemProxy = buildItemProxy(id);
|
|
242
|
+
if (itemProxy)
|
|
243
|
+
yield itemProxy;
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
249
|
+
// Обратный маппинг на входе: external → internal (влияет на loading/dirty).
|
|
250
|
+
const ikey = kernel.externalToInternal[key] ?? key;
|
|
251
|
+
switch (ikey) {
|
|
252
|
+
case "items":
|
|
253
|
+
triggerLazyResolveIfNeeded();
|
|
254
|
+
return listState.itemIds
|
|
255
|
+
.map(buildItemProxy)
|
|
256
|
+
.filter((item) => item !== undefined);
|
|
257
|
+
case "length":
|
|
258
|
+
triggerLazyResolveIfNeeded();
|
|
259
|
+
return listState.itemIds.length;
|
|
260
|
+
case "loading":
|
|
261
|
+
// Единый источник для root и per-entity: статус resolve-state.
|
|
262
|
+
return (kernel.resolveManager.getListResolveState(listState)?.status === "pending");
|
|
263
|
+
case "dirty":
|
|
264
|
+
// dirty by composition: current itemIds differ from initial snapshot
|
|
265
|
+
return !arraysEqual(listState.itemIds, listState.initialItemIds);
|
|
266
|
+
case "add":
|
|
267
|
+
return addFn;
|
|
268
|
+
case "remove":
|
|
269
|
+
return removeFn;
|
|
270
|
+
case "getById":
|
|
271
|
+
return getByIdFn;
|
|
272
|
+
case "setItems":
|
|
273
|
+
return setItemsFn;
|
|
274
|
+
case "map":
|
|
275
|
+
triggerLazyResolveIfNeeded();
|
|
276
|
+
return mapFn;
|
|
277
|
+
case "getValues":
|
|
278
|
+
return getValuesFn;
|
|
279
|
+
default:
|
|
280
|
+
return undefined;
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
set(_target, _key, _value) {
|
|
284
|
+
// Lists are not directly writable via proxy
|
|
285
|
+
return false;
|
|
286
|
+
},
|
|
287
|
+
ownKeys() {
|
|
288
|
+
return spreadKeys;
|
|
289
|
+
},
|
|
290
|
+
getOwnPropertyDescriptor(_target, key) {
|
|
291
|
+
if (typeof key === "symbol")
|
|
292
|
+
return undefined;
|
|
293
|
+
if (!spreadKeys.includes(key))
|
|
294
|
+
return undefined;
|
|
295
|
+
// Array targets have a non-configurable `length` property.
|
|
296
|
+
// The proxy invariant requires that we mirror this exactly.
|
|
297
|
+
if (key === "length") {
|
|
298
|
+
return { configurable: false, enumerable: false, writable: true, value: listState.itemIds.length };
|
|
299
|
+
}
|
|
300
|
+
return { configurable: true, enumerable: true, writable: false };
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
kernel.nodes.listProxyCache.set(listState, proxy);
|
|
304
|
+
return proxy;
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=buildListProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildListProxy.js","sourceRoot":"","sources":["../../../store/buildProxy/buildListProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type AnyConfigNode } from "../store/types";
|
|
2
|
+
import type { Palistor } from "../store/palistor";
|
|
3
|
+
/**
|
|
4
|
+
* ProxyBuilder — строит реактивный Proxy для узлов конфига.
|
|
5
|
+
*
|
|
6
|
+
* Proxy перехватывает:
|
|
7
|
+
*
|
|
8
|
+
* GET:
|
|
9
|
+
* - FIELD_STATE_PROPS → из вычисленного FieldState (value, isVisible, error…)
|
|
10
|
+
* - другой ключ → рекурсивный прокси дочернего узла
|
|
11
|
+
*
|
|
12
|
+
* SET:
|
|
13
|
+
* - "value" → write pipeline → recomputeAll → notify
|
|
14
|
+
* - остальное → запрещено
|
|
15
|
+
*
|
|
16
|
+
* OWNKEYS / GETOWNPROPERTYDESCRIPTOR:
|
|
17
|
+
* - Контролируют, какие ключи видны при spread ({...proxy}),
|
|
18
|
+
* Object.keys() и for...in. Скрывают внутренние ключи конфига
|
|
19
|
+
* (validate, formatter, setter, …), которые не должны утекать как пропсы.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ProxyBuilder {
|
|
22
|
+
private readonly kernel;
|
|
23
|
+
private readonly caches;
|
|
24
|
+
/** Compound cache for entity-leaf mode: (storage, via) → proxy. */
|
|
25
|
+
private readonly _entityLeafProxyCache;
|
|
26
|
+
constructor(kernel: Palistor<any, any>);
|
|
27
|
+
build(node: AnyConfigNode, opts?: {
|
|
28
|
+
via?: AnyConfigNode;
|
|
29
|
+
parentEntityProxy?: object;
|
|
30
|
+
}): any;
|
|
31
|
+
/**
|
|
32
|
+
* Build a thin reactive proxy for an entity leaf accessed through a template field.
|
|
33
|
+
*
|
|
34
|
+
* - `storage` — the entity leaf node (holds the actual value in nodeState)
|
|
35
|
+
* - `rules` — the template field node (provides label, validate, formatter, etc.)
|
|
36
|
+
*
|
|
37
|
+
* Replaces the old `buildEntityLeafProxy` helper. Called from ProxyBuilder.build(node, { via }).
|
|
38
|
+
*/
|
|
39
|
+
private _buildEntityLeafProxy;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=buildProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildProxy.d.ts","sourceRoot":"","sources":["../../../store/buildProxy/buildProxy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAoBlD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8C;gBAEvD,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAEvD,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,GAAG;IAkL3F;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;CAuM9B"}
|