mobx-formkit 1.0.0 → 1.1.1

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.
@@ -0,0 +1,299 @@
1
+ 'use strict';
2
+
3
+ var mobx = require('mobx');
4
+
5
+ const HOOK_KEY = "__MOBX_FORMKIT_DEVTOOLS_HOOK__";
6
+ const FIELD_PROPS = [
7
+ "key",
8
+ "id",
9
+ "name",
10
+ "path",
11
+ "type",
12
+ "bindings",
13
+ "options",
14
+ "default",
15
+ "initial",
16
+ "value",
17
+ "label",
18
+ "placeholder",
19
+ "autoFocus",
20
+ "related",
21
+ "rules",
22
+ "extra",
23
+ "checked",
24
+ "validators",
25
+ "validatedWith",
26
+ "clearing",
27
+ "resetting",
28
+ "hasError",
29
+ "isValid",
30
+ "isDirty",
31
+ "isPristine",
32
+ "isDefault",
33
+ "isEmpty",
34
+ "disabled",
35
+ "deleted",
36
+ "touched",
37
+ "focused",
38
+ "blurred",
39
+ "changed",
40
+ "error",
41
+ "size",
42
+ "submitted",
43
+ "validated",
44
+ "submitting",
45
+ "validating",
46
+ ];
47
+ const FORM_PROPS = [
48
+ "name",
49
+ "size",
50
+ "submitted",
51
+ "validated",
52
+ "submitting",
53
+ "validating",
54
+ "clearing",
55
+ "resetting",
56
+ "hasError",
57
+ "isValid",
58
+ "isDirty",
59
+ "isPristine",
60
+ "isDefault",
61
+ "isEmpty",
62
+ "disabled",
63
+ "deleted",
64
+ "touched",
65
+ "focused",
66
+ "blurred",
67
+ "changed",
68
+ "error",
69
+ ];
70
+ const FIELD_HELPER_PROPS = [
71
+ "error",
72
+ "label",
73
+ "placeholder",
74
+ "default",
75
+ "initial",
76
+ "type",
77
+ "disabled",
78
+ "checked",
79
+ "related",
80
+ "rules",
81
+ "options",
82
+ "extra",
83
+ "bindings",
84
+ "validators",
85
+ "validatedWith",
86
+ ];
87
+ /**
88
+ * Recursively convert a value into a plain, structured-clone-safe shape:
89
+ * observable structures become plain objects/arrays and functions become
90
+ * name strings (functions cannot cross the postMessage boundary).
91
+ */
92
+ const serialize = (value, depth = 0) => {
93
+ if (depth > 8)
94
+ return undefined;
95
+ if (typeof value === "function") {
96
+ return `[Function${value.name ? `: ${value.name}` : ""}]`;
97
+ }
98
+ if (value == null)
99
+ return value;
100
+ const plain = mobx.toJS(value);
101
+ if (Array.isArray(plain)) {
102
+ return plain.map((item) => serialize(item, depth + 1));
103
+ }
104
+ if (typeof plain === "object") {
105
+ const out = {};
106
+ for (const key of Object.keys(plain)) {
107
+ out[key] = serialize(plain[key], depth + 1);
108
+ }
109
+ return out;
110
+ }
111
+ return plain;
112
+ };
113
+ const isArrayMap = (target) => Boolean(target && typeof target === "object" && target._isArrayMap);
114
+ const pairsOf = (target) => {
115
+ if (isArrayMap(target))
116
+ return Array.from(target.entries());
117
+ if (Array.isArray(target))
118
+ return target.map((value, index) => [String(index), value]);
119
+ const entries = mobx.values(target);
120
+ if (Array.isArray(entries))
121
+ return entries.map((value, index) => [String(index), value]);
122
+ return Object.entries(target);
123
+ };
124
+ const pick = (source, props) => {
125
+ const out = {};
126
+ for (const prop of props) {
127
+ const value = source && typeof source === "object" ? source[prop] : undefined;
128
+ if (value !== undefined)
129
+ out[prop] = serialize(value);
130
+ }
131
+ return out;
132
+ };
133
+ const serializeField = (field, key) => {
134
+ const out = pick(field, FIELD_PROPS);
135
+ if (key !== undefined && out.name === undefined)
136
+ out.name = key;
137
+ if (key !== undefined && out.path === undefined)
138
+ out.path = key;
139
+ if (isArrayMap(field)) {
140
+ out.fields = pairsOf(field).map(([childKey, entry]) => serializeField(entry, childKey));
141
+ }
142
+ return out;
143
+ };
144
+ const fieldKey = (field, index) => field.key ?? field.path ?? field.name ?? `field-${index}`;
145
+ const collectProp = (fields, prop) => {
146
+ const out = {};
147
+ fields.forEach((field, index) => {
148
+ const key = fieldKey(field, index);
149
+ out[key] = field.fields && field.fields.length
150
+ ? collectProp(field.fields, prop)
151
+ : field[prop];
152
+ });
153
+ return out;
154
+ };
155
+ const collectHelpers = (form, fields) => {
156
+ const out = {};
157
+ for (const prop of FIELD_HELPER_PROPS) {
158
+ out[prop] = collectProp(fields, prop);
159
+ }
160
+ out.hooks = serialize(form.$hooks);
161
+ out.handlers = serialize(form.$handlers);
162
+ return out;
163
+ };
164
+ const collectBooleanOptions = (form) => {
165
+ const out = {};
166
+ const options = form?.state?.options?.options;
167
+ if (!options || typeof options !== "object")
168
+ return out;
169
+ for (const key of Object.keys(options)) {
170
+ const value = options[key];
171
+ if (typeof value === "boolean")
172
+ out[key] = value;
173
+ }
174
+ return out;
175
+ };
176
+ const serializeForm = (key, form) => {
177
+ const out = { key, ...pick(form, FORM_PROPS) };
178
+ out.fields = pairsOf(form.fields).map(([fieldKey, field]) => serializeField(field, fieldKey));
179
+ out.helpers = collectHelpers(form, out.fields);
180
+ out.options = collectBooleanOptions(form);
181
+ return out;
182
+ };
183
+ const createHook = () => {
184
+ const registry = new Map();
185
+ const listeners = new Set();
186
+ const disposers = new Map();
187
+ const caches = new Map();
188
+ const dirty = new Set();
189
+ let connected = false;
190
+ let flushTimer = null;
191
+ const emit = (event) => {
192
+ for (const listener of listeners)
193
+ listener(event);
194
+ };
195
+ const flush = () => {
196
+ flushTimer = null;
197
+ const keys = [...dirty];
198
+ dirty.clear();
199
+ for (const key of keys) {
200
+ const snapshot = caches.get(key);
201
+ if (snapshot)
202
+ emit({ type: "snapshot", payload: snapshot });
203
+ }
204
+ };
205
+ const scheduleFlush = (key) => {
206
+ dirty.add(key);
207
+ if (flushTimer == null)
208
+ flushTimer = setTimeout(flush, 0);
209
+ };
210
+ const dispose = (key) => {
211
+ disposers.get(key)?.();
212
+ disposers.delete(key);
213
+ dirty.delete(key);
214
+ caches.delete(key);
215
+ };
216
+ const setup = (key) => {
217
+ dispose(key);
218
+ if (!connected)
219
+ return;
220
+ const form = registry.get(key);
221
+ if (!form)
222
+ return;
223
+ disposers.set(key, mobx.autorun(() => {
224
+ // Reading observables inside serializeForm makes the autorun re-run
225
+ // on every field/form change; the result is cached and emitted once
226
+ // (batched) by flush.
227
+ caches.set(key, serializeForm(key, form));
228
+ scheduleFlush(key);
229
+ }));
230
+ };
231
+ return {
232
+ get connected() {
233
+ return connected;
234
+ },
235
+ registry,
236
+ emit,
237
+ subscribe(listener) {
238
+ listeners.add(listener);
239
+ return () => {
240
+ listeners.delete(listener);
241
+ };
242
+ },
243
+ register(key, form) {
244
+ registry.set(key, form);
245
+ emit({ type: "register", key, form });
246
+ setup(key);
247
+ },
248
+ unregister(key) {
249
+ if (!registry.has(key))
250
+ return;
251
+ dispose(key);
252
+ registry.delete(key);
253
+ emit({ type: "unregister", key });
254
+ },
255
+ connect() {
256
+ if (connected)
257
+ return;
258
+ connected = true;
259
+ for (const key of registry.keys())
260
+ setup(key);
261
+ emit({ type: "connected", connected: true });
262
+ },
263
+ disconnect() {
264
+ if (!connected)
265
+ return;
266
+ connected = false;
267
+ for (const key of [...disposers.keys()])
268
+ dispose(key);
269
+ emit({ type: "connected", connected: false });
270
+ },
271
+ requestSnapshot() {
272
+ for (const [key, form] of registry) {
273
+ emit({ type: "snapshot", payload: caches.get(key) ?? serializeForm(key, form) });
274
+ }
275
+ },
276
+ };
277
+ };
278
+ const globalRef = globalThis;
279
+ const getHook = () => globalRef[HOOK_KEY];
280
+ const installHook = () => {
281
+ if (!globalRef[HOOK_KEY]) {
282
+ globalRef[HOOK_KEY] = createHook();
283
+ }
284
+ return globalRef[HOOK_KEY];
285
+ };
286
+ const registerForm = (key, form) => installHook().register(key, form);
287
+ const unregisterForm = (key) => installHook().unregister(key);
288
+ const hook = installHook();
289
+ hook.subscribe((event) => {
290
+ if (event.type === "form:new" && !hook.registry.has(event.key)) {
291
+ hook.register(event.key || event.form?.name || `form-${hook.registry.size + 1}`, event.form);
292
+ }
293
+ });
294
+
295
+ exports.getHook = getHook;
296
+ exports.installHook = installHook;
297
+ exports.registerForm = registerForm;
298
+ exports.unregisterForm = unregisterForm;
299
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sources":["../src/devtools.ts"],"sourcesContent":[null],"names":["toJS","values","autorun"],"mappings":"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"}
package/lib/esm/Form.js CHANGED
@@ -40,6 +40,7 @@ class Form extends Base {
40
40
  this.extra = extra;
41
41
  runInAction(() => (this.$hooks = hooks));
42
42
  runInAction(() => (this.$handlers = handlers));
43
+ globalThis.__MOBX_FORMKIT_DEVTOOLS_HOOK__?.emit?.({ type: "form:new", key: this.name, form: this });
43
44
  // load data from initializers methods
44
45
  const initial = each({
45
46
  setup,
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../src/Form.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAyBc,MAAO,IAA0D,SAAQ,IAAO,CAAA;AAC5F,IAAA,IAAI;IACK,IAAI,GAAQ,IAAI;IACzB,KAAK,GAAwB,EAAE;AAC/B,IAAA,SAAS;IAET,mBAAmB,GAAQ,IAAI;AAE/B,IAAA,WAAA,CACE,KAAA,GAA2B,EAAE,EAC7B,EACE,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,EAAE,EACb,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,KAAK,GAAG,EAAE,MACI,EAAE,EAAA;AAElB,QAAA,KAAK,EAAE;QACP,cAAc,CAAC,IAAI,EAAE;AACnB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,QAAQ,EAAE,QAAQ;;AAElB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,eAAe,EAAE,MAAM;AACxB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,WAAW,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACxC,QAAA,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;;QAG9C,MAAM,OAAO,GAAG,IAAI,CAClB;YACE,KAAK;YACL,OAAO;YACP,OAAO;YACP,QAAQ;AACT,SAAA,EACD,CAAC,GAAG,EAAE,GAAG,KACP,OAAQ,IAAY,CAAC,GAAG,CAAC,KAAK;AAC5B,cAAE,KAAK,CAAC,GAAG,EAAG,IAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;cACjD,GAAG,CACV;;QAGD,WAAW,CAAC,MACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAG,IAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACrE;QACD,WAAW,CAAC,MACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAG,IAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3E;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;AACrB,YAAA,IAAI,EAAE,IAAW;YACjB,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;AAC7B,YAAA,IAAI,EAAE,IAAW;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AAE9B,QAAA,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CACjC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAC9D;;QAGD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC;AAChD,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACtB,gBAAA,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;AACjE,aAAA,CAAC;AAEJ,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;;AAGpC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxE;;;AAKA,IAAA,IAAI,aAAa,GAAA;QACf,MAAM,IAAI,GAAQ,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAW,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACvE,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI;IAC1D;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC5E;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IAC1E;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;IACpD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IACjD;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IACnD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IACjD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IACjD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IACjD;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;IAClD;AAEA,IAAA,SAAS,CAAC,IAAsB,EAAE,UAAA,GAA2B,KAAK,EAAA;AAChE,QAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC;IAC7B;AAEA;;;;;;;;;;;;;;AAcG;AACM,IAAA,CAAC,CAAC,GAAyB,EAAA;AAClC,QAAA,OAAO,KAAK,CAAC,CAAC,CAAC,GAAa,CAAsB;IACpD;AAEA;;;AAGG;AACM,IAAA,MAAM,CAAC,IAAqB,EAAE,SAAc,IAAI,EAAE,WAAoB,IAAI,EAAA;QACjF,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAe;IAC3D;IAES,MAAM,GAAA;AACb,QAAA,OAAO,KAAK,CAAC,MAAM,EAA+B;IACpD;AAEA;;;;;;;;;;;;;AAaE;AAEF,IAAA,UAAU,CAAC,OAAA,GAAyB,IAAI,EAAE,OAAgB,IAAI,EAAA;AAC5D,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK;YAClB,OAAO;gBACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC;AACvD,gBAAA,IAAI;QACN,IAAI;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;IAC5E;IAEA,UAAU,CAAC,OAAgB,IAAI,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9D;IAEA,eAAe,CAAC,OAAgB,IAAI,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI;AAC3B,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3E;AAEA;;AAEE;AACF,IAAA,KAAK,CAAC,IAAA,GAAgB,IAAI,EAAE,WAAoB,IAAI,EAAA;QAClD,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;AACjB,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE;AAEA;;AAEE;AACF,IAAA,KAAK,CAAC,IAAA,GAAgB,IAAI,EAAE,WAAoB,IAAI,EAAA;QAClD,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;AACjB,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE;AACD;;;;"}
1
+ {"version":3,"file":"Form.js","sources":["../../../src/Form.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ import { autorun, values, toJS } from 'mobx';
2
+
3
+ const HOOK_KEY = "__MOBX_FORMKIT_DEVTOOLS_HOOK__";
4
+ const FIELD_PROPS = [
5
+ "key",
6
+ "id",
7
+ "name",
8
+ "path",
9
+ "type",
10
+ "bindings",
11
+ "options",
12
+ "default",
13
+ "initial",
14
+ "value",
15
+ "label",
16
+ "placeholder",
17
+ "autoFocus",
18
+ "related",
19
+ "rules",
20
+ "extra",
21
+ "checked",
22
+ "validators",
23
+ "validatedWith",
24
+ "clearing",
25
+ "resetting",
26
+ "hasError",
27
+ "isValid",
28
+ "isDirty",
29
+ "isPristine",
30
+ "isDefault",
31
+ "isEmpty",
32
+ "disabled",
33
+ "deleted",
34
+ "touched",
35
+ "focused",
36
+ "blurred",
37
+ "changed",
38
+ "error",
39
+ "size",
40
+ "submitted",
41
+ "validated",
42
+ "submitting",
43
+ "validating",
44
+ ];
45
+ const FORM_PROPS = [
46
+ "name",
47
+ "size",
48
+ "submitted",
49
+ "validated",
50
+ "submitting",
51
+ "validating",
52
+ "clearing",
53
+ "resetting",
54
+ "hasError",
55
+ "isValid",
56
+ "isDirty",
57
+ "isPristine",
58
+ "isDefault",
59
+ "isEmpty",
60
+ "disabled",
61
+ "deleted",
62
+ "touched",
63
+ "focused",
64
+ "blurred",
65
+ "changed",
66
+ "error",
67
+ ];
68
+ const FIELD_HELPER_PROPS = [
69
+ "error",
70
+ "label",
71
+ "placeholder",
72
+ "default",
73
+ "initial",
74
+ "type",
75
+ "disabled",
76
+ "checked",
77
+ "related",
78
+ "rules",
79
+ "options",
80
+ "extra",
81
+ "bindings",
82
+ "validators",
83
+ "validatedWith",
84
+ ];
85
+ /**
86
+ * Recursively convert a value into a plain, structured-clone-safe shape:
87
+ * observable structures become plain objects/arrays and functions become
88
+ * name strings (functions cannot cross the postMessage boundary).
89
+ */
90
+ const serialize = (value, depth = 0) => {
91
+ if (depth > 8)
92
+ return undefined;
93
+ if (typeof value === "function") {
94
+ return `[Function${value.name ? `: ${value.name}` : ""}]`;
95
+ }
96
+ if (value == null)
97
+ return value;
98
+ const plain = toJS(value);
99
+ if (Array.isArray(plain)) {
100
+ return plain.map((item) => serialize(item, depth + 1));
101
+ }
102
+ if (typeof plain === "object") {
103
+ const out = {};
104
+ for (const key of Object.keys(plain)) {
105
+ out[key] = serialize(plain[key], depth + 1);
106
+ }
107
+ return out;
108
+ }
109
+ return plain;
110
+ };
111
+ const isArrayMap = (target) => Boolean(target && typeof target === "object" && target._isArrayMap);
112
+ const pairsOf = (target) => {
113
+ if (isArrayMap(target))
114
+ return Array.from(target.entries());
115
+ if (Array.isArray(target))
116
+ return target.map((value, index) => [String(index), value]);
117
+ const entries = values(target);
118
+ if (Array.isArray(entries))
119
+ return entries.map((value, index) => [String(index), value]);
120
+ return Object.entries(target);
121
+ };
122
+ const pick = (source, props) => {
123
+ const out = {};
124
+ for (const prop of props) {
125
+ const value = source && typeof source === "object" ? source[prop] : undefined;
126
+ if (value !== undefined)
127
+ out[prop] = serialize(value);
128
+ }
129
+ return out;
130
+ };
131
+ const serializeField = (field, key) => {
132
+ const out = pick(field, FIELD_PROPS);
133
+ if (key !== undefined && out.name === undefined)
134
+ out.name = key;
135
+ if (key !== undefined && out.path === undefined)
136
+ out.path = key;
137
+ if (isArrayMap(field)) {
138
+ out.fields = pairsOf(field).map(([childKey, entry]) => serializeField(entry, childKey));
139
+ }
140
+ return out;
141
+ };
142
+ const fieldKey = (field, index) => field.key ?? field.path ?? field.name ?? `field-${index}`;
143
+ const collectProp = (fields, prop) => {
144
+ const out = {};
145
+ fields.forEach((field, index) => {
146
+ const key = fieldKey(field, index);
147
+ out[key] = field.fields && field.fields.length
148
+ ? collectProp(field.fields, prop)
149
+ : field[prop];
150
+ });
151
+ return out;
152
+ };
153
+ const collectHelpers = (form, fields) => {
154
+ const out = {};
155
+ for (const prop of FIELD_HELPER_PROPS) {
156
+ out[prop] = collectProp(fields, prop);
157
+ }
158
+ out.hooks = serialize(form.$hooks);
159
+ out.handlers = serialize(form.$handlers);
160
+ return out;
161
+ };
162
+ const collectBooleanOptions = (form) => {
163
+ const out = {};
164
+ const options = form?.state?.options?.options;
165
+ if (!options || typeof options !== "object")
166
+ return out;
167
+ for (const key of Object.keys(options)) {
168
+ const value = options[key];
169
+ if (typeof value === "boolean")
170
+ out[key] = value;
171
+ }
172
+ return out;
173
+ };
174
+ const serializeForm = (key, form) => {
175
+ const out = { key, ...pick(form, FORM_PROPS) };
176
+ out.fields = pairsOf(form.fields).map(([fieldKey, field]) => serializeField(field, fieldKey));
177
+ out.helpers = collectHelpers(form, out.fields);
178
+ out.options = collectBooleanOptions(form);
179
+ return out;
180
+ };
181
+ const createHook = () => {
182
+ const registry = new Map();
183
+ const listeners = new Set();
184
+ const disposers = new Map();
185
+ const caches = new Map();
186
+ const dirty = new Set();
187
+ let connected = false;
188
+ let flushTimer = null;
189
+ const emit = (event) => {
190
+ for (const listener of listeners)
191
+ listener(event);
192
+ };
193
+ const flush = () => {
194
+ flushTimer = null;
195
+ const keys = [...dirty];
196
+ dirty.clear();
197
+ for (const key of keys) {
198
+ const snapshot = caches.get(key);
199
+ if (snapshot)
200
+ emit({ type: "snapshot", payload: snapshot });
201
+ }
202
+ };
203
+ const scheduleFlush = (key) => {
204
+ dirty.add(key);
205
+ if (flushTimer == null)
206
+ flushTimer = setTimeout(flush, 0);
207
+ };
208
+ const dispose = (key) => {
209
+ disposers.get(key)?.();
210
+ disposers.delete(key);
211
+ dirty.delete(key);
212
+ caches.delete(key);
213
+ };
214
+ const setup = (key) => {
215
+ dispose(key);
216
+ if (!connected)
217
+ return;
218
+ const form = registry.get(key);
219
+ if (!form)
220
+ return;
221
+ disposers.set(key, autorun(() => {
222
+ // Reading observables inside serializeForm makes the autorun re-run
223
+ // on every field/form change; the result is cached and emitted once
224
+ // (batched) by flush.
225
+ caches.set(key, serializeForm(key, form));
226
+ scheduleFlush(key);
227
+ }));
228
+ };
229
+ return {
230
+ get connected() {
231
+ return connected;
232
+ },
233
+ registry,
234
+ emit,
235
+ subscribe(listener) {
236
+ listeners.add(listener);
237
+ return () => {
238
+ listeners.delete(listener);
239
+ };
240
+ },
241
+ register(key, form) {
242
+ registry.set(key, form);
243
+ emit({ type: "register", key, form });
244
+ setup(key);
245
+ },
246
+ unregister(key) {
247
+ if (!registry.has(key))
248
+ return;
249
+ dispose(key);
250
+ registry.delete(key);
251
+ emit({ type: "unregister", key });
252
+ },
253
+ connect() {
254
+ if (connected)
255
+ return;
256
+ connected = true;
257
+ for (const key of registry.keys())
258
+ setup(key);
259
+ emit({ type: "connected", connected: true });
260
+ },
261
+ disconnect() {
262
+ if (!connected)
263
+ return;
264
+ connected = false;
265
+ for (const key of [...disposers.keys()])
266
+ dispose(key);
267
+ emit({ type: "connected", connected: false });
268
+ },
269
+ requestSnapshot() {
270
+ for (const [key, form] of registry) {
271
+ emit({ type: "snapshot", payload: caches.get(key) ?? serializeForm(key, form) });
272
+ }
273
+ },
274
+ };
275
+ };
276
+ const globalRef = globalThis;
277
+ const getHook = () => globalRef[HOOK_KEY];
278
+ const installHook = () => {
279
+ if (!globalRef[HOOK_KEY]) {
280
+ globalRef[HOOK_KEY] = createHook();
281
+ }
282
+ return globalRef[HOOK_KEY];
283
+ };
284
+ const registerForm = (key, form) => installHook().register(key, form);
285
+ const unregisterForm = (key) => installHook().unregister(key);
286
+ const hook = installHook();
287
+ hook.subscribe((event) => {
288
+ if (event.type === "form:new" && !hook.registry.has(event.key)) {
289
+ hook.register(event.key || event.form?.name || `form-${hook.registry.size + 1}`, event.form);
290
+ }
291
+ });
292
+
293
+ export { getHook, installHook, registerForm, unregisterForm };
294
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sources":["../../../src/devtools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}