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.
Files changed (255) hide show
  1. package/README.md +574 -542
  2. package/README.ru.md +979 -0
  3. package/dist/index.d.ts +16 -27
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +17 -28
  6. package/dist/index.js.map +1 -1
  7. package/dist/react/createTrackingProxy.d.ts +27 -27
  8. package/dist/react/createTrackingProxy.d.ts.map +1 -1
  9. package/dist/react/createTrackingProxy.js +54 -53
  10. package/dist/react/createTrackingProxy.js.map +1 -1
  11. package/dist/react/useForm.d.ts +42 -43
  12. package/dist/react/useForm.d.ts.map +1 -1
  13. package/dist/react/useForm.js +38 -38
  14. package/dist/react/useForm.js.map +1 -1
  15. package/dist/react/usePersist.d.ts +14 -14
  16. package/dist/react/usePersist.js +18 -18
  17. package/dist/react/usePersist.js.map +1 -1
  18. package/dist/react/useStoreContext.d.ts +11 -11
  19. package/dist/react/useStoreContext.js +11 -11
  20. package/dist/react/useTranslator.d.ts +12 -12
  21. package/dist/react/useTranslator.js +12 -12
  22. package/dist/store/applyPatch/applyPatch.d.ts +8 -8
  23. package/dist/store/applyPatch/applyPatch.js +12 -12
  24. package/dist/store/applyPatch/applyPatch.js.map +1 -1
  25. package/dist/store/buildProxy/buildEntityProjectionProxy.js +6 -6
  26. package/dist/store/buildProxy/buildEntityProjectionProxy.js.map +1 -1
  27. package/dist/store/buildProxy/buildListProxy.d.ts +8 -8
  28. package/dist/store/buildProxy/buildListProxy.js +30 -30
  29. package/dist/store/buildProxy/buildListProxy.js.map +1 -1
  30. package/dist/store/buildProxy/buildProxy.d.ts +8 -8
  31. package/dist/store/buildProxy/buildProxy.js +39 -39
  32. package/dist/store/buildProxy/buildProxy.js.map +1 -1
  33. package/dist/store/buildProxy/computeProxyKeys.d.ts +8 -8
  34. package/dist/store/buildProxy/computeProxyKeys.js +9 -9
  35. package/dist/store/buildProxy/computeProxyKeys.js.map +1 -1
  36. package/dist/store/buildProxy/handleLazyResolve.d.ts +3 -3
  37. package/dist/store/buildProxy/handleLazyResolve.js +3 -3
  38. package/dist/store/buildProxy/initProxyCaches.d.ts +5 -5
  39. package/dist/store/buildProxy/initProxyCaches.js +5 -5
  40. package/dist/store/compute/computeFieldState.d.ts +3 -3
  41. package/dist/store/compute/computeFieldState.js +8 -8
  42. package/dist/store/compute/computeFieldState.js.map +1 -1
  43. package/dist/store/compute/fieldStateChanged.d.ts +1 -1
  44. package/dist/store/compute/fieldStateChanged.js +1 -1
  45. package/dist/store/compute/recompute/collectGroupComputeNodes.d.ts +4 -4
  46. package/dist/store/compute/recompute/collectGroupComputeNodes.js +7 -7
  47. package/dist/store/compute/recompute/collectGroupComputeNodes.js.map +1 -1
  48. package/dist/store/compute/recompute/recomputeAndNotify.d.ts +3 -3
  49. package/dist/store/compute/recompute/recomputeAndNotify.js +3 -3
  50. package/dist/store/compute/recompute/recomputeLeaves.d.ts +11 -10
  51. package/dist/store/compute/recompute/recomputeLeaves.d.ts.map +1 -1
  52. package/dist/store/compute/recompute/recomputeLeaves.js +26 -27
  53. package/dist/store/compute/recompute/recomputeLeaves.js.map +1 -1
  54. package/dist/store/compute/recompute/recomputeTargeted.d.ts +7 -7
  55. package/dist/store/compute/recompute/recomputeTargeted.js +12 -12
  56. package/dist/store/compute/recompute/recomputeTargeted.js.map +1 -1
  57. package/dist/store/compute/recompute/topologicalSortComputed.d.ts +4 -4
  58. package/dist/store/compute/recompute/topologicalSortComputed.d.ts.map +1 -1
  59. package/dist/store/compute/recompute/topologicalSortComputed.js +11 -13
  60. package/dist/store/compute/recompute/topologicalSortComputed.js.map +1 -1
  61. package/dist/store/compute/recompute/types.d.ts +4 -4
  62. package/dist/store/compute/resolveFlag.d.ts +2 -2
  63. package/dist/store/compute/resolveFlag.js +2 -2
  64. package/dist/store/compute/resolveString.d.ts +5 -5
  65. package/dist/store/compute/resolveString.js +6 -6
  66. package/dist/store/compute/resolveString.js.map +1 -1
  67. package/dist/store/compute/types.d.ts +3 -3
  68. package/dist/store/constants.d.ts +48 -48
  69. package/dist/store/constants.d.ts.map +1 -1
  70. package/dist/store/constants.js +45 -45
  71. package/dist/store/defineFieldMapping.d.ts +21 -19
  72. package/dist/store/defineFieldMapping.d.ts.map +1 -1
  73. package/dist/store/defineFieldMapping.js +21 -19
  74. package/dist/store/defineFieldMapping.js.map +1 -1
  75. package/dist/store/dirtyTracking/collectInitialSnapshot.js +1 -1
  76. package/dist/store/dirtyTracking/collectInitialSnapshot.js.map +1 -1
  77. package/dist/store/dirtyTracking/recomputeDirtyTargeted.d.ts +3 -3
  78. package/dist/store/dirtyTracking/recomputeDirtyTargeted.js +11 -11
  79. package/dist/store/dirtyTracking/recomputeDirtyTargeted.js.map +1 -1
  80. package/dist/store/dirtyTracking/setGroupRevalidate.d.ts +6 -6
  81. package/dist/store/dirtyTracking/setGroupRevalidate.js +7 -7
  82. package/dist/store/dirtyTracking/setGroupRevalidate.js.map +1 -1
  83. package/dist/store/entityRegistry/entityRegistry.d.ts +72 -72
  84. package/dist/store/entityRegistry/entityRegistry.d.ts.map +1 -1
  85. package/dist/store/entityRegistry/entityRegistry.js +91 -91
  86. package/dist/store/entityRegistry/entityRegistry.js.map +1 -1
  87. package/dist/store/entityRegistry/generateId.d.ts +3 -3
  88. package/dist/store/entityRegistry/generateId.js +3 -3
  89. package/dist/store/entityRegistry/types.d.ts +17 -17
  90. package/dist/store/entityRegistry/types.d.ts.map +1 -1
  91. package/dist/store/flow/buildFlowStepsProxy.d.ts +9 -9
  92. package/dist/store/flow/buildFlowStepsProxy.js +13 -13
  93. package/dist/store/flow/buildFlowStepsProxy.js.map +1 -1
  94. package/dist/store/flow/defineFlow.d.ts +27 -25
  95. package/dist/store/flow/defineFlow.d.ts.map +1 -1
  96. package/dist/store/flow/defineFlow.js +15 -13
  97. package/dist/store/flow/defineFlow.js.map +1 -1
  98. package/dist/store/flow/flowApi.d.ts +3 -2
  99. package/dist/store/flow/flowApi.d.ts.map +1 -1
  100. package/dist/store/flow/flowApi.js +1 -1
  101. package/dist/store/flow/flowApi.js.map +1 -1
  102. package/dist/store/flow/flowNavigation.d.ts +65 -63
  103. package/dist/store/flow/flowNavigation.d.ts.map +1 -1
  104. package/dist/store/flow/flowNavigation.js +74 -72
  105. package/dist/store/flow/flowNavigation.js.map +1 -1
  106. package/dist/store/flow/flowState.d.ts +16 -16
  107. package/dist/store/flow/flowState.d.ts.map +1 -1
  108. package/dist/store/flow/flowState.js +5 -5
  109. package/dist/store/flow/flowState.js.map +1 -1
  110. package/dist/store/groupDeps/createGroupDeps.d.ts +3 -3
  111. package/dist/store/groupDeps/createGroupDeps.js +6 -6
  112. package/dist/store/groupDeps/createGroupDeps.js.map +1 -1
  113. package/dist/store/groupDeps/createTrackingValues.d.ts +9 -9
  114. package/dist/store/groupDeps/createTrackingValues.js +11 -11
  115. package/dist/store/groupDeps/createTrackingValues.js.map +1 -1
  116. package/dist/store/groupDeps/getNodeGroupPath.d.ts +3 -3
  117. package/dist/store/groupDeps/getNodeGroupPath.js +5 -5
  118. package/dist/store/groupDeps/getNodeGroupPath.js.map +1 -1
  119. package/dist/store/groupDeps/getRecipientGroups.d.ts +1 -1
  120. package/dist/store/groupDeps/getRecipientGroups.js +1 -1
  121. package/dist/store/groupDeps/groupDeps.d.ts +7 -7
  122. package/dist/store/groupDeps/groupDeps.js +7 -7
  123. package/dist/store/groupDeps/pairKey.d.ts +3 -3
  124. package/dist/store/groupDeps/pairKey.d.ts.map +1 -1
  125. package/dist/store/groupDeps/pairKey.js +4 -4
  126. package/dist/store/groupDeps/pairKey.js.map +1 -1
  127. package/dist/store/groupDeps/resolveGroupByPath.d.ts +3 -3
  128. package/dist/store/groupDeps/resolveGroupByPath.js +3 -3
  129. package/dist/store/init/createNotificationHub.d.ts +31 -31
  130. package/dist/store/init/createNotificationHub.d.ts.map +1 -1
  131. package/dist/store/init/createNotificationHub.js +36 -37
  132. package/dist/store/init/createNotificationHub.js.map +1 -1
  133. package/dist/store/init/createResolveManager.d.ts +72 -69
  134. package/dist/store/init/createResolveManager.d.ts.map +1 -1
  135. package/dist/store/init/createResolveManager.js +101 -98
  136. package/dist/store/init/createResolveManager.js.map +1 -1
  137. package/dist/store/init/initGroupSubmitting.d.ts +2 -2
  138. package/dist/store/init/initGroupSubmitting.js +4 -4
  139. package/dist/store/init/initGroupSubmitting.js.map +1 -1
  140. package/dist/store/normalizeConfig.d.ts +20 -18
  141. package/dist/store/normalizeConfig.d.ts.map +1 -1
  142. package/dist/store/normalizeConfig.js +31 -29
  143. package/dist/store/normalizeConfig.js.map +1 -1
  144. package/dist/store/onChangePipeline/computeFieldKey.d.ts +2 -2
  145. package/dist/store/onChangePipeline/computeFieldKey.js +2 -2
  146. package/dist/store/onChangePipeline/findOnChangeAncestors.d.ts +2 -2
  147. package/dist/store/onChangePipeline/findOnChangeAncestors.js +4 -4
  148. package/dist/store/onChangePipeline/findOnChangeAncestors.js.map +1 -1
  149. package/dist/store/onChangePipeline/onChangePipeline.d.ts +13 -12
  150. package/dist/store/onChangePipeline/onChangePipeline.d.ts.map +1 -1
  151. package/dist/store/onChangePipeline/onChangePipeline.js +14 -13
  152. package/dist/store/onChangePipeline/onChangePipeline.js.map +1 -1
  153. package/dist/store/persist/drivers.d.ts +7 -7
  154. package/dist/store/persist/drivers.js +8 -8
  155. package/dist/store/persist/drivers.js.map +1 -1
  156. package/dist/store/persist/index.d.ts +1 -1
  157. package/dist/store/persist/persistManager.d.ts +23 -23
  158. package/dist/store/persist/persistManager.d.ts.map +1 -1
  159. package/dist/store/persist/persistManager.js +51 -51
  160. package/dist/store/persist/persistManager.js.map +1 -1
  161. package/dist/store/persist/types.d.ts +23 -23
  162. package/dist/store/persist/types.d.ts.map +1 -1
  163. package/dist/store/persist/types.js +4 -4
  164. package/dist/store/resetPipeline/buildResetPatch.d.ts +5 -5
  165. package/dist/store/resetPipeline/buildResetPatch.js +5 -5
  166. package/dist/store/resetPipeline/collectDefaults.d.ts +5 -5
  167. package/dist/store/resetPipeline/collectDefaults.js +6 -6
  168. package/dist/store/resetPipeline/collectDefaults.js.map +1 -1
  169. package/dist/store/resetPipeline/resetPipeline.d.ts +7 -7
  170. package/dist/store/resetPipeline/resetPipeline.js +15 -15
  171. package/dist/store/resetPipeline/resetPipeline.js.map +1 -1
  172. package/dist/store/resolvePipeline/applyPendingWrites.d.ts +10 -10
  173. package/dist/store/resolvePipeline/applyPendingWrites.d.ts.map +1 -1
  174. package/dist/store/resolvePipeline/applyPendingWrites.js +35 -38
  175. package/dist/store/resolvePipeline/applyPendingWrites.js.map +1 -1
  176. package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts +8 -7
  177. package/dist/store/resolvePipeline/createContextTrackingProxy.d.ts.map +1 -1
  178. package/dist/store/resolvePipeline/createContextTrackingProxy.js +6 -5
  179. package/dist/store/resolvePipeline/createContextTrackingProxy.js.map +1 -1
  180. package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts +43 -43
  181. package/dist/store/resolvePipeline/createValuesTrackingProxy.d.ts.map +1 -1
  182. package/dist/store/resolvePipeline/createValuesTrackingProxy.js +70 -70
  183. package/dist/store/resolvePipeline/createValuesTrackingProxy.js.map +1 -1
  184. package/dist/store/resolvePipeline/executeListResolve.d.ts +14 -14
  185. package/dist/store/resolvePipeline/executeListResolve.js +27 -27
  186. package/dist/store/resolvePipeline/executeListResolve.js.map +1 -1
  187. package/dist/store/resolvePipeline/executeResolve.d.ts +15 -15
  188. package/dist/store/resolvePipeline/executeResolve.js +46 -46
  189. package/dist/store/resolvePipeline/executeResolve.js.map +1 -1
  190. package/dist/store/store/NodeRegistry/nodeRegistry.d.ts +61 -61
  191. package/dist/store/store/NodeRegistry/nodeRegistry.d.ts.map +1 -1
  192. package/dist/store/store/NodeRegistry/nodeRegistry.js +85 -86
  193. package/dist/store/store/NodeRegistry/nodeRegistry.js.map +1 -1
  194. package/dist/store/store/NodeRegistry/nodeUtils.d.ts +5 -5
  195. package/dist/store/store/NodeRegistry/nodeUtils.d.ts.map +1 -1
  196. package/dist/store/store/NodeRegistry/nodeUtils.js +5 -5
  197. package/dist/store/store/NodeRegistry/nodeUtils.js.map +1 -1
  198. package/dist/store/store/groupDepsMap.d.ts +23 -23
  199. package/dist/store/store/groupDepsMap.d.ts.map +1 -1
  200. package/dist/store/store/groupDepsMap.js +35 -34
  201. package/dist/store/store/groupDepsMap.js.map +1 -1
  202. package/dist/store/store/hasComputedProps.d.ts +2 -2
  203. package/dist/store/store/hasComputedProps.js +2 -2
  204. package/dist/store/store/nodeMap.d.ts +5 -5
  205. package/dist/store/store/nodeMap.js +7 -7
  206. package/dist/store/store/nodeMap.js.map +1 -1
  207. package/dist/store/store/palistor.d.ts +80 -80
  208. package/dist/store/store/palistor.d.ts.map +1 -1
  209. package/dist/store/store/palistor.js +149 -169
  210. package/dist/store/store/palistor.js.map +1 -1
  211. package/dist/store/store/registerNodes.d.ts +10 -10
  212. package/dist/store/store/registerNodes.js +15 -15
  213. package/dist/store/store/registerNodes.js.map +1 -1
  214. package/dist/store/store/serviceRegistry.d.ts +8 -8
  215. package/dist/store/store/serviceRegistry.d.ts.map +1 -1
  216. package/dist/store/store/serviceRegistry.js +8 -8
  217. package/dist/store/store/serviceRegistry.js.map +1 -1
  218. package/dist/store/store/types.d.ts +236 -234
  219. package/dist/store/store/types.d.ts.map +1 -1
  220. package/dist/store/submitPipeline/applyLeafBeforeSubmit.d.ts +2 -2
  221. package/dist/store/submitPipeline/applyLeafBeforeSubmit.js +2 -2
  222. package/dist/store/submitPipeline/collectLeafStates.d.ts +2 -2
  223. package/dist/store/submitPipeline/collectLeafStates.js +2 -2
  224. package/dist/store/submitPipeline/submitPipeline.d.ts +8 -8
  225. package/dist/store/submitPipeline/submitPipeline.js +12 -12
  226. package/dist/store/submitPipeline/submitPipeline.js.map +1 -1
  227. package/dist/store/submitPipeline/types.d.ts +1 -1
  228. package/dist/store/submitPipeline/types.d.ts.map +1 -1
  229. package/dist/store/traversal/nodeClassifier.d.ts +9 -9
  230. package/dist/store/traversal/nodeClassifier.d.ts.map +1 -1
  231. package/dist/store/traversal/nodeClassifier.js +11 -11
  232. package/dist/store/traversal/nodeClassifier.js.map +1 -1
  233. package/dist/store/traversal/walkFull.d.ts +14 -14
  234. package/dist/store/traversal/walkFull.js +2 -2
  235. package/dist/store/valuesCache/valuesCache.d.ts +9 -9
  236. package/dist/store/valuesCache/valuesCache.d.ts.map +1 -1
  237. package/dist/store/valuesCache/valuesCache.js +6 -6
  238. package/dist/store/writePipeline/formatPatch.d.ts +5 -5
  239. package/dist/store/writePipeline/formatPatch.js +7 -7
  240. package/dist/store/writePipeline/formatPatch.js.map +1 -1
  241. package/dist/store/writePipeline/formatValue.d.ts +5 -5
  242. package/dist/store/writePipeline/formatValue.js +5 -5
  243. package/dist/store/writePipeline/mergeChanged.d.ts +4 -4
  244. package/dist/store/writePipeline/mergeChanged.js +4 -4
  245. package/dist/store/writePipeline/runSetter.d.ts +6 -6
  246. package/dist/store/writePipeline/runSetter.js +8 -8
  247. package/dist/store/writePipeline/storeValue.d.ts +3 -3
  248. package/dist/store/writePipeline/storeValue.js +3 -3
  249. package/dist/store/writePipeline/types.d.ts +4 -4
  250. package/dist/store/writePipeline/types.d.ts.map +1 -1
  251. package/dist/store/writePipeline/writePipeline.d.ts +7 -7
  252. package/dist/store/writePipeline/writePipeline.d.ts.map +1 -1
  253. package/dist/store/writePipeline/writePipeline.js +15 -15
  254. package/dist/store/writePipeline/writePipeline.js.map +1 -1
  255. package/package.json +11 -4
