foldkit 0.73.0 → 0.74.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.
- package/dist/calendar/arithmetic.d.ts +1 -1
- package/dist/calendar/arithmetic.d.ts.map +1 -1
- package/dist/calendar/arithmetic.js +1 -1
- package/dist/calendar/comparison.d.ts +1 -1
- package/dist/calendar/comparison.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +6 -6
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +6 -6
- package/dist/calendar/info.d.ts +1 -1
- package/dist/calendar/info.d.ts.map +1 -1
- package/dist/calendar/info.js +2 -2
- package/dist/calendar/locale.d.ts +1 -1
- package/dist/calendar/locale.d.ts.map +1 -1
- package/dist/calendar/locale.js +1 -1
- package/dist/calendar/public.d.ts +1 -1
- package/dist/calendar/public.d.ts.map +1 -1
- package/dist/calendar/public.js +1 -1
- package/dist/calendar/today.js +1 -1
- package/dist/command/public.d.ts +2 -2
- package/dist/command/public.d.ts.map +1 -1
- package/dist/command/public.js +1 -1
- package/dist/devtools/overlay.d.ts +3 -3
- package/dist/devtools/overlay.d.ts.map +1 -1
- package/dist/devtools/overlay.js +12 -12
- package/dist/effectExtensions/index.d.ts +2 -2
- package/dist/effectExtensions/index.d.ts.map +1 -1
- package/dist/effectExtensions/index.js +2 -2
- package/dist/effectExtensions/stringExtensions.js +1 -1
- package/dist/fieldValidation/index.d.ts +8 -8
- package/dist/fieldValidation/index.js +2 -2
- package/dist/fieldValidation/public.d.ts +2 -2
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/public.js +1 -1
- package/dist/file/index.d.ts +4 -4
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +4 -4
- package/dist/file/public.d.ts +1 -1
- package/dist/file/public.d.ts.map +1 -1
- package/dist/file/public.js +1 -1
- package/dist/file/reader.d.ts +2 -2
- package/dist/file/reader.d.ts.map +1 -1
- package/dist/file/reader.js +1 -1
- package/dist/file/select.d.ts +1 -1
- package/dist/file/select.d.ts.map +1 -1
- package/dist/html/index.d.ts +4 -4
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +3 -3
- package/dist/html/lazy.d.ts +1 -1
- package/dist/html/lazy.d.ts.map +1 -1
- package/dist/html/lazy.js +1 -1
- package/dist/html/public.d.ts +2 -2
- package/dist/html/public.d.ts.map +1 -1
- package/dist/html/public.js +1 -1
- package/dist/index.d.ts +18 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -18
- package/dist/managedResource/public.d.ts +4 -4
- package/dist/managedResource/public.d.ts.map +1 -1
- package/dist/managedResource/public.js +2 -2
- package/dist/message/index.d.ts +1 -1
- package/dist/message/index.d.ts.map +1 -1
- package/dist/message/index.js +1 -1
- package/dist/message/public.d.ts +1 -1
- package/dist/message/public.d.ts.map +1 -1
- package/dist/message/public.js +1 -1
- package/dist/navigation/public.d.ts +1 -1
- package/dist/navigation/public.d.ts.map +1 -1
- package/dist/navigation/public.js +1 -1
- package/dist/route/index.d.ts +2 -2
- package/dist/route/index.d.ts.map +1 -1
- package/dist/route/index.js +2 -2
- package/dist/route/parser.d.ts +1 -1
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/public.d.ts +2 -2
- package/dist/route/public.d.ts.map +1 -1
- package/dist/route/public.js +1 -1
- package/dist/runtime/browserListeners.d.ts +1 -1
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/browserListeners.js +2 -2
- package/dist/runtime/crashUI.d.ts +1 -1
- package/dist/runtime/crashUI.d.ts.map +1 -1
- package/dist/runtime/crashUI.js +1 -1
- package/dist/runtime/deepFreeze.d.ts +23 -0
- package/dist/runtime/deepFreeze.d.ts.map +1 -0
- package/dist/runtime/deepFreeze.js +54 -0
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -2
- package/dist/runtime/managedResource.d.ts +1 -1
- package/dist/runtime/managedResource.d.ts.map +1 -1
- package/dist/runtime/public.d.ts +4 -4
- package/dist/runtime/public.d.ts.map +1 -1
- package/dist/runtime/public.js +2 -2
- package/dist/runtime/runtime.d.ts +30 -7
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +21 -12
- package/dist/runtime/urlRequest.d.ts +4 -4
- package/dist/runtime/urlRequest.js +2 -2
- package/dist/schema/public.d.ts +2 -2
- package/dist/schema/public.d.ts.map +1 -1
- package/dist/schema/public.js +1 -1
- package/dist/struct/public.d.ts +1 -1
- package/dist/struct/public.d.ts.map +1 -1
- package/dist/struct/public.js +1 -1
- package/dist/subscription/public.d.ts +2 -2
- package/dist/subscription/public.d.ts.map +1 -1
- package/dist/subscription/public.js +1 -1
- package/dist/task/dom.d.ts +1 -1
- package/dist/task/dom.d.ts.map +1 -1
- package/dist/task/dom.js +1 -1
- package/dist/task/index.d.ts +9 -9
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +8 -8
- package/dist/task/public.d.ts +1 -1
- package/dist/task/public.d.ts.map +1 -1
- package/dist/task/public.js +1 -1
- package/dist/task/time.d.ts +1 -1
- package/dist/task/time.d.ts.map +1 -1
- package/dist/task/time.js +1 -1
- package/dist/test/apps/bubbling.d.ts +2 -2
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/bubbling.js +2 -2
- package/dist/test/apps/counter.d.ts +8 -8
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +2 -2
- package/dist/test/apps/disabledButton.d.ts +10 -10
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +4 -4
- package/dist/test/apps/fileUpload.d.ts +4 -4
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/fileUpload.js +3 -3
- package/dist/test/apps/formChild.d.ts +19 -19
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +2 -2
- package/dist/test/apps/interactions.d.ts +8 -8
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/interactions.js +2 -2
- package/dist/test/apps/keypress.d.ts +5 -5
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/keypress.js +2 -2
- package/dist/test/apps/login.d.ts +13 -13
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +3 -3
- package/dist/test/apps/logoutButton.d.ts +6 -6
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.js +2 -2
- package/dist/test/apps/multiRole.d.ts +3 -3
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/multiRole.js +2 -2
- package/dist/test/apps/pointer.d.ts +3 -3
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/pointer.js +2 -2
- package/dist/test/apps/resumeUpload.d.ts +11 -11
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +5 -5
- package/dist/test/internal.d.ts +1 -1
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/matchers.d.ts +1 -1
- package/dist/test/matchers.d.ts.map +1 -1
- package/dist/test/matchers.js +1 -1
- package/dist/test/public.d.ts +2 -2
- package/dist/test/public.d.ts.map +1 -1
- package/dist/test/public.js +2 -2
- package/dist/test/query.d.ts +1 -1
- package/dist/test/query.d.ts.map +1 -1
- package/dist/test/query.js +1 -1
- package/dist/test/scene.d.ts +9 -9
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +7 -7
- package/dist/test/story.d.ts +2 -2
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +1 -1
- package/dist/test/vitest-setup.js +1 -1
- package/dist/test/vitest.js +1 -1
- package/dist/ui/animation/index.d.ts +4 -4
- package/dist/ui/animation/index.d.ts.map +1 -1
- package/dist/ui/animation/index.js +3 -3
- package/dist/ui/animation/public.d.ts +2 -2
- package/dist/ui/animation/public.d.ts.map +1 -1
- package/dist/ui/animation/public.js +1 -1
- package/dist/ui/animation/schema.d.ts +7 -7
- package/dist/ui/animation/schema.d.ts.map +1 -1
- package/dist/ui/animation/schema.js +1 -1
- package/dist/ui/animation/update.d.ts +2 -2
- package/dist/ui/animation/update.d.ts.map +1 -1
- package/dist/ui/animation/update.js +4 -4
- package/dist/ui/button/index.d.ts +2 -2
- package/dist/ui/button/index.d.ts.map +1 -1
- package/dist/ui/button/index.js +1 -1
- package/dist/ui/button/public.d.ts +2 -2
- package/dist/ui/button/public.d.ts.map +1 -1
- package/dist/ui/button/public.js +1 -1
- package/dist/ui/calendar/index.d.ts +22 -22
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +7 -7
- package/dist/ui/calendar/public.d.ts +2 -2
- package/dist/ui/calendar/public.d.ts.map +1 -1
- package/dist/ui/calendar/public.js +1 -1
- package/dist/ui/checkbox/index.d.ts +4 -4
- package/dist/ui/checkbox/index.d.ts.map +1 -1
- package/dist/ui/checkbox/index.js +3 -3
- package/dist/ui/checkbox/public.d.ts +2 -2
- package/dist/ui/checkbox/public.d.ts.map +1 -1
- package/dist/ui/checkbox/public.js +1 -1
- package/dist/ui/combobox/multi.d.ts +13 -13
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/multi.js +3 -3
- package/dist/ui/combobox/multiPublic.d.ts +2 -2
- package/dist/ui/combobox/multiPublic.d.ts.map +1 -1
- package/dist/ui/combobox/multiPublic.js +1 -1
- package/dist/ui/combobox/public.d.ts +6 -6
- package/dist/ui/combobox/public.d.ts.map +1 -1
- package/dist/ui/combobox/public.js +3 -3
- package/dist/ui/combobox/shared.d.ts +23 -23
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +11 -11
- package/dist/ui/combobox/single.d.ts +13 -13
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/combobox/single.js +3 -3
- package/dist/ui/datePicker/index.d.ts +23 -23
- package/dist/ui/datePicker/index.d.ts.map +1 -1
- package/dist/ui/datePicker/index.js +7 -7
- package/dist/ui/datePicker/public.d.ts +2 -2
- package/dist/ui/datePicker/public.d.ts.map +1 -1
- package/dist/ui/datePicker/public.js +1 -1
- package/dist/ui/dialog/index.d.ts +8 -8
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +7 -7
- package/dist/ui/dialog/public.d.ts +2 -2
- package/dist/ui/dialog/public.d.ts.map +1 -1
- package/dist/ui/dialog/public.js +1 -1
- package/dist/ui/disclosure/index.d.ts +5 -5
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +5 -5
- package/dist/ui/disclosure/public.d.ts +2 -2
- package/dist/ui/disclosure/public.d.ts.map +1 -1
- package/dist/ui/disclosure/public.js +1 -1
- package/dist/ui/dragAndDrop/index.d.ts +20 -20
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +7 -7
- package/dist/ui/dragAndDrop/public.d.ts +2 -2
- package/dist/ui/dragAndDrop/public.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/public.js +1 -1
- package/dist/ui/fieldset/index.d.ts +2 -2
- package/dist/ui/fieldset/index.d.ts.map +1 -1
- package/dist/ui/fieldset/index.js +1 -1
- package/dist/ui/fieldset/public.d.ts +2 -2
- package/dist/ui/fieldset/public.d.ts.map +1 -1
- package/dist/ui/fieldset/public.js +1 -1
- package/dist/ui/fileDrop/index.d.ts +11 -11
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +4 -4
- package/dist/ui/fileDrop/public.d.ts +2 -2
- package/dist/ui/fileDrop/public.d.ts.map +1 -1
- package/dist/ui/fileDrop/public.js +1 -1
- package/dist/ui/index.d.ts +23 -23
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +23 -23
- package/dist/ui/input/index.d.ts +2 -2
- package/dist/ui/input/index.d.ts.map +1 -1
- package/dist/ui/input/index.js +1 -1
- package/dist/ui/input/public.d.ts +2 -2
- package/dist/ui/input/public.d.ts.map +1 -1
- package/dist/ui/input/public.js +1 -1
- package/dist/ui/listbox/multi.d.ts +11 -11
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/multi.js +3 -3
- package/dist/ui/listbox/multiPublic.d.ts +2 -2
- package/dist/ui/listbox/multiPublic.d.ts.map +1 -1
- package/dist/ui/listbox/multiPublic.js +1 -1
- package/dist/ui/listbox/public.d.ts +6 -6
- package/dist/ui/listbox/public.d.ts.map +1 -1
- package/dist/ui/listbox/public.js +3 -3
- package/dist/ui/listbox/shared.d.ts +27 -27
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +12 -12
- package/dist/ui/listbox/single.d.ts +11 -11
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/listbox/single.js +3 -3
- package/dist/ui/menu/index.d.ts +30 -30
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +12 -12
- package/dist/ui/menu/public.d.ts +3 -3
- package/dist/ui/menu/public.d.ts.map +1 -1
- package/dist/ui/menu/public.js +1 -1
- package/dist/ui/popover/index.d.ts +17 -17
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +9 -9
- package/dist/ui/popover/public.d.ts +3 -3
- package/dist/ui/popover/public.d.ts.map +1 -1
- package/dist/ui/popover/public.js +1 -1
- package/dist/ui/radioGroup/index.d.ts +4 -4
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +6 -6
- package/dist/ui/radioGroup/public.d.ts +2 -2
- package/dist/ui/radioGroup/public.d.ts.map +1 -1
- package/dist/ui/radioGroup/public.js +1 -1
- package/dist/ui/select/index.d.ts +2 -2
- package/dist/ui/select/index.d.ts.map +1 -1
- package/dist/ui/select/index.js +1 -1
- package/dist/ui/select/public.d.ts +2 -2
- package/dist/ui/select/public.d.ts.map +1 -1
- package/dist/ui/select/public.js +1 -1
- package/dist/ui/slider/index.d.ts +12 -12
- package/dist/ui/slider/index.d.ts.map +1 -1
- package/dist/ui/slider/index.js +5 -5
- package/dist/ui/slider/public.d.ts +2 -2
- package/dist/ui/slider/public.d.ts.map +1 -1
- package/dist/ui/slider/public.js +1 -1
- package/dist/ui/switch/index.d.ts +4 -4
- package/dist/ui/switch/index.d.ts.map +1 -1
- package/dist/ui/switch/index.js +3 -3
- package/dist/ui/switch/public.d.ts +2 -2
- package/dist/ui/switch/public.d.ts.map +1 -1
- package/dist/ui/switch/public.js +1 -1
- package/dist/ui/tabs/index.d.ts +6 -6
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +7 -7
- package/dist/ui/tabs/public.d.ts +2 -2
- package/dist/ui/tabs/public.d.ts.map +1 -1
- package/dist/ui/tabs/public.js +1 -1
- package/dist/ui/textarea/index.d.ts +2 -2
- package/dist/ui/textarea/index.d.ts.map +1 -1
- package/dist/ui/textarea/index.js +1 -1
- package/dist/ui/textarea/public.d.ts +2 -2
- package/dist/ui/textarea/public.d.ts.map +1 -1
- package/dist/ui/textarea/public.js +1 -1
- package/dist/ui/toast/index.d.ts +13 -13
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/index.js +3 -3
- package/dist/ui/toast/public.d.ts +3 -3
- package/dist/ui/toast/public.d.ts.map +1 -1
- package/dist/ui/toast/public.js +1 -1
- package/dist/ui/toast/schema.d.ts +15 -15
- package/dist/ui/toast/schema.d.ts.map +1 -1
- package/dist/ui/toast/schema.js +2 -2
- package/dist/ui/toast/update.d.ts +10 -10
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +7 -7
- package/dist/ui/tooltip/index.d.ts +11 -11
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +7 -7
- package/dist/ui/tooltip/public.d.ts +3 -3
- package/dist/ui/tooltip/public.d.ts.map +1 -1
- package/dist/ui/tooltip/public.js +1 -1
- package/dist/ui/typeahead.js +1 -1
- package/dist/url/index.js +1 -1
- package/dist/url/public.d.ts +1 -1
- package/dist/url/public.d.ts.map +1 -1
- package/dist/url/public.js +1 -1
- package/dist/vdom.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Array, Option, Predicate, Record } from 'effect';
|
|
2
|
+
/**
|
|
3
|
+
* Recursively `Object.freeze`s a Model so accidental mutations throw a
|
|
4
|
+
* `TypeError` at the write site with a clear stack trace, instead of silently
|
|
5
|
+
* corrupting state or breaking reference-equality change detection.
|
|
6
|
+
*
|
|
7
|
+
* Scope: plain objects and arrays only. `Date`, `Map`, `Set`, `File`, class
|
|
8
|
+
* instances, and Effect-tagged values such as `Option`, `Either`, `DateTime`,
|
|
9
|
+
* `HashSet`, `HashMap`, and `Chunk` are returned untouched. Effect values rely
|
|
10
|
+
* on `Hash.cached(this, ...)`, which lazily writes a memoized hash onto the
|
|
11
|
+
* instance via `Object.defineProperty` on the first `Equal.equals` or
|
|
12
|
+
* `Hash.hash` call. Freezing them would turn that legitimate write into a
|
|
13
|
+
* `TypeError` on every subsequent equality check.
|
|
14
|
+
*
|
|
15
|
+
* `Option` is special-cased so nested plain payloads still get frozen:
|
|
16
|
+
* `Option.some({ items: [...] })` walks into `.value` and freezes the inner
|
|
17
|
+
* record, but returns the `Some` wrapper untouched.
|
|
18
|
+
*
|
|
19
|
+
* Idempotent: already-frozen values are returned as-is. This also serves as
|
|
20
|
+
* the cycle-safety bailout and ensures amortized cost is O(diff) per update
|
|
21
|
+
* when combined with `evo()` which preserves unchanged branches by reference.
|
|
22
|
+
*/
|
|
23
|
+
export const deepFreeze = (value) => {
|
|
24
|
+
if (value === null || typeof value !== 'object') {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
if (Object.isFrozen(value)) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
if (Array.isArray(value)) {
|
|
31
|
+
Object.freeze(value);
|
|
32
|
+
value.forEach(deepFreeze);
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
if (Option.isOption(value)) {
|
|
36
|
+
if (Option.isSome(value)) {
|
|
37
|
+
deepFreeze(value.value);
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
if (!isPlainObject(value)) {
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
Object.freeze(value);
|
|
45
|
+
Record.values(value).forEach(deepFreeze);
|
|
46
|
+
return value;
|
|
47
|
+
};
|
|
48
|
+
const isPlainObject = (value) => {
|
|
49
|
+
if (!Predicate.isRecord(value)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const prototype = Object.getPrototypeOf(value);
|
|
53
|
+
return prototype === Object.prototype || prototype === null;
|
|
54
|
+
};
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './runtime';
|
|
2
|
-
export * from './urlRequest';
|
|
1
|
+
export * from './runtime.js';
|
|
2
|
+
export * from './urlRequest.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './runtime';
|
|
2
|
-
export * from './urlRequest';
|
|
1
|
+
export * from './runtime.js';
|
|
2
|
+
export * from './urlRequest.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Effect, type Option, type Schema } from 'effect';
|
|
2
|
-
import type { ManagedResource } from '../managedResource';
|
|
2
|
+
import type { ManagedResource } from '../managedResource/index.js';
|
|
3
3
|
/** Internal configuration for a single managed resource, used by the runtime. */
|
|
4
4
|
export type ManagedResourceConfig<Model, Message> = {
|
|
5
5
|
readonly schema: Schema.Schema<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managedResource.d.ts","sourceRoot":"","sources":["../../src/runtime/managedResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAU,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"managedResource.d.ts","sourceRoot":"","sources":["../../src/runtime/managedResource.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/public.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { makeProgram, run } from './runtime';
|
|
2
|
-
export type { RoutingConfig, CrashConfig, CrashContext, RoutingProgramConfigWithFlags, RoutingProgramConfig, ProgramConfigWithFlags, ProgramConfig, ProgramInit, RoutingProgramInit, MakeRuntimeReturn, Visibility, SlowViewContext, SlowViewConfig, DevtoolsConfig, } from './runtime';
|
|
3
|
-
export { UrlRequest } from './urlRequest';
|
|
4
|
-
export type { Internal, External } from './urlRequest';
|
|
1
|
+
export { makeProgram, run } from './runtime.js';
|
|
2
|
+
export type { RoutingConfig, CrashConfig, CrashContext, RoutingProgramConfigWithFlags, RoutingProgramConfig, ProgramConfigWithFlags, ProgramConfig, ProgramInit, RoutingProgramInit, MakeRuntimeReturn, Visibility, SlowViewContext, SlowViewConfig, FreezeModelConfig, DevtoolsConfig, } from './runtime.js';
|
|
3
|
+
export { UrlRequest } from './urlRequest.js';
|
|
4
|
+
export type { Internal, External } from './urlRequest.js';
|
|
5
5
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/runtime/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/runtime/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAE/C,YAAY,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/runtime/public.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { makeProgram, run } from './runtime';
|
|
2
|
-
export { UrlRequest } from './urlRequest';
|
|
1
|
+
export { makeProgram, run } from './runtime.js';
|
|
2
|
+
export { UrlRequest } from './urlRequest.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Context, Effect, Layer, Option, Schema } from 'effect';
|
|
2
|
-
import type { Command } from '../command';
|
|
3
|
-
import { Html } from '../html';
|
|
4
|
-
import { Url } from '../url';
|
|
5
|
-
import type { ManagedResources } from './managedResource';
|
|
6
|
-
import type { Subscriptions } from './subscription';
|
|
7
|
-
import { UrlRequest } from './urlRequest';
|
|
2
|
+
import type { Command } from '../command/index.js';
|
|
3
|
+
import { Html } from '../html/index.js';
|
|
4
|
+
import { Url } from '../url/index.js';
|
|
5
|
+
import type { ManagedResources } from './managedResource.js';
|
|
6
|
+
import type { Subscriptions } from './subscription.js';
|
|
7
|
+
import { UrlRequest } from './urlRequest.js';
|
|
8
8
|
/** Position of the devtools badge and panel on screen. */
|
|
9
9
|
export type DevtoolsPosition = 'BottomRight' | 'BottomLeft' | 'TopRight' | 'TopLeft';
|
|
10
10
|
/** Controls when a feature is shown. */
|
|
@@ -52,6 +52,28 @@ export type SlowViewConfig<Model, Message> = false | Readonly<{
|
|
|
52
52
|
thresholdMs?: number;
|
|
53
53
|
onSlowView?: (context: SlowViewContext<Model, Message>) => void;
|
|
54
54
|
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Model-freeze configuration for catching accidental mutations in development.
|
|
57
|
+
*
|
|
58
|
+
* When active, Foldkit deep-freezes the Model after `init` and after every
|
|
59
|
+
* `update`. Accidental mutations (e.g. `model.items.push(...)`) then throw a
|
|
60
|
+
* `TypeError` at the exact write site with a stack trace, rather than
|
|
61
|
+
* silently corrupting state or breaking reference-equality change detection.
|
|
62
|
+
*
|
|
63
|
+
* Pass `false` to disable entirely.
|
|
64
|
+
*
|
|
65
|
+
* - `show`: `'Development'` (default) enables when Vite HMR is active,
|
|
66
|
+
* `'Always'` enables in all environments including production.
|
|
67
|
+
*
|
|
68
|
+
* Scope: only the Model is frozen. Messages are short-lived and are not
|
|
69
|
+
* frozen; they often carry `OptionFromSelf` / `DateTimeFromSelf` fields that
|
|
70
|
+
* rely on `Hash.cached` which lazily writes to the instance. Production
|
|
71
|
+
* builds (`'Development'` + no HMR) leave change detection at reference
|
|
72
|
+
* equality and pay nothing for this feature.
|
|
73
|
+
*/
|
|
74
|
+
export type FreezeModelConfig = false | Readonly<{
|
|
75
|
+
show?: Visibility;
|
|
76
|
+
}>;
|
|
55
77
|
declare const Dispatch_base: Context.TagClass<Dispatch, "@foldkit/Dispatch", {
|
|
56
78
|
readonly dispatchAsync: (message: unknown) => Effect.Effect<void>;
|
|
57
79
|
readonly dispatchSync: (message: unknown) => void;
|
|
@@ -59,7 +81,7 @@ declare const Dispatch_base: Context.TagClass<Dispatch, "@foldkit/Dispatch", {
|
|
|
59
81
|
/** Effect service tag that provides message dispatching to the view layer. */
|
|
60
82
|
export declare class Dispatch extends Dispatch_base {
|
|
61
83
|
}
|
|
62
|
-
export type { Command } from '../command';
|
|
84
|
+
export type { Command } from '../command/index.js';
|
|
63
85
|
/** Configuration for URL routing with handlers for URL requests and URL changes. */
|
|
64
86
|
export type RoutingConfig<Message> = Readonly<{
|
|
65
87
|
onUrlRequest: (request: UrlRequest) => Message;
|
|
@@ -87,6 +109,7 @@ type BaseProgramConfig<Model, Message, StreamDepsMap extends Schema.Struct<Schem
|
|
|
87
109
|
container: HTMLElement;
|
|
88
110
|
crash?: CrashConfig<Model, Message>;
|
|
89
111
|
slowView?: SlowViewConfig<Model, Message>;
|
|
112
|
+
freezeModel?: FreezeModelConfig;
|
|
90
113
|
resources?: Layer.Layer<Resources>;
|
|
91
114
|
managedResources?: ManagedResources<Model, Message, ManagedResourceServices>;
|
|
92
115
|
/** Derives the document title from the current model. Called after every render. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,EACP,MAAM,EAGN,KAAK,EAEL,MAAM,EAMN,MAAM,EAKP,MAAM,QAAQ,CAAA;AAGf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/runtime.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { BrowserRuntime } from '@effect/platform-browser
|
|
1
|
+
import { BrowserRuntime } from '@effect/platform-browser';
|
|
2
2
|
import { Array, Cause, Context, Effect, Either, Function, Layer, Match, Option, Predicate, Queue, Record, Ref, Runtime, Schema, Stream, SubscriptionRef, Tuple, pipe, } from 'effect';
|
|
3
3
|
import { h } from 'snabbdom';
|
|
4
|
-
import { createOverlay } from '../devtools/overlay';
|
|
5
|
-
import { createDevtoolsStore } from '../devtools/store';
|
|
6
|
-
import { fromString as urlFromString } from '../url';
|
|
7
|
-
import { patch, toVNode } from '../vdom';
|
|
8
|
-
import { addBfcacheRestoreListener, addNavigationEventListeners, } from './browserListeners';
|
|
9
|
-
import { defaultCrashView, noOpDispatch } from './crashUI';
|
|
4
|
+
import { createOverlay } from '../devtools/overlay.js';
|
|
5
|
+
import { createDevtoolsStore } from '../devtools/store.js';
|
|
6
|
+
import { fromString as urlFromString } from '../url/index.js';
|
|
7
|
+
import { patch, toVNode } from '../vdom.js';
|
|
8
|
+
import { addBfcacheRestoreListener, addNavigationEventListeners, } from './browserListeners.js';
|
|
9
|
+
import { defaultCrashView, noOpDispatch } from './crashUI.js';
|
|
10
|
+
import { deepFreeze } from './deepFreeze.js';
|
|
10
11
|
const DEFAULT_DEVTOOLS_SHOW = 'Development';
|
|
11
12
|
const DEFAULT_DEVTOOLS_POSITION = 'BottomRight';
|
|
12
13
|
const DEFAULT_DEVTOOLS_MODE = 'TimeTravel';
|
|
13
14
|
const DEFAULT_SLOW_VIEW_SHOW = 'Development';
|
|
14
15
|
const DEFAULT_SLOW_VIEW_THRESHOLD_MS = 16;
|
|
16
|
+
const DEFAULT_FREEZE_MODEL_SHOW = 'Development';
|
|
15
17
|
const defaultSlowViewCallback = (context) => {
|
|
16
18
|
const trigger = Option.match(context.message, {
|
|
17
19
|
onNone: () => 'init',
|
|
@@ -27,11 +29,13 @@ const defaultSlowViewCallback = (context) => {
|
|
|
27
29
|
/** Effect service tag that provides message dispatching to the view layer. */
|
|
28
30
|
export class Dispatch extends Context.Tag('@foldkit/Dispatch')() {
|
|
29
31
|
}
|
|
30
|
-
const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscriptions, container, routing: routingConfig, crash, slowView, resources, managedResources, title, devtools, }) => {
|
|
32
|
+
const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscriptions, container, routing: routingConfig, crash, slowView, freezeModel, resources, managedResources, title, devtools, }) => {
|
|
31
33
|
const resolvedSlowView = pipe(slowView ?? {}, Option.liftPredicate(config => config !== false), Option.filter(config => Match.value(config.show ?? DEFAULT_SLOW_VIEW_SHOW).pipe(Match.when('Always', () => true), Match.when('Development', () => !!import.meta.hot), Match.exhaustive)), Option.map(config => ({
|
|
32
34
|
thresholdMs: config.thresholdMs ?? DEFAULT_SLOW_VIEW_THRESHOLD_MS,
|
|
33
35
|
onSlowView: config.onSlowView ?? defaultSlowViewCallback,
|
|
34
36
|
})));
|
|
37
|
+
const isFreezeModelActive = pipe(freezeModel ?? {}, Option.liftPredicate(config => config !== false), Option.filter(config => Match.value(config.show ?? DEFAULT_FREEZE_MODEL_SHOW).pipe(Match.when('Always', () => true), Match.when('Development', () => !!import.meta.hot), Match.exhaustive)), Option.isSome);
|
|
38
|
+
const maybeFreezeModel = (model) => isFreezeModelActive ? deepFreeze(model) : model;
|
|
35
39
|
return (hmrModel) => Effect.scoped(Effect.gen(function* () {
|
|
36
40
|
const maybeResourceLayer = resources
|
|
37
41
|
? Option.some(yield* Layer.memoize(resources))
|
|
@@ -68,12 +72,13 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
|
|
|
68
72
|
const messageQueue = yield* Queue.unbounded();
|
|
69
73
|
const enqueueMessage = (message) => Queue.offer(messageQueue, message);
|
|
70
74
|
const currentUrl = Option.fromNullable(routingConfig).pipe(Option.flatMap(() => urlFromString(window.location.href)));
|
|
71
|
-
const [
|
|
75
|
+
const [initModelRaw, initCommands] = Predicate.isNotUndefined(hmrModel)
|
|
72
76
|
? pipe(hmrModel, Schema.decodeUnknownEither(Model), Either.match({
|
|
73
77
|
onLeft: () => init(flags, Option.getOrUndefined(currentUrl)),
|
|
74
78
|
onRight: restoredModel => [restoredModel, []],
|
|
75
79
|
}))
|
|
76
80
|
: init(flags, Option.getOrUndefined(currentUrl));
|
|
81
|
+
const initModel = maybeFreezeModel(initModelRaw);
|
|
77
82
|
const modelSubscriptionRef = yield* SubscriptionRef.make(initModel);
|
|
78
83
|
yield* Effect.forEach(
|
|
79
84
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
@@ -99,7 +104,8 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
|
|
|
99
104
|
const pendingMessagesQueue = yield* Queue.unbounded();
|
|
100
105
|
const processMessage = (message) => Effect.gen(function* () {
|
|
101
106
|
const currentModel = yield* Ref.get(modelRef);
|
|
102
|
-
const [
|
|
107
|
+
const [nextModelRaw, commands] = update(currentModel, message);
|
|
108
|
+
const nextModel = maybeFreezeModel(nextModelRaw);
|
|
103
109
|
if (currentModel !== nextModel) {
|
|
104
110
|
yield* Ref.set(modelRef, nextModel);
|
|
105
111
|
const isPaused = yield* pipe(maybeDevtoolsStoreRef, Ref.get, Effect.flatMap(Option.match({
|
|
@@ -203,9 +209,9 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
|
|
|
203
209
|
if (Option.isSome(resolvedDevtools)) {
|
|
204
210
|
const { position, mode, maybeBanner } = resolvedDevtools.value;
|
|
205
211
|
const devtoolsStore = yield* createDevtoolsStore({
|
|
206
|
-
replay: (model, message) =>
|
|
212
|
+
replay: (model, message) => maybeFreezeModel(
|
|
207
213
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
208
|
-
Tuple.getFirst(update(model, message)),
|
|
214
|
+
Tuple.getFirst(update(model, message))),
|
|
209
215
|
render: model =>
|
|
210
216
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
211
217
|
render(model, Option.none()),
|
|
@@ -334,6 +340,9 @@ export function makeProgram(config) {
|
|
|
334
340
|
...(Predicate.isNotUndefined(config.slowView) && {
|
|
335
341
|
slowView: config.slowView,
|
|
336
342
|
}),
|
|
343
|
+
...(Predicate.isNotUndefined(config.freezeModel) && {
|
|
344
|
+
freezeModel: config.freezeModel,
|
|
345
|
+
}),
|
|
337
346
|
...(config.resources && { resources: config.resources }),
|
|
338
347
|
...(config.managedResources && {
|
|
339
348
|
managedResources: config.managedResources,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema as S } from 'effect';
|
|
2
2
|
/** A URL request to a page within the application (same origin). */
|
|
3
|
-
export declare const Internal: import("../schema").CallableTaggedStruct<"Internal", {
|
|
3
|
+
export declare const Internal: import("../schema/index.js").CallableTaggedStruct<"Internal", {
|
|
4
4
|
url: S.Struct<{
|
|
5
5
|
protocol: typeof S.String;
|
|
6
6
|
host: typeof S.String;
|
|
@@ -13,13 +13,13 @@ export declare const Internal: import("../schema").CallableTaggedStruct<"Interna
|
|
|
13
13
|
/** A URL request to a page within the application (same origin). */
|
|
14
14
|
export type Internal = typeof Internal.Type;
|
|
15
15
|
/** A URL request to an external page (different origin). */
|
|
16
|
-
export declare const External: import("../schema").CallableTaggedStruct<"External", {
|
|
16
|
+
export declare const External: import("../schema/index.js").CallableTaggedStruct<"External", {
|
|
17
17
|
href: typeof S.String;
|
|
18
18
|
}>;
|
|
19
19
|
/** A URL request to an external page (different origin). */
|
|
20
20
|
export type External = typeof External.Type;
|
|
21
21
|
/** Union of `Internal` and `External` URL request types. */
|
|
22
|
-
export declare const UrlRequest: S.Union<[import("../schema").CallableTaggedStruct<"Internal", {
|
|
22
|
+
export declare const UrlRequest: S.Union<[import("../schema/index.js").CallableTaggedStruct<"Internal", {
|
|
23
23
|
url: S.Struct<{
|
|
24
24
|
protocol: typeof S.String;
|
|
25
25
|
host: typeof S.String;
|
|
@@ -28,7 +28,7 @@ export declare const UrlRequest: S.Union<[import("../schema").CallableTaggedStru
|
|
|
28
28
|
search: S.OptionFromSelf<typeof S.String>;
|
|
29
29
|
hash: S.OptionFromSelf<typeof S.String>;
|
|
30
30
|
}>;
|
|
31
|
-
}>, import("../schema").CallableTaggedStruct<"External", {
|
|
31
|
+
}>, import("../schema/index.js").CallableTaggedStruct<"External", {
|
|
32
32
|
href: typeof S.String;
|
|
33
33
|
}>]>;
|
|
34
34
|
/** Union of `Internal` and `External` URL request types. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema as S } from 'effect';
|
|
2
|
-
import { ts } from '../schema';
|
|
3
|
-
import { Url } from '../url';
|
|
2
|
+
import { ts } from '../schema/index.js';
|
|
3
|
+
import { Url } from '../url/index.js';
|
|
4
4
|
/** A URL request to a page within the application (same origin). */
|
|
5
5
|
export const Internal = ts('Internal', {
|
|
6
6
|
url: Url,
|
package/dist/schema/public.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ts } from './index';
|
|
2
|
-
export type { CallableTaggedStruct } from './index';
|
|
1
|
+
export { ts } from './index.js';
|
|
2
|
+
export type { CallableTaggedStruct } from './index.js';
|
|
3
3
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/schema/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/schema/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAC/B,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/schema/public.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ts } from './index';
|
|
1
|
+
export { ts } from './index.js';
|
package/dist/struct/public.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { evo, makeConstrainedEvo } from './index';
|
|
1
|
+
export { evo, makeConstrainedEvo } from './index.js';
|
|
2
2
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/struct/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/struct/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/struct/public.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { evo, makeConstrainedEvo } from './index';
|
|
1
|
+
export { evo, makeConstrainedEvo } from './index.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { makeSubscriptions } from '../runtime/subscription';
|
|
2
|
-
export type { Subscription, Subscriptions } from '../runtime/subscription';
|
|
1
|
+
export { makeSubscriptions } from '../runtime/subscription.js';
|
|
2
|
+
export type { Subscription, Subscriptions } from '../runtime/subscription.js';
|
|
3
3
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/subscription/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/subscription/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { makeSubscriptions } from '../runtime/subscription';
|
|
1
|
+
export { makeSubscriptions } from '../runtime/subscription.js';
|
package/dist/task/dom.d.ts
CHANGED
package/dist/task/dom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/task/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAMP,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/task/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAMP,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAmB5C;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAQxE,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAgDlC,CAAA;AAuBJ;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAclC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAQlC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAQlC,CAAA;AAEJ,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAqClC,CAAA"}
|
package/dist/task/dom.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Array, Effect, Equal, Function, Match as M, Number, Option, } from 'effect';
|
|
2
|
-
import { ElementNotFound } from './error';
|
|
2
|
+
import { ElementNotFound } from './error.js';
|
|
3
3
|
const BASE_DIALOG_Z_INDEX = 2147483600;
|
|
4
4
|
let openDialogCount = 0;
|
|
5
5
|
const dialogCleanups = new WeakMap();
|
package/dist/task/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError } from './error';
|
|
2
|
-
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time';
|
|
3
|
-
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
|
|
4
|
-
export type { FocusDirection } from './dom';
|
|
5
|
-
export { detectElementMovement } from './elementMovement';
|
|
6
|
-
export { delay, nextFrame, waitForAnimationSettled } from './timing';
|
|
7
|
-
export { randomInt, uuid } from './random';
|
|
8
|
-
export { lockScroll, unlockScroll } from './scrollLock';
|
|
9
|
-
export { inertOthers, restoreInert } from './inert';
|
|
1
|
+
export { ElementNotFound, TimeZoneError } from './error.js';
|
|
2
|
+
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time.js';
|
|
3
|
+
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom.js';
|
|
4
|
+
export type { FocusDirection } from './dom.js';
|
|
5
|
+
export { detectElementMovement } from './elementMovement.js';
|
|
6
|
+
export { delay, nextFrame, waitForAnimationSettled } from './timing.js';
|
|
7
|
+
export { randomInt, uuid } from './random.js';
|
|
8
|
+
export { lockScroll, unlockScroll } from './scrollLock.js';
|
|
9
|
+
export { inertOthers, restoreInert } from './inert.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/task/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/task/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError } from './error';
|
|
2
|
-
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time';
|
|
3
|
-
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
|
|
4
|
-
export { detectElementMovement } from './elementMovement';
|
|
5
|
-
export { delay, nextFrame, waitForAnimationSettled } from './timing';
|
|
6
|
-
export { randomInt, uuid } from './random';
|
|
7
|
-
export { lockScroll, unlockScroll } from './scrollLock';
|
|
8
|
-
export { inertOthers, restoreInert } from './inert';
|
|
1
|
+
export { ElementNotFound, TimeZoneError } from './error.js';
|
|
2
|
+
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time.js';
|
|
3
|
+
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom.js';
|
|
4
|
+
export { detectElementMovement } from './elementMovement.js';
|
|
5
|
+
export { delay, nextFrame, waitForAnimationSettled } from './timing.js';
|
|
6
|
+
export { randomInt, uuid } from './random.js';
|
|
7
|
+
export { lockScroll, unlockScroll } from './scrollLock.js';
|
|
8
|
+
export { inertOthers, restoreInert } from './inert.js';
|
package/dist/task/public.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForAnimationSettled, } from './index';
|
|
1
|
+
export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForAnimationSettled, } from './index.js';
|
|
2
2
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/task/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,cAAc,EACd,SAAS,EACT,IAAI,EACJ,SAAS,EACT,uBAAuB,GACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/task/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,cAAc,EACd,SAAS,EACT,IAAI,EACJ,SAAS,EACT,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
package/dist/task/public.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForAnimationSettled, } from './index';
|
|
1
|
+
export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForAnimationSettled, } from './index.js';
|
package/dist/task/time.d.ts
CHANGED
package/dist/task/time.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/task/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/task/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAA;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAExD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAMtD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAQ1C,CAAA"}
|
package/dist/task/time.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Schema as S } from 'effect';
|
|
2
|
-
import { type Html } from '../../html';
|
|
2
|
+
import { type Html } from '../../html/index.js';
|
|
3
3
|
export declare const Model: S.Struct<{
|
|
4
4
|
clicks: typeof S.Number;
|
|
5
5
|
doubleClicks: typeof S.Number;
|
|
6
6
|
}>;
|
|
7
7
|
export type Model = typeof Model.Type;
|
|
8
|
-
declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"ClickedContainer", {}>, import("../../schema").CallableTaggedStruct<"DoubleClickedContainer", {}>]>;
|
|
8
|
+
declare const Message: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"ClickedContainer", {}>, import("../../schema/index.js").CallableTaggedStruct<"DoubleClickedContainer", {}>]>;
|
|
9
9
|
type Message = typeof Message.Type;
|
|
10
10
|
export declare const initialModel: Model;
|
|
11
11
|
export declare const update: (model: Model, message: Message) => readonly [Model, ReadonlyArray<never>];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubbling.d.ts","sourceRoot":"","sources":["../../../src/test/apps/bubbling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"bubbling.d.ts","sourceRoot":"","sources":["../../../src/test/apps/bubbling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAOrC,QAAA,MAAM,OAAO,6KAAoD,CAAA;AACjE,KAAK,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIlC,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAUrC,CAAA;AAMH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAajC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Match as M, Schema as S } from 'effect';
|
|
2
|
-
import { html } from '../../html';
|
|
3
|
-
import { m } from '../../message';
|
|
2
|
+
import { html } from '../../html/index.js';
|
|
3
|
+
import { m } from '../../message/index.js';
|
|
4
4
|
// MODEL
|
|
5
5
|
export const Model = S.Struct({
|
|
6
6
|
clicks: S.Number,
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { Effect, Schema as S } from 'effect';
|
|
2
|
-
import * as Command from '../../command';
|
|
2
|
+
import * as Command from '../../command/index.js';
|
|
3
3
|
export declare const Model: S.Struct<{
|
|
4
4
|
count: typeof S.Number;
|
|
5
5
|
}>;
|
|
6
6
|
export type Model = typeof Model.Type;
|
|
7
|
-
export declare const ClickedIncrement: import("../../schema").CallableTaggedStruct<"ClickedIncrement", {}>;
|
|
8
|
-
export declare const ClickedDecrement: import("../../schema").CallableTaggedStruct<"ClickedDecrement", {}>;
|
|
9
|
-
export declare const ClickedFetch: import("../../schema").CallableTaggedStruct<"ClickedFetch", {}>;
|
|
10
|
-
export declare const SucceededFetchCount: import("../../schema").CallableTaggedStruct<"SucceededFetchCount", {
|
|
7
|
+
export declare const ClickedIncrement: import("../../schema/index.js").CallableTaggedStruct<"ClickedIncrement", {}>;
|
|
8
|
+
export declare const ClickedDecrement: import("../../schema/index.js").CallableTaggedStruct<"ClickedDecrement", {}>;
|
|
9
|
+
export declare const ClickedFetch: import("../../schema/index.js").CallableTaggedStruct<"ClickedFetch", {}>;
|
|
10
|
+
export declare const SucceededFetchCount: import("../../schema/index.js").CallableTaggedStruct<"SucceededFetchCount", {
|
|
11
11
|
count: typeof S.Number;
|
|
12
12
|
}>;
|
|
13
|
-
export declare const FailedFetchCount: import("../../schema").CallableTaggedStruct<"FailedFetchCount", {
|
|
13
|
+
export declare const FailedFetchCount: import("../../schema/index.js").CallableTaggedStruct<"FailedFetchCount", {
|
|
14
14
|
error: typeof S.String;
|
|
15
15
|
}>;
|
|
16
|
-
export declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"ClickedIncrement", {}>, import("../../schema").CallableTaggedStruct<"ClickedDecrement", {}>, import("../../schema").CallableTaggedStruct<"ClickedFetch", {}>, import("../../schema").CallableTaggedStruct<"SucceededFetchCount", {
|
|
16
|
+
export declare const Message: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"ClickedIncrement", {}>, import("../../schema/index.js").CallableTaggedStruct<"ClickedDecrement", {}>, import("../../schema/index.js").CallableTaggedStruct<"ClickedFetch", {}>, import("../../schema/index.js").CallableTaggedStruct<"SucceededFetchCount", {
|
|
17
17
|
count: typeof S.Number;
|
|
18
|
-
}>, import("../../schema").CallableTaggedStruct<"FailedFetchCount", {
|
|
18
|
+
}>, import("../../schema/index.js").CallableTaggedStruct<"FailedFetchCount", {
|
|
19
19
|
error: typeof S.String;
|
|
20
20
|
}>]>;
|
|
21
21
|
export type Message = typeof Message.Type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../../src/test/apps/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../../src/test/apps/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAKjD,eAAO,MAAM,KAAK;;EAAgC,CAAA;AAClD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,eAAO,MAAM,mBAAmB;;EAAgD,CAAA;AAChF,eAAO,MAAM,gBAAgB;;EAA6C,CAAA;AAE1E,eAAO,MAAM,OAAO;;;;IAMnB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,UAAU;;;;;;EAItB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;EAEtB,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAAoB,CAAA;AAI/C,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAYxD,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Match as M, Schema as S } from 'effect';
|
|
2
|
-
import * as Command from '../../command';
|
|
3
|
-
import { m } from '../../message';
|
|
2
|
+
import * as Command from '../../command/index.js';
|
|
3
|
+
import { m } from '../../message/index.js';
|
|
4
4
|
// MODEL
|
|
5
5
|
export const Model = S.Struct({ count: S.Number });
|
|
6
6
|
// MESSAGE
|