palistor 0.0.25 → 0.0.27

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 +609 -542
  2. package/README.ru.md +1015 -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,28 +1,28 @@
1
1
  /**
2
- * PersistManager — управляет гидратацией и автосохранением состояния формы.
2
+ * PersistManager — manages hydration and auto-saving of form state.
3
3
  *
4
- * Инстанцируется внутри Palistor.
5
- * Не зависит от React — может быть подключён из любого окружения.
4
+ * Instantiated inside Palistor.
5
+ * React-independentcan be wired up from any environment.
6
6
  *
7
- * Жизненный цикл:
8
- * 1. Создаётся при new Palistor(...) (неактивен).
9
- * 2. Активируется через enable(options) — гидратация + auto-save.
10
- * 3. Деактивируется через disable() — отписка от store, отмена таймеров.
7
+ * Lifecycle:
8
+ * 1. Created by new Palistor(...) (inactive).
9
+ * 2. Activated via enable(options) — hydration + auto-save.
10
+ * 3. Deactivated via disable() — unsubscribes from the store, cancels timers.
11
11
  */
12
12
  import { applyPatch } from "../applyPatch/applyPatch";
13
13
  import { recomputeAndNotify } from "../compute/recompute";
14
14
  import { restoreFlowNav, runFlowEntryLifecycle, serializeFlowNav, } from "../flow/flowNavigation";
15
15
  /**
16
- * Зарезервированный ключ persist-снимка для навигации флоу (defineFlow):
16
+ * Reserved persist-snapshot key for flow navigation (defineFlow):
17
17
  * `{ [flowPath]: { currentStepKey, visitStack, visitedKeys } }`.
18
- * Значения полей шагов хранятся как обычные значения; статусы шагов
19
- * не сохраняются выводятся из навигации при гидратации.
18
+ * Step field values are stored as regular values; step statuses are not
19
+ * savedderived from navigation on hydrate.
20
20
  */
21
21
  const FLOWS_PERSIST_KEY = "__flows";
22
- // ─── Фильтрация полей ────────────────────────────────────────────────────────
22
+ // ─── Field filtering ─────────────────────────────────────────────────────────
23
23
  /**
24
- * Отфильтровать значения по pick/omit.
25
- * pick имеет приоритет. Если ни pick, ни omit не заданы — возвращает всё.
24
+ * Filter values by pick/omit.
25
+ * pick takes priority. When neither is set everything is returned.
26
26
  */