@@ -1,19 +1,19 @@
1
1
  import { CONFIG_NODE, FLOW_STATE } from "../constants";
2
- /** Стабильный кэш steps-proxy — один на FlowState (как listProxyCache). */
2
+ /** Stable steps-proxy cache one per FlowState (like listProxyCache). */
3
3
  const stepsProxyCache = new WeakMap();
4
4
  const NUMERIC_KEY = /^\d+$/;
5
5
  /**
6
- * Proxy коллекции шагов флоу (flow.steps).
6
+ * Proxy over the flow's step collection (flow.steps).
7
7
  *
8
- * Доступ:
9
- * steps[0] — по индексу (порядок массива шагов)
10
- * steps.welcome — по ключу
11
- * steps.current — живая ссылка на прокси активного шага
12
- * steps.length — число шагов
13
- * [...steps] — итерация по step-прокси
8
+ * Access:
9
+ * steps[0] — by index (step array order)
10
+ * steps.welcome — by key
11
+ * steps.current — live reference to the active step's proxy
12
+ * steps.length — number of steps
13
+ * [...steps] — iteration over step proxies
14
14
  *
15
- * Step-прокси обычные group-прокси step-нод (кэшируются в proxyCache),
16
- * обогащённые `status` в group GET-трапе (через stepToFlow).
15
+ * Step proxies are regular group proxies of the step nodes (cached in
16
+ * proxyCache), enriched with `status` in the group GET trap (via stepToFlow).
17
17
  */
