cogsbox-state 0.5.461 → 0.5.463

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/store.d.ts CHANGED
@@ -112,6 +112,9 @@ export type CogsEvent = {
112
112
  path: string;
113
113
  };
114
114
  export type CogsGlobalState = {
115
+ updateQueue: Set<() => void>;
116
+ isFlushScheduled: boolean;
117
+ flushUpdates: () => void;
115
118
  registerComponent: (stateKey: string, componentId: string, registration: any) => void;
116
119
  unregisterComponent: (stateKey: string, componentId: string) => void;
117
120
  addPathComponent: (stateKey: string, dependencyPath: string[], fullComponentId: string) => void;
@@ -152,11 +155,9 @@ export type CogsGlobalState = {
152
155
  timestamp: number;
153
156
  }>;
154
157
  setServerStateUpdate: (key: string, serverState: any) => void;
155
- stateLog: {
156
- [key: string]: UpdateTypeDetail[];
157
- };
158
+ stateLog: Map<string, Map<string, UpdateTypeDetail>>;
158
159
  syncInfoStore: Map<string, SyncInfo>;
159
- setStateLog: (key: string, updater: (prevUpdates: UpdateTypeDetail[]) => UpdateTypeDetail[]) => void;
160
+ addStateLog: (key: string, update: UpdateTypeDetail) => void;
160
161
  setSyncInfo: (key: string, syncInfo: SyncInfo) => void;
161
162
  getSyncInfo: (key: string) => SyncInfo | null;
162
163
  };
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -1,158 +1,179 @@
1
- import { create as u } from "zustand";
2
- import { ulid as m } from "ulid";
3
- const A = u((a, f) => ({
1
+ import { create as M } from "zustand";
2
+ import { ulid as b } from "ulid";
3
+ import { startTransition as g } from "react";
4
+ const j = M((f, c) => ({
4
5
  formRefs: /* @__PURE__ */ new Map(),
5
- registerFormRef: (t, n) => a((o) => {
6
- const e = new Map(o.formRefs);
7
- return e.set(t, n), { formRefs: e };
6
+ registerFormRef: (e, s) => f((o) => {
7
+ const t = new Map(o.formRefs);
8
+ return t.set(e, s), { formRefs: t };
8
9
  }),
9
- getFormRef: (t) => f().formRefs.get(t),
10
- removeFormRef: (t) => a((n) => {
11
- const o = new Map(n.formRefs);
12
- return o.delete(t), { formRefs: o };
10
+ getFormRef: (e) => c().formRefs.get(e),
11
+ removeFormRef: (e) => f((s) => {
12
+ const o = new Map(s.formRefs);
13
+ return o.delete(e), { formRefs: o };
13
14
  }),
14
15
  // Get all refs that start with the stateKey prefix
15
- getFormRefsByStateKey: (t) => {
16
- const n = f().formRefs, o = t + ".", e = /* @__PURE__ */ new Map();
17
- return n.forEach((s, r) => {
18
- (r.startsWith(o) || r === t) && e.set(r, s);
19
- }), e;
16
+ getFormRefsByStateKey: (e) => {
17
+ const s = c().formRefs, o = e + ".", t = /* @__PURE__ */ new Map();
18
+ return s.forEach((n, a) => {
19
+ (a.startsWith(o) || a === e) && t.set(a, n);
20
+ }), t;
20
21
  }
21
- })), b = (a) => a === null || typeof a != "object" || a instanceof Uint8Array || a instanceof Int8Array || a instanceof Uint16Array || a instanceof Int16Array || a instanceof Uint32Array || a instanceof Int32Array || a instanceof Float32Array || a instanceof Float64Array || a instanceof ArrayBuffer || a instanceof Date || a instanceof RegExp || a instanceof Map || a instanceof Set ? !1 : Array.isArray(a) || a.constructor === Object, E = u((a, f) => ({
22
- addPathComponent: (t, n, o) => {
23
- a((e) => {
24
- const s = new Map(e.shadowStateStore), r = [t, ...n].join("."), i = s.get(r) || {}, S = new Set(i.pathComponents);
25
- S.add(o), s.set(r, { ...i, pathComponents: S });
26
- const c = s.get(t) || {}, p = c.components?.get(o);
22
+ })), m = (f) => f === null || typeof f != "object" ? !1 : !!(Array.isArray(f) || f.constructor === Object), E = M((f, c) => ({
23
+ updateQueue: /* @__PURE__ */ new Set(),
24
+ // A flag to ensure we only schedule the flush once per event-loop tick.
25
+ isFlushScheduled: !1,
26
+ // This function is called by queueMicrotask to execute all queued updates.
27
+ flushUpdates: () => {
28
+ const { updateQueue: e } = c();
29
+ e.size > 0 && g(() => {
30
+ e.forEach((s) => s());
31
+ }), f({ updateQueue: /* @__PURE__ */ new Set(), isFlushScheduled: !1 });
32
+ },
33
+ addPathComponent: (e, s, o) => {
34
+ f((t) => {
35
+ const n = new Map(t.shadowStateStore), a = [e, ...s].join("."), r = n.get(a) || {}, S = new Set(r.pathComponents);
36
+ S.add(o), n.set(a, { ...r, pathComponents: S });
37
+ const i = n.get(e) || {}, p = i.components?.get(o);
27
38
  if (p) {
28
39
  const d = new Set(p.paths);
29
- d.add(r);
30
- const h = { ...p, paths: d }, w = new Map(c.components);
31
- w.set(o, h), s.set(t, {
32
- ...c,
33
- components: w
40
+ d.add(a);
41
+ const h = { ...p, paths: d }, l = new Map(i.components);
42
+ l.set(o, h), n.set(e, {
43
+ ...i,
44
+ components: l
34
45
  });
35
46
  }
36
- return { shadowStateStore: s };
47
+ return { shadowStateStore: n };
37
48
  });
38
49
  },
39
- registerComponent: (t, n, o) => {
40
- a((e) => {
41
- const s = new Map(e.shadowStateStore), r = s.get(t) || {}, i = new Map(r.components);
42
- return i.set(n, o), s.set(t, { ...r, components: i }), { shadowStateStore: s };
50
+ registerComponent: (e, s, o) => {
51
+ f((t) => {
52
+ const n = new Map(t.shadowStateStore), a = n.get(e) || {}, r = new Map(a.components);
53
+ return r.set(s, o), n.set(e, { ...a, components: r }), { shadowStateStore: n };
43
54
  });
44
55
  },
45
- unregisterComponent: (t, n) => {
46
- a((o) => {
47
- const e = new Map(o.shadowStateStore), s = e.get(t);
48
- if (!s?.components)
56
+ unregisterComponent: (e, s) => {
57
+ f((o) => {
58
+ const t = new Map(o.shadowStateStore), n = t.get(e);
59
+ if (!n?.components)
49
60
  return o;
50
- const r = new Map(s.components);
51
- return r.delete(n) ? (e.set(t, { ...s, components: r }), { shadowStateStore: e }) : o;
61
+ const a = new Map(n.components);
62
+ return a.delete(s) ? (t.set(e, { ...n, components: a }), { shadowStateStore: t }) : o;
52
63
  });
53
64
  },
54
- markAsDirty: (t, n, o = { bubble: !0 }) => {
55
- const e = new Map(f().shadowStateStore);
56
- let s = !1;
57
- const r = (i) => {
58
- const S = [t, ...i].join("."), c = e.get(S);
59
- c && c.isDirty !== !0 ? (e.set(S, { ...c, isDirty: !0 }), s = !0) : c || (e.set(S, { isDirty: !0 }), s = !0);
65
+ markAsDirty: (e, s, o = { bubble: !0 }) => {
66
+ const { shadowStateStore: t } = c(), n = /* @__PURE__ */ new Map(), a = (r) => {
67
+ const S = [e, ...r].join("."), i = t.get(S) || {};
68
+ return i.isDirty === !0 ? !0 : (n.set(S, { ...i, isDirty: !0 }), !1);
60
69
  };
61
- if (r(n), o.bubble) {
62
- let i = [...n];
63
- for (; i.length > 0; )
64
- i.pop(), r(i);
70
+ if (a(s), o.bubble) {
71
+ let r = [...s];
72
+ for (; r.length > 0 && (r.pop(), !a(r)); )
73
+ ;
65
74
  }
66
- s && a({ shadowStateStore: e });
75
+ n.size > 0 && f((r) => (n.forEach((S, i) => {
76
+ r.shadowStateStore.set(i, S);
77
+ }), r));
67
78
  },
68
79
  serverStateUpdates: /* @__PURE__ */ new Map(),
69
- setServerStateUpdate: (t, n) => {
70
- a((o) => {
71
- const e = new Map(o.serverStateUpdates);
72
- return e.set(t, n), { serverStateUpdates: e };
73
- }), f().notifyPathSubscribers(t, {
80
+ setServerStateUpdate: (e, s) => {
81
+ f((o) => {
82
+ const t = new Map(o.serverStateUpdates);
83
+ return t.set(e, s), { serverStateUpdates: t };
84
+ }), c().notifyPathSubscribers(e, {
74
85
  type: "SERVER_STATE_UPDATE",
75
- serverState: n
86
+ serverState: s
76
87
  });
77
88
  },
78
89
  shadowStateStore: /* @__PURE__ */ new Map(),
90
+ getShadowNode: (e) => c().shadowStateStore.get(e),
79
91
  pathSubscribers: /* @__PURE__ */ new Map(),
80
- subscribeToPath: (t, n) => {
81
- const o = f().pathSubscribers, e = o.get(t) || /* @__PURE__ */ new Set();
82
- return e.add(n), o.set(t, e), () => {
83
- const s = f().pathSubscribers.get(t);
84
- s && (s.delete(n), s.size === 0 && f().pathSubscribers.delete(t));
92
+ subscribeToPath: (e, s) => {
93
+ const o = c().pathSubscribers, t = o.get(e) || /* @__PURE__ */ new Set();
94
+ return t.add(s), o.set(e, t), () => {
95
+ const n = c().pathSubscribers.get(e);
96
+ n && (n.delete(s), n.size === 0 && c().pathSubscribers.delete(e));
85
97
  };
86
98
  },
87
- notifyPathSubscribers: (t, n) => {
88
- const e = f().pathSubscribers.get(t);
89
- e && e.forEach((s) => s(n));
99
+ notifyPathSubscribers: (e, s) => {
100
+ const t = c().pathSubscribers.get(e);
101
+ t && t.forEach((n) => n(s));
90
102
  },
91
- initializeShadowState: (t, n) => {
92
- a((o) => {
93
- const e = new Map(o.shadowStateStore), r = e.get(t)?.components, i = t + ".";
94
- for (const c of Array.from(e.keys()))
95
- (c === t || c.startsWith(i)) && e.delete(c);
96
- const S = (c, p) => {
97
- const d = [t, ...p].join(".");
98
- if (Array.isArray(c)) {
103
+ initializeShadowState: (e, s) => {
104
+ f((o) => {
105
+ const t = new Map(o.shadowStateStore);
106
+ console.log("initializeShadowState");
107
+ const a = t.get(e)?.components, r = e + ".";
108
+ for (const i of Array.from(t.keys()))
109
+ (i === e || i.startsWith(r)) && t.delete(i);
110
+ const S = (i, p) => {
111
+ const d = [e, ...p].join(".");
112
+ if (Array.isArray(i)) {
99
113
  const h = [];
100
- c.forEach(() => {
101
- const w = `id:${m()}`;
102
- h.push(d + "." + w);
103
- }), e.set(d, { arrayKeys: h }), c.forEach((w, y) => {
104
- const l = h[y].split(".").pop();
105
- S(w, [...p, l]);
114
+ i.forEach(() => {
115
+ const l = `id:${b()}`;
116
+ h.push(d + "." + l);
117
+ }), t.set(d, { arrayKeys: h }), i.forEach((l, u) => {
118
+ const w = h[u].split(".").pop();
119
+ S(l, [...p, w]);
106
120
  });
107
- } else if (b(c)) {
121
+ } else if (m(i)) {
108
122
  const h = Object.fromEntries(
109
- Object.keys(c).map((w) => [w, d + "." + w])
123
+ Object.keys(i).map((l) => [l, d + "." + l])
110
124
  );
111
- e.set(d, { fields: h }), Object.keys(c).forEach((w) => {
112
- S(c[w], [...p, w]);
125
+ t.set(d, { fields: h }), Object.keys(i).forEach((l) => {
126
+ S(i[l], [...p, l]);
113
127
  });
114
128
  } else
115
- e.set(d, { value: c });
129
+ t.set(d, { value: i });
116
130
  };
117
- if (S(n, []), r) {
118
- const c = e.get(t) || {};
119
- e.set(t, {
120
- ...c,
121
- components: r
131
+ if (S(s, []), a) {
132
+ const i = t.get(e) || {};
133
+ t.set(e, {
134
+ ...i,
135
+ components: a
122
136
  });
123
137
  }
124
- return { shadowStateStore: e };
138
+ return { shadowStateStore: t };
125
139
  });
126
140
  },
127
- getShadowValue: (t, n) => {
128
- const o = f().shadowStateStore.get(t);
129
- if (o) {
130
- if (o.value !== void 0)
131
- return o.value;
132
- if (o.arrayKeys)
133
- return (n ?? o.arrayKeys).map((r) => f().getShadowValue(r));
134
- if (o.fields) {
135
- const e = {};
136
- return Object.entries(o.fields).forEach(([s, r]) => {
137
- e[s] = f().getShadowValue(r);
138
- }), e;
139
- }
140
- }
141
+ getShadowValue: (e, s) => {
142
+ const o = /* @__PURE__ */ new Map(), t = (n, a) => {
143
+ if (o.has(n))
144
+ return o.get(n);
145
+ const r = c().shadowStateStore.get(n);
146
+ if (!r)
147
+ return;
148
+ if (r.value !== void 0)
149
+ return r.value;
150
+ let S;
151
+ if (r.arrayKeys) {
152
+ const i = a ?? r.arrayKeys;
153
+ S = [], o.set(n, S), i.forEach((p) => {
154
+ S.push(t(p));
155
+ });
156
+ } else r.fields ? (S = {}, o.set(n, S), Object.entries(r.fields).forEach(([i, p]) => {
157
+ S[i] = t(p);
158
+ })) : S = void 0;
159
+ return S;
160
+ };
161
+ return t(e, s);
141
162
  },
142
- getShadowMetadata: (t, n, o) => {
143
- const e = [t, ...n].join(".");
144
- return f().shadowStateStore.get(e), f().shadowStateStore.get(e);
163
+ getShadowMetadata: (e, s) => {
164
+ const o = [e, ...s].join(".");
165
+ return c().shadowStateStore.get(o);
145
166
  },
146
- setShadowMetadata: (t, n, o) => {
147
- const e = [t, ...n].join("."), s = f().shadowStateStore.get(e);
148
- s?.components && !o.components && (console.group(
167
+ setShadowMetadata: (e, s, o) => {
168
+ const t = [e, ...s].join("."), n = c().shadowStateStore.get(t);
169
+ n?.components && !o.components && (console.group(
149
170
  "%c🚨 RACE CONDITION DETECTED! 🚨",
150
171
  "color: red; font-size: 18px; font-weight: bold;"
151
172
  ), console.error(
152
- `An overwrite is about to happen on stateKey: "${t}" at path: [${n.join(", ")}]`
173
+ `An overwrite is about to happen on stateKey: "${e}" at path: [${s.join(", ")}]`
153
174
  ), console.log(
154
175
  "The EXISTING metadata had a components map:",
155
- s.components
176
+ n.components
156
177
  ), console.log(
157
178
  "The NEW metadata is trying to save WITHOUT a components map:",
158
179
  o
@@ -160,159 +181,173 @@ const A = u((a, f) => ({
160
181
  "%cStack trace to the function that caused this overwrite:",
161
182
  "font-weight: bold;"
162
183
  ), console.trace(), console.groupEnd());
163
- const r = new Map(f().shadowStateStore), i = { ...s || {}, ...o };
164
- r.set(e, i), a({ shadowStateStore: r });
184
+ const a = new Map(c().shadowStateStore), r = { ...n || {}, ...o };
185
+ a.set(t, r), f({ shadowStateStore: a });
165
186
  },
166
- setTransformCache: (t, n, o, e) => {
167
- const s = [t, ...n].join("."), r = new Map(f().shadowStateStore), i = r.get(s) || {};
168
- i.transformCaches || (i.transformCaches = /* @__PURE__ */ new Map()), i.transformCaches.set(o, e), r.set(s, i), a({ shadowStateStore: r });
187
+ setTransformCache: (e, s, o, t) => {
188
+ const n = [e, ...s].join("."), a = new Map(c().shadowStateStore), r = a.get(n) || {};
189
+ r.transformCaches || (r.transformCaches = /* @__PURE__ */ new Map()), r.transformCaches.set(o, t), a.set(n, r), f({ shadowStateStore: a });
169
190
  },
170
- insertShadowArrayElement: (t, n, o) => {
171
- const e = new Map(f().shadowStateStore), s = [t, ...n].join("."), r = e.get(s);
172
- if (!r || !r.arrayKeys) return;
173
- const i = `id:${m()}`, S = s + "." + i, c = [...r.arrayKeys];
174
- c.push(S), e.set(s, { ...r, arrayKeys: c });
191
+ insertShadowArrayElement: (e, s, o) => {
192
+ const t = new Map(c().shadowStateStore), n = [e, ...s].join("."), a = t.get(n);
193
+ if (!a || !a.arrayKeys) return;
194
+ const r = `id:${b()}`, S = n + "." + r, i = [...a.arrayKeys];
195
+ i.push(S), t.set(n, { ...a, arrayKeys: i });
175
196
  const p = (d, h) => {
176
- const w = [t, ...h].join(".");
197
+ const l = [e, ...h].join(".");
177
198
  if (!Array.isArray(d)) if (typeof d == "object" && d !== null) {
178
- const y = Object.fromEntries(
179
- Object.keys(d).map((l) => [l, w + "." + l])
199
+ const u = Object.fromEntries(
200
+ Object.keys(d).map((w) => [w, l + "." + w])
180
201
  );
181
- e.set(w, { fields: y }), Object.entries(d).forEach(([l, M]) => {
182
- p(M, [...h, l]);
202
+ t.set(l, { fields: u }), Object.entries(d).forEach(([w, y]) => {
203
+ p(y, [...h, w]);
183
204
  });
184
205
  } else
185
- e.set(w, { value: d });
206
+ t.set(l, { value: d });
186
207
  };
187
- p(o, [...n, i]), a({ shadowStateStore: e }), f().notifyPathSubscribers(s, {
208
+ p(o, [...s, r]), f({ shadowStateStore: t }), c().notifyPathSubscribers(n, {
188
209
  type: "INSERT",
189
- path: s,
210
+ path: n,
190
211
  itemKey: S
191
212
  });
192
213
  },
193
- removeShadowArrayElement: (t, n) => {
194
- const o = new Map(f().shadowStateStore), e = [t, ...n].join("."), s = n.slice(0, -1), r = [t, ...s].join("."), i = o.get(r);
195
- if (i && i.arrayKeys && i.arrayKeys.findIndex(
196
- (c) => c === e
214
+ removeShadowArrayElement: (e, s) => {
215
+ const o = new Map(c().shadowStateStore), t = [e, ...s].join("."), n = s.slice(0, -1), a = [e, ...n].join("."), r = o.get(a);
216
+ if (r && r.arrayKeys && r.arrayKeys.findIndex(
217
+ (i) => i === t
197
218
  ) !== -1) {
198
- const c = i.arrayKeys.filter(
199
- (d) => d !== e
219
+ const i = r.arrayKeys.filter(
220
+ (d) => d !== t
200
221
  );
201
- o.set(r, {
202
- ...i,
203
- arrayKeys: c
222
+ o.set(a, {
223
+ ...r,
224
+ arrayKeys: i
204
225
  });
205
- const p = e + ".";
226
+ const p = t + ".";
206
227
  for (const d of Array.from(o.keys()))
207
- (d === e || d.startsWith(p)) && o.delete(d);
228
+ (d === t || d.startsWith(p)) && o.delete(d);
208
229
  }
209
- a({ shadowStateStore: o }), f().notifyPathSubscribers(r, {
230
+ f({ shadowStateStore: o }), c().notifyPathSubscribers(a, {
210
231
  type: "REMOVE",
211
- path: r,
212
- itemKey: e
232
+ path: a,
233
+ itemKey: t
213
234
  // The exact ID of the removed item
214
235
  });
215
236
  },
216
- updateShadowAtPath: (t, n, o) => {
217
- const e = new Map(f().shadowStateStore), s = [t, ...n].join("."), r = (i, S) => {
218
- const c = e.get(i);
219
- if (b(S) && c && c.fields) {
220
- for (const p in S)
221
- if (Object.prototype.hasOwnProperty.call(S, p)) {
222
- const d = c.fields[p], h = S[p];
223
- d && r(d, h);
237
+ updateShadowAtPath: (e, s, o) => {
238
+ const t = [e, ...s].join(".");
239
+ c().shadowStateStore.get(t)?.value === o && !m(o) || f((a) => {
240
+ const r = a.shadowStateStore;
241
+ if (m(o)) {
242
+ const S = (i, p) => {
243
+ const d = [e, ...i].join("."), h = r.get(d);
244
+ if (h && h.fields) {
245
+ for (const l in p)
246
+ if (Object.prototype.hasOwnProperty.call(p, l)) {
247
+ const u = p[l], w = h.fields[l];
248
+ if (w)
249
+ if (m(u))
250
+ S(
251
+ w.split(".").slice(1),
252
+ u
253
+ );
254
+ else {
255
+ const y = r.get(w) || {};
256
+ r.set(w, {
257
+ ...y,
258
+ value: u
259
+ });
260
+ }
261
+ }
224
262
  }
263
+ };
264
+ S(s, o);
225
265
  } else {
226
- const p = e.get(i) || {};
227
- e.set(i, { ...p, value: S });
266
+ const S = r.get(t) || {};
267
+ r.set(t, { ...S, value: o });
228
268
  }
229
- };
230
- r(s, o), f().notifyPathSubscribers(s, { type: "UPDATE", newValue: o }), a({ shadowStateStore: e });
269
+ return c().notifyPathSubscribers(t, { type: "UPDATE", newValue: o }), a;
270
+ });
231
271
  },
232
272
  selectedIndicesMap: /* @__PURE__ */ new Map(),
233
- getSelectedIndex: (t, n) => {
234
- const o = f().selectedIndicesMap.get(t);
273
+ getSelectedIndex: (e, s) => {
274
+ const o = c().selectedIndicesMap.get(e);
235
275
  if (!o) return -1;
236
- const e = n || E.getState().getShadowMetadata(t, [])?.arrayKeys;
237
- return e ? e.indexOf(o) : -1;
276
+ const t = s || E.getState().getShadowMetadata(e, [])?.arrayKeys;
277
+ return t ? t.indexOf(o) : -1;
238
278
  },
239
- setSelectedIndex: (t, n) => {
240
- a((o) => {
241
- const e = o.selectedIndicesMap;
242
- return n === void 0 ? e.delete(t) : (e.has(t) && f().notifyPathSubscribers(e.get(t), {
279
+ setSelectedIndex: (e, s) => {
280
+ f((o) => {
281
+ const t = o.selectedIndicesMap;
282
+ return s === void 0 ? t.delete(e) : (t.has(e) && c().notifyPathSubscribers(t.get(e), {
243
283
  type: "THIS_UNSELECTED"
244
- }), e.set(t, n), f().notifyPathSubscribers(n, {
284
+ }), t.set(e, s), c().notifyPathSubscribers(s, {
245
285
  type: "THIS_SELECTED"
246
- })), f().notifyPathSubscribers(t, {
286
+ })), c().notifyPathSubscribers(e, {
247
287
  type: "GET_SELECTED"
248
288
  }), {
249
289
  ...o,
250
- selectedIndicesMap: e
290
+ selectedIndicesMap: t
251
291
  };
252
292
  });
253
293
  },
254
- clearSelectedIndex: ({ arrayKey: t }) => {
255
- a((n) => {
256
- const o = n.selectedIndicesMap, e = o.get(t);
257
- return e && f().notifyPathSubscribers(e, {
294
+ clearSelectedIndex: ({ arrayKey: e }) => {
295
+ f((s) => {
296
+ const o = s.selectedIndicesMap, t = o.get(e);
297
+ return t && c().notifyPathSubscribers(t, {
258
298
  type: "CLEAR_SELECTION"
259
- }), o.delete(t), f().notifyPathSubscribers(t, {
299
+ }), o.delete(e), c().notifyPathSubscribers(e, {
260
300
  type: "CLEAR_SELECTION"
261
301
  }), {
262
- ...n,
302
+ ...s,
263
303
  selectedIndicesMap: o
264
304
  };
265
305
  });
266
306
  },
267
- clearSelectedIndexesForState: (t) => {
268
- a((n) => {
269
- const o = new Map(n.selectedIndicesMap);
270
- return o.delete(t) ? { selectedIndicesMap: o } : {};
307
+ clearSelectedIndexesForState: (e) => {
308
+ f((s) => {
309
+ const o = new Map(s.selectedIndicesMap);
310
+ return o.delete(e) ? { selectedIndicesMap: o } : {};
271
311
  });
272
312
  },
273
313
  initialStateOptions: {},
274
314
  stateTimeline: {},
275
315
  cogsStateStore: {},
276
- stateLog: {},
316
+ stateLog: /* @__PURE__ */ new Map(),
277
317
  initialStateGlobal: {},
278
318
  validationErrors: /* @__PURE__ */ new Map(),
279
- setStateLog: (t, n) => {
280
- a((o) => {
281
- const e = o.stateLog[t] ?? [], s = n(e);
282
- return {
283
- stateLog: {
284
- ...o.stateLog,
285
- [t]: s
286
- }
287
- };
319
+ addStateLog: (e, s) => {
320
+ f((o) => {
321
+ const t = new Map(o.stateLog), n = new Map(t.get(e)), a = JSON.stringify(s.path), r = n.get(a);
322
+ return r ? (r.newValue = s.newValue, r.timeStamp = s.timeStamp) : n.set(a, { ...s }), t.set(e, n), { stateLog: t };
288
323
  });
289
324
  },
290
- getInitialOptions: (t) => f().initialStateOptions[t],
291
- setInitialStateOptions: (t, n) => {
292
- a((o) => ({
325
+ getInitialOptions: (e) => c().initialStateOptions[e],
326
+ setInitialStateOptions: (e, s) => {
327
+ f((o) => ({
293
328
  initialStateOptions: {
294
329
  ...o.initialStateOptions,
295
- [t]: n
330
+ [e]: s
296
331
  }
297
332
  }));
298
333
  },
299
- updateInitialStateGlobal: (t, n) => {
300
- a((o) => ({
334
+ updateInitialStateGlobal: (e, s) => {
335
+ f((o) => ({
301
336
  initialStateGlobal: {
302
337
  ...o.initialStateGlobal,
303
- [t]: n
338
+ [e]: s
304
339
  }
305
340
  }));
306
341
  },
307
342
  syncInfoStore: /* @__PURE__ */ new Map(),
308
- setSyncInfo: (t, n) => a((o) => {
309
- const e = new Map(o.syncInfoStore);
310
- return e.set(t, n), { ...o, syncInfoStore: e };
343
+ setSyncInfo: (e, s) => f((o) => {
344
+ const t = new Map(o.syncInfoStore);
345
+ return t.set(e, s), { ...o, syncInfoStore: t };
311
346
  }),
312
- getSyncInfo: (t) => f().syncInfoStore.get(t) || null
347
+ getSyncInfo: (e) => c().syncInfoStore.get(e) || null
313
348
  }));
314
349
  export {
315
- A as formRefStore,
350
+ j as formRefStore,
316
351
  E as getGlobalStore
317
352
  };
318
353
  //# sourceMappingURL=store.js.map