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 @@
|
|
|
1
|
+
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../react/useForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useNotifier — registers a notification function in ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Call once in layout/provider. After registration, resolver `onError`
|
|
5
|
+
* callbacks receive the notifier via `ctx.notify`, enabling React-aware
|
|
6
|
+
* toast/alert notifications from pure config code.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { useCallback } from 'react';
|
|
11
|
+
* import { useTranslations } from 'next-intl';
|
|
12
|
+
* import { useNotifier } from '@palistor/react/useNotifier';
|
|
13
|
+
* import { paymentStore } from './config/appConfig';
|
|
14
|
+
*
|
|
15
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
16
|
+
* const tErrors = useTranslations('Errors');
|
|
17
|
+
* const notifyError = useCallback((error: any, code?: string) => {
|
|
18
|
+
* addToast({ title: tErrors(code ?? 'UNKNOWN_ERROR'), color: 'danger' });
|
|
19
|
+
* }, [tErrors]);
|
|
20
|
+
*
|
|
21
|
+
* useNotifier(paymentStore, notifyError);
|
|
22
|
+
* return <>{children}</>;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import type { ProxyStore } from "../store/store";
|
|
27
|
+
import type { NotifyFn } from "../store/resolvePipeline/";
|
|
28
|
+
/**
|
|
29
|
+
* Registers a notification function in ProxyStore for use in resolver onError.
|
|
30
|
+
*
|
|
31
|
+
* @param store — ProxyStore created via new Palistor()
|
|
32
|
+
* @param notifier — notification function (toast, alert, etc.)
|
|
33
|
+
*/
|
|
34
|
+
export declare function useNotifier<TConfig extends Record<string, any>>(store: ProxyStore<TConfig>, notifier: NotifyFn): void;
|
|
35
|
+
//# sourceMappingURL=useNotifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNotifier.d.ts","sourceRoot":"","sources":["../../react/useNotifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,QAAQ,GACjB,IAAI,CAON"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useNotifier — registers a notification function in ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Call once in layout/provider. After registration, resolver `onError`
|
|
5
|
+
* callbacks receive the notifier via `ctx.notify`, enabling React-aware
|
|
6
|
+
* toast/alert notifications from pure config code.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { useCallback } from 'react';
|
|
11
|
+
* import { useTranslations } from 'next-intl';
|
|
12
|
+
* import { useNotifier } from '@palistor/react/useNotifier';
|
|
13
|
+
* import { paymentStore } from './config/appConfig';
|
|
14
|
+
*
|
|
15
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
16
|
+
* const tErrors = useTranslations('Errors');
|
|
17
|
+
* const notifyError = useCallback((error: any, code?: string) => {
|
|
18
|
+
* addToast({ title: tErrors(code ?? 'UNKNOWN_ERROR'), color: 'danger' });
|
|
19
|
+
* }, [tErrors]);
|
|
20
|
+
*
|
|
21
|
+
* useNotifier(paymentStore, notifyError);
|
|
22
|
+
* return <>{children}</>;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { useEffect } from "react";
|
|
27
|
+
/**
|
|
28
|
+
* Registers a notification function in ProxyStore for use in resolver onError.
|
|
29
|
+
*
|
|
30
|
+
* @param store — ProxyStore created via new Palistor()
|
|
31
|
+
* @param notifier — notification function (toast, alert, etc.)
|
|
32
|
+
*/
|
|
33
|
+
export function useNotifier(store, notifier) {
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
store.setNotifier(notifier);
|
|
36
|
+
return () => {
|
|
37
|
+
store.setNotifier(null);
|
|
38
|
+
};
|
|
39
|
+
}, [store, notifier]);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=useNotifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNotifier.js","sourceRoot":"","sources":["../../react/useNotifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0B,EAC1B,QAAkB;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePersist — React хук для подключения персистенции к ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Регистрирует драйвер и ключ при маунте, отключает при анмаунте.
|
|
5
|
+
* Позволяет задавать ключ, который известен только в React-контексте
|
|
6
|
+
* (например, из роутера или пропсов).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { usePersist } from "@palistor/react/usePersist";
|
|
11
|
+
* import { localStorageDriver } from "@palistor/store/persist";
|
|
12
|
+
* import { paymentStore } from "./config/appConfig";
|
|
13
|
+
*
|
|
14
|
+
* function PaymentPage({ orderId }: { orderId: string }) {
|
|
15
|
+
* // Ключ зависит от orderId — становится известен только в React
|
|
16
|
+
* usePersist(paymentStore, {
|
|
17
|
+
* key: `payment-${orderId}`,
|
|
18
|
+
* driver: localStorageDriver,
|
|
19
|
+
* debounce: 500,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* const form = useForm(paymentStore);
|
|
23
|
+
* // ...
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import type { ProxyStore } from "../store/store";
|
|
28
|
+
import type { PersistOptions } from "../store/persist/types";
|
|
29
|
+
/**
|
|
30
|
+
* Подключает персистенцию к ProxyStore из React-компонента.
|
|
31
|
+
*
|
|
32
|
+
* При маунте:
|
|
33
|
+
* - Вызывает `store.persist.enable(options)` — гидратация + auto-save.
|
|
34
|
+
*
|
|
35
|
+
* При анмаунте:
|
|
36
|
+
* - Вызывает `store.persist.flush()` (финальное сохранение).
|
|
37
|
+
* - Вызывает `store.persist.disable()` — отписка.
|
|
38
|
+
*
|
|
39
|
+
* При смене ключа — переподключается.
|
|
40
|
+
*
|
|
41
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
42
|
+
* @param options — опции персистенции (key, driver, debounce, …)
|
|
43
|
+
*/
|
|
44
|
+
export declare function usePersist<TConfig extends Record<string, any>>(store: ProxyStore<TConfig>, options: PersistOptions): void;
|
|
45
|
+
//# sourceMappingURL=usePersist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersist.d.ts","sourceRoot":"","sources":["../../react/usePersist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,OAAO,EAAE,cAAc,GACtB,IAAI,CAmBN"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePersist — React хук для подключения персистенции к ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Регистрирует драйвер и ключ при маунте, отключает при анмаунте.
|
|
5
|
+
* Позволяет задавать ключ, который известен только в React-контексте
|
|
6
|
+
* (например, из роутера или пропсов).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { usePersist } from "@palistor/react/usePersist";
|
|
11
|
+
* import { localStorageDriver } from "@palistor/store/persist";
|
|
12
|
+
* import { paymentStore } from "./config/appConfig";
|
|
13
|
+
*
|
|
14
|
+
* function PaymentPage({ orderId }: { orderId: string }) {
|
|
15
|
+
* // Ключ зависит от orderId — становится известен только в React
|
|
16
|
+
* usePersist(paymentStore, {
|
|
17
|
+
* key: `payment-${orderId}`,
|
|
18
|
+
* driver: localStorageDriver,
|
|
19
|
+
* debounce: 500,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* const form = useForm(paymentStore);
|
|
23
|
+
* // ...
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import { useEffect, useRef } from "react";
|
|
28
|
+
/**
|
|
29
|
+
* Подключает персистенцию к ProxyStore из React-компонента.
|
|
30
|
+
*
|
|
31
|
+
* При маунте:
|
|
32
|
+
* - Вызывает `store.persist.enable(options)` — гидратация + auto-save.
|
|
33
|
+
*
|
|
34
|
+
* При анмаунте:
|
|
35
|
+
* - Вызывает `store.persist.flush()` (финальное сохранение).
|
|
36
|
+
* - Вызывает `store.persist.disable()` — отписка.
|
|
37
|
+
*
|
|
38
|
+
* При смене ключа — переподключается.
|
|
39
|
+
*
|
|
40
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
41
|
+
* @param options — опции персистенции (key, driver, debounce, …)
|
|
42
|
+
*/
|
|
43
|
+
export function usePersist(store, options) {
|
|
44
|
+
// Храним options в ref, чтобы не пересоздавать эффект при каждом рендере
|
|
45
|
+
const optionsRef = useRef(options);
|
|
46
|
+
optionsRef.current = options;
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
const opts = optionsRef.current;
|
|
49
|
+
// Включаем persist (hydrate + auto-save)
|
|
50
|
+
store.persist.enable(opts);
|
|
51
|
+
return () => {
|
|
52
|
+
// Финальное сохранение перед размонтированием
|
|
53
|
+
store.persist.flush();
|
|
54
|
+
store.persist.disable();
|
|
55
|
+
};
|
|
56
|
+
// Переподключение при смене store или ключа
|
|
57
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
|
+
}, [store, options.key, options.driver]);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=usePersist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersist.js","sourceRoot":"","sources":["../../react/usePersist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CACxB,KAA0B,EAC1B,OAAuB;IAEvB,yEAAyE;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;QAEhC,yCAAyC;QACzC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3B,OAAO,GAAG,EAAE;YACV,8CAA8C;YAC9C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC,CAAC;QACF,4CAA4C;QAC5C,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useStoreContext — регистрирует нереактивный контекст в ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Контекст доступен во всех callback-ах (resolve.resolver, onSubmit, onChange, …)
|
|
5
|
+
* через `store.context`. Не является частью формы — не попадает в
|
|
6
|
+
* getValues(), submit, persist.
|
|
7
|
+
*
|
|
8
|
+
* Используется для глобальных переменных (accountId, tenant, …),
|
|
9
|
+
* которые нужны в запросах, но не являются полями формы.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* import { useStoreContext } from 'palistor';
|
|
14
|
+
* import { paymentStore } from './config/appConfig';
|
|
15
|
+
*
|
|
16
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
17
|
+
* const accountId = useAccountId(); // из auth-провайдера
|
|
18
|
+
* useStoreContext(paymentStore, { accountId });
|
|
19
|
+
* return <>{children}</>;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* В конфиге:
|
|
24
|
+
* ```ts
|
|
25
|
+
* resolve: {
|
|
26
|
+
* resolver: async (values, store) => {
|
|
27
|
+
* return api.fetchUsers(store.context.accountId);
|
|
28
|
+
* },
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import type { ProxyStore } from "../store/store";
|
|
33
|
+
/**
|
|
34
|
+
* Регистрирует нереактивный контекст в ProxyStore.
|
|
35
|
+
*
|
|
36
|
+
* При изменении `ctx` — мержит новые ключи в существующий контекст.
|
|
37
|
+
*
|
|
38
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
39
|
+
* @param ctx — объект с произвольными данными (accountId, tenant, …)
|
|
40
|
+
*/
|
|
41
|
+
export declare function useStoreContext<TConfig extends Record<string, any>>(store: ProxyStore<TConfig>, ctx: Record<string, unknown>): void;
|
|
42
|
+
//# sourceMappingURL=useStoreContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoreContext.d.ts","sourceRoot":"","sources":["../../react/useStoreContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,IAAI,CAIN"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useStoreContext — регистрирует нереактивный контекст в ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Контекст доступен во всех callback-ах (resolve.resolver, onSubmit, onChange, …)
|
|
5
|
+
* через `store.context`. Не является частью формы — не попадает в
|
|
6
|
+
* getValues(), submit, persist.
|
|
7
|
+
*
|
|
8
|
+
* Используется для глобальных переменных (accountId, tenant, …),
|
|
9
|
+
* которые нужны в запросах, но не являются полями формы.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* import { useStoreContext } from 'palistor';
|
|
14
|
+
* import { paymentStore } from './config/appConfig';
|
|
15
|
+
*
|
|
16
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
17
|
+
* const accountId = useAccountId(); // из auth-провайдера
|
|
18
|
+
* useStoreContext(paymentStore, { accountId });
|
|
19
|
+
* return <>{children}</>;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* В конфиге:
|
|
24
|
+
* ```ts
|
|
25
|
+
* resolve: {
|
|
26
|
+
* resolver: async (values, store) => {
|
|
27
|
+
* return api.fetchUsers(store.context.accountId);
|
|
28
|
+
* },
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { useEffect } from "react";
|
|
33
|
+
/**
|
|
34
|
+
* Регистрирует нереактивный контекст в ProxyStore.
|
|
35
|
+
*
|
|
36
|
+
* При изменении `ctx` — мержит новые ключи в существующий контекст.
|
|
37
|
+
*
|
|
38
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
39
|
+
* @param ctx — объект с произвольными данными (accountId, tenant, …)
|
|
40
|
+
*/
|
|
41
|
+
export function useStoreContext(store, ctx) {
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
store.setContext(ctx);
|
|
44
|
+
}, [store, ctx]);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=useStoreContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoreContext.js","sourceRoot":"","sources":["../../react/useStoreContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAA0B,EAC1B,GAA4B;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useTranslator — регистрирует функцию перевода в ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Вызывайте один раз в layout/провайдере. После регистрации все компоненты,
|
|
5
|
+
* использующие useForm, автоматически получат переведённые
|
|
6
|
+
* label / placeholder / description (если в конфиге они заданы как функции).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { useTranslations } from 'next-intl';
|
|
11
|
+
* import { useTranslator } from '@palistor/react/useTranslator';
|
|
12
|
+
* import { paymentStore } from './config/appConfig';
|
|
13
|
+
*
|
|
14
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
15
|
+
* const t = useTranslations();
|
|
16
|
+
* useTranslator(paymentStore, t);
|
|
17
|
+
* return <>{children}</>;
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* Без translator — label/placeholder возвращают ключи перевода как есть
|
|
22
|
+
* (fallback, удобно для тестов и SSR без i18n).
|
|
23
|
+
*/
|
|
24
|
+
import type { ProxyStore } from "../store/store";
|
|
25
|
+
import type { TranslateFn } from "../store/store/types";
|
|
26
|
+
/**
|
|
27
|
+
* Регистрирует функцию перевода в ProxyStore.
|
|
28
|
+
*
|
|
29
|
+
* При смене `translator` (например, при смене локали) —
|
|
30
|
+
* все подписанные через useForm компоненты перерендерятся
|
|
31
|
+
* с актуальными переводами.
|
|
32
|
+
*
|
|
33
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
34
|
+
* @param translator — функция перевода (next-intl `t`, i18next `t`, …)
|
|
35
|
+
*/
|
|
36
|
+
export declare function useTranslator<TConfig extends Record<string, any>>(store: ProxyStore<TConfig>, translator: TranslateFn): void;
|
|
37
|
+
//# sourceMappingURL=useTranslator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslator.d.ts","sourceRoot":"","sources":["../../react/useTranslator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,UAAU,EAAE,WAAW,GACtB,IAAI,CAON"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useTranslator — регистрирует функцию перевода в ProxyStore.
|
|
3
|
+
*
|
|
4
|
+
* Вызывайте один раз в layout/провайдере. После регистрации все компоненты,
|
|
5
|
+
* использующие useForm, автоматически получат переведённые
|
|
6
|
+
* label / placeholder / description (если в конфиге они заданы как функции).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { useTranslations } from 'next-intl';
|
|
11
|
+
* import { useTranslator } from '@palistor/react/useTranslator';
|
|
12
|
+
* import { paymentStore } from './config/appConfig';
|
|
13
|
+
*
|
|
14
|
+
* function Layout({ children }: { children: React.ReactNode }) {
|
|
15
|
+
* const t = useTranslations();
|
|
16
|
+
* useTranslator(paymentStore, t);
|
|
17
|
+
* return <>{children}</>;
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* Без translator — label/placeholder возвращают ключи перевода как есть
|
|
22
|
+
* (fallback, удобно для тестов и SSR без i18n).
|
|
23
|
+
*/
|
|
24
|
+
import { useEffect } from "react";
|
|
25
|
+
/**
|
|
26
|
+
* Регистрирует функцию перевода в ProxyStore.
|
|
27
|
+
*
|
|
28
|
+
* При смене `translator` (например, при смене локали) —
|
|
29
|
+
* все подписанные через useForm компоненты перерендерятся
|
|
30
|
+
* с актуальными переводами.
|
|
31
|
+
*
|
|
32
|
+
* @param store — ProxyStore, созданный через new Palistor()
|
|
33
|
+
* @param translator — функция перевода (next-intl `t`, i18next `t`, …)
|
|
34
|
+
*/
|
|
35
|
+
export function useTranslator(store, translator) {
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
store.setTranslator(translator);
|
|
38
|
+
return () => {
|
|
39
|
+
store.setTranslator(null);
|
|
40
|
+
};
|
|
41
|
+
}, [store, translator]);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=useTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslator.js","sourceRoot":"","sources":["../../react/useTranslator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,KAA0B,EAC1B,UAAuB;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AnyConfigNode } from "../store/types";
|
|
2
|
+
import type { FieldState } from "../compute/index";
|
|
3
|
+
import { type ValuesCache } from "../valuesCache/valuesCache";
|
|
4
|
+
/**
|
|
5
|
+
* Применить патч (результат setter) к nodeState.
|
|
6
|
+
*
|
|
7
|
+
* Рекурсивно обходит дерево конфига параллельно с деревом патча.
|
|
8
|
+
* Для каждого ключа патча:
|
|
9
|
+
* - Листовой узел (есть "value") → обновляет value в nodeState,
|
|
10
|
+
* если оно реально изменилось (строгое !==).
|
|
11
|
+
* - Групповой узел → рекурсия вглубь.
|
|
12
|
+
*
|
|
13
|
+
* Возвращает Set узлов, значения которых были фактически изменены.
|
|
14
|
+
* Это позволяет вызывающему коду точно знать, кого уведомить.
|
|
15
|
+
*/
|
|
16
|
+
export declare function applyPatch(configNode: AnyConfigNode, nodeState: WeakMap<object, FieldState>, patch: Record<string, unknown>, changed: Set<object>, valuesCache?: ValuesCache): Set<object>;
|
|
17
|
+
//# sourceMappingURL=applyPatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyPatch.d.ts","sourceRoot":"","sources":["../../../store/applyPatch/applyPatch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,WAAW,CAAC,EAAE,WAAW,GACxB,GAAG,CAAC,MAAM,CAAC,CA4Bb"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CONFIG_PROPS } from "../constants";
|
|
2
|
+
import { isLeafNode, isListNode } from "../traversal";
|
|
3
|
+
import { updateValuesCacheEntry } from "../valuesCache/valuesCache";
|
|
4
|
+
/**
|
|
5
|
+
* Применить патч (результат setter) к nodeState.
|
|
6
|
+
*
|
|
7
|
+
* Рекурсивно обходит дерево конфига параллельно с деревом патча.
|
|
8
|
+
* Для каждого ключа патча:
|
|
9
|
+
* - Листовой узел (есть "value") → обновляет value в nodeState,
|
|
10
|
+
* если оно реально изменилось (строгое !==).
|
|
11
|
+
* - Групповой узел → рекурсия вглубь.
|
|
12
|
+
*
|
|
13
|
+
* Возвращает Set узлов, значения которых были фактически изменены.
|
|
14
|
+
* Это позволяет вызывающему коду точно знать, кого уведомить.
|
|
15
|
+
*/
|
|
16
|
+
export function applyPatch(configNode, nodeState, patch, changed, valuesCache) {
|
|
17
|
+
for (const key of Object.keys(patch)) {
|
|
18
|
+
// Пропускаем служебные ключи конфига (value, label, validate, …)
|
|
19
|
+
if (CONFIG_PROPS.has(key))
|
|
20
|
+
continue;
|
|
21
|
+
const child = configNode[key];
|
|
22
|
+
if (!child || typeof child !== "object")
|
|
23
|
+
continue;
|
|
24
|
+
if (isListNode(child))
|
|
25
|
+
continue; // ListNode — пропускаем, обновляется через store.set()
|
|
26
|
+
const patchValue = patch[key];
|
|
27
|
+
if (isLeafNode(child)) {
|
|
28
|
+
// Листовой узел — обновляем value только если оно реально изменилось
|
|
29
|
+
const state = nodeState.get(child);
|
|
30
|
+
if (state && state.value !== patchValue) {
|
|
31
|
+
nodeState.set(child, { ...state, value: patchValue });
|
|
32
|
+
if (valuesCache)
|
|
33
|
+
updateValuesCacheEntry(valuesCache, child, patchValue);
|
|
34
|
+
changed.add(child);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else if (patchValue && typeof patchValue === "object" && !Array.isArray(patchValue)) {
|
|
38
|
+
// Групповой узел — рекурсия
|
|
39
|
+
applyPatch(child, nodeState, patchValue, changed, valuesCache);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return changed;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=applyPatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyPatch.js","sourceRoot":"","sources":["../../../store/applyPatch/applyPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,sBAAsB,EAAoB,MAAM,4BAA4B,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,UAAyB,EACzB,SAAsC,EACtC,KAA8B,EAC9B,OAAoB,EACpB,WAAyB;IAEzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,iEAAiE;QACjE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAEpC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAA8B,CAAC;QAE3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,uDAAuD;QAExF,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,qEAAqE;YACrE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEnC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACxC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtD,IAAI,WAAW;oBAAE,sBAAsB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtF,4BAA4B;YAC5B,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,UAAqC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AnyConfigNode } from "../store/types";
|
|
2
|
+
import type { EntityNode, EntityGroupNode } from "../entityRegistry/types";
|
|
3
|
+
import type { Palistor } from "../store/palistor";
|
|
4
|
+
/**
|
|
5
|
+
* Build a flat values object from an entity node for use in computed
|
|
6
|
+
* template rules (formatter, validate, isRequired, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Exported for per-entity list resolve (variant C): the child-list resolver
|
|
9
|
+
* receives the owner's flat snapshot built here (see triggerEntityListResolve).
|
|
10
|
+
* NB: `lists`/`owner` on EntityNode are non-enumerable → excluded automatically.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildEntityValues(entityNode: EntityNode | EntityGroupNode, nodeState: WeakMap<object, {
|
|
13
|
+
value: unknown;
|
|
14
|
+
}>): Record<string, unknown>;
|
|
15
|
+
/**
|
|
16
|
+
* Build a flat values object for an entity INCLUDING its per-entity nested lists
|
|
17
|
+
* (variant C, phase C3). Scalars/groups come from {@link buildEntityValues};
|
|
18
|
+
* for every list field in the template, the child entities' deep values are
|
|
19
|
+
* appended under the list's field key. Recurses into nested-of-nested lists.
|
|
20
|
+
*
|
|
21
|
+
* Used by the entity projection proxy's `values` getter and the per-entity list
|
|
22
|
+
* proxy's `getValues()`. NB: plain {@link buildEntityValues} stays list-free —
|
|
23
|
+
* it feeds resolvers/validators that must see scalar values only.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildEntityValuesWithLists(entityNode: EntityNode | EntityGroupNode, templateNode: AnyConfigNode, kernel: Palistor<any, any>): Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Whether an entity is dirty (variant C, phase C3): any of its leaf fields
|
|
28
|
+
* differs from its captured initial value, OR any per-entity list's composition
|
|
29
|
+
* differs from its initial snapshot.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isEntityDirty(entityNode: EntityNode | EntityGroupNode, kernel: Palistor<any, any>): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Build an EntityProjectionProxy: a proxy for an entity through a template node.
|
|
34
|
+
*
|
|
35
|
+
* Provides entity leaf values accessed through template structure.
|
|
36
|
+
* Template rules (formatter, setter, validate, isRequired, label, etc.) are applied.
|
|
37
|
+
*
|
|
38
|
+
* Accessing `proxy.name` → entity-leaf proxy (built by ProxyBuilder) with template rules.
|
|
39
|
+
* Writing `proxy.name.value = 'X'` → updates entity leaf via template formatter.
|
|
40
|
+
*
|
|
41
|
+
* @param entityNode EntityNode from entityRegistry
|
|
42
|
+
* @param templateNode Template config node (the `array[0]` of a ListNode)
|
|
43
|
+
* @param kernel Palistor instance
|
|
44
|
+
* @param entityProxyCache Per-list cache (keyed by entityNode) for stable references
|
|
45
|
+
* @param ownerEntityNode Real owner entity for per-entity lists (C4). Threaded
|
|
46
|
+
* through nested-group recursion so a list declared inside a structural group
|
|
47
|
+
* is owned by the nearest ancestor entity (the one with an `id`), not by the
|
|
48
|
+
* group node — which `entityNode`/`rootEntityNode` reset to on recursion.
|
|
49
|
+
* Omitted on the top-level call → defaults to `entityNode` itself.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildEntityProjectionProxy(entityNode: EntityNode | EntityGroupNode, templateNode: AnyConfigNode, kernel: Palistor<any, any>, entityProxyCache?: WeakMap<object, object>, ownerEntityNode?: EntityNode): object;
|
|
52
|
+
//# sourceMappingURL=buildEntityProjectionProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildEntityProjectionProxy.d.ts","sourceRoot":"","sources":["../../../store/buildProxy/buildEntityProjectionProxy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAkB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAgBlD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,GAAG,eAAe,EACxC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAC7C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,GAAG,eAAe,EACxC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AA2CD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,GAAG,eAAe,EACxC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GACzB,OAAO,CAwBT;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,GAAG,eAAe,EACxC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,eAAe,CAAC,EAAE,UAAU,GAC3B,MAAM,CAqNR"}
|