synstate-dom 0.4.0 → 0.6.0
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/README.md +5 -2
- package/dist/bind/bind-props.d.mts +4 -4
- package/dist/bind/bind-props.d.mts.map +1 -1
- package/dist/bind/bind-props.mjs +109 -39
- package/dist/bind/bind-props.mjs.map +1 -1
- package/dist/constant/constant.d.mts +2 -2
- package/dist/constant/derive.mjs.map +1 -1
- package/dist/constant/view.d.mts +3 -3
- package/dist/control/for.d.mts +2 -2
- package/dist/control/for.mjs.map +1 -1
- package/dist/control/if.d.mts +2 -2
- package/dist/control/longest-increasing-subsequence.d.mts +3 -3
- package/dist/control/match-optional.d.mts +4 -4
- package/dist/control/match-result.d.mts +5 -6
- package/dist/control/match-result.d.mts.map +1 -1
- package/dist/control/match-result.mjs +0 -1
- package/dist/control/match-result.mjs.map +1 -1
- package/dist/control/mount-switch.d.mts +5 -5
- package/dist/control/portal.d.mts +2 -2
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/internal/as-constant.d.mts +4 -4
- package/dist/internal/bind-value.d.mts.map +1 -1
- package/dist/internal/bind-value.mjs +7 -8
- package/dist/internal/bind-value.mjs.map +1 -1
- package/dist/internal/dom-tables.d.mts.map +1 -1
- package/dist/internal/dom-tables.mjs +3 -0
- package/dist/internal/dom-tables.mjs.map +1 -1
- package/dist/jsx/child.d.mts +2 -2
- package/dist/jsx/element-props.d.mts +17 -4
- package/dist/jsx/element-props.d.mts.map +1 -1
- package/dist/jsx/jsx.mjs +1 -1
- package/dist/jsx/jsx.mjs.map +1 -1
- package/dist/jsx/mountable.d.mts +4 -4
- package/dist/jsx-dev-runtime.d.mts +2 -2
- package/dist/keyboard/index.d.mts +2 -0
- package/dist/keyboard/index.d.mts.map +1 -0
- package/dist/keyboard/index.mjs +2 -0
- package/dist/keyboard/index.mjs.map +1 -0
- package/dist/keyboard/is-ime-key-down.d.mts +11 -0
- package/dist/keyboard/is-ime-key-down.d.mts.map +1 -0
- package/dist/keyboard/is-ime-key-down.mjs +15 -0
- package/dist/keyboard/is-ime-key-down.mjs.map +1 -0
- package/dist/scope/index.d.mts +2 -0
- package/dist/scope/index.d.mts.map +1 -0
- package/dist/scope/index.mjs +2 -0
- package/dist/scope/index.mjs.map +1 -0
- package/dist/scope/scope-effects.d.mts +25 -0
- package/dist/scope/scope-effects.d.mts.map +1 -0
- package/dist/scope/scope-effects.mjs +43 -0
- package/dist/scope/scope-effects.mjs.map +1 -0
- package/package.json +9 -9
- package/src/bind/bind-props.mts +169 -66
- package/src/constant/constant.mts +2 -2
- package/src/constant/derive.mts +4 -4
- package/src/constant/view.mts +3 -3
- package/src/control/for.mts +10 -10
- package/src/control/if.mts +2 -2
- package/src/control/longest-increasing-subsequence.mts +3 -3
- package/src/control/match-optional.mts +4 -4
- package/src/control/match-result.mts +5 -6
- package/src/control/mount-switch.mts +5 -5
- package/src/control/portal.mts +2 -2
- package/src/index.mts +2 -0
- package/src/internal/as-constant.mts +4 -4
- package/src/internal/bind-value.mts +7 -13
- package/src/internal/dom-tables.mts +3 -0
- package/src/jsx/child.mts +2 -2
- package/src/jsx/element-props.mts +41 -4
- package/src/jsx/jsx.mts +5 -5
- package/src/jsx/mountable.mts +4 -4
- package/src/jsx-dev-runtime.mts +2 -2
- package/src/keyboard/index.mts +1 -0
- package/src/keyboard/is-ime-key-down.mts +20 -0
- package/src/keyboard/is-ime-key-down.test.mts +42 -0
- package/src/scope/index.mts +1 -0
- package/src/scope/scope-effects.mts +60 -0
- package/src/scope/scope-effects.test.mts +89 -0
package/README.md
CHANGED
|
@@ -87,8 +87,8 @@ const add = (): void => {
|
|
|
87
87
|
// `For` keeps one row per key: a row's function runs once, and reordering
|
|
88
88
|
// `todos$` moves the row's nodes rather than recreating them.
|
|
89
89
|
const TodoApp = (): JSX.Element => {
|
|
90
|
-
// A derivation only this view reads is created here, inside the component,
|
|
91
|
-
//
|
|
90
|
+
// A derivation only this view reads is created here, inside the component, so
|
|
91
|
+
// it exists only while the view is mounted.
|
|
92
92
|
const remaining$ = todos$.pipe(
|
|
93
93
|
map((todos) => todos.filter((t) => !t.done).length),
|
|
94
94
|
);
|
|
@@ -210,9 +210,12 @@ synstate derivations are not lazy: a derivation is computed whenever its parent
|
|
|
210
210
|
- The JSX runtime (`"jsx": "react-jsx"`, `"jsxImportSource": "synstate-dom"`): a JSX expression is a lazy `Mountable` description, and a component is called once, when it is mounted.
|
|
211
211
|
- `render(App, container)`: mounts `App` in a root scope and returns the function that unmounts it.
|
|
212
212
|
- Element props: attributes and DOM properties typed from `lib.dom.d.ts` (`Bindable<T>` of each writable primitive property), `aria-*` and `data-*`, `class` as a string or a `{ name: Bindable<boolean> }` object, `style` as a string or a per-property object, and `onClick`-style event handlers. SVG elements are created in the SVG namespace and take a fixed list of attributes.
|
|
213
|
+
- A bound `checked` or `indeterminate` of an `<input>` is controlled: after a `change`, the input is drawn as its bound value again before the next frame is painted, so a change the owner does not take in `onChange` undoes itself. For a checkbox the user toggles freely, use `defaultChecked`. A radio group is set back as a whole when every button of it is bound.
|
|
213
214
|
- `If`, `MatchOptional` and `MatchResult`: mount one branch at a time in a scope of its own, rebuilt only when the condition or the tag changes.
|
|
214
215
|
- `For`: one row per key, each in a scope of its own; `item$` and `index$` are derived from `items`, and rows are moved as little as the longest increasing subsequence allows.
|
|
215
216
|
- `Portal`: mounts its children into another element, in the scope where it is written.
|
|
217
|
+
- `subscribeInScope`, `listenInScope` and `createAfterUpdate`: what a component, called once, does in place of an effect. A subscription or an event listener lasts until the current scope is disposed, and work runs in a microtask once the update under way has finished, dropped if the scope has been disposed by then.
|
|
218
|
+
- `isImeKeyDown(event)`: whether a key down belongs to an input method, so that a handler for Enter or Escape leaves it alone. That is a key sent while a composition is going on, or the Enter or Escape that confirmed or cancelled one, which Safari sends after `compositionend` with key code 229.
|
|
216
219
|
|
|
217
220
|
## Naming
|
|
218
221
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ReadonlyRecord } from 'ts-type-forge';
|
|
2
2
|
/**
|
|
3
|
-
* Binds every prop of an intrinsic element except `ref` and `children`
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Binds every prop of an intrinsic element except `ref` and `children` (SPEC.md
|
|
4
|
+
* 7): `class`, `style`, event handlers, the DOM properties of `propertyNames`,
|
|
5
|
+
* and attributes for the rest. Subscriptions and listeners are released when
|
|
6
|
+
* the current scope is disposed.
|
|
7
7
|
*/
|
|
8
8
|
export declare const bindProps: (element: Element, props: ReadonlyRecord<string, unknown>) => void;
|
|
9
9
|
//# sourceMappingURL=bind-props.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-props.d.mts","sourceRoot":"","sources":["../../src/bind/bind-props.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bind-props.d.mts","sourceRoot":"","sources":["../../src/bind/bind-props.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAUpD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,YACX,OAAO,SACT,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,KACrC,IAIF,CAAC"}
|
package/dist/bind/bind-props.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isObservable, onScopeDispose } from 'synstate';
|
|
2
2
|
import { hasKey, isBoolean, isRecord, unknownToString } from 'ts-data-forge';
|
|
3
3
|
import { attributeNameOf, bindValue, propertyNames, viewTag, } from '../internal/index.mjs';
|
|
4
|
+
import { listenInScope } from '../scope/index.mjs';
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
|
|
@@ -12,33 +13,28 @@ export const bindProps = (element, props) => {
|
|
|
12
13
|
bindProp(element, key, value);
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
if (key === 'style') {
|
|
24
|
-
bindStyle(element, value);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (isEventKey(key) && isEventHandler(value)) {
|
|
28
|
-
bindEvent(element, key.slice(2).toLowerCase(), value);
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const writeAttribute = (element, name, value) => {
|
|
21
|
+
if (isBoolean(value)) {
|
|
22
|
+
element.toggleAttribute(name, value);
|
|
29
23
|
return;
|
|
30
24
|
}
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
Reflect.set(element, key, v);
|
|
34
|
-
});
|
|
25
|
+
if (value === undefined || value === null) {
|
|
26
|
+
element.removeAttribute(name);
|
|
35
27
|
return;
|
|
36
28
|
}
|
|
37
|
-
|
|
38
|
-
bindValue(value, (v) => {
|
|
39
|
-
writeAttribute(element, name, v);
|
|
40
|
-
});
|
|
29
|
+
element.setAttribute(name, unknownToString(value));
|
|
41
30
|
};
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
const isBindable = (value) => value !== undefined && value !== null;
|
|
36
|
+
|
|
37
|
+
const isPlainObject = (value) => isRecord(value) && !isObservable(value) && !hasKey(value, viewTag);
|
|
42
38
|
const bindClass = (element, value) => {
|
|
43
39
|
if (!isPlainObject(value)) {
|
|
44
40
|
bindValue(value, (v) => {
|
|
@@ -82,36 +78,110 @@ const bindStyle = (element, value) => {
|
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
};
|
|
85
|
-
const bindEvent = (element, type, handler) => {
|
|
86
|
-
element.addEventListener(type, handler);
|
|
87
|
-
onScopeDispose(() => {
|
|
88
|
-
element.removeEventListener(type, handler);
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
81
|
|
|
92
82
|
|
|
93
83
|
|
|
94
84
|
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
85
|
+
const radioGroupOf = (input) => {
|
|
86
|
+
const root = input.getRootNode();
|
|
87
|
+
if (input.type !== 'radio' ||
|
|
88
|
+
input.name === '' ||
|
|
89
|
+
!(root instanceof Document || root instanceof ShadowRoot)) {
|
|
90
|
+
return [input];
|
|
99
91
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
92
|
+
return Array.from(root.querySelectorAll(`input[type="radio"][name="${CSS.escape(input.name)}"]`)).filter((radio) => radio.form === input.form);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
const controlledOf = (element) => {
|
|
100
|
+
const existing = controlled.get(element);
|
|
101
|
+
if (existing !== undefined) {
|
|
102
|
+
return existing;
|
|
103
103
|
}
|
|
104
|
-
|
|
104
|
+
const mut_restorers = new Map();
|
|
105
|
+
const created = {
|
|
106
|
+
add: (key, restore) => {
|
|
107
|
+
mut_restorers.set(key, restore);
|
|
108
|
+
},
|
|
109
|
+
restore: () => {
|
|
110
|
+
for (const restore of mut_restorers.values()) {
|
|
111
|
+
restore();
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
const onChange = () => {
|
|
116
|
+
requestAnimationFrame(() => {
|
|
117
|
+
for (const input of radioGroupOf(element)) {
|
|
118
|
+
controlled.get(input)?.restore();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
controlled.set(element, created);
|
|
123
|
+
listenInScope(element, 'change', onChange, { capture: true });
|
|
124
|
+
onScopeDispose(() => {
|
|
125
|
+
controlled.delete(element);
|
|
126
|
+
});
|
|
127
|
+
return created;
|
|
105
128
|
};
|
|
106
|
-
const propertyNameSet = new Set(propertyNames);
|
|
107
129
|
|
|
108
130
|
|
|
109
131
|
|
|
110
132
|
|
|
111
|
-
const isBindable = (value) => value !== undefined && value !== null;
|
|
112
133
|
|
|
113
|
-
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
const bindControlled = (element, key, value) => {
|
|
138
|
+
const mut_bound = { current: undefined };
|
|
139
|
+
bindValue(value, (v) => {
|
|
140
|
+
mut_bound.current = v;
|
|
141
|
+
Reflect.set(element, key, v);
|
|
142
|
+
});
|
|
143
|
+
controlledOf(element).add(key, () => {
|
|
144
|
+
if (Reflect.get(element, key) !== mut_bound.current) {
|
|
145
|
+
Reflect.set(element, key, mut_bound.current);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
const isControlledKey = (key) => key === 'checked' || key === 'indeterminate';
|
|
150
|
+
|
|
151
|
+
const controlled = new WeakMap();
|
|
114
152
|
|
|
115
153
|
const isEventKey = (key) => /^on[A-Z]/u.test(key);
|
|
116
154
|
const isEventHandler = (value) => typeof value === 'function';
|
|
155
|
+
const bindProp = (element, key, value) => {
|
|
156
|
+
if (key === 'children' || key === 'ref' || !isBindable(value)) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (key === 'class') {
|
|
160
|
+
bindClass(element, value);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (key === 'style') {
|
|
164
|
+
bindStyle(element, value);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (isEventKey(key) && isEventHandler(value)) {
|
|
168
|
+
listenInScope(element, key.slice(2).toLowerCase(), value);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (isControlledKey(key) && element instanceof HTMLInputElement) {
|
|
172
|
+
bindControlled(element, key, value);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (propertyNameSet.has(key)) {
|
|
176
|
+
bindValue(value, (v) => {
|
|
177
|
+
Reflect.set(element, key, v);
|
|
178
|
+
});
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const name = attributeNameOf[key] ?? key;
|
|
182
|
+
bindValue(value, (v) => {
|
|
183
|
+
writeAttribute(element, name, v);
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
const propertyNameSet = new Set(propertyNames);
|
|
117
187
|
//# sourceMappingURL=bind-props.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-props.mjs","sourceRoot":"","sources":["../../src/bind/bind-props.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,OAAO,GACR,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"bind-props.mjs","sourceRoot":"","sources":["../../src/bind/bind-props.mts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import type { Brand } from 'ts-type-forge';
|
|
|
4
4
|
* A value that is written once and never updated. A brand that exists only in
|
|
5
5
|
* the type system: at run time it is the value itself.
|
|
6
6
|
*
|
|
7
|
-
* A slot that takes data accepts a `Constant<T>` but not a plain `T`, so that
|
|
8
|
-
*
|
|
7
|
+
* A slot that takes data accepts a `Constant<T>` but not a plain `T`, so that a
|
|
8
|
+
* value read once and never updated (`count$.getSnapshot().value`) is a type
|
|
9
9
|
* error rather than a binding that silently stays stale.
|
|
10
10
|
*/
|
|
11
11
|
export type Constant<T> = Brand<T, 'synstate-dom/Constant'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.mjs","sourceRoot":"","sources":["../../src/constant/derive.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,gBAAgB,EAC1B,YAAY,GAEb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,SAAa,EACb,EAAwC,EAC3B,EAAE;IACf,
|
|
1
|
+
{"version":3,"file":"derive.mjs","sourceRoot":"","sources":["../../src/constant/derive.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,gBAAgB,EAC1B,YAAY,GAEb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,SAAa,EACb,EAAwC,EAC3B,EAAE;IACf,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,eAAe;IACf,iFAAiF;IACjF,MAAM,OAAO,GAAG,EAA0C,CAAC;IAE3D,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,WAAW,GAAkD,GAAG,CAAC,GAAG,CACxE,SAAS,EACT,YAAY,CACb,CAAC;IAEF,OAAO,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AAOF,MAAM,UAAU,GAAG,CAAC,QAA2B,EAAW,EAAE,CAC1D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC"}
|
package/dist/constant/view.d.mts
CHANGED
|
@@ -4,9 +4,9 @@ import { viewTag } from '../internal/index.mjs';
|
|
|
4
4
|
* An observable and a function to apply to each of its values, bound without
|
|
5
5
|
* creating a node in the graph. Made by {@link view}.
|
|
6
6
|
*
|
|
7
|
-
* The source's value type is hidden behind `open`, which hands the pair back
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* The source's value type is hidden behind `open`, which hands the pair back to
|
|
8
|
+
* a callback that is generic in it: whoever opens a view sees a source and a
|
|
9
|
+
* function that agree with each other, with no assertion on either side.
|
|
10
10
|
*/
|
|
11
11
|
export type View<T> = Readonly<{
|
|
12
12
|
[viewTag]: true;
|
package/dist/control/for.d.mts
CHANGED
|
@@ -17,8 +17,8 @@ import { type JSX } from '../jsx/index.mjs';
|
|
|
17
17
|
* nodes; the rows that stay are moved as little as the longest increasing
|
|
18
18
|
* subsequence allows.
|
|
19
19
|
*
|
|
20
|
-
* `key` is required, as in React; `(_, i) => i` matches rows by position. A
|
|
21
|
-
*
|
|
20
|
+
* `key` is required, as in React; `(_, i) => i` matches rows by position. A key
|
|
21
|
+
* that appears twice is reported with `console.error`, and its later
|
|
22
22
|
* occurrences are rebuilt on every update.
|
|
23
23
|
*/
|
|
24
24
|
export declare const For: <T>({ items, key, children, }: Readonly<{
|
package/dist/control/for.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for.mjs","sourceRoot":"","sources":["../../src/control/for.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,WAAW,EACX,eAAe,EACf,GAAG,EACH,cAAc,GAIf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAK,EACtB,KAAK,EACL,GAAG,EACH,QAAQ,GAQR,EAAe,EAAE,CACjB,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACpC,CAAC;IAEF,yEAAyE;IACzE,
|
|
1
|
+
{"version":3,"file":"for.mjs","sourceRoot":"","sources":["../../src/control/for.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,WAAW,EACX,eAAe,EACf,GAAG,EACH,cAAc,GAIf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAK,EACtB,KAAK,EACL,GAAG,EACH,QAAQ,GAQR,EAAe,EAAE,CACjB,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACpC,CAAC;IAEF,yEAAyE;IACzE,4EAA4E;IAC5E,yBAAyB;IACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IAEvC,MAAM,YAAY,GAKd,QAAQ,CAAC;IAEb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;IAEtC,MAAM,WAAW,GAAoC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEnE,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAChB,MAAe,EACf,KAAe,EACO,EAAE;QACxB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEzC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEpE,OAAO,OAAO,CACZ,CAAC,SAAS;gBACR,CAAC,CAAC,YAAY,CACV,KAAK,EACL,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACxD;gBACH,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CACtB,CAAC,KAAK,EAAE,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAQ,EAAE,KAAK,EAAE,KAAK,EAAW,CAAC;QAE3C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,cAAc,CAAC,GAAG,EAAE;gBAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1B,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAwB,EAAE;QAClD,MAAM,SAAS,GAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3C,KACE,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EACpC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpE,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAC/B,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,6BAA6B,GAAG,CACpC,aAAiC,EACjC,OAAmB,EACb,EAAE;QACR,IACE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EACzD,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAErC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE3B,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,6BAA6B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAEpB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAExC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,aAAa;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CACjD,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CACjC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,MAAM,IAAI,GAAG,4BAA4B,CACvC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,CAC9C,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,SAAS;aACN,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;QAEF,IAAI,QAAQ,GAAc,MAAM,CAAC;QAEjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBAED,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAElD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;oBAEhC,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBAED,SAAS;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,CAAC;QAED,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAgBL,MAAM,SAAS,GAAG,CAChB,IAAkB,EAClB,GAAwC,EAC5B,EAAE;IACd,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAExC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,KAAK,CACX,iCAAiC,EACjC,OAAO,EACP,sCAAsC,CACvC,CAAC;QAEF,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAE7C,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7C,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG,CACf,QAAgC,EAChC,MAAe,EACf,YAAe,EACf,KAA6B,EACH,EAAE,CAC5B,oCAAoC,CAClC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAClE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACd,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,OAAO,CAAC,WAAW,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,YAAY,GAAG,IAAI,CAAC;QAEpB,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,+EAA+E;AAC/E,MAAM,UAAU,GAAG,CACjB,QAA2B,EAC3B,KAAyB,EACnB,EAAE;IACR,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAU,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC"}
|
package/dist/control/if.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Bindable } from '../constant/index.mjs';
|
|
2
2
|
import { type JSX } from '../jsx/index.mjs';
|
|
3
3
|
/**
|
|
4
|
-
* Mounts `then` while `cond` is `true` and `else` while it is `false`
|
|
5
|
-
*
|
|
4
|
+
* Mounts `then` while `cond` is `true` and `else` while it is `false` (SPEC.md
|
|
5
|
+
* 8.2). Nothing is mounted for an omitted `else`.
|
|
6
6
|
*
|
|
7
7
|
* Both branches are descriptions, so only the one chosen is mounted. A branch
|
|
8
8
|
* is rebuilt only when `cond` flips; flipping disposes the previous branch's
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The positions in `values` of one longest strictly increasing subsequence,
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* The positions in `values` of one longest strictly increasing subsequence, in
|
|
3
|
+
* O(n log n). `For` keeps the rows at these positions in place and moves only
|
|
4
|
+
* the others (SPEC.md 8.4).
|
|
5
5
|
*/
|
|
6
6
|
export declare const longestIncreasingSubsequence: (values: readonly number[]) => ReadonlySet<number>;
|
|
7
7
|
//# sourceMappingURL=longest-increasing-subsequence.d.mts.map
|
|
@@ -6,10 +6,10 @@ import { type JSX } from '../jsx/index.mjs';
|
|
|
6
6
|
* Mounts `some` while `value` holds a value and `none` while it is empty
|
|
7
7
|
* (SPEC.md 8.3).
|
|
8
8
|
*
|
|
9
|
-
* `some` is called once per change from empty to present, with an observable
|
|
10
|
-
*
|
|
11
|
-
* through that observable rather than rebuilding the branch. It is derived
|
|
12
|
-
*
|
|
9
|
+
* `some` is called once per change from empty to present, with an observable of
|
|
10
|
+
* the value narrowed to `T`. While the value stays present, new values flow
|
|
11
|
+
* through that observable rather than rebuilding the branch. It is derived from
|
|
12
|
+
* `value`, not written to, so nothing is written during propagation.
|
|
13
13
|
*/
|
|
14
14
|
export declare const MatchOptional: <T>({ value, some, none, }: Readonly<{
|
|
15
15
|
value: Bindable<Optional<T>>;
|
|
@@ -3,13 +3,12 @@ import { Result } from 'ts-data-forge';
|
|
|
3
3
|
import { type Bindable } from '../constant/index.mjs';
|
|
4
4
|
import { type JSX } from '../jsx/index.mjs';
|
|
5
5
|
/**
|
|
6
|
-
* Mounts `ok` while `value` is `Ok` and `err` while it is `Err`
|
|
7
|
-
* (SPEC.md 8.3).
|
|
6
|
+
* Mounts `ok` while `value` is `Ok` and `err` while it is `Err` (SPEC.md 8.3).
|
|
8
7
|
*
|
|
9
|
-
* Each branch is called once per change of tag, with an observable of the
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* Each branch is called once per change of tag, with an observable of the value
|
|
9
|
+
* narrowed to `S` or `E`; while the tag stays the same, new values flow through
|
|
10
|
+
* that observable rather than rebuilding the branch. It is derived from
|
|
11
|
+
* `value`, not written to, so nothing is written during propagation.
|
|
13
12
|
*/
|
|
14
13
|
export declare const MatchResult: <S, E>({ value, ok, err, }: Readonly<{
|
|
15
14
|
value: Bindable<Result<S, E>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-result.d.mts","sourceRoot":"","sources":["../../src/control/match-result.mts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvD
|
|
1
|
+
{"version":3,"file":"match-result.d.mts","sourceRoot":"","sources":["../../src/control/match-result.mts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,uBAI7B,QAAQ,CAAC;IACV,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,EAAE,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,GAAG,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;CACxD,CAAC,KAAG,GAAG,CAAC,OAmBN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-result.mjs","sourceRoot":"","sources":["../../src/control/match-result.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,GAAG,EACH,gBAAgB,GAEjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAY,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"match-result.mjs","sourceRoot":"","sources":["../../src/control/match-result.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,GAAG,EACH,gBAAgB,GAEjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAY,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAO,EAChC,KAAK,EACL,EAAE,EACF,GAAG,GAKH,EAAe,EAAE,CACjB,SAAS,CAAC,GAAG,EAAE,CACb,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,EAAE,CACA,MAAM;aACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACzC;QACH,CAAC,CAAC,GAAG,CACD,MAAM;aACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACzC,CAAC;AACR,CAAC,CAAC,CACH,CAAC"}
|
|
@@ -5,11 +5,11 @@ import { type Mountable, type MountedNodes } from '../jsx/index.mjs';
|
|
|
5
5
|
* the value of `value` (SPEC.md 8.1–8.3).
|
|
6
6
|
*
|
|
7
7
|
* The branch is rebuilt only when `keyOf` gives a different key: within the
|
|
8
|
-
* same key the branch keeps its nodes and its scope, and it is up to the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* same key the branch keeps its nodes and its scope, and it is up to the branch
|
|
9
|
+
* to follow the value (`MatchOptional` hands it an observable derived from
|
|
10
|
+
* `value`). Each branch is mounted in a scope of its own, a child of the scope
|
|
11
|
+
* the switch was mounted in; disposing the branch's scope removes its nodes, so
|
|
12
|
+
* the switch's own nodes stay accurate however often it switches.
|
|
13
13
|
*
|
|
14
14
|
* `branch` runs inside the new scope, so whatever it creates belongs to the
|
|
15
15
|
* branch.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Child, type JSX } from '../jsx/index.mjs';
|
|
2
2
|
/**
|
|
3
3
|
* Mounts `children` into `target` (`document.body` when omitted) rather than
|
|
4
|
-
* where it is written (SPEC.md 8.6): for a modal, a tooltip or a toast that
|
|
5
|
-
*
|
|
4
|
+
* where it is written (SPEC.md 8.6): for a modal, a tooltip or a toast that has
|
|
5
|
+
* to escape an ancestor's `overflow: hidden` or `z-index`.
|
|
6
6
|
*
|
|
7
7
|
* The children belong to the scope where `Portal` is written, so closing the
|
|
8
8
|
* enclosing `If` branch removes them too. Nothing is left in the place it is
|
package/dist/index.d.mts
CHANGED
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Constant } from '../constant/index.mjs';
|
|
2
2
|
/**
|
|
3
|
-
* The one type assertion
|
|
4
|
-
* only in the type system, so marking a value as one changes nothing at
|
|
5
|
-
* time; this is what {@link constant} and the helpers that derive one
|
|
6
|
-
* from another call.
|
|
3
|
+
* The one type assertion that brands a value. `Constant<T>` is a brand that
|
|
4
|
+
* exists only in the type system, so marking a value as one changes nothing at
|
|
5
|
+
* run time; this is what {@link constant} and the helpers that derive one
|
|
6
|
+
* constant from another call.
|
|
7
7
|
*/
|
|
8
8
|
export declare const asConstant: <T>(value: T) => Constant<T>;
|
|
9
9
|
//# sourceMappingURL=as-constant.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-value.d.mts","sourceRoot":"","sources":["../../src/internal/bind-value.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bind-value.d.mts","sourceRoot":"","sources":["../../src/internal/bind-value.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,YACf,QAAQ,CAAC,CAAC,CAAC,SACd,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KACxB,IAkBF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { isObservable
|
|
1
|
+
import { isObservable } from 'synstate';
|
|
2
|
+
import { subscribeInScope } from '../scope/index.mjs';
|
|
2
3
|
import { isView } from './is-view.mjs';
|
|
3
4
|
|
|
4
5
|
|
|
@@ -14,26 +15,24 @@ import { isView } from './is-view.mjs';
|
|
|
14
15
|
export const bindValue = (bindable, write) => {
|
|
15
16
|
if (isView(bindable)) {
|
|
16
17
|
bindable.open((source, fn) => {
|
|
17
|
-
|
|
18
|
+
bindObservable(source, (value) => {
|
|
18
19
|
write(fn(value));
|
|
19
20
|
});
|
|
20
21
|
});
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
23
24
|
if (isObservable(bindable)) {
|
|
24
|
-
|
|
25
|
+
bindObservable(bindable, write);
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
write(bindable);
|
|
28
29
|
};
|
|
29
|
-
|
|
30
|
+
|
|
31
|
+
const bindObservable = (source, write) => {
|
|
30
32
|
if (source.isCompleted) {
|
|
31
33
|
write(source.getSnapshot().value);
|
|
32
34
|
return;
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
onScopeDispose(() => {
|
|
36
|
-
subscription.unsubscribe();
|
|
37
|
-
});
|
|
36
|
+
subscribeInScope(source, write);
|
|
38
37
|
};
|
|
39
38
|
//# sourceMappingURL=bind-value.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-value.mjs","sourceRoot":"","sources":["../../src/internal/bind-value.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"bind-value.mjs","sourceRoot":"","sources":["../../src/internal/bind-value.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,MAAM,UAAU,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAAqB,EACrB,KAAyB,EACnB,EAAE;IACR,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3B,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC/B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhC,OAAO;IACT,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,cAAc,GAAG,CACrB,MAAgC,EAChC,KAAyB,EACnB,EAAE;IACR,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-tables.d.mts","sourceRoot":"","sources":["../../src/internal/dom-tables.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,YACxB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,OAAO,EACP,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,CACC,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dom-tables.d.mts","sourceRoot":"","sources":["../../src/internal/dom-tables.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,YACxB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,OAAO,EACP,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,CACC,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAOjD,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW,2uBA+DrB,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAC5B,WAAW,EACX,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,CACI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-tables.mjs","sourceRoot":"","sources":["../../src/internal/dom-tables.mts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,eAAe;IACf,OAAO;IACP,UAAU;IACV,YAAY;IACZ,WAAW;IACX,OAAO;CACC,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,YAAY;CACf,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,aAAa;IACb,cAAc;IACd,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,eAAe;IACf,GAAG;IACH,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,MAAM;CAIL,CAAC;AAIJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,mBAAmB;IACnB,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,cAAc;IACd,WAAW;IACX,QAAQ;IACR,aAAa;IACb,WAAW;IACX,aAAa;IACb,IAAI;IACJ,IAAI;IACJ,mBAAmB;IACnB,eAAe;IACf,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,qBAAqB;IACrB,GAAG;IACH,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,YAAY;IACZ,OAAO;IACP,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;CACI,CAAC"}
|
|
1
|
+
{"version":3,"file":"dom-tables.mjs","sourceRoot":"","sources":["../../src/internal/dom-tables.mts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,eAAe;IACf,OAAO;IACP,UAAU;IACV,YAAY;IACZ,WAAW;IACX,OAAO;CACC,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,UAAU;IAC3B,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,YAAY;CACf,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,aAAa;IACb,cAAc;IACd,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,eAAe;IACf,GAAG;IACH,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,MAAM;CAIL,CAAC;AAIJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,mBAAmB;IACnB,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,cAAc;IACd,WAAW;IACX,QAAQ;IACR,aAAa;IACb,WAAW;IACX,aAAa;IACb,IAAI;IACJ,IAAI;IACJ,mBAAmB;IACnB,eAAe;IACf,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,qBAAqB;IACrB,GAAG;IACH,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,YAAY;IACZ,OAAO;IACP,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;CACI,CAAC"}
|
package/dist/jsx/child.d.mts
CHANGED
|
@@ -13,8 +13,8 @@ export type Child = Bindable<number | string> | Mountable | readonly Child[];
|
|
|
13
13
|
export declare const mountChild: (child: Child) => readonly ChildNode[];
|
|
14
14
|
export declare const toNodes: (nodes: MountedNodes) => readonly ChildNode[];
|
|
15
15
|
/**
|
|
16
|
-
* Tells a child from any other value, one level deep: the elements of an
|
|
17
|
-
*
|
|
16
|
+
* Tells a child from any other value, one level deep: the elements of an array
|
|
17
|
+
* are checked as they are mounted.
|
|
18
18
|
*/
|
|
19
19
|
export declare const isChild: (value: unknown) => value is Child;
|
|
20
20
|
//# sourceMappingURL=child.d.mts.map
|