foldkit 0.88.1 → 0.90.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/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +3 -11
- package/dist/devTools/overlay.d.ts +3 -3
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +62 -24
- package/dist/devTools/protocol.d.ts +77 -19
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +10 -5
- package/dist/devTools/serialize.d.ts +8 -2
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/serialize.js +11 -2
- package/dist/devTools/store.d.ts +9 -5
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +13 -13
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +2 -2
- package/dist/html/index.d.ts +12 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +20 -4
- package/dist/mount/index.d.ts +64 -21
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/mount/index.js +43 -32
- package/dist/mount/public.d.ts +1 -1
- package/dist/mount/public.d.ts.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +4 -4
- package/dist/test/apps/counter.d.ts +5 -1
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +34 -5
- package/dist/test/apps/mountPanel.d.ts +19 -3
- package/dist/test/apps/mountPanel.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.js +36 -15
- package/dist/test/internal.d.ts +56 -26
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/internal.js +75 -82
- package/dist/test/scene.d.ts +12 -8
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +56 -39
- package/dist/test/story.d.ts +5 -1
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +16 -4
- package/dist/ui/anchor.d.ts +12 -8
- package/dist/ui/anchor.d.ts.map +1 -1
- package/dist/ui/anchor.js +41 -16
- package/dist/ui/combobox/multi.d.ts +1 -7
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/shared.d.ts +14 -5
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +40 -40
- package/dist/ui/combobox/single.d.ts +1 -7
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/listbox/multi.d.ts +1 -7
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/shared.d.ts +12 -3
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +8 -12
- package/dist/ui/listbox/single.d.ts +1 -7
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/menu/index.d.ts +12 -3
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +8 -12
- package/dist/ui/popover/index.d.ts +13 -3
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +22 -15
- package/dist/ui/tooltip/index.d.ts +11 -2
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +10 -10
- package/package.json +1 -1
package/dist/test/internal.js
CHANGED
|
@@ -1,52 +1,14 @@
|
|
|
1
|
-
import { Array,
|
|
1
|
+
import { Array, Equal, Option, Order, Predicate, pipe } from 'effect';
|
|
2
2
|
import { CommandDefinitionTypeId, } from '../command/index.js';
|
|
3
|
+
import { MountDefinitionTypeId } from '../mount/index.js';
|
|
3
4
|
const isCommandDefinitionMatcher = (matcher) => Predicate.hasProperty(matcher, CommandDefinitionTypeId);
|
|
4
|
-
/** Structural deep-equal for Command args. Args are constrained to
|
|
5
|
-
* Schema-typed values (Record<string, unknown>), so primitives, arrays,
|
|
6
|
-
* nested records, and Date values are the value space. Date instances
|
|
7
|
-
* compare by timestamp because Schema's `S.Date` decodes ISO strings to
|
|
8
|
-
* Date objects with no enumerable keys, which would otherwise compare equal
|
|
9
|
-
* for any two distinct timestamps. */
|
|
10
|
-
const argsEqual = (a, b) => {
|
|
11
|
-
if (a === b) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
if (!Predicate.isObjectOrArray(a) || !Predicate.isObjectOrArray(b)) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
if (a instanceof Date) {
|
|
18
|
-
return b instanceof Date && a.getTime() === b.getTime();
|
|
19
|
-
}
|
|
20
|
-
if (b instanceof Date) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
if (Array.isArray(a)) {
|
|
24
|
-
if (!Array.isArray(b) || a.length !== b.length) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
return a.every((item, index) => argsEqual(item, b[index]));
|
|
28
|
-
}
|
|
29
|
-
if (Array.isArray(b)) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
33
|
-
const aRecord = a;
|
|
34
|
-
const bRecord = b;
|
|
35
|
-
/* eslint-enable @typescript-eslint/consistent-type-assertions */
|
|
36
|
-
const aKeys = Object.keys(aRecord);
|
|
37
|
-
const bKeys = Object.keys(bRecord);
|
|
38
|
-
if (aKeys.length !== bKeys.length) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return aKeys.every(key => key in bRecord && argsEqual(aRecord[key], bRecord[key]));
|
|
42
|
-
};
|
|
43
5
|
/** Whether a `matcher` matches a pending Command. Definition matchers match
|
|
44
6
|
* by name. Instance matchers (with declared args) match by name + structural
|
|
45
7
|
* args equality; instance matchers without args match by name. */
|
|
46
8
|
const commandMatches = (matcher, command) => matcher.name === command.name &&
|
|
47
9
|
(isCommandDefinitionMatcher(matcher) ||
|
|
48
10
|
matcher.args === undefined ||
|
|
49
|
-
|
|
11
|
+
Equal.equals(matcher.args, command.args));
|
|
50
12
|
const formatArgs = (args) => args === undefined ? '' : ` ${JSON.stringify(args)}`;
|
|
51
13
|
/** Formats a Command matcher for display in error messages. Definition
|
|
52
14
|
* matchers render as just the name; Instance matchers append the args. */
|
|
@@ -56,6 +18,19 @@ export const formatMatcher = (matcher) => isCommandDefinitionMatcher(matcher)
|
|
|
56
18
|
/** Formats a pending Command for display in error messages. Same shape as
|
|
57
19
|
* `formatMatcher` so failure messages diff visually at a glance. */
|
|
58
20
|
export const formatCommand = (command) => `${command.name}${formatArgs(command.args)}`;
|
|
21
|
+
const isMountDefinitionMatcher = (matcher) => Predicate.hasProperty(matcher, MountDefinitionTypeId);
|
|
22
|
+
/** Whether a `matcher` matches a pending Mount. Definition matchers match by
|
|
23
|
+
* name. Instance matchers (with declared args) match by name + structural
|
|
24
|
+
* args equality; instance matchers without args match by name. */
|
|
25
|
+
export const mountMatches = (matcher, mount) => matcher.name === mount.name &&
|
|
26
|
+
(isMountDefinitionMatcher(matcher) ||
|
|
27
|
+
matcher.args === undefined ||
|
|
28
|
+
Equal.equals(matcher.args, mount.args));
|
|
29
|
+
/** Formats a Mount matcher for display in error messages. Definition
|
|
30
|
+
* matchers render as just the name; Instance matchers append the args. */
|
|
31
|
+
export const formatMountMatcher = (matcher) => isMountDefinitionMatcher(matcher)
|
|
32
|
+
? matcher.name
|
|
33
|
+
: `${matcher.name}${formatArgs(matcher.args)}`;
|
|
59
34
|
/** Resolves the first pending Command that matches the given matcher and
|
|
60
35
|
* feeds its result through update. Returns `undefined` when no pending
|
|
61
36
|
* Command matches. Definition matchers match by name; Instance matchers
|
|
@@ -84,11 +59,10 @@ const matcherFingerprint = (matcher) => isCommandDefinitionMatcher(matcher)
|
|
|
84
59
|
? `def:${matcher.name}`
|
|
85
60
|
: `inst:${matcher.name}:${JSON.stringify(matcher.args ?? null)}`;
|
|
86
61
|
/** Resolves all listed Commands, cascading through any Commands produced by
|
|
87
|
-
* the result.
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* where the latest wins. */
|
|
62
|
+
* the result. Each entry is consumed by exactly one matching dispatch in
|
|
63
|
+
* declaration order; for N identical responses, compose with
|
|
64
|
+
* `Array.makeBy(n, () => [Def, message])`. Across calls, new entries replace
|
|
65
|
+
* any leftover resolvers sharing their fingerprint (latest wins). */
|
|
92
66
|
export const resolveAllInternal = (internal, resolvers) => {
|
|
93
67
|
const newEntries = Array.map(resolvers, resolver => {
|
|
94
68
|
const [matcher, resultMessage] = resolver;
|
|
@@ -103,17 +77,20 @@ export const resolveAllInternal = (internal, resolvers) => {
|
|
|
103
77
|
...internal,
|
|
104
78
|
resolvers: [...survivingExisting, ...newEntries],
|
|
105
79
|
};
|
|
106
|
-
const findNextMatch = (state) => Array.findFirst(state.commands, command =>
|
|
80
|
+
const findNextMatch = (state) => Array.findFirst(state.commands, command => pipe(state.resolvers, Array.findFirstIndex(({ matcher }) => commandMatches(matcher, command)), Option.flatMap(resolverIndex => pipe(state.resolvers, Array.get(resolverIndex), Option.map(entry => ({ entry, resolverIndex }))))));
|
|
107
81
|
for (let depth = 0; depth < MAX_CASCADE_DEPTH; depth++) {
|
|
108
82
|
const matched = findNextMatch(current);
|
|
109
83
|
if (Option.isNone(matched)) {
|
|
110
84
|
break;
|
|
111
85
|
}
|
|
112
|
-
const next = resolveByMatcher(current, matched.value.matcher, matched.value.message);
|
|
86
|
+
const next = resolveByMatcher(current, matched.value.entry.matcher, matched.value.entry.message);
|
|
113
87
|
if (Predicate.isUndefined(next)) {
|
|
114
88
|
break;
|
|
115
89
|
}
|
|
116
|
-
current =
|
|
90
|
+
current = {
|
|
91
|
+
...next,
|
|
92
|
+
resolvers: Array.remove(next.resolvers, matched.value.resolverIndex),
|
|
93
|
+
};
|
|
117
94
|
if (depth === MAX_CASCADE_DEPTH - 1) {
|
|
118
95
|
throw new Error('resolveAll hit the maximum cascade depth (100). ' +
|
|
119
96
|
'This usually means Commands are producing Commands in an infinite cycle.');
|
|
@@ -140,17 +117,15 @@ export const assertHasCommands = (commands, matchers) => {
|
|
|
140
117
|
* matchers compare by name + args. Each matcher must consume exactly one
|
|
141
118
|
* pending Command. */
|
|
142
119
|
export const assertExactCommands = (commands, matchers) => {
|
|
143
|
-
const
|
|
144
|
-
const unmatched =
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
}
|
|
120
|
+
const consumed = new Set();
|
|
121
|
+
const unmatched = Array.filter(matchers, matcher => pipe(commands, Array.findFirstIndex((command, index) => !consumed.has(index) && commandMatches(matcher, command)), Option.match({
|
|
122
|
+
onNone: () => true,
|
|
123
|
+
onSome: index => {
|
|
124
|
+
consumed.add(index);
|
|
125
|
+
return false;
|
|
126
|
+
},
|
|
127
|
+
})));
|
|
128
|
+
const remaining = Array.filter(commands, (_, index) => !consumed.has(index));
|
|
154
129
|
if (Array.isReadonlyArrayNonEmpty(unmatched) ||
|
|
155
130
|
Array.isReadonlyArrayNonEmpty(remaining)) {
|
|
156
131
|
const expected = formatMatcherList(pipe(matchers, Array.map(matcher => formatMatcher(matcher)), Array.sort(Order.String), Array.map((line) => ({ name: line }))));
|
|
@@ -182,14 +157,22 @@ export const assertAllCommandsResolved = (commands) => {
|
|
|
182
157
|
'or resolveAll(...resolvers) to resolve them all at once.');
|
|
183
158
|
}
|
|
184
159
|
};
|
|
185
|
-
const
|
|
160
|
+
const formatPendingMount = ({ name, args, occurrence, }) => {
|
|
161
|
+
const occurrenceSuffix = occurrence === 0 ? '' : ` (#${occurrence + 1})`;
|
|
162
|
+
return `${name}${formatArgs(args)}${occurrenceSuffix}`;
|
|
163
|
+
};
|
|
164
|
+
/** Formats a list of pending Mounts (with args + occurrence suffix where
|
|
165
|
+
* applicable) for display in error messages. Returns " (none)" when
|
|
166
|
+
* empty, mirroring the Command-side formatters. */
|
|
167
|
+
export const formatMountList = (mounts) => Array.match(mounts, {
|
|
186
168
|
onEmpty: () => ' (none)',
|
|
187
|
-
onNonEmpty: nonEmpty => pipe(nonEmpty, Array.map(
|
|
169
|
+
onNonEmpty: nonEmpty => pipe(nonEmpty, Array.map(mount => ` ${formatPendingMount(mount)}`), Array.join('\n')),
|
|
188
170
|
});
|
|
189
|
-
/** Resolves the first pending Mount
|
|
190
|
-
* through update. Returns
|
|
191
|
-
*
|
|
192
|
-
|
|
171
|
+
/** Resolves the first pending Mount that matches the given matcher and feeds
|
|
172
|
+
* its result through update. Returns `undefined` when no pending Mount
|
|
173
|
+
* matches. Definition matchers match by name; Instance matchers match by
|
|
174
|
+
* name + args. */
|
|
175
|
+
export const resolveMountByMatcher = (internal, pendingMounts, matcher, resolverMessage) => pipe(pendingMounts, Array.findFirstIndex(mount => mountMatches(matcher, mount)), Option.match({
|
|
193
176
|
onNone: () => undefined,
|
|
194
177
|
onSome: index => {
|
|
195
178
|
const remaining = Array.remove(pendingMounts, index);
|
|
@@ -210,24 +193,34 @@ export const resolveMountByName = (internal, pendingMounts, mountName, resolverM
|
|
|
210
193
|
};
|
|
211
194
|
},
|
|
212
195
|
}));
|
|
213
|
-
/** Throws if any of the given
|
|
214
|
-
*
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const missing = Array.filter(
|
|
196
|
+
/** Throws if any of the given matchers are missing from the pending mount
|
|
197
|
+
* list. Definition matchers match by name; Instance matchers match by
|
|
198
|
+
* name + structural-equal args. */
|
|
199
|
+
export const assertHasMounts = (pendingMounts, matchers) => {
|
|
200
|
+
const missing = Array.filter(matchers, matcher => !pendingMounts.some(mount => mountMatches(matcher, mount)));
|
|
218
201
|
if (Array.isReadonlyArrayNonEmpty(missing)) {
|
|
219
|
-
const
|
|
220
|
-
throw new Error(`Expected to find Mounts:\n\n${
|
|
202
|
+
const missingFormatted = pipe(missing, Array.map(matcher => ` ${formatMountMatcher(matcher)}`), Array.join('\n'));
|
|
203
|
+
throw new Error(`Expected to find Mounts:\n\n${missingFormatted}\n\n` +
|
|
221
204
|
`But the pending Mounts are:\n\n${formatMountList(pendingMounts)}`);
|
|
222
205
|
}
|
|
223
206
|
};
|
|
224
|
-
/** Throws if the pending Mounts don't match the given
|
|
225
|
-
*
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
207
|
+
/** Throws if the pending Mounts don't match the given matchers exactly. Each
|
|
208
|
+
* matcher must consume exactly one pending Mount. Order-independent.
|
|
209
|
+
* Definition matchers match by name; Instance matchers match by
|
|
210
|
+
* name + structural-equal args. */
|
|
211
|
+
export const assertExactMounts = (pendingMounts, matchers) => {
|
|
212
|
+
const consumed = new Set();
|
|
213
|
+
const unmatched = Array.filter(matchers, matcher => pipe(pendingMounts, Array.findFirstIndex((mount, index) => !consumed.has(index) && mountMatches(matcher, mount)), Option.match({
|
|
214
|
+
onNone: () => true,
|
|
215
|
+
onSome: index => {
|
|
216
|
+
consumed.add(index);
|
|
217
|
+
return false;
|
|
218
|
+
},
|
|
219
|
+
})));
|
|
220
|
+
const leftover = pipe(pendingMounts, Array.filter((_, index) => !consumed.has(index)));
|
|
221
|
+
if (Array.isReadonlyArrayNonEmpty(unmatched) ||
|
|
222
|
+
Array.isReadonlyArrayNonEmpty(leftover)) {
|
|
223
|
+
const expected = pipe(matchers, Array.map(matcher => ` ${formatMountMatcher(matcher)}`), Array.join('\n'));
|
|
231
224
|
throw new Error(`Expected exactly these Mounts:\n\n${expected}\n\n` +
|
|
232
225
|
`But found:\n\n${formatMountList(pendingMounts)}`);
|
|
233
226
|
}
|
|
@@ -244,7 +237,7 @@ export const assertNoUnresolvedMounts = (pendingMounts, context) => {
|
|
|
244
237
|
if (Array.isReadonlyArrayNonEmpty(pendingMounts)) {
|
|
245
238
|
throw new Error(`I found unresolved Mounts ${context}:\n\n${formatMountList(pendingMounts)}\n\n` +
|
|
246
239
|
'Resolve all Mounts before sending the next Message.\n' +
|
|
247
|
-
'Use resolveMount(Definition, ResultMessage) for each one,\n' +
|
|
240
|
+
'Use resolveMount(Definition | instance, ResultMessage) for each one,\n' +
|
|
248
241
|
'or resolveAllMounts(...resolvers) to resolve them all at once.');
|
|
249
242
|
}
|
|
250
243
|
};
|
|
@@ -262,7 +255,7 @@ export const assertAllMountsResolved = (pendingMounts) => {
|
|
|
262
255
|
if (Array.isReadonlyArrayNonEmpty(pendingMounts)) {
|
|
263
256
|
throw new Error(`I found Mounts without resolvers:\n\n${formatMountList(pendingMounts)}\n\n` +
|
|
264
257
|
'Every OnMount in the rendered view needs to be resolved.\n' +
|
|
265
|
-
'Use resolveMount(Definition, ResultMessage) for each one,\n' +
|
|
258
|
+
'Use resolveMount(Definition | instance, ResultMessage) for each one,\n' +
|
|
266
259
|
'or resolveAllMounts(...resolvers) to resolve them all at once.');
|
|
267
260
|
}
|
|
268
261
|
};
|
package/dist/test/scene.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import type { File } from '../file/index.js';
|
|
|
4
4
|
import type { Document, Html, KeyboardModifiers } from '../html/index.js';
|
|
5
5
|
import type { MountDefinition } from '../mount/index.js';
|
|
6
6
|
import type { VNode } from '../vdom.js';
|
|
7
|
-
import type { AnyCommand, CommandMatcher, MountResolver, PendingMount, Resolver } from './internal.js';
|
|
7
|
+
import type { AnyCommand, AnyMount, CommandMatcher, MountMatcher, MountResolver, PendingMount, Resolver } from './internal.js';
|
|
8
8
|
import type { Locator, LocatorAll } from './query.js';
|
|
9
|
-
export type { AnyCommand, MountResolver, PendingMount, Resolver };
|
|
9
|
+
export type { AnyCommand, AnyMount, MountMatcher, MountResolver, PendingMount, Resolver, };
|
|
10
10
|
export { find, findAll, textContent, attr, getByRole, getAllByRole, getByText, getByPlaceholder, getByLabel, getByAltText, getByTitle, getByTestId, getByDisplayValue, role, placeholder, label, altText, title, testId, displayValue, selector, text, within, getAllByText, getAllByLabel, getAllByPlaceholder, getAllByAltText, getAllByTitle, getAllByTestId, getAllByDisplayValue, first, last, nth, filter, } from './query.js';
|
|
11
11
|
export type { Locator, LocatorAll } from './query.js';
|
|
12
12
|
/** Multi-match Locator factories. Each returns a `LocatorAll` that resolves
|
|
@@ -72,7 +72,11 @@ export declare const Command: {
|
|
|
72
72
|
<ResultMessage>(instance: SceneCommandInstance<ResultMessage>, resultMessage: ResultMessage): <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
73
73
|
<ResultMessage, ParentMessage>(instance: SceneCommandInstance<ResultMessage>, resultMessage: ResultMessage, toParentMessage: (message: ResultMessage) => ParentMessage): <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
74
74
|
};
|
|
75
|
-
/** Resolves
|
|
75
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
76
|
+
* Commands the result produces. Each entry resolves exactly one matching
|
|
77
|
+
* dispatch in declaration order; compose with `Array.makeBy` for N
|
|
78
|
+
* identical responses. Resolvers carry across calls; a new entry replaces
|
|
79
|
+
* any leftovers sharing its Definition or Instance shape (latest wins). */
|
|
76
80
|
readonly resolveAll: <R extends ReadonlyArray<unknown>>(...resolvers: { [K in keyof R]: Resolver<R[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
77
81
|
/** Asserts that every given Command is among the pending Commands. */
|
|
78
82
|
readonly expectHas: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
@@ -86,20 +90,20 @@ export declare const Command: {
|
|
|
86
90
|
export declare const Mount: {
|
|
87
91
|
/** Resolves a specific pending Mount with the given result Message. */
|
|
88
92
|
readonly resolve: {
|
|
89
|
-
<Name extends string, ResultMessage>(
|
|
90
|
-
<Name extends string, ResultMessage, ParentMessage>(
|
|
93
|
+
<Name extends string, ResultMessage>(matcher: MountDefinition<Name, ResultMessage> | AnyMount, resultMessage: ResultMessage): <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
94
|
+
<Name extends string, ResultMessage, ParentMessage>(matcher: MountDefinition<Name, ResultMessage> | AnyMount, resultMessage: ResultMessage, toParentMessage: (message: ResultMessage) => ParentMessage): <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
91
95
|
};
|
|
92
96
|
/** Resolves all listed Mounts with their result Messages. */
|
|
93
97
|
readonly resolveAll: <R extends ReadonlyArray<unknown>>(...resolvers: { [K in keyof R]: MountResolver<R[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
94
98
|
/** Asserts that every given Mount is among the pending Mounts. */
|
|
95
|
-
readonly expectHas: (...
|
|
99
|
+
readonly expectHas: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
96
100
|
/** Asserts that the pending Mounts match the given definitions exactly (order-independent, by name). */
|
|
97
|
-
readonly expectExact: (...
|
|
101
|
+
readonly expectExact: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
98
102
|
/** Asserts that there are no pending Mounts. */
|
|
99
103
|
readonly expectNone: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
100
104
|
/** Acknowledges Mounts that disappeared from the rendered tree. Required for
|
|
101
105
|
* every Mount that fires and then unmounts during a scene. */
|
|
102
|
-
readonly expectEnded: (...
|
|
106
|
+
readonly expectEnded: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
103
107
|
};
|
|
104
108
|
/** Runs a function for side effects (e.g. assertions) without breaking the step chain. */
|
|
105
109
|
export declare const tap: <Model, Message, OutMessage = undefined>(f: (simulation: SceneSimulation<Model, Message, OutMessage>) => void) => (simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
package/dist/test/scene.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/test/scene.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/test/scene.ts"],"names":[],"mappings":"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"}
|
package/dist/test/scene.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Array, Effect, Function, Option, Predicate, String as String_, pipe, }
|
|
|
2
2
|
import { dual } from 'effect/Function';
|
|
3
3
|
import { FOLDKIT_MOUNT_KEY, FileHandlerSymbol } from '../html/index.js';
|
|
4
4
|
import { Dispatch } from '../runtime/index.js';
|
|
5
|
-
import { assertAllCommandsResolved, assertAllMountsResolved, assertAllUnmountsAcknowledged, assertExactCommands, assertExactMounts, assertHasCommands, assertHasMounts, assertNoUnacknowledgedUnmounts, assertNoUnresolvedCommands, assertNoUnresolvedMounts, assertZeroCommands, assertZeroMounts, formatCommand, formatMatcher, resolveAllInternal, resolveByMatcher,
|
|
5
|
+
import { assertAllCommandsResolved, assertAllMountsResolved, assertAllUnmountsAcknowledged, assertExactCommands, assertExactMounts, assertHasCommands, assertHasMounts, assertNoUnacknowledgedUnmounts, assertNoUnresolvedCommands, assertNoUnresolvedMounts, assertZeroCommands, assertZeroMounts, formatCommand, formatMatcher, formatMountList, formatMountMatcher, mountMatches, resolveAllInternal, resolveByMatcher, resolveMountByMatcher, } from './internal.js';
|
|
6
6
|
import { accessibleDescription, accessibleName, ancestorsOf, attr, resolveTarget, selector, textContent, within, } from './query.js';
|
|
7
7
|
import { allAltText, allDisplayValue, allLabel, allPlaceholder, allRole, allSelector, allTestId, allText, allTitle, } from './query.js';
|
|
8
8
|
export { find, findAll, textContent, attr, getByRole, getAllByRole, getByText, getByPlaceholder, getByLabel, getByAltText, getByTitle, getByTestId, getByDisplayValue, role, placeholder, label, altText, title, testId, displayValue, selector, text, within, getAllByText, getAllByLabel, getAllByPlaceholder, getAllByAltText, getAllByTitle, getAllByTestId, getAllByDisplayValue, first, last, nth, filter, } from './query.js';
|
|
@@ -35,7 +35,9 @@ const collectRenderedSlots = (vnode) => {
|
|
|
35
35
|
if (marker !== undefined) {
|
|
36
36
|
const occurrence = counts.get(marker.name) ?? 0;
|
|
37
37
|
counts.set(marker.name, occurrence + 1);
|
|
38
|
-
slots.push(
|
|
38
|
+
slots.push(marker.args === undefined
|
|
39
|
+
? { name: marker.name, occurrence }
|
|
40
|
+
: { name: marker.name, args: marker.args, occurrence });
|
|
39
41
|
}
|
|
40
42
|
for (const child of node.children ?? []) {
|
|
41
43
|
if (typeof child !== 'string') {
|
|
@@ -280,7 +282,15 @@ const resolveCommand = (matcher, resultMessage, toParentMessage) => (simulation)
|
|
|
280
282
|
return next;
|
|
281
283
|
/* eslint-enable @typescript-eslint/consistent-type-assertions */
|
|
282
284
|
};
|
|
283
|
-
/** Resolves
|
|
285
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
286
|
+
* Commands the result produces. Each entry is consumed by exactly one
|
|
287
|
+
* matching dispatch in declaration order, so
|
|
288
|
+
* `[Def, m1], [Def, m2], [Def, m3]` reads as a sequence of three responses.
|
|
289
|
+
* For N identical responses, compose with
|
|
290
|
+
* `Array.makeBy(n, () => [Def, message])`. Resolvers carry across
|
|
291
|
+
* `resolveAll` calls: unused entries can match later dispatches, and a new
|
|
292
|
+
* entry replaces any leftover resolvers sharing its Definition or Instance
|
|
293
|
+
* shape (latest wins). */
|
|
284
294
|
const resolveAllCommands = (...resolvers) => (simulation) =>
|
|
285
295
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
286
296
|
resolveAllInternal(toInternal(simulation), resolvers);
|
|
@@ -302,23 +312,23 @@ const expectNoCommandsStep = () => (simulation) => {
|
|
|
302
312
|
assertZeroCommands(toInternal(simulation).commands);
|
|
303
313
|
return simulation;
|
|
304
314
|
};
|
|
305
|
-
/** Resolves a specific pending Mount with the given result Message.
|
|
306
|
-
*
|
|
315
|
+
/** Resolves a specific pending Mount with the given result Message. Accepts
|
|
316
|
+
* either a Mount Definition (matches by name) or a Mount instance produced
|
|
317
|
+
* by calling a Definition (matches by name + structural-equal args). The
|
|
318
|
+
* first pending mount that matches is resolved. Mirrors `resolve` for
|
|
307
319
|
* Commands; the optional `toParentMessage` lifter matches `Mount.mapMessage`
|
|
308
320
|
* when a child Submodel mount is observed in a parent's view. */
|
|
309
|
-
const resolveMount = (
|
|
321
|
+
const resolveMount = (matcher, resultMessage, toParentMessage) => (simulation) => {
|
|
310
322
|
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
311
323
|
const internal = toInternal(simulation);
|
|
312
324
|
const messageForUpdate = (Predicate.isUndefined(toParentMessage)
|
|
313
325
|
? resultMessage
|
|
314
326
|
: toParentMessage(resultMessage));
|
|
315
|
-
const next =
|
|
327
|
+
const next = resolveMountByMatcher(internal, internal.mounts, matcher, messageForUpdate);
|
|
316
328
|
if (Predicate.isUndefined(next)) {
|
|
317
|
-
throw new Error(`I tried to resolve Mount
|
|
318
|
-
`Pending Mounts:\n${
|
|
319
|
-
|
|
320
|
-
: ' (none)'}\n\n` +
|
|
321
|
-
'Make sure the rendered view contains an OnMount with this name.');
|
|
329
|
+
throw new Error(`I tried to resolve Mount ${formatMountMatcher(matcher)} but it wasn't in the pending Mounts.\n\n` +
|
|
330
|
+
`Pending Mounts:\n${formatMountList(internal.mounts)}\n\n` +
|
|
331
|
+
'Make sure the rendered view contains an OnMount with this name and (when matching by instance) matching args.');
|
|
322
332
|
}
|
|
323
333
|
const resolvedKeys = new Set(Array.map(next.pendingMounts, slot => slotKey(slot)));
|
|
324
334
|
const updatedSlots = Array.map(internal.mountSlots, (state) => {
|
|
@@ -328,7 +338,7 @@ const resolveMount = (definition, resultMessage, toParentMessage) => (simulation
|
|
|
328
338
|
const key = slotKey(state.slot);
|
|
329
339
|
return resolvedKeys.has(key)
|
|
330
340
|
? state
|
|
331
|
-
: state.slot.name ===
|
|
341
|
+
: state.slot.name === matcher.name
|
|
332
342
|
? { slot: state.slot, status: RESOLVED }
|
|
333
343
|
: state;
|
|
334
344
|
});
|
|
@@ -343,24 +353,26 @@ const resolveMount = (definition, resultMessage, toParentMessage) => (simulation
|
|
|
343
353
|
* in the order listed; each resolution feeds its Message through update
|
|
344
354
|
* before the next is resolved. */
|
|
345
355
|
const resolveAllMounts = (...resolvers) => (simulation) => Array.reduce(resolvers, simulation, (current, resolver) => {
|
|
346
|
-
const [
|
|
356
|
+
const [matcher, resultMessage] = resolver;
|
|
347
357
|
const lift = resolver.length === 3
|
|
348
358
|
? /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
349
359
|
resolver[2]
|
|
350
360
|
: undefined;
|
|
351
361
|
return Predicate.isUndefined(lift)
|
|
352
|
-
? resolveMount(
|
|
353
|
-
: resolveMount(
|
|
362
|
+
? resolveMount(matcher, resultMessage)(current)
|
|
363
|
+
: resolveMount(matcher, resultMessage, lift)(current);
|
|
354
364
|
});
|
|
355
|
-
/** Asserts that every given Mount is among the pending Mounts.
|
|
356
|
-
|
|
357
|
-
|
|
365
|
+
/** Asserts that every given Mount is among the pending Mounts. Accepts Mount
|
|
366
|
+
* Definitions (match by name) and Mount instances (match by name + args). */
|
|
367
|
+
const expectHasMountsStep = (...matchers) => (simulation) => {
|
|
368
|
+
assertHasMounts(toInternal(simulation).mounts, matchers);
|
|
358
369
|
return simulation;
|
|
359
370
|
};
|
|
360
|
-
/** Asserts that the pending Mounts match the given
|
|
361
|
-
* (order-independent
|
|
362
|
-
|
|
363
|
-
|
|
371
|
+
/** Asserts that the pending Mounts match the given matchers exactly
|
|
372
|
+
* (order-independent). Accepts Mount Definitions (match by name) and Mount
|
|
373
|
+
* instances (match by name + args). */
|
|
374
|
+
const expectExactMountsStep = (...matchers) => (simulation) => {
|
|
375
|
+
assertExactMounts(toInternal(simulation).mounts, matchers);
|
|
364
376
|
return simulation;
|
|
365
377
|
};
|
|
366
378
|
/** Asserts that there are no pending Mounts. */
|
|
@@ -371,27 +383,28 @@ const expectNoMountsStep = () => (simulation) => {
|
|
|
371
383
|
/** Acknowledges that the given Mounts disappeared from the rendered tree.
|
|
372
384
|
* Required for every Mount that fires and then unmounts during a scene,
|
|
373
385
|
* whether or not it was resolved first. Without this, the scene throws at
|
|
374
|
-
* the end of the test for any unacknowledged unmount.
|
|
375
|
-
|
|
386
|
+
* the end of the test for any unacknowledged unmount. Mount matchers may
|
|
387
|
+
* be Definitions or instances; instances acknowledge a specific args shape. */
|
|
388
|
+
const expectEndedMountsStep = (...matchers) => (simulation) => {
|
|
376
389
|
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
377
390
|
const internal = toInternal(simulation);
|
|
378
|
-
const
|
|
391
|
+
const remaining = Array.fromIterable(matchers);
|
|
379
392
|
const updatedSlots = [];
|
|
380
393
|
for (const state of internal.mountSlots) {
|
|
381
|
-
|
|
394
|
+
const maybeMatchIndex = Array.findFirstIndex(remaining, matcher => state.status._tag === 'Ended' &&
|
|
382
395
|
!state.status.acknowledged &&
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
}
|
|
396
|
+
mountMatches(matcher, state.slot));
|
|
397
|
+
Option.match(maybeMatchIndex, {
|
|
398
|
+
onNone: () => updatedSlots.push(state),
|
|
399
|
+
onSome: matchIndex => {
|
|
400
|
+
remaining.splice(matchIndex, 1);
|
|
401
|
+
updatedSlots.push({ slot: state.slot, status: ENDED_ACKNOWLEDGED });
|
|
402
|
+
},
|
|
403
|
+
});
|
|
391
404
|
}
|
|
392
|
-
if (Array.isReadonlyArrayNonEmpty(
|
|
405
|
+
if (Array.isReadonlyArrayNonEmpty(remaining)) {
|
|
393
406
|
throw new Error(`I tried to acknowledge ended Mounts but some haven't unmounted:\n\n` +
|
|
394
|
-
pipe(
|
|
407
|
+
pipe(remaining, Array.map(matcher => ` ${formatMountMatcher(matcher)}`), Array.join('\n')) +
|
|
395
408
|
'\n\nUse Scene.Mount.expectEnded only after the Mount has disappeared from the rendered tree.');
|
|
396
409
|
}
|
|
397
410
|
return {
|
|
@@ -405,7 +418,11 @@ const expectEndedMountsStep = (...definitions) => (simulation) => {
|
|
|
405
418
|
export const Command = {
|
|
406
419
|
/** Resolves a specific pending Command with the given result Message. */
|
|
407
420
|
resolve: resolveCommand,
|
|
408
|
-
/** Resolves
|
|
421
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
422
|
+
* Commands the result produces. Each entry resolves exactly one matching
|
|
423
|
+
* dispatch in declaration order; compose with `Array.makeBy` for N
|
|
424
|
+
* identical responses. Resolvers carry across calls; a new entry replaces
|
|
425
|
+
* any leftovers sharing its Definition or Instance shape (latest wins). */
|
|
409
426
|
resolveAll: resolveAllCommands,
|
|
410
427
|
/** Asserts that every given Command is among the pending Commands. */
|
|
411
428
|
expectHas: expectHasCommandsStep,
|
|
@@ -653,7 +670,7 @@ export const focus = (target) => (simulation) => invokeAndCapture(simulation, ta
|
|
|
653
670
|
});
|
|
654
671
|
/** Simulates a blur event on the element matching the target. */
|
|
655
672
|
export const blur = (target) => (simulation) => invokeAndCapture(simulation, target, 'blur', handler => {
|
|
656
|
-
handler();
|
|
673
|
+
handler({ relatedTarget: null });
|
|
657
674
|
});
|
|
658
675
|
/** Simulates a change event on the element matching the target.
|
|
659
676
|
* Dual: `change(target, value)` or `change(value)` for data-last piping. */
|
package/dist/test/story.d.ts
CHANGED
|
@@ -41,7 +41,11 @@ export declare const Command: {
|
|
|
41
41
|
<ResultMessage>(instance: AnyCommandInstance<ResultMessage>, resultMessage: ResultMessage): <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
42
42
|
<ResultMessage, ParentMessage>(instance: AnyCommandInstance<ResultMessage>, resultMessage: ResultMessage, toParentMessage: (message: ResultMessage) => ParentMessage): <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
43
43
|
};
|
|
44
|
-
/** Resolves
|
|
44
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
45
|
+
* Commands the result produces. Each entry resolves exactly one matching
|
|
46
|
+
* dispatch in declaration order; compose with `Array.makeBy` for N
|
|
47
|
+
* identical responses. Resolvers carry across calls; a new entry replaces
|
|
48
|
+
* any leftovers sharing its Definition or Instance shape (latest wins). */
|
|
45
49
|
readonly resolveAll: <R extends ReadonlyArray<unknown>>(...resolvers: { [K in keyof R]: Resolver<R[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
46
50
|
/** Asserts that every given Command is among the pending Commands. */
|
|
47
51
|
readonly expectHas: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
package/dist/test/story.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/test/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/test/story.ts"],"names":[],"mappings":"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"}
|