palistor 0.0.25 → 0.0.26
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/README.md +574 -542
- package/README.ru.md +979 -0
- package/dist/index.d.ts +16 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -28
- package/dist/index.js.map +1 -1
- package/dist/react/createTrackingProxy.d.ts +27 -27
- package/dist/react/createTrackingProxy.d.ts.map +1 -1
- package/dist/react/createTrackingProxy.js +54 -53
- package/dist/react/createTrackingProxy.js.map +1 -1
- package/dist/react/useForm.d.ts +42 -43
- package/dist/react/useForm.d.ts.map +1 -1
- package/dist/react/useForm.js +38 -38
- package/dist/react/useForm.js.map +1 -1
- package/dist/react/usePersist.d.ts +14 -14
- package/dist/react/usePersist.js +18 -18
- package/dist/react/usePersist.js.map +1 -1
- package/dist/react/useStoreContext.d.ts +11 -11
- package/dist/react/useStoreContext.js +11 -11
- package/dist/react/useTranslator.d.ts +12 -12
- package/dist/react/useTranslator.js +12 -12
- package/dist/store/applyPatch/applyPatch.d.ts +8 -8
- package/dist/store/applyPatch/applyPatch.js +12 -12
- package/dist/store/applyPatch/applyPatch.js.map +1 -1
- package/dist/store/buildProxy/buildEntityProjectionProxy.js +6 -6
- package/dist/store/buildProxy/buildEntityProjectionProxy.js.map +1 -1
- package/dist/store/buildProxy/buildListProxy.d.ts +8 -8
- package/dist/store/buildProxy/buildListProxy.js +30 -30
- package/dist/store/buildProxy/buildListProxy.js.map +1 -1
- package/dist/store/buildProxy/buildProxy.d.ts +8 -8
- package/dist/store/buildProxy/buildProxy.js +39 -39
- package/dist/store/buildProxy/buildProxy.js.map +1 -1
- package/dist/store/buildProxy/computeProxyKeys.d.ts +8 -8
- package/dist/store/buildProxy/computeProxyKeys.js +9 -9
- package/dist/store/buildProxy/computeProxyKeys.js.map +1 -1
- package/dist/store/buildProxy/handleLazyResolve.d.ts +3 -3
- package/dist/store/buildProxy/handleLazyResolve.js +3 -3
- package/dist/store/buildProxy/initProxyCaches.d.ts +5 -5
- package/dist/store/buildProxy/initProxyCaches.js +5 -5
- package/dist/store/compute/computeFieldState.d.ts +3 -3
- package/dist/store/compute/computeFieldState.js +8 -8
- package/dist/store/compute/computeFieldState.js.map +1 -1
- package/dist/store/compute/fieldStateChanged.d.ts +1 -1
- package/dist/store/compute/fieldStateChanged.js +1 -1
- package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts +4 -4
- package/dist/store/compute/recompute/collectGroupComputeNodes.js +7 -7
- package/dist/store/compute/recompute/collectGroupComputeNodes.js.map +1 -1
- package/dist/store/compute/recompute/recomputeAndNotify.d.ts +3 -3
- package/dist/store/compute/recompute/recomputeAndNotify.js +3 -3
- package/dist/store/compute/recompute/recomputeLeaves.d.ts +11 -10
- package/dist/store/compute/recompute/recomputeLeaves.d.ts.map +1 -1
- package/dist/store/compute/recompute/recomputeLeaves.js +26 -27
- package/dist/store/compute/recompute/recomputeLeaves.js.map +1 -1
- package/dist/store/compute/recompute/recomputeTargeted.d.ts +7 -7
- package/dist/store/compute/recompute/recomputeTargeted.js +12 -12
- package/dist/store/compute/recompute/recomputeTargeted.js.map +1 -1
- package/dist/store/compute/recompute/topologicalSortComputed.d.ts +4 -4
- package/dist/store/compute/recompute/topologicalSortComputed.d.ts.map +1 -1
- package/dist/store/compute/recompute/topologicalSortComputed.js +11 -13
- package/dist/store/compute/recompute/topologicalSortComputed.js.map +1 -1
- package/dist/store/compute/recompute/types.d.ts +4 -4
- package/dist/store/compute/resolveFlag.d.ts +2 -2
- package/dist/store/compute/resolveFlag.js +2 -2
- package/dist/store/compute/resolveString.d.ts +5 -5
- package/dist/store/compute/resolveString.js +6 -6
- package/dist/store/compute/resolveString.js.map +1 -1
- package/dist/store/compute/types.d.ts +3 -3
- package/dist/store/constants.d.ts +48 -48
- package/dist/store/constants.d.ts.map +1 -1
- package/dist/store/constants.js +45 -45
- package/dist/store/defineFieldMapping.d.ts +21 -19
- package/dist/store/defineFieldMapping.d.ts.map +1 -1
- package/dist/store/defineFieldMapping.js +21 -19
- package/dist/store/defineFieldMapping.js.map +1 -1
- package/dist/store/dirtyTracking/collectInitialSnapshot.js +1 -1
- package/dist/store/dirtyTracking/collectInitialSnapshot.js.map +1 -1
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts +3 -3
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.js +11 -11
- package/dist/store/dirtyTracking/recomputeDirtyTargeted.js.map +1 -1
- package/dist/store/dirtyTracking/setGroupRevalidate.d.ts +6 -6
- package/dist/store/dirtyTracking/setGroupRevalidate.js +7 -7
- package/dist/store/dirtyTracking/setGroupRevalidate.js.map +1 -1
- package/dist/store/entityRegistry/entityRegistry.d.ts +72 -72
- package/dist/store/entityRegistry/entityRegistry.d.ts.map +1 -1
- package/dist/store/entityRegistry/entityRegistry.js +91 -91
- package/dist/store/entityRegistry/entityRegistry.js.map +1 -1
- package/dist/store/entityRegistry/generateId.d.ts +3 -3
- package/dist/store/entityRegistry/generateId.js +3 -3
- package/dist/store/entityRegistry/types.d.ts +17 -17
- package/dist/store/entityRegistry/types.d.ts.map +1 -1
- package/dist/store/flow/buildFlowStepsProxy.d.ts +9 -9
- package/dist/store/flow/buildFlowStepsProxy.js +13 -13
- package/dist/store/flow/buildFlowStepsProxy.js.map +1 -1
- package/dist/store/flow/defineFlow.d.ts +27 -25
- package/dist/store/flow/defineFlow.d.ts.map +1 -1
- package/dist/store/flow/defineFlow.js +15 -13
- package/dist/store/flow/defineFlow.js.map +1 -1
- package/dist/store/flow/flowApi.d.ts +3 -2
- package/dist/store/flow/flowApi.d.ts.map +1 -1
- package/dist/store/flow/flowApi.js +1 -1
- package/dist/store/flow/flowApi.js.map +1 -1
- package/dist/store/flow/flowNavigation.d.ts +65 -63
- package/dist/store/flow/flowNavigation.d.ts.map +1 -1
- package/dist/store/flow/flowNavigation.js +74 -72
- package/dist/store/flow/flowNavigation.js.map +1 -1
- package/dist/store/flow/flowState.d.ts +16 -16
- package/dist/store/flow/flowState.d.ts.map +1 -1
- package/dist/store/flow/flowState.js +5 -5
- package/dist/store/flow/flowState.js.map +1 -1
- package/dist/store/groupDeps/createGroupDeps.d.ts +3 -3
- package/dist/store/groupDeps/createGroupDeps.js +6 -6
- package/dist/store/groupDeps/createGroupDeps.js.map +1 -1
- package/dist/store/groupDeps/createTrackingValues.d.ts +9 -9
- package/dist/store/groupDeps/createTrackingValues.js +11 -11
- package/dist/store/groupDeps/createTrackingValues.js.map +1 -1
- package/dist/store/groupDeps/getNodeGroupPath.d.ts +3 -3
- package/dist/store/groupDeps/getNodeGroupPath.js +5 -5
- package/dist/store/groupDeps/getNodeGroupPath.js.map +1 -1
- package/dist/store/groupDeps/getRecipientGroups.d.ts +1 -1
- package/dist/store/groupDeps/getRecipientGroups.js +1 -1
- package/dist/store/groupDeps/groupDeps.d.ts +7 -7
- package/dist/store/groupDeps/groupDeps.js +7 -7
- package/dist/store/groupDeps/pairKey.d.ts +3 -3
- package/dist/store/groupDeps/pairKey.d.ts.map +1 -1
- package/dist/store/groupDeps/pairKey.js +4 -4
- package/dist/store/groupDeps/pairKey.js.map +1 -1
- package/dist/store/groupDeps/resolveGroupByPath.d.ts +3 -3
- package/dist/store/groupDeps/resolveGroupByPath.js +3 -3
- package/dist/store/init/createNotificationHub.d.ts +31 -31
- package/dist/store/init/createNotificationHub.d.ts.map +1 -1
- package/dist/store/init/createNotificationHub.js +36 -37
- package/dist/store/init/createNotificationHub.js.map +1 -1
- package/dist/store/init/createResolveManager.d.ts +72 -69
- package/dist/store/init/createResolveManager.d.ts.map +1 -1
- package/dist/store/init/createResolveManager.js +101 -98
- package/dist/store/init/createResolveManager.js.map +1 -1
- package/dist/store/init/initGroupSubmitting.d.ts +2 -2
- package/dist/store/init/initGroupSubmitting.js +4 -4
- package/dist/store/init/initGroupSubmitting.js.map +1 -1
- package/dist/store/normalizeConfig.d.ts +20 -18
- package/dist/store/normalizeConfig.d.ts.map +1 -1
- package/dist/store/normalizeConfig.js +31 -29
- package/dist/store/normalizeConfig.js.map +1 -1
- package/dist/store/onChangePipeline/computeFieldKey.d.ts +2 -2
- package/dist/store/onChangePipeline/computeFieldKey.js +2 -2
- package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts +2 -2
- package/dist/store/onChangePipeline/findOnChangeAncestors.js +4 -4
- package/dist/store/onChangePipeline/findOnChangeAncestors.js.map +1 -1
- package/dist/store/onChangePipeline/onChangePipeline.d.ts +13 -12
- package/dist/store/onChangePipeline/onChangePipeline.d.ts.map +1 -1
- package/dist/store/onChangePipeline/onChangePipeline.js +14 -13
- package/dist/store/onChangePipeline/onChangePipeline.js.map +1 -1
- package/dist/store/persist/drivers.d.ts +7 -7
- package/dist/store/persist/drivers.js +8 -8
- package/dist/store/persist/drivers.js.map +1 -1
- package/dist/store/persist/index.d.ts +1 -1
- package/dist/store/persist/persistManager.d.ts +23 -23
- package/dist/store/persist/persistManager.d.ts.map +1 -1
- package/dist/store/persist/persistManager.js +51 -51
- package/dist/store/persist/persistManager.js.map +1 -1
- package/dist/store/persist/types.d.ts +23 -23
- package/dist/store/persist/types.d.ts.map +1 -1
- package/dist/store/persist/types.js +4 -4
- package/dist/store/resetPipeline/buildResetPatch.d.ts +5 -5
- package/dist/store/resetPipeline/buildResetPatch.js +5 -5
- package/dist/store/resetPipeline/collectDefaults.d.ts +5 -5
- package/dist/store/resetPipeline/collectDefaults.js +6 -6
- package/dist/store/resetPipeline/collectDefaults.js.map +1 -1
- package/dist/store/resetPipeline/resetPipeline.d.ts +7 -7
- package/dist/store/resetPipeline/resetPipeline.js +15 -15
- package/dist/store/resetPipeline/resetPipeline.js.map +1 -1
- package/dist/store/resolvePipeline/applyPendingWrites.d.ts +10 -10
- package/dist/store/resolvePipeline/applyPendingWrites.d.ts.map +1 -1
- package/dist/store/resolvePipeline/applyPendingWrites.js +35 -38
- package/dist/store/resolvePipeline/applyPendingWrites.js.map +1 -1
- package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts +8 -7
- package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts.map +1 -1
- package/dist/store/resolvePipeline/createContextTrackingProxy.js +6 -5
- package/dist/store/resolvePipeline/createContextTrackingProxy.js.map +1 -1
- package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts +43 -43
- package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts.map +1 -1
- package/dist/store/resolvePipeline/createValuesTrackingProxy.js +70 -70
- package/dist/store/resolvePipeline/createValuesTrackingProxy.js.map +1 -1
- package/dist/store/resolvePipeline/executeListResolve.d.ts +14 -14
- package/dist/store/resolvePipeline/executeListResolve.js +27 -27
- package/dist/store/resolvePipeline/executeListResolve.js.map +1 -1
- package/dist/store/resolvePipeline/executeResolve.d.ts +15 -15
- package/dist/store/resolvePipeline/executeResolve.js +46 -46
- package/dist/store/resolvePipeline/executeResolve.js.map +1 -1
- package/dist/store/store/NodeRegistry/nodeRegistry.d.ts +61 -61
- package/dist/store/store/NodeRegistry/nodeRegistry.d.ts.map +1 -1
- package/dist/store/store/NodeRegistry/nodeRegistry.js +85 -86
- package/dist/store/store/NodeRegistry/nodeRegistry.js.map +1 -1
- package/dist/store/store/NodeRegistry/nodeUtils.d.ts +5 -5
- package/dist/store/store/NodeRegistry/nodeUtils.d.ts.map +1 -1
- package/dist/store/store/NodeRegistry/nodeUtils.js +5 -5
- package/dist/store/store/NodeRegistry/nodeUtils.js.map +1 -1
- package/dist/store/store/groupDepsMap.d.ts +23 -23
- package/dist/store/store/groupDepsMap.d.ts.map +1 -1
- package/dist/store/store/groupDepsMap.js +35 -34
- package/dist/store/store/groupDepsMap.js.map +1 -1
- package/dist/store/store/hasComputedProps.d.ts +2 -2
- package/dist/store/store/hasComputedProps.js +2 -2
- package/dist/store/store/nodeMap.d.ts +5 -5
- package/dist/store/store/nodeMap.js +7 -7
- package/dist/store/store/nodeMap.js.map +1 -1
- package/dist/store/store/palistor.d.ts +80 -80
- package/dist/store/store/palistor.d.ts.map +1 -1
- package/dist/store/store/palistor.js +149 -169
- package/dist/store/store/palistor.js.map +1 -1
- package/dist/store/store/registerNodes.d.ts +10 -10
- package/dist/store/store/registerNodes.js +15 -15
- package/dist/store/store/registerNodes.js.map +1 -1
- package/dist/store/store/serviceRegistry.d.ts +8 -8
- package/dist/store/store/serviceRegistry.d.ts.map +1 -1
- package/dist/store/store/serviceRegistry.js +8 -8
- package/dist/store/store/serviceRegistry.js.map +1 -1
- package/dist/store/store/types.d.ts +236 -234
- package/dist/store/store/types.d.ts.map +1 -1
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts +2 -2
- package/dist/store/submitPipeline/applyLeafBeforeSubmit.js +2 -2
- package/dist/store/submitPipeline/collectLeafStates.d.ts +2 -2
- package/dist/store/submitPipeline/collectLeafStates.js +2 -2
- package/dist/store/submitPipeline/submitPipeline.d.ts +8 -8
- package/dist/store/submitPipeline/submitPipeline.js +12 -12
- package/dist/store/submitPipeline/submitPipeline.js.map +1 -1
- package/dist/store/submitPipeline/types.d.ts +1 -1
- package/dist/store/submitPipeline/types.d.ts.map +1 -1
- package/dist/store/traversal/nodeClassifier.d.ts +9 -9
- package/dist/store/traversal/nodeClassifier.d.ts.map +1 -1
- package/dist/store/traversal/nodeClassifier.js +11 -11
- package/dist/store/traversal/nodeClassifier.js.map +1 -1
- package/dist/store/traversal/walkFull.d.ts +14 -14
- package/dist/store/traversal/walkFull.js +2 -2
- package/dist/store/valuesCache/valuesCache.d.ts +9 -9
- package/dist/store/valuesCache/valuesCache.d.ts.map +1 -1
- package/dist/store/valuesCache/valuesCache.js +6 -6
- package/dist/store/writePipeline/formatPatch.d.ts +5 -5
- package/dist/store/writePipeline/formatPatch.js +7 -7
- package/dist/store/writePipeline/formatPatch.js.map +1 -1
- package/dist/store/writePipeline/formatValue.d.ts +5 -5
- package/dist/store/writePipeline/formatValue.js +5 -5
- package/dist/store/writePipeline/mergeChanged.d.ts +4 -4
- package/dist/store/writePipeline/mergeChanged.js +4 -4
- package/dist/store/writePipeline/runSetter.d.ts +6 -6
- package/dist/store/writePipeline/runSetter.js +8 -8
- package/dist/store/writePipeline/storeValue.d.ts +3 -3
- package/dist/store/writePipeline/storeValue.js +3 -3
- package/dist/store/writePipeline/types.d.ts +4 -4
- package/dist/store/writePipeline/types.d.ts.map +1 -1
- package/dist/store/writePipeline/writePipeline.d.ts +7 -7
- package/dist/store/writePipeline/writePipeline.d.ts.map +1 -1
- package/dist/store/writePipeline/writePipeline.js +15 -15
- package/dist/store/writePipeline/writePipeline.js.map +1 -1
- package/package.json +11 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { AnyConfigNode } from "../store/types";
|
|
2
2
|
import type { FieldState } from "../compute/index";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Sets the `revalidate` flag on a group node and recursively propagates it
|
|
5
|
+
* to ALL child nodes — leaf fields as well as nested groups.
|
|
6
6
|
*
|
|
7
|
-
* @param node —
|
|
8
|
-
* @param revalidate —
|
|
9
|
-
* @param nodeState — WeakMap
|
|
10
|
-
* @returns —
|
|
7
|
+
* @param node — config node (group or field)
|
|
8
|
+
* @param revalidate — the flag value to set
|
|
9
|
+
* @param nodeState — WeakMap with each node's current state (FieldState)
|
|
10
|
+
* @returns — set of nodes whose revalidate flag actually changed
|
|
11
11
|
*/
|
|
12
12
|
export declare function setGroupRevalidate(node: AnyConfigNode, revalidate: boolean, nodeState: WeakMap<object, FieldState>): Set<object>;
|
|
13
13
|
//# sourceMappingURL=setGroupRevalidate.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { walkFull } from "../traversal";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Sets the `revalidate` flag on a group node and recursively propagates it
|
|
4
|
+
* to ALL child nodes — leaf fields as well as nested groups.
|
|
5
5
|
*
|
|
6
|
-
* @param node —
|
|
7
|
-
* @param revalidate —
|
|
8
|
-
* @param nodeState — WeakMap
|
|
9
|
-
* @returns —
|
|
6
|
+
* @param node — config node (group or field)
|
|
7
|
+
* @param revalidate — the flag value to set
|
|
8
|
+
* @param nodeState — WeakMap with each node's current state (FieldState)
|
|
9
|
+
* @returns — set of nodes whose revalidate flag actually changed
|
|
10
10
|
*/
|
|
11
11
|
export function setGroupRevalidate(node, revalidate, nodeState) {
|
|
12
12
|
const changed = new Set();
|
|
13
|
-
//
|
|
13
|
+
// Update the root node itself (walkFull doesn't visit it).
|
|
14
14
|
updateRevalidate(node, revalidate, nodeState, changed);
|
|
15
15
|
walkFull(node, {
|
|
16
16
|
onLeaf(leafNode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setGroupRevalidate.js","sourceRoot":"","sources":["../../../store/dirtyTracking/setGroupRevalidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,UAAmB,EACnB,SAAsC;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,
|
|
1
|
+
{"version":3,"file":"setGroupRevalidate.js","sourceRoot":"","sources":["../../../store/dirtyTracking/setGroupRevalidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,UAAmB,EACnB,SAAsC;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,2DAA2D;IAC3D,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAEvD,QAAQ,CAAC,IAAI,EAAE;QACb,MAAM,CAAC,QAAQ;YACb,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,YAAY,CAAC,SAAS;YACpB,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,UAAmB,EACnB,SAAsC,EACtC,OAAoB;IAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import type { EntityNode, EntityGroupNode, EntityData } from "./types";
|
|
2
2
|
import type { ListState } from "../store/types";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Create a new EntityNode from a flat data object.
|
|
5
|
+
* Every field (except id) is wrapped in { value }.
|
|
6
|
+
* Supports nested objects — recursively creates EntityGroupNodes.
|
|
7
7
|
*
|
|
8
|
-
* @param data
|
|
9
|
-
* @param id
|
|
8
|
+
* @param data Flat or nested data object
|
|
9
|
+
* @param id String ID (required at the top level)
|
|
10
10
|
*/
|
|
11
11
|
export declare function createEntityNode(data: EntityData, id: string): EntityNode;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Recursive merge of data into an existing EntityNode.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
* -
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
15
|
+
* Rules:
|
|
16
|
+
* - Existing leaf fields: update `.value`
|
|
17
|
+
* - New fields: create a leaf `{ value }`
|
|
18
|
+
* - Missing fields: do NOT delete
|
|
19
|
+
* - Nested objects in data: recursive merge into the group
|
|
20
20
|
*
|
|
21
|
-
* @param target
|
|
22
|
-
* @param data
|
|
21
|
+
* @param target Existing EntityNode or EntityGroupNode
|
|
22
|
+
* @param data Input data (flat or nested)
|
|
23
23
|
*/
|
|
24
24
|
export declare function mergeEntityNode(target: EntityNode | EntityGroupNode, data: Record<string, unknown>): void;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Entity registry.
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* Fully isolated from Palistor: no dependencies on the store.
|
|
29
|
+
* Holds EntityNodes, bindings (template attachments), the resolved cache.
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* const registry = new EntityRegistry();
|
|
@@ -35,129 +35,129 @@ export declare function mergeEntityNode(target: EntityNode | EntityGroupNode, da
|
|
|
35
35
|
* registry.bind('u1', formTemplate);
|
|
36
36
|
*/
|
|
37
37
|
export declare class EntityRegistry {
|
|
38
|
-
/**
|
|
38
|
+
/** Main storage: id → EntityNode */
|
|
39
39
|
private readonly entities;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
41
|
+
* Entity-to-template bindings.
|
|
42
|
+
* One entity can be bound to several templates.
|
|
43
43
|
*/
|
|
44
44
|
private readonly bindings;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
46
|
+
* "Resolve completed" cache: id → Set<templateNode>.
|
|
47
|
+
* When templateNode is in the Set, resolve for that pair can be skipped.
|
|
48
48
|
*/
|
|
49
49
|
private readonly resolvedCache;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* Registered ListState objects.
|
|
52
|
+
* Used in rekey() to update itemIds when an entity's id changes.
|
|
53
|
+
* Structural type { itemIds: string[] } — no dependency on the ListState import.
|
|
54
54
|
*/
|
|
55
55
|
private readonly registeredLists;
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* Reverse ownership index: ownerId → Set<childId>.
|
|
58
|
+
* Filled by `setEntityOwner` when child-list resolver results are ingested.
|
|
59
|
+
* Needed for cascade deletion; maintained from the start so the owner link
|
|
60
|
+
* is registered as soon as it exists.
|
|
61
61
|
*/
|
|
62
62
|
private readonly childrenByOwner;
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
64
|
+
* Create or update an entity.
|
|
65
65
|
*
|
|
66
|
-
* -
|
|
67
|
-
* -
|
|
68
|
-
*
|
|
69
|
-
* -
|
|
66
|
+
* - If no entity with the id exists — a new EntityNode is created.
|
|
67
|
+
* - If it exists — recursive merge (existing fields update, new ones are
|
|
68
|
+
* added, fields missing from data are not deleted).
|
|
69
|
+
* - If the id is missing or empty — a `_tmp_` id is generated.
|
|
70
70
|
*
|
|
71
|
-
* @returns
|
|
71
|
+
* @returns The resulting EntityNode
|
|
72
72
|
*/
|
|
73
73
|
upsert(data: EntityData): EntityNode;
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
75
|
+
* Get an EntityNode by id.
|
|
76
|
+
* Returns undefined when the entity is not found.
|
|
77
77
|
*/
|
|
78
78
|
get(id: string): EntityNode | undefined;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
80
|
+
* Delete an entity by id.
|
|
81
|
+
* Clears all bindings and resolvedCache entries for the id.
|
|
82
82
|
*
|
|
83
|
-
* @returns true
|
|
83
|
+
* @returns true when the entity existed and was removed
|
|
84
84
|
*/
|
|
85
85
|
delete(id: string): boolean;
|
|
86
|
-
/**
|
|
86
|
+
/** Number of registered entities. */
|
|
87
87
|
get size(): number;
|
|
88
|
-
/**
|
|
88
|
+
/** Check whether an entity exists. */
|
|
89
89
|
has(id: string): boolean;
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
91
|
+
* Get (or lazily create) the EntityListState for the (entity, listConfigNode) pair.
|
|
92
92
|
*
|
|
93
|
-
* `entity.lists`
|
|
94
|
-
*
|
|
93
|
+
* `entity.lists` is created on first access as a **non-enumerable** field,
|
|
94
|
+
* so it never leaks into flat values via `Object.keys`.
|
|
95
95
|
*/
|
|
96
96
|
getOrCreateEntityListState(entity: EntityNode, listConfigNode: object): ListState;
|
|
97
97
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
98
|
+
* Set the owner reference on a child entity (**non-enumerable**) and
|
|
99
|
+
* index it in `childrenByOwner`.
|
|
100
100
|
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
101
|
+
* "One owner per child" model: if the child already belonged to another
|
|
102
|
+
* owner, the stale membership is removed so a cascade deletion of the old
|
|
103
|
+
* owner does not touch the re-parented child.
|
|
104
104
|
*/
|
|
105
105
|
setEntityOwner(child: EntityNode, ownerId: string, ownerListNode: object): void;
|
|
106
|
-
/**
|
|
106
|
+
/** Get the IDs of all child entities belonging to an owner. */
|
|
107
107
|
getChildrenByOwner(ownerId: string): ReadonlySet<string> | undefined;
|
|
108
108
|
/**
|
|
109
|
-
*
|
|
109
|
+
* Restore the membership of all per-entity lists to the initial snapshot (reset).
|
|
110
110
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
111
|
+
* Returns the affected `{ owner, state }` pairs so the caller (resetPipeline)
|
|
112
|
+
* bumps node versions in the hub → React redraws the lists — and re-syncs
|
|
113
|
+
* the owner's projectionObj for getValues.
|
|
114
114
|
*/
|
|
115
115
|
resetEntityListStates(): Array<{
|
|
116
116
|
owner: EntityNode;
|
|
117
117
|
state: ListState;
|
|
118
118
|
}>;
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
120
|
+
* Bind an entity to a template node.
|
|
121
|
+
* One entity can be bound to several templates.
|
|
122
122
|
*/
|
|
123
123
|
bind(id: string, templateNode: object): void;
|
|
124
124
|
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
125
|
+
* Unbind an entity from a template node.
|
|
126
|
+
* No-op when the entity is not bound to that template.
|
|
127
127
|
*/
|
|
128
128
|
unbind(id: string, templateNode: object): void;
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
130
|
+
* Get all template nodes bound to an entity.
|
|
131
|
+
* Returns undefined when there are no bindings.
|
|
132
132
|
*/
|
|
133
133
|
getBindings(id: string): ReadonlySet<object> | undefined;
|
|
134
134
|
/**
|
|
135
|
-
*
|
|
136
|
-
*
|
|
135
|
+
* Mark the (entityId, templateNode) pair as "resolve completed".
|
|
136
|
+
* A repeat resolve for this pair is skipped.
|
|
137
137
|
*/
|
|
138
138
|
markResolved(id: string, templateNode: object): void;
|
|
139
139
|
/**
|
|
140
|
-
*
|
|
140
|
+
* Check whether resolve completed for the (entityId, templateNode) pair.
|
|
141
141
|
*/
|
|
142
142
|
isResolved(id: string, templateNode: object): boolean;
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
145
|
-
* - `clearResolved(id)` —
|
|
146
|
-
* - `clearResolved(id, templateNode)` —
|
|
144
|
+
* Clear the resolved cache:
|
|
145
|
+
* - `clearResolved(id)` — clear the whole cache for the entity
|
|
146
|
+
* - `clearResolved(id, templateNode)` — clear only for a specific template
|
|
147
147
|
*/
|
|
148
148
|
clearResolved(id: string, templateNode?: object): void;
|
|
149
149
|
/**
|
|
150
|
-
*
|
|
150
|
+
* Rename an entity: move its record from oldId to newId.
|
|
151
151
|
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
152
|
+
* Updates: the entities Map, bindings, resolvedCache, the id leaf value,
|
|
153
|
+
* and itemIds in all registered ListState objects.
|
|
154
154
|
*
|
|
155
|
-
* No-op
|
|
155
|
+
* No-op when no entity with oldId exists.
|
|
156
156
|
*/
|
|
157
157
|
rekey(oldId: string, newId: string): void;
|
|
158
158
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
159
|
+
* Register a ListState for automatic itemIds updates on rekey().
|
|
160
|
+
* Called from Palistor after NodeRegistry initialization.
|
|
161
161
|
*/
|
|
162
162
|
registerList(list: {
|
|
163
163
|
itemIds: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityRegistry.d.ts","sourceRoot":"","sources":["../../../store/entityRegistry/entityRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI5D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAiBzE;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,GAAG,eAAe,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CA8BN;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,
|
|
1
|
+
{"version":3,"file":"entityRegistry.d.ts","sourceRoot":"","sources":["../../../store/entityRegistry/entityRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI5D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAiBzE;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,GAAG,eAAe,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CA8BN;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IAEpE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAIlE;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAgBpC;;;OAGG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAiB3B,qCAAqC;IACrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,sCAAsC;IACtC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMxB;;;;;OAKG;IACH,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS;IA2BjF;;;;;;;OAOG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAoB/E,+DAA+D;IAC/D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS;IAIpE;;;;;;OAMG;IACH,qBAAqB,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAevE;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAS5C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9C;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS;IAMxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IASpD;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAIrD;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAUtD;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgDzC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;CAGhD"}
|