27
27
  function filterValues(values, pick, omit) {
28
28
  if (pick && pick.length > 0) {
@@ -44,29 +44,29 @@ function filterValues(values, pick, omit) {
44
44
  }
45
45
  return values;
46
46
  }
47
- // ─── Класс ───────────────────────────────────────────────────────────────────
47
+ // ─── Class ───────────────────────────────────────────────────────────────────
48
48
  /**
49
- * Менеджер персистенции формы.
49
+ * The form's persistence manager.
50
50
  *
51
- * Получает доступ ко всем данным формы через `kernel` (Palistor instance).
51
+ * Accesses all form data through the `kernel` (Palistor instance).
52
52
  */
53
53
  export class PersistManager {
54
54
  constructor(kernel) {
55
- // ─── Внутреннее состояние ─────────────────────────────────────────────────
55
+ // ─── Internal state ───────────────────────────────────────────────────────
56
56
  this.active = false;
57
57
  this.currentKey = null;
58
58
  this.currentDriver = null;
59
59
  this.serialize = JSON.stringify;
60
60
  this.deserialize = JSON.parse;
61
61
  this.debounceMs = 100;
62
- /** Отписка от subscribeGlobal. */
62
+ /** Unsubscribe from subscribeGlobal. */
63
63
  this.unsubscribe = null;
64
- /** ID таймера debounce. */
64
+ /** Debounce timer ID. */
65
65
  this.debounceTimer = null;
66
- /** Флаг, предотвращающий сохранение во время гидратации. */
66
+ /** Flag preventing saves during hydration. */
67
67
  this.isHydrating = false;
68
68
  /**
69
- * Запланировать сохранение с debounce.
69
+ * Schedule a debounced save.
70
70
  */
71
71
  this.scheduleSave = () => {
72
72
  if (!this.active || this.isHydrating)
@@ -83,7 +83,7 @@ export class PersistManager {
83
83
  };
84
84
  this.kernel = kernel;
85
85
  }
86
- // ─── Вспомогательные ──────────────────────────────────────────────────────
86
+ // ─── Helpers ──────────────────────────────────────────────────────────────
87
87
  cancelDebounce() {
88
88
  if (this.debounceTimer !== null) {
89
89
  clearTimeout(this.debounceTimer);
@@ -91,15 +91,15 @@ export class PersistManager {
91
91
  }
92
92
  }
93
93
  /**
94
- * Сохранить текущие значения в storage (без debounce).
94
+ * Save the current values to storage (no debounce).
95
95
  */
96
96
  async saveToStorage() {
97
97
  if (!this.active || !this.currentKey || !this.currentDriver)
98
98
  return;
99
99
  const allValues = this.kernel.getValues();
100
100
  const filtered = filterValues(allValues, this.pickFields, this.omitFields);
101
- // Flow: навигация сохраняется отдельным зарезервированным ключом,
102
- // не подпадающим под pick/omit (он не является полем формы).
101
+ // Flow: navigation is stored under a separate reserved key, not subject
102
+ // to pick/omit (it is not a form field).
103
103
  const flowNav = serializeFlowNav(this.kernel);
104
104
  const payload = flowNav ? { ...filtered, [FLOWS_PERSIST_KEY]: flowNav } : filtered;
105
105
  try {
@@ -107,11 +107,11 @@ export class PersistManager {
107
107
  await Promise.resolve(this.currentDriver.setItem(this.currentKey, serialized));
108
108
  }
109
109
  catch {
110
- // Ошибки сериализации/записи молчим (production-safe)
110
+ // Serialization/write errors are silenced (production-safe)
111
111
  }
112
112
  }
113
113
  /**
114
- * Прочитать из storage и применить значения к nodeState.
114
+ * Read from storage and apply the values to nodeState.
115
115
  */
116
116
  async hydrateFromStorage() {
117
117
  if (!this.currentKey || !this.currentDriver)
@@ -128,21 +128,21 @@ export class PersistManager {
128
128
  this.isHydrating = false;
129
129
  return;
130
130
  }
131
- // Flow: извлекаем снимок навигации до применения патча значений.
131
+ // Flow: extract the navigation snapshot before applying the values patch.
132
132
  const flowSnapshots = values[FLOWS_PERSIST_KEY];
133
133
  if (flowSnapshots !== undefined) {
134
134
  delete values[FLOWS_PERSIST_KEY];
135
135
  }
136
- // Применяем как патч — applyPatch рекурсивно обходит дерево конфига
137
- // (скалярные/групповые поля; list-узлы он пропускает).
136
+ // Apply as a patch — applyPatch walks the config tree recursively
137
+ // (scalar/group fields; list nodes are skipped).
138
138
  const patchedNodes = applyPatch(this.kernel.rootConfig, this.kernel.nodes.nodeState, values, new Set());
139
- // C3: восстанавливаем состав корневых и per-entity списков из снимка.
140
- // Для конфигов без списков no-op (graceful для старых снимков).
139
+ // Restore root and per-entity list membership from the snapshot.
140
+ // No-op for configs without lists (graceful for older snapshots).
141
141
  const listChanged = this.kernel.restoreLists(values);
142
142
  for (const n of listChanged)
143
143
  patchedNodes.add(n);
144
- // Flow: восстанавливаем навигацию (активный шаг, стек, visited).
145
- // Статусы шагов пересчитываются из навигационного состояния.
144
+ // Flow: restore navigation (active step, stack, visited).
145
+ // Step statuses are recomputed from the navigation state.
146
146
  let enteredFlows = [];
147
147
  if (flowSnapshots && typeof flowSnapshots === "object") {
148
148
  const { changed: flowChanged, entered } = restoreFlowNav(this.kernel, flowSnapshots);
@@ -150,33 +150,33 @@ export class PersistManager {
150
150
  patchedNodes.add(n);
151
151
  enteredFlows = entered;
152
152
  }
153
- // Пересчитываем, объединяем и уведомляем подписчиков
153
+ // Recompute, merge, and notify subscribers
154
154
  recomputeAndNotify(patchedNodes, () => this.kernel.recompute(), (c) => this.kernel.notifyChanged(c));
155
- // Flow: если активный шаг изменился при гидратациивосстановленный шаг
156
- // «входится» заново: onEnter → resolve → onReady.
155
+ // Flow: when the active step changed during hydration the restored
156
+ // step is "entered" anew: onEnter → resolve → onReady.
157
157
  for (const flowState of enteredFlows) {
158
158
  runFlowEntryLifecycle(this.kernel, flowState);
159
159
  }
160
160
  }
161
161
  catch {
162
- // Ошибки десериализации молчим
162
+ // Deserialization errors are silenced
163
163
  }
164
164
  finally {
165
165
  this.isHydrating = false;
166
166
  }
167
167
  }
168
- // ─── Публичный API ─────────────────────────────────────────────────────────
168
+ // ─── Public API ────────────────────────────────────────────────────────────
169
169
  /**
170
- * Активировать персистенцию: гидратация из storage + auto-save при изменениях.
170
+ * Activate persistence: hydrate from storage + auto-save on changes.
171
171
  *
172
- * Если persist уже активен предыдущий отключается.
173
- * Возвращает Promise, который резолвится после успешной гидратации.
172
+ * When persist is already active, the previous one is disabled first.
173
+ * Returns a Promise that resolves after successful hydration.
174
174
  */
175
175
  enable(options) {
176
- // Если уже активен отключаем предыдущий
176
+ // Already activedisable the previous one
177
177
  if (this.active)
178
178
  this.disable();
179
- // Сохраняем настройки
179
+ // Store the settings
180
180
  this.currentKey = options.key;
181
181
  this.currentDriver = options.driver;
182
182
  this.serialize = options.serialize ?? JSON.stringify;
@@ -185,12 +185,12 @@ export class PersistManager {
185
185
  this.pickFields = options.pick;
186
186
  this.omitFields = options.omit;
187
187
  this.active = true;
188
- // Подписка на изменения для auto-save
188
+ // Subscribe to changes for auto-save
189
189
  this.unsubscribe = this.kernel.hub.subscribeGlobal(this.scheduleSave);
190
- // Гидратация
190
+ // Hydrate
191
191
  return this.hydrateFromStorage();
192
192
  }
193
- /** Деактивировать: отписка от store, отмена таймеров, очистка состояния. */
193
+ /** Deactivate: unsubscribe from the store, cancel timers, clear state. */
194
194
  disable() {
195
195
  this.active = false;
196
196
  this.cancelDebounce();
@@ -201,16 +201,16 @@ export class PersistManager {
201
201
  this.currentKey = null;
202
202
  this.currentDriver = null;
203
203
  }
204
- /** Принудительно сохранить текущие значения в storage (без debounce). */
204
+ /** Force-save the current values to storage (no debounce). */
205
205
  async flush() {
206
206
  this.cancelDebounce();
207
207
  await this.saveToStorage();
208
208
  }
209
- /** Принудительно гидратировать из storage. */
209
+ /** Force-hydrate from storage. */
210
210
  async hydrate() {
211
211
  await this.hydrateFromStorage();
212
212
  }
213
- /** Удалить данные из storage по текущему ключу. */
213
+ /** Remove the data from storage under the current key. */
214
214
  async clear() {
215
215
  if (!this.currentKey || !this.currentDriver)
216
216
  return;
@@ -221,7 +221,7 @@ export class PersistManager {
221
221
  // noop
222
222
  }
223
223
  }
224
- /** Активна ли персистенция в данный момент. */
224
+ /** Whether persistence is currently active. */
225
225
  isEnabled() {
226
226
  return this.active;
227
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persistManager.js","sourceRoot":"","sources":["../../../store/persist/persistManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistManager.js","sourceRoot":"","sources":["../../../store/persist/persistManager.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Persist — абстрактный интерфейс драйвера хранения и опции персистенции.
2
+ * Persist — the abstract storage driver interface and persistence options.
3
3
  *
4
- * Драйвер может быть синхронным (localStorage) или асинхронным (IndexedDB).
5
- * Все методы возвращают `T | Promise<T>` — persist-менеджер обрабатывает оба
6
- * варианта единообразно через `Promise.resolve()`.
4
+ * A driver can be synchronous (localStorage) or asynchronous (IndexedDB).
5
+ * All methods return `T | Promise<T>` — the persist manager handles both
6
+ * uniformly via `Promise.resolve()`.
7
7
  */
8
8
  /**
9
- * Интерфейс драйвера хранения.
9
+ * Storage driver interface.
10
10
  *
11
- * Реализуйте этот интерфейс для любого бэкенда:
12
- * localStorage, sessionStorage, IndexedDB, AsyncStorage, файловая система и т.д.
11
+ * Implement this interface for any backend:
12
+ * localStorage, sessionStorage, IndexedDB, AsyncStorage, the file system, etc.
13
13
  *
14
14
  * @example
15
15
  * ```ts
@@ -21,45 +21,45 @@
21
21
  * ```
22
22
  */
23
23
  export interface PersistDriver {
24
- /** Прочитать значение по ключу. `null` если не найдено. */
24
+ /** Read a value by key. `null` when not found. */
25
25
  getItem(key: string): string | null | Promise<string | null>;
26
- /** Записать значение по ключу. */
26
+ /** Write a value by key. */
27
27
  setItem(key: string, value: string): void | Promise<void>;
28
- /** Удалить значение по ключу. */
28
+ /** Remove a value by key. */
29
29
  removeItem(key: string): void | Promise<void>;
30
30
  }
31
31
  /**
32
- * Опции персистенции для ProxyStore.
32
+ * Persistence options for the ProxyStore.
33
33
  *
34
- * @template TValues — тип значений формы
34
+ * @template TValues — the form values type
35
35
  */
36
36
  export interface PersistOptions<TValues = Record<string, unknown>> {
37
- /** Уникальный ключ хранения. */
37
+ /** Unique storage key. */
38
38
  key: string;
39
- /** Драйвер хранения (localStorage, IndexedDB, …). */
39
+ /** Storage driver (localStorage, IndexedDB, …). */
40
40
  driver: PersistDriver;
41
41
  /**
42
- * Кастомный сериализатор (по умолчанию `JSON.stringify`).
43
- * Полезно для binary-форматов, шифрования и т.д.
42
+ * Custom serializer (defaults to `JSON.stringify`).
43
+ * Useful for binary formats, encryption, etc.
44
44
  */
45
45
  serialize?: (values: Partial<TValues>) => string;
46
46
  /**
47
- * Кастомный десериализатор (по умолчанию `JSON.parse`).
47
+ * Custom deserializer (defaults to `JSON.parse`).
48
48
  */
49
49
  deserialize?: (raw: string) => Partial<TValues>;
50
50
  /**
51
- * Задержка записи в ms (debounce). По умолчанию 100 ms.
52
- * Установите 0 для мгновенной записи.
51
+ * Write delay in ms (debounce). Default 100 ms.
52
+ * Set 0 for immediate writes.
53
53
  */
54
54
  debounce?: number;
55
55
  /**
56
- * Персистить только указанные поля верхнего уровня.
57
- * Если задано `omit` игнорируется.
56
+ * Persist only the listed top-level fields.
57
+ * When set, `omit` is ignored.
58
58
  */
59
59
  pick?: (keyof TValues & string)[];
60
60
  /**
61
- * Исключить указанные поля верхнего уровня из персистенции.
62
- * Игнорируется если задано `pick`.
61
+ * Exclude the listed top-level fields from persistence.
62
+ * Ignored when `pick` is set.
63
63
  */
64
64
  omit?: (keyof TValues & string)[];
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../store/persist/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE7D,kCAAkC;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,iCAAiC;IACjC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAID;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IAEZ,qDAAqD;IACrD,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../store/persist/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE7D,4BAA4B;IAC5B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,6BAA6B;IAC7B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAID;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IAEZ,mDAAmD;IACnD,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;CACnC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Persist — абстрактный интерфейс драйвера хранения и опции персистенции.
2
+ * Persist — the abstract storage driver interface and persistence options.
3
3
  *
4
- * Драйвер может быть синхронным (localStorage) или асинхронным (IndexedDB).
5
- * Все методы возвращают `T | Promise<T>` — persist-менеджер обрабатывает оба
6
- * варианта единообразно через `Promise.resolve()`.
4
+ * A driver can be synchronous (localStorage) or asynchronous (IndexedDB).
5
+ * All methods return `T | Promise<T>` — the persist manager handles both
6
+ * uniformly via `Promise.resolve()`.
7
7
  */
8
8
  export {};
9
9
  //# sourceMappingURL=types.js.map
@@ -1,11 +1,11 @@
1
1
  import type { AnyConfigNode } from "../store/types";
2
2
  /**
3
- * Строит патч для сброса группы.
3
+ * Builds the patch for a group reset.
4
4
  *
5
- * Приоритет:
6
- * 1. Если переданы явные `values` → используются как патч напрямую.
7
- * 2. Иначе берётся initial snapshot (или defaults из конфига как fallback),
8
- * после чего применяется reset-трансформер группы (если задан).
5
+ * Priority:
6
+ * 1. Explicit `values` → used as the patch directly.
7
+ * 2. Otherwise the initial snapshot (or config defaults as a fallback),
8
+ * then the group's reset transformer (if any) is applied.
9
9
  */
10
10
  export declare function buildResetPatch(groupNode: AnyConfigNode, initialValueMap: WeakMap<object, unknown> | undefined, values: Record<string, unknown> | undefined): Record<string, unknown>;
11
11
  //# sourceMappingURL=buildResetPatch.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { collectDefaults } from "./collectDefaults";
2
2
  import { collectInitialSnapshot } from "../dirtyTracking";
3
3
  /**
4
- * Строит патч для сброса группы.
4
+ * Builds the patch for a group reset.
5
5
  *
6
- * Приоритет:
7
- * 1. Если переданы явные `values` → используются как патч напрямую.
8
- * 2. Иначе берётся initial snapshot (или defaults из конфига как fallback),
9
- * после чего применяется reset-трансформер группы (если задан).
6
+ * Priority:
7
+ * 1. Explicit `values` → used as the patch directly.
8
+ * 2. Otherwise the initial snapshot (or config defaults as a fallback),
9
+ * then the group's reset transformer (if any) is applied.
10
10
  */
11
11
  export function buildResetPatch(groupNode, initialValueMap, values) {
12
12
  if (values !== undefined)
@@ -1,12 +1,12 @@
1
1
  import type { AnyConfigNode } from "../store/types";
2
2
  /**
3
- * Рекурсивно собирает значения по умолчанию из конфига.
3
+ * Recursively collects default values from the config.
4
4
  *
5
- * Для листовых узлов:
6
- * - статическое значениеберётся как есть
7
- * - функция (computed) → "" как fallback
5
+ * For leaf nodes:
6
+ * - static valuetaken as-is
7
+ * - function (computed) → "" as a fallback
8
8
  *
9
- * Останавливается на вложенных группах с собственным `reset` (reset boundary).
9
+ * Stops at nested groups with their own `reset` (reset boundary).
10
10
  */
11
11
  export declare function collectDefaults(node: AnyConfigNode): Record<string, unknown>;
12
12
  //# sourceMappingURL=collectDefaults.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { configKeys, isLeafNode, isListNode } from "../traversal";
2
2
  /**
3
- * Рекурсивно собирает значения по умолчанию из конфига.
3
+ * Recursively collects default values from the config.
4
4
  *
5
- * Для листовых узлов:
6
- * - статическое значениеберётся как есть
7
- * - функция (computed) → "" как fallback
5
+ * For leaf nodes:
6
+ * - static valuetaken as-is
7
+ * - function (computed) → "" as a fallback
8
8
  *
9
- * Останавливается на вложенных группах с собственным `reset` (reset boundary).
9
+ * Stops at nested groups with their own `reset` (reset boundary).
10
10
  */
11
11
  export function collectDefaults(node) {
12
12
  const result = {};
@@ -15,7 +15,7 @@ export function collectDefaults(node) {
15
15
  if (!child || typeof child !== "object")
16
16
  continue;
17
17
  if (isListNode(child))
18
- continue; // ListNode — пропускаем, обрабатывается в фазе 2
18
+ continue; // ListNode — skipped, restored separately
19
19
  if (isLeafNode(child)) {
20
20
  const raw = child.value;
21
21
  result[key] = typeof raw === "function" ? "" : raw;
@@ -1 +1 @@
1
- {"version":3,"file":"collectDefaults.js","sourceRoot":"","sources":["../../../store/resetPipeline/collectDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAA+B,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAkB,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,iDAAiD;QAElF,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;gBAAE,SAAS;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"collectDefaults.js","sourceRoot":"","sources":["../../../store/resetPipeline/collectDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAA+B,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAkB,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,0CAA0C;QAE3E,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;gBAAE,SAAS;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import type { AnyConfigNode } from "../store/types";
2
2
  import type { Palistor } from "../store/palistor";
3
3
  /**
4
- * ResetPipeline — сброс значений группового узла.
4
+ * ResetPipeline — resets a group node's values.
5
5
  *
6
- * - Если `values` передан явноприменяется как патч (новая baseline → dirty = false).
7
- * - Иначе восстанавливается initial snapshot (или config defaults как fallback),
8
- * с опциональной трансформацией через reset-функцию группы.
6
+ * - When `values` is passed explicitly applied as a patch (new baseline → dirty = false).
7
+ * - Otherwise the initial snapshot is restored (or config defaults as a
8
+ * fallback), optionally transformed by the group's reset function.
9
9
  *
10
- * После сброса:
11
- * - revalidate = false (очистка режима валидации)
12
- * - полный пересчёт вычисляемых свойств + уведомление подписчиков
10
+ * After the reset:
11
+ * - revalidate = false (validation mode cleared)
12
+ * - full recompute of computed props + subscriber notification
13
13
  */
14
14
  export declare class ResetPipeline {
15
15
  private readonly kernel;
@@ -4,15 +4,15 @@ import { recomputeAndNotify } from "../compute/recompute";
4
4
  import { buildResetPatch } from "./buildResetPatch";
5
5
  import { resetFlowNavForSubtree } from "../flow/flowNavigation";
6
6
  /**
7
- * ResetPipeline — сброс значений группового узла.
7
+ * ResetPipeline — resets a group node's values.
8
8
  *
9
- * - Если `values` передан явноприменяется как патч (новая baseline → dirty = false).
10
- * - Иначе восстанавливается initial snapshot (или config defaults как fallback),
11
- * с опциональной трансформацией через reset-функцию группы.
9
+ * - When `values` is passed explicitly applied as a patch (new baseline → dirty = false).
10
+ * - Otherwise the initial snapshot is restored (or config defaults as a
11
+ * fallback), optionally transformed by the group's reset function.
12
12
  *
13
- * После сброса:
14
- * - revalidate = false (очистка режима валидации)
15
- * - полный пересчёт вычисляемых свойств + уведомление подписчиков
13
+ * After the reset:
14
+ * - revalidate = false (validation mode cleared)
15
+ * - full recompute of computed props + subscriber notification
16
16
  */
17
17
  export class ResetPipeline {
18
18
  constructor(kernel) {
@@ -22,16 +22,16 @@ export class ResetPipeline {
22
22
  const nodeState = this.kernel.nodes.nodeState;
23
23
  const initialValueMap = this.kernel.dirty.initialValueMap;
24
24
  const valuesCache = this.kernel.values;
25
- // При полном сбросе формы очищаем состояния резолва entity-полей,
26
- // чтобы они заново выполнились при загрузке сущностей через list resolver.
25
+ // On a full form reset, clear entity-field resolve states so they run
26
+ // again when entities are loaded through the list resolver.
27
27
  if (groupNode === this.kernel.rootConfig) {
28
28
  this.kernel.resolveManager.entityStates.clearAll();
29
29
  }
30
30
  const patch = buildResetPatch(groupNode, initialValueMap, values);
31
31
  const changed = applyPatch(groupNode, nodeState, patch, new Set(), valuesCache);
32
- // C2: при полном сбросе восстанавливаем состав per-entity списков к initial
33
- // и бампаем версии их EntityListState-узлов → React перерисует списки.
34
- // C3: пересинхронизируем projectionObj владельца getValues() вернёт initial.
32
+ // On a full reset, restore per-entity list membership to initial and bump
33
+ // their EntityListState versions → React redraws the lists. The owner's
34
+ // projectionObj is re-synced so getValues() returns the initial state.
35
35
  if (groupNode === this.kernel.rootConfig) {
36
36
  for (const { state } of this.kernel.entityRegistry.resetEntityListStates()) {
37
37
  this.kernel.syncListValuesCache(state);
@@ -45,9 +45,9 @@ export class ResetPipeline {
45
45
  for (const n of revalidateChanged)
46
46
  changed.add(n);
47
47
  recomputeAndNotify(changed, () => this.kernel.recompute(), (c) => this.kernel.notifyChanged(c));
48
- // Flow: сброс навигации флоу внутри поддерева сбросапервый шаг снова
49
- // активен, resolve-состояния шагов idle, entry lifecycle первого шага
50
- // выполняется заново (Resolved Decision 16).
48
+ // Flow: reset flow navigation inside the reset subtree the first step is
49
+ // active again, step resolve states go idle, and the first step's entry
50
+ // lifecycle runs anew.
51
51
  resetFlowNavForSubtree(this.kernel, groupNode);
52
52
  }
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resetPipeline.js","sourceRoot":"","sources":["../../../store/resetPipeline/resetPipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IACxB,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,OAAO,CAAC,SAAwB,EAAE,MAAgC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEvC,kEAAkE;QAClE,2EAA2E;QAC3E,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAEhF,4EAA4E;QAC5E,uEAAuE;QACvE,+EAA+E;QAC/E,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAA0B,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;YAC5C,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,iBAAiB;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElD,kBAAkB,CAChB,OAAO,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACpC,CAAC;QAEF,wEAAwE;QACxE,sEAAsE;QACtE,6CAA6C;QAC7C,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"resetPipeline.js","sourceRoot":"","sources":["../../../store/resetPipeline/resetPipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IACxB,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,OAAO,CAAC,SAAwB,EAAE,MAAgC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEvC,sEAAsE;QACtE,4DAA4D;QAC5D,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAEhF,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAA0B,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;YAC5C,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,iBAAiB;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElD,kBAAkB,CAChB,OAAO,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACpC,CAAC;QAEF,2EAA2E;QAC3E,wEAAwE;QACxE,uBAAuB;QACvB,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}