18
18
  export function buildFlowStepsProxy(flowState, kernel) {
19
19
  const cached = stepsProxyCache.get(flowState);
@@ -23,10 +23,10 @@ export function buildFlowStepsProxy(flowState, kernel) {
23
23
  const spreadKeys = () => [...flowState.stepKeys, "current", "length"];
24
24
  const proxy = new Proxy({}, {
25
25
  get(_target, key) {
26
- // Бренд трекинга: навигация бампает версию FlowState.
26
+ // Tracking brand: navigation bumps the FlowState version.
27
27
  if (key === FLOW_STATE)
28
28
  return flowState;
29
- // steps не config-узел; для tracking proxy прозрачен.
29
+ // steps is not a config node; transparent to the tracking proxy.
30
30
  if (key === CONFIG_NODE)
31
31
  return undefined;
32
32
  if (typeof key === "symbol") {
@@ -52,7 +52,7 @@ export function buildFlowStepsProxy(flowState, kernel) {
52
52
  return undefined;
53
53
  },
54
54
  set() {
55
- // Состав шагов статичензапись запрещена.
55
+ // The step set is static writes are forbidden.
56
56
  return false;
57
57
  },
58
58
  ownKeys() {
@@ -1 +1 @@
1
- {"version":3,"file":"buildFlowStepsProxy.js","sourceRoot":"","sources":["../../../store/flow/buildFlowStepsProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAIvD,2EAA2E;AAC3E,MAAM,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEtD,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAoB,EAAE,MAA0B;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,SAA8B,CAAC,CAAC;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAW,CAAC;IAElE,MAAM,UAAU,GAAG,GAAa,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAA6B,EAAE;QACrD,GAAG,CAAC,OAAO,EAAE,GAAoB;YAC/B,sDAAsD;YACtD,IAAI,GAAG,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YACzC,wDAAwD;YACxD,IAAI,GAAG,KAAK,WAAW;gBAAE,OAAO,SAAS,CAAC;YAE1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,OAAO,QAAQ,CAAC;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAE,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;YACxD,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;YAE1C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,GAAG;YACD,4CAA4C;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,OAAO,UAAU,EAAE,CAAC;QACtB,CAAC;QAED,wBAAwB,CAAC,OAAO,EAAE,GAAoB;YACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnE,CAAC;KACF,CAAC,CAAC;IAEH,eAAe,CAAC,GAAG,CAAC,SAA8B,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"buildFlowStepsProxy.js","sourceRoot":"","sources":["../../../store/flow/buildFlowStepsProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAIvD,0EAA0E;AAC1E,MAAM,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEtD,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAoB,EAAE,MAA0B;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,SAA8B,CAAC,CAAC;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAW,CAAC;IAElE,MAAM,UAAU,GAAG,GAAa,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAA6B,EAAE;QACrD,GAAG,CAAC,OAAO,EAAE,GAAoB;YAC/B,0DAA0D;YAC1D,IAAI,GAAG,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YACzC,iEAAiE;YACjE,IAAI,GAAG,KAAK,WAAW;gBAAE,OAAO,SAAS,CAAC;YAE1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,OAAO,QAAQ,CAAC;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAE,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;YACxD,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;YAE1C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,GAAG;YACD,iDAAiD;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,OAAO,UAAU,EAAE,CAAC;QACtB,CAAC;QAED,wBAAwB,CAAC,OAAO,EAAE,GAAoB;YACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnE,CAAC;KACF,CAAC,CAAC;IAEH,eAAe,CAAC,GAAG,CAAC,SAA8B,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,51 +1,52 @@
1
1
  import type { ExtractValues, ProxyStore } from "../store/types";
2
2
  /**
3
- * Статус шага флоувычисляемое свойство step-proxy, производное от
4
- * навигационного состояния (currentStepKey + visited set). Не является
5
- * leaf-нодой: не попадает в values, submit-payload и persisted-значения.
3
+ * Flow step statusa computed step-proxy property derived from navigation
4
+ * state (currentStepKey + visited set). Not a leaf node: never appears in
5
+ * values, submit payloads or persisted state.
6
6
  *
7
- * - `null` — шаг ещё не посещался
8
- * - `"active"` — текущий шаг
9
- * - `"completed"` — был активен, затем ушли (вперёд или назад)
7
+ * - `null` — the step has not been visited yet
8
+ * - `"active"` — the current step
9
+ * - `"completed"` — was active, then left (forward or back)
10
10
  */
11
11
  export type StepStatus = "active" | "completed" | null;
12
- /** Ошибка валидации флоута же форма, что в SubmitResult. */
12
+ /** Flow validation errorsame shape as in SubmitResult. */
13
13
  export interface FlowError {
14
14
  path: string;
15
15
  message: string;
16
16
  }
17
17
  /**
18
- * Результат defineStep: группа-конфиг шага + его ключ во флоу.
19
- * defineFlow разворачивает шаги в обычные дочерние группы flow-ноды.
18
+ * Result of defineStep: the step's group config + its key within the flow.
19
+ * defineFlow expands steps into regular child groups of the flow node.
20
20
  */
21
21
  export interface FlowStep<K extends string = string, C extends Record<string, any> = Record<string, any>> {
22
22
  readonly key: K;
23
23
  readonly config: C;
24
24
  }
25
25
  export type AnyFlowStep = FlowStep<string, Record<string, any>>;
26
- /** Значения флоувсе шаги по ключам (аккумулированное состояние). */
26
+ /** Flow valuesall steps by key (accumulated state). */
27
27
  export type FlowValues<S extends readonly AnyFlowStep[]> = {
28
28
  [Step in S[number] as Step["key"]]: ExtractValues<Step["config"]>;
29
29
  };
30
30
  declare const __flowBrand: unique symbol;
31
31
  /**
32
- * Узел флоу в дереве конфига: обычная группа (шаги дочерние группы по ключам),
33
- * помеченная брендом с кортежем шагов для вывода типов proxy.
32
+ * A flow node in the config tree: a regular group (steps are child groups by
33
+ * key), branded with the step tuple for proxy type inference.
34
34
  */
35
35
  export type FlowNode<S extends readonly AnyFlowStep[]> = {
36
36
  readonly [__flowBrand]: S;
37
37
  } & {
38
38
  [Step in S[number] as Step["key"]]: Step["config"];
39
39
  };
40
- /** Извлечь кортеж шагов из FlowNode (never если узел не флоу). */
40
+ /** Extract the step tuple from a FlowNode (never when the node is not a flow). */
41
41
  export type InferFlowSteps<T> = T extends {
42
42
  readonly [__flowBrand]: infer S extends readonly AnyFlowStep[];
43
43
  } ? S : never;
44
44
  /**
45
- * Обернуть конфиг группы в шаг флоу.
45
+ * Wrap a group config into a flow step.
46
46
  *
47
- * Конфиг шага обычная group-нода Palistor (поля, isVisible, validate,
48
- * resolve, onSubmit, …) плюс flow-lifecycle колбэки `onEnter` / `onReady`.
47
+ * A step config is a regular Palistor group node (fields, isVisible,
48
+ * validate, resolve, onSubmit, …) plus the flow lifecycle callbacks
49
+ * `onEnter` / `onReady`.
49
50
  *
50
51
  * @example
51
52
  * defineStep("welcome", {
@@ -57,24 +58,25 @@ export declare function defineStep<const K extends string, const C extends Recor
57
58
  status?: never;
58
59
  }): FlowStep<K, C>;
59
60
  export interface DefineFlowOptions<S extends readonly AnyFlowStep[]> {
60
- /** Упорядоченный массив шагов (defineStep). Порядок определяет nextStep(). */
61
+ /** Ordered array of steps (defineStep). The order drives nextStep(). */
61
62
  steps: S;
62
- /** Flow-level submit: вызывается стандартным submit-пайплайном над всеми шагами. */
63
+ /** Flow-level submit: invoked by the standard submit pipeline over all steps. */
63
64
  onSubmit?: (values: FlowValues<S>, store: ProxyStore<any>, parent?: any) => Promise<unknown> | unknown;
64
- /** Group-level трансформация значений перед submit. */
65
+ /** Group-level value transformation before submit. */
65
66
  beforeSubmit?: (values: FlowValues<S>) => FlowValues<S> | Promise<FlowValues<S>>;
66
- /** Пост-обработка после успешного onSubmit. */
67
+ /** Post-processing after a successful onSubmit. */
67
68
  afterSubmit?: (result: unknown, actions: {
68
69
  reset: () => void;
69
70
  }) => void | Promise<void>;
70
71
  }
71
72
  /**
72
- * Собрать flow-ноду из упорядоченного массива шагов.
73
+ * Build a flow node from an ordered array of steps.
73
74
  *
74
- * Возвращаемый узел обычная группа в дереве конфига (шаги дочерние группы
75
- * по своим ключам), помеченная маркером {@link FLOW_STEPS_PROP} с порядком
76
- * шагов. Участвует в values / persist / dirty как любая группа; NodeRegistry
77
- * по маркеру создаёт FlowState (навигация, статусы, история).
75
+ * The returned node is a regular group in the config tree (steps become child
76
+ * groups under their keys), stamped with the {@link FLOW_STEPS_PROP} marker
77
+ * holding the step order. It participates in values / persist / dirty like
78
+ * any group; NodeRegistry creates a FlowState (navigation, statuses, history)
79
+ * based on the marker.
78
80
  *
79
81
  * @example
80
82
  * const onboarding = defineFlow({
@@ -1 +1 @@
1
- {"version":3,"file":"defineFlow.d.ts","sourceRoot":"","sources":["../../../store/flow/defineFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineFlow.d.ts","sourceRoot":"","sources":["../../../store/flow/defineFlow.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { CONFIG_PROPS, FLOW_SPREAD_KEYS, FLOW_STEPS_PROP, GROUP_SPREAD_KEYS, } from "../constants";
2
2
  // ─── defineStep ───────────────────────────────────────────────────────────────
3
3
  /**
4
- * Имя `status` зарезервировано на step-proxy под вычисляемый статус шага —
5
- * поле с таким именем в конфиге шага запрещено (по аналогии с dirty/loading).
4
+ * The name `status` is reserved on the step proxy for the computed step
5
+ * status a config field with that name is forbidden (like dirty/loading).
6
6
  */
7
7
  const RESERVED_STEP_CONFIG_KEYS = new Set(["status"]);
8
8
  /**
9
- * Обернуть конфиг группы в шаг флоу.
9
+ * Wrap a group config into a flow step.
10
10
  *
11
- * Конфиг шага обычная group-нода Palistor (поля, isVisible, validate,
12
- * resolve, onSubmit, …) плюс flow-lifecycle колбэки `onEnter` / `onReady`.
11
+ * A step config is a regular Palistor group node (fields, isVisible,
12
+ * validate, resolve, onSubmit, …) plus the flow lifecycle callbacks
13
+ * `onEnter` / `onReady`.
13
14
  *
14
15
  * @example
15
16
  * defineStep("welcome", {
@@ -36,8 +37,8 @@ export function defineStep(key, config) {
36
37
  }
37
38
  // ─── defineFlow ───────────────────────────────────────────────────────────────
38
39
  /**
39
- * Ключи шагов, конфликтующие со свойствами flow-proxy / steps-proxy /
40
- * служебными ключами конфига запрещены как имена шагов.
40
+ * Step keys that conflict with flow-proxy / steps-proxy properties or service
41
+ * config keysforbidden as step names.
41
42
  */
42
43
  const RESERVED_STEP_KEYS = new Set([
43
44
  ...CONFIG_PROPS,
@@ -48,12 +49,13 @@ const RESERVED_STEP_KEYS = new Set([
48
49
  "length",
49
50
  ]);
50
51
  /**
51
- * Собрать flow-ноду из упорядоченного массива шагов.
52
+ * Build a flow node from an ordered array of steps.
52
53
  *
53
- * Возвращаемый узел обычная группа в дереве конфига (шаги дочерние группы
54
- * по своим ключам), помеченная маркером {@link FLOW_STEPS_PROP} с порядком
55
- * шагов. Участвует в values / persist / dirty как любая группа; NodeRegistry
56
- * по маркеру создаёт FlowState (навигация, статусы, история).
54
+ * The returned node is a regular group in the config tree (steps become child
55
+ * groups under their keys), stamped with the {@link FLOW_STEPS_PROP} marker
56
+ * holding the step order. It participates in values / persist / dirty like
57
+ * any group; NodeRegistry creates a FlowState (navigation, statuses, history)
58
+ * based on the marker.
57
59
  *
58
60
  * @example
59
61
  * const onboarding = defineFlow({
@@ -90,7 +92,7 @@ export function defineFlow(options) {
90
92
  node.beforeSubmit = beforeSubmit;
91
93
  if (afterSubmit)
92
94
  node.afterSubmit = afterSubmit;
93
- // Маркер флоу: входит в CONFIG_PROPS → все обходы дерева его пропускают.
95
+ // Flow marker: part of CONFIG_PROPS → all tree walks skip it.
94
96
  node[FLOW_STEPS_PROP] = stepKeys;
95
97
  return node;
96
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defineFlow.js","sourceRoot":"","sources":["../../../store/flow/defineFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineFlow.js","sourceRoot":"","sources":["../../../store/flow/defineFlow.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import type { SubmitResult } from "../submitPipeline/types";
3
3
  import type { FlowError } from "./defineFlow";
4
4
  import type { FlowState } from "./flowState";
5
5
  /**
6
- * Навигационные методы flow-proxy. Все bound-замыкания над (kernel, flowState),
7
- * поэтому деструктуризация в onSubmit работает: `(values, store, { nextStep }) => …`.
6
+ * Navigation methods of the flow proxy. All are closures bound over
7
+ * (kernel, flowState), so destructuring in onSubmit works:
8
+ * `(values, store, { nextStep }) => …`.
8
9
  */
9
10
  export interface FlowApi {
10
11
  nextStep: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"flowApi.d.ts","sourceRoot":"","sources":["../../../store/flow/flowApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,MAAM,SAAS,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CACrC;AAKD,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAcpF"}
1
+ {"version":3,"file":"flowApi.d.ts","sourceRoot":"","sources":["../../../store/flow/flowApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,MAAM,SAAS,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CACrC;AAKD,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAcpF"}
@@ -1,5 +1,5 @@
1
1
  import { flowBack, flowGoTo, flowNextStep, flowSubmit, flowValidate, } from "./flowNavigation";
2
- /** Стабильные ссылки на методы один FlowApi на FlowState (для React). */
2
+ /** Stable method referencesone FlowApi per FlowState (for React). */
3
3
  const flowApiCache = new WeakMap();
4
4
  export function getFlowApi(kernel, flowState) {
5
5
  const cached = flowApiCache.get(flowState);
@@ -1 +1 @@
1
- {"version":3,"file":"flowApi.js","sourceRoot":"","sources":["../../../store/flow/flowApi.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAc1B,2EAA2E;AAC3E,MAAM,YAAY,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEpD,MAAM,UAAU,UAAU,CAAC,MAA0B,EAAE,SAAoB;IACzE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,SAA8B,CAAC,CAAC;IAChE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAY;QACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QACvC,IAAI,EAAE,CAAC,UAA2B,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;QAC9E,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KAC5C,CAAC;IAEF,YAAY,CAAC,GAAG,CAAC,SAA8B,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"flowApi.js","sourceRoot":"","sources":["../../../store/flow/flowApi.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAe1B,wEAAwE;AACxE,MAAM,YAAY,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEpD,MAAM,UAAU,UAAU,CAAC,MAA0B,EAAE,SAAoB;IACzE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,SAA8B,CAAC,CAAC;IAChE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAY;QACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QACvC,IAAI,EAAE,CAAC,UAA2B,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;QAC9E,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KAC5C,CAAC;IAEF,YAAY,CAAC,GAAG,CAAC,SAA8B,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -4,49 +4,49 @@ import type { SubmitResult } from "../submitPipeline/types";
4
4
  import type { FlowError, StepStatus } from "./defineFlow";
5
5
  import type { FlowState } from "./flowState";
6
6
  type Kernel = Palistor<any, any>;
7
- /** Статус шагапроизводная от навигационного состояния (не хранится). */
7
+ /** Step statusderived from navigation state (not stored). */
8
8
  export declare function getStepStatus(flowState: FlowState, stepNode: object): StepStatus;
9
- /** Видимость шагаиз вычисленного FieldState группы (isVisible реактивен). */
9
+ /** Step visibilityfrom the group's computed FieldState (isVisible is reactive). */
10
10
  export declare function isStepVisible(kernel: Kernel, stepNode: object): boolean;
11
- /** Композитный loading флоу: true, если резолвится хотя бы один шаг. */
11
+ /** Composite flow loading: true when at least one step is resolving. */
12
12
  export declare function flowLoading(kernel: Kernel, flowState: FlowState): boolean;
13
13
  /**
14
- * Собрать ошибки листьев поддерева шага. Валидация считается «вживую» через
15
- * computeFieldState(revalidate=true) — не зависит от флага revalidate группы
16
- * (тот выставляется только submit-пайплайном). Скрытые листья пропускаются.
17
- * Списки внутри шага пропускаются (паритет с collectLeafStates).
14
+ * Collect leaf errors of a step's subtree. Validation is computed "live" via
15
+ * computeFieldState(revalidate=true) — independent of the group's revalidate
16
+ * flag (which only the submit pipeline sets). Hidden leaves are skipped.
17
+ * Lists inside a step are skipped (parity with collectLeafStates).
18
18
  *
19
- * `basePath` — префикс путей ошибок. Флоу передаёт КЛЮЧ шага: пути получаются
20
- * относительными flow-ноды ("welcome.name") — та же база, что у ошибок
21
- * submit-пайплайна при flow.submit() (collectLeafStates строит пути от
22
- * submitted-ноды).
19
+ * `basePath` — prefix for error paths. The flow passes the step KEY: paths
20
+ * come out relative to the flow node ("welcome.name") — the same base the
21
+ * submit pipeline uses for errors on flow.submit() (collectLeafStates builds
22
+ * paths from the submitted node).
23
23
  */
24
24
  export declare function collectStepErrors(kernel: Kernel, stepNode: AnyConfigNode, basePath?: string): FlowError[];
25
- /** Live-агрегат валидности шага (flow.steps.x.isInvalid). */
25
+ /** Live aggregate of step validity (flow.steps.x.isInvalid). */
26
26
  export declare function stepIsInvalid(kernel: Kernel, stepNode: AnyConfigNode): boolean;
27
27
  /**
28
- * Ошибки флоу по посещённым видимым шагам (скоуп flow.validate()).
29
- * Скрытые шаги исключаются всегданевзятая ветка не должна блокировать.
30
- * Пути ошибок относительны flow-ноды ("stepKey.field") — как у SubmitResult
31
- * при flow.submit().
28
+ * Flow errors over visited visible steps (the scope of flow.validate()).
29
+ * Hidden steps are always excluded an untaken branch must not block.
30
+ * Error paths are relative to the flow node ("stepKey.field") — same as
31
+ * SubmitResult on flow.submit().
32
32
  */
33
33
  export declare function collectFlowErrors(kernel: Kernel, flowState: FlowState): FlowError[];
34
- /** Агрегат flow.isInvalid: есть ли ошибки в посещённых видимых шагах. */
34
+ /** Aggregate flow.isInvalid: any errors in visited visible steps. */
35
35
  export declare function flowIsInvalid(kernel: Kernel, flowState: FlowState): boolean;
36
36
  /**
37
- * flow.validate(): собрать ошибки посещённых шагов, записать в реактивный
38
- * flow.errors и вернуть. Пустой массив = всё валидно.
37
+ * flow.validate(): collect errors of the visited steps, write them into the
38
+ * reactive flow.errors and return them. Empty array = all valid.
39
39
  */
40
40
  export declare function flowValidate(kernel: Kernel, flowState: FlowState): FlowError[];
41
41
  /**
42
- * Отфильтровать из ошибок submit-пайплайна листья, лежащие под СКРЫТЫМИ
43
- * шагами любого флоу (Resolved Decision 14): базовый пайплайн валидирует все
44
- * листья независимо от видимости, и без фильтра невзятая ветка с isRequired
45
- * навсегда блокировала бы финализацию.
42
+ * Filter out submit-pipeline errors from leaves under HIDDEN steps of any
43
+ * flow: the base pipeline validates all leaves regardless of visibility, and
44
+ * without this filter an untaken branch with isRequired fields would block
45
+ * finalization forever.
46
46
  *
47
- * `submittedNode` — узел, для которого выполнялся submit: пути ошибок пайплайна
48
- * ОТНОСИТЕЛЬНЫ ему (collectLeafStates строит пути от submitted-ноды), поэтому
49
- * абсолютные пути скрытых шагов приводятся к той же базе.
47
+ * `submittedNode` — the node the submit ran for: pipeline error paths are
48
+ * RELATIVE to it (collectLeafStates builds paths from the submitted node),
49
+ * so the absolute paths of hidden steps are rebased to the same base.
50
50
  */
51
51
  export declare function filterHiddenFlowStepErrors(kernel: Kernel, errors: Array<{
52
52
  path: string;
@@ -56,80 +56,82 @@ export declare function filterHiddenFlowStepErrors(kernel: Kernel, errors: Array
56
56
  message: string;
57
57
  }>;
58
58
  /**
59
- * flow.submit(): стандартный group-submit пайплайн над flow-нодой
60
- * (submitting → beforeSubmit → validate → onSubmit → afterSubmit; листья
61
- * скрытых шагов отфильтровываются пайплайном). Ошибки валидации ложатся в
62
- * реактивный flow.errors; при успехе errors очищаются.
59
+ * flow.submit(): the standard group-submit pipeline over the flow node
60
+ * (submitting → beforeSubmit → validate → onSubmit → afterSubmit; leaves of
61
+ * hidden steps are filtered by the pipeline). Validation errors land in the
62
+ * reactive flow.errors; on success errors are cleared.
63
63
  */
64
64
  export declare function flowSubmit(kernel: Kernel, flowState: FlowState): Promise<SubmitResult>;
65
65
  /**
66
- * Lifecycle входа в шаг: onEnter → resolve (eager) → onReady.
66
+ * Step entry lifecycle: onEnter → resolve (eager) → onReady.
67
67
  *
68
- * - `onEnter` / `onReady` получают FLOW-scoped values (все шаги по ключам) —
69
- * живую ссылку groupSlot флоу; fire-and-forget.
70
- * - resolve шага стандартный group resolve; флоу триггерит его НА ВХОДЕ
71
- * (эквивалент первого доступа). Уже resolved/error (кэш) — не перезапускается,
72
- * и onReady НЕ вызывается повторно (Resolved Decision 10).
73
- * - Без resolve — onReady сразу после onEnter.
68
+ * - `onEnter` / `onReady` receive FLOW-scoped values (all steps by key) —
69
+ * the flow's live groupSlot reference; fire-and-forget.
70
+ * - the step's resolve is a standard group resolve; the flow triggers it ON
71
+ * ENTRY (equivalent to first access). Already resolved/error (cached) — not
72
+ * re-run, and onReady is NOT invoked again.
73
+ * - Without resolve — onReady fires right after onEnter.
74
74
  */
75
75
  export declare function runEntryLifecycle(kernel: Kernel, flowState: FlowState, stepNode: AnyConfigNode): void;
76
76
  /**
77
- * nextStep(): следующий ВИДИМЫЙ шаг по порядку массива; скрытые пропускаются.
78
- * Если видимых впереди нетфинализация через flow.submit() (при ошибках
79
- * валидации onSubmit не вызывается, ошибки в flow.errors, шаг не меняется).
77
+ * nextStep(): the next VISIBLE step in array order; hidden ones are skipped.
78
+ * When no visible steps remain ahead finalize via flow.submit() (on
79
+ * validation errors onSubmit is not called, errors land in flow.errors, the
80
+ * step does not change).
80
81
  */
81
82
  export declare function flowNextStep(kernel: Kernel, flowState: FlowState): void;
82
- /** back(): вернуться по стеку посещений. No-op при пустом стеке (canGoBack). */
83
+ /** back(): go back along the visit stack. No-op when the stack is empty (canGoBack). */
83
84
  export declare function flowBack(kernel: Kernel, flowState: FlowState): void;
84
85
  /**
85
- * goTo(keyOrIndex): произвольный переход по ключу или индексу.
86
- * Несуществующий ключ/индексthrow (ловит опечатки на этапе разработки).
87
- * Переход в текущий шаг no-op.
86
+ * goTo(keyOrIndex): arbitrary jump by key or index.
87
+ * Unknown key/indexthrows (catches typos during development).
88
+ * Jumping to the current step is a no-op.
88
89
  */
89
90
  export declare function flowGoTo(kernel: Kernel, flowState: FlowState, keyOrIndex: string | number): void;
90
91
  /**
91
- * Сброс навигации флоу: первый шаг активен, стек и visited очищены,
92
- * resolve-состояния шагов сброшены в idle. Lifecycle входа первого шага
93
- * (onEnter → resolve → onReady) выполняется зановозеркально инициализации.
92
+ * Reset flow navigation: the first step is active, the stack and visited set
93
+ * are cleared, step resolve states go back to idle. The first step's entry
94
+ * lifecycle (onEnter → resolve → onReady) runs anewmirroring initialization.
94
95
  */
95
96
  export declare function resetFlowNav(kernel: Kernel, flowState: FlowState): void;
96
97
  /**
97
- * Сбросить навигацию всех флоу, попавших в поддерево сброса.
98
- * Вызывается из ResetPipeline (root reset → все флоу; reset группы флоу внутри неё).
98
+ * Reset navigation of all flows that fall into the reset subtree.
99
+ * Called from ResetPipeline (root reset → all flows; group reset → flows inside it).
99
100
  */
100
101
  export declare function resetFlowNavForSubtree(kernel: Kernel, groupNode: AnyConfigNode): void;
101
102
  /**
102
- * Инициализационный lifecycle: первый шаг каждого флоу «входится» при создании
103
- * store (onEnter → resolve → onReady). Вызывается из конструктора Palistor.
103
+ * Initialization lifecycle: the first step of every flow is "entered" at
104
+ * store creation (onEnter → resolve → onReady). Called from the Palistor
105
+ * constructor.
104
106
  *
105
- * Дополнительно прогревает proxyCache flow-нод: identity-view шага снимает
106
- * parent.proxy из кэша при первом step.submit(), и flow-proxy к этому моменту
107
- * уже должен существоватьиначе onSubmit шага получил бы undefined
108
- * третьим аргументом.
107
+ * Also pre-warms the proxyCache of flow nodes: a step's identity view reads
108
+ * parent.proxy from the cache on the first step.submit(), and the flow proxy
109
+ * must already exist by then otherwise the step's onSubmit would receive
110
+ * undefined as its third argument.
109
111
  */
110
112
  export declare function initFlows(kernel: Kernel): void;
111
- /** Снимок навигации флоу в persist-снапшоте (значения полей хранятся отдельно). */
113
+ /** Flow navigation snapshot in the persist payload (field values are stored separately). */
112
114
  export interface FlowNavSnapshot {
113
115
  currentStepKey: string;
114
116
  visitStack: string[];
115
117
  visitedKeys: string[];
116
118
  }
117
119
  /**
118
- * Сериализовать навигацию всех флоу для persist: ключdot-путь flow-ноды.
119
- * Статусы шагов не сохраняютсявыводятся из навигации при гидратации.
120
+ * Serialize navigation of all flows for persist: keythe flow node's dot-path.
121
+ * Step statuses are not saved they are derived from navigation on hydrate.
120
122
  */
121
123
  export declare function serializeFlowNav(kernel: Kernel): Record<string, FlowNavSnapshot> | null;
122
124
  /**
123
- * Восстановить навигацию флоу из persist-снимка. Неизвестные ключи шагов
124
- * (конфиг изменился) отбрасываются; несовместимый currentStepKey флоу
125
- * остаётся в текущем состоянии. Возвращает изменённые узлы для notify и
126
- * список флоу, чей активный шаг изменился (для повторного entry lifecycle).
125
+ * Restore flow navigation from a persist snapshot. Unknown step keys (the
126
+ * config changed) are dropped; an incompatible currentStepKey leaves the flow
127
+ * in its current state. Returns the changed nodes for notify and the flows
128
+ * whose active step changed (for a repeated entry lifecycle).
127
129
  */
128
130
  export declare function restoreFlowNav(kernel: Kernel, snapshots: Record<string, FlowNavSnapshot>): {
129
131
  changed: Set<object>;
130
132
  entered: FlowState[];
131
133
  };
132
- /** Entry lifecycle текущего шага (используется persist после гидратации). */
134
+ /** Entry lifecycle of the current step (used by persist after hydration). */
133
135
  export declare function runFlowEntryLifecycle(kernel: Kernel, flowState: FlowState): void;
134
136
  export {};
135
137
  //# sourceMappingURL=flowNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowNavigation.d.ts","sourceRoot":"","sources":["../../../store/flow/flowNavigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,KAAK,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAIjC,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAKhF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAKzE;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,QAAQ,SAAK,GACZ,SAAS,EAAE,CAyBb;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CASnF;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAE3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAK9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,aAAa,EAAE,aAAa,GAC3B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB1C;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAK5F;AAcD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CA+BrG;AAsCD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAQvE;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAehG;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAgBvE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAgBrF;AAID;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK9C;AAID,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAYvF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACzC;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,SAAS,EAAE,CAAA;CAAE,CAiChD;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAEhF"}
1
+ {"version":3,"file":"flowNavigation.d.ts","sourceRoot":"","sources":["../../../store/flow/flowNavigation.ts"],"names":[],"mappings":"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"}