@typeonce/effect-machine 0.1.0 → 0.2.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/NOTICE +0 -2
- package/README.md +347 -52
- package/dist/AtomMachine.d.ts +187 -10
- package/dist/AtomMachine.d.ts.map +1 -1
- package/dist/AtomMachine.js +145 -18
- package/dist/AtomMachine.js.map +1 -1
- package/dist/ClusterMachine.d.ts +15 -5
- package/dist/ClusterMachine.d.ts.map +1 -1
- package/dist/ClusterMachine.js.map +1 -1
- package/dist/Machine.d.ts +410 -94
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +105 -47
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machineModel.d.ts +6 -1
- package/dist/internal/machineModel.d.ts.map +1 -1
- package/dist/internal/machineModel.js +68 -15
- package/dist/internal/machineModel.js.map +1 -1
- package/dist/internal/machinePlanner.d.ts +15 -5
- package/dist/internal/machinePlanner.d.ts.map +1 -1
- package/dist/internal/machinePlanner.js +75 -48
- package/dist/internal/machinePlanner.js.map +1 -1
- package/dist/internal/machineProcess.d.ts +2 -2
- package/dist/internal/machineProcess.d.ts.map +1 -1
- package/dist/internal/machineProcess.js +22 -11
- package/dist/internal/machineProcess.js.map +1 -1
- package/dist/internal/machineRuntime.d.ts +11 -5
- package/dist/internal/machineRuntime.d.ts.map +1 -1
- package/dist/internal/machineRuntime.js +24 -13
- package/dist/internal/machineRuntime.js.map +1 -1
- package/docs/agent-guide.md +585 -0
- package/package.json +18 -21
package/dist/Machine.js
CHANGED
|
@@ -121,6 +121,7 @@ const cloneWithHandlers = (self, handlers) => {
|
|
|
121
121
|
const machine = Object.create(Proto);
|
|
122
122
|
machine.states = self.states;
|
|
123
123
|
machine.events = self.events;
|
|
124
|
+
machine.internalEvents = self.internalEvents;
|
|
124
125
|
machine.emits = self.emits;
|
|
125
126
|
machine.input = self.input;
|
|
126
127
|
machine.id = self.id;
|
|
@@ -129,6 +130,7 @@ const cloneWithHandlers = (self, handlers) => {
|
|
|
129
130
|
machine.makeTargetBuilder = self.makeTargetBuilder;
|
|
130
131
|
machine.handlers = handlers;
|
|
131
132
|
machine.handle = makeHandle(machine);
|
|
133
|
+
Model.copyProtocol(self, machine);
|
|
132
134
|
return machine;
|
|
133
135
|
};
|
|
134
136
|
const flattenHandlers = (handlers, states, prefix, config) => {
|
|
@@ -342,31 +344,6 @@ const makeTargetBuilder = (states, stateNodes) => {
|
|
|
342
344
|
full
|
|
343
345
|
});
|
|
344
346
|
};
|
|
345
|
-
const getSnapshotByPath = (snapshot, path, parents) => {
|
|
346
|
-
if (snapshot.path === path) {
|
|
347
|
-
return Option.some(snapshot);
|
|
348
|
-
}
|
|
349
|
-
if (!path.startsWith(`${snapshot.path}.`)) {
|
|
350
|
-
return Option.none();
|
|
351
|
-
}
|
|
352
|
-
if (parents !== undefined) {
|
|
353
|
-
parents[snapshot.path] = snapshot.value;
|
|
354
|
-
}
|
|
355
|
-
if (hasProperty(snapshot, "state") && Model.isSnapshot(snapshot.state)) {
|
|
356
|
-
return getSnapshotByPath(snapshot.state, path, parents);
|
|
357
|
-
}
|
|
358
|
-
if (hasProperty(snapshot, "states") && typeof snapshot.states === "object" && snapshot.states !== null) {
|
|
359
|
-
for (const child of Object.values(snapshot.states)) {
|
|
360
|
-
if (Model.isSnapshot(child)) {
|
|
361
|
-
const result = getSnapshotByPath(child, path, parents);
|
|
362
|
-
if (Option.isSome(result)) {
|
|
363
|
-
return result;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
return Option.none();
|
|
369
|
-
};
|
|
370
347
|
/**
|
|
371
348
|
* Defines a state tree while preserving literal state paths.
|
|
372
349
|
*
|
|
@@ -385,7 +362,7 @@ const getSnapshotByPath = (snapshot, path, parents) => {
|
|
|
385
362
|
*
|
|
386
363
|
* ```ts
|
|
387
364
|
* import { Schema } from "effect"
|
|
388
|
-
* import { Machine } from "effect
|
|
365
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
389
366
|
*
|
|
390
367
|
* class Idle extends Schema.TaggedClass<Idle>("Idle")("Idle", {}) {}
|
|
391
368
|
*
|
|
@@ -404,13 +381,13 @@ const getSnapshotByPath = (snapshot, path, parents) => {
|
|
|
404
381
|
export const defineStates = (states, ..._validation) => ({
|
|
405
382
|
states: states,
|
|
406
383
|
initial: makeSnapshotBuilder(states, { mode: "initial", prefix: "" }),
|
|
407
|
-
get: ((snapshot, path) => getSnapshotByPath(snapshot, path).pipe(Option.map((snapshot) => snapshot.value))),
|
|
384
|
+
get: ((snapshot, path) => Model.getSnapshotByPath(snapshot, path).pipe(Option.map((snapshot) => snapshot.value))),
|
|
408
385
|
getWithParents: ((snapshot, path) => {
|
|
409
386
|
const parents = {};
|
|
410
|
-
return getSnapshotByPath(snapshot, path, parents).pipe(Option.map((snapshot) => ({ value: snapshot.value, parents })));
|
|
387
|
+
return Model.getSnapshotByPath(snapshot, path, parents).pipe(Option.map((snapshot) => ({ value: snapshot.value, parents })));
|
|
411
388
|
}),
|
|
412
|
-
getSnapshot: getSnapshotByPath,
|
|
413
|
-
matches: (snapshot, path) => Option.isSome(getSnapshotByPath(snapshot, path))
|
|
389
|
+
getSnapshot: Model.getSnapshotByPath,
|
|
390
|
+
matches: (snapshot, path) => Option.isSome(Model.getSnapshotByPath(snapshot, path))
|
|
414
391
|
});
|
|
415
392
|
/**
|
|
416
393
|
* Creates a schema-first machine definition.
|
|
@@ -423,11 +400,16 @@ export const defineStates = (states, ..._validation) => ({
|
|
|
423
400
|
* `defineStates` or is passed inline. Call `handle` on the returned definition
|
|
424
401
|
* to implement state behavior with ordinary TypeScript control flow.
|
|
425
402
|
*
|
|
403
|
+
* Schemas in `events` define the public input protocol. Schemas in
|
|
404
|
+
* `internalEvents` are added to the complete handler protocol for invoke
|
|
405
|
+
* results, child emissions, and other machine-local deliveries. Their tags
|
|
406
|
+
* must be disjoint.
|
|
407
|
+
*
|
|
426
408
|
* **Example** (Typed counter machine)
|
|
427
409
|
*
|
|
428
410
|
* ```ts
|
|
429
411
|
* import { Schema } from "effect"
|
|
430
|
-
* import { Machine } from "effect
|
|
412
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
431
413
|
*
|
|
432
414
|
* class Count extends Schema.TaggedClass<Count>("Count")("Count", {
|
|
433
415
|
* value: Schema.Number
|
|
@@ -461,6 +443,7 @@ export const make = (config, ..._validation) => {
|
|
|
461
443
|
const self = Object.create(Proto);
|
|
462
444
|
self.states = config.states;
|
|
463
445
|
self.events = config.events;
|
|
446
|
+
self.internalEvents = config.internalEvents ?? [];
|
|
464
447
|
self.emits = config.emits ?? [];
|
|
465
448
|
self.input = config.input;
|
|
466
449
|
self.id = config.id;
|
|
@@ -469,6 +452,7 @@ export const make = (config, ..._validation) => {
|
|
|
469
452
|
self.makeTargetBuilder = makeTargetBuilder(config.states, self.stateNodes);
|
|
470
453
|
self.handlers = Object.create(null);
|
|
471
454
|
self.handle = makeHandle(self);
|
|
455
|
+
Model.setProtocol(self);
|
|
472
456
|
return self;
|
|
473
457
|
};
|
|
474
458
|
/**
|
|
@@ -538,6 +522,8 @@ export const decodeSnapshot = Model.decodeSnapshot;
|
|
|
538
522
|
* Invoked child processes run while their owning state is active and are
|
|
539
523
|
* stopped before the state exits. An unrecovered child failure fails the owning
|
|
540
524
|
* machine; recover inside the child Effect when failure should become an event.
|
|
525
|
+
* The `id` is a state-local lifecycle key, not a communication address. To
|
|
526
|
+
* send events to the invocation, pass a typed `childAddress` as `address`.
|
|
541
527
|
* The `src` callback is intentionally independent from its parent state. When
|
|
542
528
|
* construction depends on the typed state, lifecycle event, or runtime, use
|
|
543
529
|
* the state config factory form `invoke: (context) => Machine.invoke(...)` and
|
|
@@ -547,7 +533,7 @@ export const decodeSnapshot = Model.decodeSnapshot;
|
|
|
547
533
|
*
|
|
548
534
|
* ```ts
|
|
549
535
|
* import { Effect, Schema } from "effect"
|
|
550
|
-
* import { Machine } from "effect
|
|
536
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
551
537
|
*
|
|
552
538
|
* class Loaded extends Schema.TaggedClass<Loaded>("Loaded")("Loaded", {
|
|
553
539
|
* value: Schema.String
|
|
@@ -565,6 +551,64 @@ export const decodeSnapshot = Model.decodeSnapshot;
|
|
|
565
551
|
* @since 4.0.0
|
|
566
552
|
*/
|
|
567
553
|
export const invoke = (config) => ({ ...config, [InvokeTypeId]: undefined });
|
|
554
|
+
/**
|
|
555
|
+
* Invokes one Effect and maps its typed outcome into machine-local events.
|
|
556
|
+
*
|
|
557
|
+
* **Details**
|
|
558
|
+
*
|
|
559
|
+
* This is the high-level one-shot counterpart to `invoke`. Success and typed
|
|
560
|
+
* failure values are mapped independently, so callers do not need to recover
|
|
561
|
+
* an Effect into a common event union by hand. Defects and interruption remain
|
|
562
|
+
* failures of the owning machine.
|
|
563
|
+
*
|
|
564
|
+
* Declare mapped outcomes in `internalEvents` unless they are also legitimate
|
|
565
|
+
* public commands.
|
|
566
|
+
*
|
|
567
|
+
* @see {@link invoke} for arbitrary child process logic.
|
|
568
|
+
* @see {@link after} for a state-scoped delayed event.
|
|
569
|
+
* @category constructors
|
|
570
|
+
* @since 4.0.0
|
|
571
|
+
*/
|
|
572
|
+
export const invokeEffect = (config) => ((config) => invoke({
|
|
573
|
+
id: config.id,
|
|
574
|
+
src: () => effect(config.onFailure === undefined
|
|
575
|
+
? Effect.map(config.effect, config.onSuccess)
|
|
576
|
+
: Effect.matchEffect(config.effect, {
|
|
577
|
+
onFailure: (error) => Effect.succeed(config.onFailure(error)),
|
|
578
|
+
onSuccess: (value) => Effect.succeed(config.onSuccess(value))
|
|
579
|
+
}))
|
|
580
|
+
}))(config);
|
|
581
|
+
/**
|
|
582
|
+
* Creates a cancellable state-scoped delayed event.
|
|
583
|
+
*
|
|
584
|
+
* The timer starts when its owning state is entered and is interrupted when
|
|
585
|
+
* that state exits. The delayed value should normally be declared in
|
|
586
|
+
* `internalEvents`.
|
|
587
|
+
*
|
|
588
|
+
* @category constructors
|
|
589
|
+
* @since 4.0.0
|
|
590
|
+
*/
|
|
591
|
+
export const after = (duration, event, options) => invoke({
|
|
592
|
+
id: options?.id ?? `Machine.after:${String(event._tag)}`,
|
|
593
|
+
src: () => effect(Effect.as(Effect.sleep(duration), event))
|
|
594
|
+
});
|
|
595
|
+
/**
|
|
596
|
+
* Constructs another tagged case from compatible source fields.
|
|
597
|
+
*
|
|
598
|
+
* The target must be one tagged struct or tagged class whose discriminator is
|
|
599
|
+
* supplied by its constructor. Union wrappers are rejected because their
|
|
600
|
+
* `make` operation cannot select a member after the source discriminator has
|
|
601
|
+
* been discarded. Missing or incompatible required target fields must be
|
|
602
|
+
* supplied by the patch, and the target schema's normal `make` validation
|
|
603
|
+
* remains authoritative at runtime.
|
|
604
|
+
*
|
|
605
|
+
* @category constructors
|
|
606
|
+
* @since 4.0.0
|
|
607
|
+
*/
|
|
608
|
+
export const retag = (target, source, ...args) => {
|
|
609
|
+
const { _tag: _, ...fields } = source;
|
|
610
|
+
return target.make({ ...fields, ...(args[0] ?? {}) });
|
|
611
|
+
};
|
|
568
612
|
/**
|
|
569
613
|
* Creates an invoked child process from a complete statechart machine.
|
|
570
614
|
*
|
|
@@ -594,7 +638,8 @@ export const invokeMachine = ((config) => {
|
|
|
594
638
|
const machine = config.child.machine;
|
|
595
639
|
return {
|
|
596
640
|
id: config.child.id,
|
|
597
|
-
|
|
641
|
+
address: config.child.id,
|
|
642
|
+
descriptor: config.child,
|
|
598
643
|
src: () => machine.input === undefined
|
|
599
644
|
? internalProcess.toProcessLogic(machine)
|
|
600
645
|
: internalProcess.toProcessLogic(machine, config.input),
|
|
@@ -664,13 +709,14 @@ export const plan = internalPlanner.plan;
|
|
|
664
709
|
* The action's error and service requirements are retained in the machine
|
|
665
710
|
* type without becoming requirements of `plan` or `planInitial`. The managed
|
|
666
711
|
* runtime executes staged actions sequentially before publishing the planned
|
|
667
|
-
* state.
|
|
712
|
+
* state. Pass a second argument when the planning Effect should return that
|
|
713
|
+
* value after staging.
|
|
668
714
|
*
|
|
669
715
|
* **Example** (Typed staged action)
|
|
670
716
|
*
|
|
671
717
|
* ```ts
|
|
672
718
|
* import { Context, Effect } from "effect"
|
|
673
|
-
* import { Machine } from "effect
|
|
719
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
674
720
|
*
|
|
675
721
|
* class Audit extends Context.Service<Audit, {
|
|
676
722
|
* readonly write: Effect.Effect<void, "AuditError">
|
|
@@ -685,7 +731,10 @@ export const plan = internalPlanner.plan;
|
|
|
685
731
|
* @category combinators
|
|
686
732
|
* @since 4.0.0
|
|
687
733
|
*/
|
|
688
|
-
export const action = (effect) =>
|
|
734
|
+
export const action = ((effect, ...next) => {
|
|
735
|
+
const staged = internalPlanner.action(effect);
|
|
736
|
+
return next.length === 0 ? staged : Effect.as(staged, next[0]);
|
|
737
|
+
});
|
|
689
738
|
const processLocal = (operation) => Effect.die(new ProcessLocalErrorValue({ operation }));
|
|
690
739
|
const standaloneProcessRuntime = internalRuntime.MachineRuntime.of({
|
|
691
740
|
self: {
|
|
@@ -756,7 +805,7 @@ export const runtime = () => internalPlanner.runtime();
|
|
|
756
805
|
*
|
|
757
806
|
* ```ts
|
|
758
807
|
* import { Effect, Schema } from "effect"
|
|
759
|
-
* import { Machine } from "effect
|
|
808
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
760
809
|
*
|
|
761
810
|
* class LoadFailed extends Schema.TaggedClass<LoadFailed>("LoadFailed")("LoadFailed", {
|
|
762
811
|
* reason: Schema.String
|
|
@@ -835,20 +884,29 @@ export const transition = (initial, transition) => logic({
|
|
|
835
884
|
run: ({ receive, updateState }) => receive.pipe(Effect.flatMap((event) => updateState((state) => transition(state, event))), Effect.forever)
|
|
836
885
|
});
|
|
837
886
|
/**
|
|
838
|
-
* Creates a typed
|
|
887
|
+
* Creates a typed descriptor for a complete child machine.
|
|
839
888
|
*
|
|
840
|
-
*
|
|
889
|
+
* Descriptors identify a child by id and machine identity, so independently
|
|
890
|
+
* constructed descriptors for the same pair address the same invoked child.
|
|
891
|
+
*
|
|
892
|
+
* @category constructors
|
|
893
|
+
* @since 4.0.0
|
|
894
|
+
*/
|
|
895
|
+
export const child = (id, machine) => ({
|
|
896
|
+
[ChildMachineTypeId]: ChildMachineTypeId,
|
|
897
|
+
id,
|
|
898
|
+
machine
|
|
899
|
+
});
|
|
900
|
+
/**
|
|
901
|
+
* Creates a typed parent-local address for lower-level child process logic.
|
|
841
902
|
*
|
|
842
|
-
*
|
|
843
|
-
* `
|
|
844
|
-
* creates an event-only address for lower-level process logic.
|
|
903
|
+
* The default event protocol is `never`; provide an event type before using
|
|
904
|
+
* the address with `spawn`, `invoke`, or `sendTo`.
|
|
845
905
|
*
|
|
846
906
|
* @category constructors
|
|
847
907
|
* @since 4.0.0
|
|
848
908
|
*/
|
|
849
|
-
export const
|
|
850
|
-
? id
|
|
851
|
-
: { [ChildMachineTypeId]: ChildMachineTypeId, id, machine });
|
|
909
|
+
export const childAddress = (id) => id;
|
|
852
910
|
/**
|
|
853
911
|
* Spawns a child process owned by the currently running machine.
|
|
854
912
|
*
|
|
@@ -876,14 +934,14 @@ export const spawn = ((logic, options) => Effect.flatMap(internalRuntime.Machine
|
|
|
876
934
|
* @category runtime
|
|
877
935
|
* @since 4.0.0
|
|
878
936
|
*/
|
|
879
|
-
export const sendTo = ((child, event) => Effect.flatMap(internalRuntime.MachineRuntime, (runtime) => runtime.sendTo(
|
|
937
|
+
export const sendTo = ((child, event) => Effect.flatMap(internalRuntime.MachineRuntime, (runtime) => runtime.sendTo(child, event)));
|
|
880
938
|
/**
|
|
881
939
|
* Stops a named child process of the running machine.
|
|
882
940
|
*
|
|
883
941
|
* @category runtime
|
|
884
942
|
* @since 4.0.0
|
|
885
943
|
*/
|
|
886
|
-
export const stopChild = ((child) => Effect.flatMap(internalRuntime.MachineRuntime, (runtime) => runtime.stopChild(
|
|
944
|
+
export const stopChild = ((child) => Effect.flatMap(internalRuntime.MachineRuntime, (runtime) => runtime.stopChild(child)));
|
|
887
945
|
/**
|
|
888
946
|
* Returns a stream of terminal lifecycle outcomes for a running machine.
|
|
889
947
|
*
|
package/dist/Machine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @since 4.0.0
|
|
5
5
|
*/
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
7
8
|
import * as Schema from "effect/Schema";
|
|
8
9
|
import type { Machine } from "../Machine.js";
|
|
9
10
|
import { MachineSchemaDecodeError, MachineSchemaEncodeError } from "./machineErrors.js";
|
|
@@ -21,6 +22,7 @@ export declare const makeTarget: <const States extends Machine.StateSchemas, con
|
|
|
21
22
|
}) => Machine.Target<States, StateId>;
|
|
22
23
|
export declare const isTarget: (u: unknown) => u is Machine.Target<any, any>;
|
|
23
24
|
export declare const isSnapshot: (u: unknown) => u is Machine.AtomicSnapshot<string, unknown>;
|
|
25
|
+
export declare const getSnapshotByPath: (snapshot: Machine.AtomicSnapshot<string, unknown>, path: string, parents?: Record<string, unknown>) => Option.Option<Machine.AtomicSnapshot<string, unknown>>;
|
|
24
26
|
export interface ActiveConfiguration {
|
|
25
27
|
readonly active: ReadonlySet<string>;
|
|
26
28
|
readonly values: ReadonlyMap<string, unknown>;
|
|
@@ -38,8 +40,10 @@ export interface DecodeBoundaryOptions {
|
|
|
38
40
|
interface CompletionResult extends FinalCompletion {
|
|
39
41
|
readonly isNew: boolean;
|
|
40
42
|
}
|
|
43
|
+
export declare const setProtocol: (machine: Machine.Any) => void;
|
|
44
|
+
export declare const copyProtocol: (source: Machine.Any, target: Machine.Any) => void;
|
|
41
45
|
export declare const getEventName: (event: unknown) => string | undefined;
|
|
42
|
-
export declare const decodeBoundary: <A>(machine: Machine.Any, schema: Schema.Top, value: unknown, options: DecodeBoundaryOptions) => Effect.Effect<A, MachineSchemaDecodeError
|
|
46
|
+
export declare const decodeBoundary: <A>(machine: Machine.Any, schema: Schema.Top, value: unknown, options: DecodeBoundaryOptions) => Effect.Effect<A, MachineSchemaDecodeError>;
|
|
43
47
|
export declare const decodeInput: <Input extends Schema.Top>(machine: Machine.Any, schema: Input, value: unknown) => Effect.Effect<Input["Type"], MachineSchemaDecodeError>;
|
|
44
48
|
export declare const decodeEvent: <const Events extends ReadonlyArray<Machine.TaggedSchema>>(machine: Machine.Any, event: unknown) => Effect.Effect<Machine.EventOf<Events>, MachineSchemaDecodeError>;
|
|
45
49
|
export declare const decodeEmit: <const Emits extends ReadonlyArray<Machine.TaggedSchema>>(machine: Machine.Any, event: unknown) => Effect.Effect<Machine.EmitOf<Emits>, MachineSchemaDecodeError>;
|
|
@@ -59,6 +63,7 @@ export declare const getActiveLeafPathFrom: (machine: Machine.Any, configuration
|
|
|
59
63
|
export declare const getRootPath: (machine: Machine.Any, configuration: ActiveConfiguration) => string;
|
|
60
64
|
export declare const getActiveValue: (configuration: ActiveConfiguration, path: string) => unknown;
|
|
61
65
|
export declare const getParentValues: (machine: Machine.Any, configuration: ActiveConfiguration, path: string) => Readonly<Record<string, unknown>>;
|
|
66
|
+
export declare const getParentValue: (machine: Machine.Any, configuration: ActiveConfiguration, path: string) => unknown;
|
|
62
67
|
export declare const getInitialEntryPaths: (machine: Machine.Any, configuration: ActiveConfiguration) => ReadonlyArray<string>;
|
|
63
68
|
export declare const snapshotFromPath: <const States extends Machine.StateSchemas>(machine: Machine.Any, configuration: ActiveConfiguration, path: string) => Machine.SnapshotByIdentifier<States, Machine.StateIdentifier<States>>;
|
|
64
69
|
export declare const snapshotFromConfiguration: <const States extends Machine.StateSchemas>(machine: Machine.Any, configuration: ActiveConfiguration) => Machine.Snapshot<States>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineModel.d.ts","sourceRoot":"","sources":["../../src/internal/machineModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"machineModel.d.ts","sourceRoot":"","sources":["../../src/internal/machineModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAEvF,eAAO,MAAM,YAAY,2BAA2B,CAAA;AAEpD,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,YAAY,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,eAAe,KACzD;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAA;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;CAgD/C,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,OAAO,CAAC,YAAY,KAAG,OAAO,CAAC,UAyCxE,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACzC,KAAK,CAAC,OAAO,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAErD,MAAM,OAAO,EACb,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,UAAU;IACR,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CACvB,EACE,QAAQ,EAAE,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,CACtF,MAAM,EACN,eAAe,CAChB,GACF,CACF,CAAA;CACF,KACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAMM,CAAA;AAEvC,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAiC,CAAA;AAEnG,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAChC,CAAA;AAEnD,eAAO,MAAM,iBAAiB,GAC5B,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,MAAM,MAAM,EACZ,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBvD,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAA;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,gBAAiB,SAAQ,eAAe;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAwBD,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,GAAG,KAAG,IAKlD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,CAAC,GAAG,EAAE,QAAQ,OAAO,CAAC,GAAG,KAAG,IAChB,CAAA;AAExD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SACM,CAAA;AAE7D,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,SAAS,OAAO,CAAC,GAAG,EACpB,QAAQ,MAAM,CAAC,GAAG,EAClB,OAAO,OAAO,EACd,SAAS,qBAAqB,KAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAWK,CAAA;AAEjD,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,MAAM,CAAC,GAAG,EAClD,SAAS,OAAO,CAAC,GAAG,EACpB,QAAQ,KAAK,EACb,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,wBAAwB,CACsB,CAAA;AAE9E,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAClF,SAAS,OAAO,CAAC,GAAG,EACpB,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAQjE,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAChF,SAAS,OAAO,CAAC,GAAG,EACpB,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAQ/D,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,CAAC,GAAG,EACpB,MAAM,OAAO,CAAC,SAAS,EACvB,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CACoC,CAAA;AAEtF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,GAAG,EACpB,MAAM,OAAO,CAAC,SAAS,EACvB,OAAO,OAAO,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAGyC,CAAA;AAE3F,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,SAMpE,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,KAAK,MAAM,KAAG,OAAuD,CAAA;AAEvG,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OAA0C,CAAA;AAE1G,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OACZ,CAAA;AAErD,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,KAAG,aAAa,CAAC,MAAM,CAQtF,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,KAAG,MAA6C,CAAA;AAE5G,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAC3B,CAAA;AAE9D,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,eAAe,mBAAmB,EAAE,MAAM,MAAM,KAAG,OACtB,CAAA;AAElF,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,eAAe,mBAAmB,KAAG,aAAa,CAAC,MAAM,CAQjH,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,eAAe,mBAAmB,KAAG,MAIjF,CAAA;AAEN,eAAO,MAAM,qBAAqB,GAChC,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,MAOF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,eAAe,mBAAmB,KAAG,MAOtF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,eAAe,mBAAmB,EAAE,MAAM,MAAM,KAAG,OAKjF,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlC,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,OAGF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,KACjC,aAAa,CAAC,MAAM,CAYtB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACxE,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAyBtE,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACjF,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,KACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAczB,CAAA;AAED,eAAO,MAAM,yBAAyB,GACpC,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,KAChD,mBAoDF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EAC9E,SAAS,OAAO,CAAC,GAAG,EACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAC9B,mBAAgE,CAAA;AAEnE,eAAO,MAAM,+BAA+B,kJAyD1C,CAAA;AAEF,eAAO,MAAM,4BAA4B,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACpF,SAAS,OAAO,CAAC,GAAG,EACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAc3D,CAAA;AAEH,eAAO,MAAM,4BAA4B,GAAI,SAAS,OAAO,CAAC,GAAG,EAAE,eAAe,mBAAmB,KAAG,IAiBvG,CAAA;AAED,eAAO,MAAM,iCAAiC,0NAuD5C,CAAA;AAEF,eAAO,MAAM,kCAAkC,GAAI,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EAC1F,SAAS,OAAO,CAAC,GAAG,EACpB,SAAS,mBAAmB,EAC5B,QAAQ,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KACzF,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAc7D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,CAAC,GAAG,EACpB,MAAM,MAAM,KACX,OAAO,CAAC,cAAc,GAAG,SAAmC,CAAA;AAE/D,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,MAAM,GAAG,SAA6F,CAAA;AAEzG,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,GAAG,EACpB,MAAM,MAAM,KACX,OAAkD,CAAA;AAErD,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,CAAC,GAAG,EACpB,MAAM,MAAM,KACX,OAAoE,CAAA;AAEvE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,EAClC,MAAM,MAAM,KACX,OAkBF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,SAAS,OAAO,CAAC,GAAG,EACpB,eAAe,mBAAmB,KACjC,OAGF,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,MAAM,EACZ,QAAQ,OAAO,KACd,gBAcF,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,CACrC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAExD,OAAO,EAAE,OAAO,CAAC,GAAG,EACpB,aAAa,EAAE,mBAAmB,EAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EACrC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACxC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAkBlD,CAAA;AAEF,eAAO,MAAM,6BAA6B,EAAE,CAC1C,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAExD,OAAO,EAAE,OAAO,CAAC,GAAG,EACpB,aAAa,EAAE,mBAAmB,EAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,wBAAwB,CAsFvE,CAAA;AAEF,eAAO,MAAM,2BAA2B,EAAE,CACxC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAExD,OAAO,EAAE,OAAO,CAAC,GAAG,EACpB,aAAa,EAAE,mBAAmB,EAClC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAClC,MAAM,CAAC,MAAM,CAAC;IACjB,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAA;IAC3C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;CACrD,EAAE,wBAAwB,CA0BzB,CAAA;AAqHF,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAiEH,CAAA;AAExE,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,CAAC,GAAG,EACpB,SAAS,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,wBAAwB,EAAE,OAAO,CA+DD,CAAA"}
|
|
@@ -107,24 +107,68 @@ export const makeTarget = (path, value, options) => ({
|
|
|
107
107
|
});
|
|
108
108
|
export const isTarget = (u) => hasProperty(u, TargetTypeId);
|
|
109
109
|
export const isSnapshot = (u) => hasProperty(u, "path") && hasProperty(u, "value");
|
|
110
|
+
export const getSnapshotByPath = (snapshot, path, parents) => {
|
|
111
|
+
if (snapshot.path === path) {
|
|
112
|
+
return Option.some(snapshot);
|
|
113
|
+
}
|
|
114
|
+
if (!path.startsWith(`${snapshot.path}.`)) {
|
|
115
|
+
return Option.none();
|
|
116
|
+
}
|
|
117
|
+
if (parents !== undefined) {
|
|
118
|
+
parents[snapshot.path] = snapshot.value;
|
|
119
|
+
}
|
|
120
|
+
if (hasProperty(snapshot, "state") && isSnapshot(snapshot.state)) {
|
|
121
|
+
return getSnapshotByPath(snapshot.state, path, parents);
|
|
122
|
+
}
|
|
123
|
+
if (hasProperty(snapshot, "states") && typeof snapshot.states === "object" && snapshot.states !== null) {
|
|
124
|
+
for (const child of Object.values(snapshot.states)) {
|
|
125
|
+
if (isSnapshot(child)) {
|
|
126
|
+
const result = getSnapshotByPath(child, path, parents);
|
|
127
|
+
if (Option.isSome(result)) {
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return Option.none();
|
|
134
|
+
};
|
|
135
|
+
const MachineProtocolTypeId = Symbol.for("effect/Machine/protocol");
|
|
136
|
+
const getProtocolSchemas = (machine) => {
|
|
137
|
+
const protocol = machine[MachineProtocolTypeId];
|
|
138
|
+
if (protocol === undefined) {
|
|
139
|
+
throw new Error("Machine protocol is unavailable");
|
|
140
|
+
}
|
|
141
|
+
return protocol;
|
|
142
|
+
};
|
|
143
|
+
const setProtocolSchemas = (machine, protocol) => {
|
|
144
|
+
Object.defineProperty(machine, MachineProtocolTypeId, {
|
|
145
|
+
value: protocol,
|
|
146
|
+
enumerable: false
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
export const setProtocol = (machine) => {
|
|
150
|
+
setProtocolSchemas(machine, {
|
|
151
|
+
event: Schema.Union([...machine.events, ...machine.internalEvents]),
|
|
152
|
+
emit: Schema.Union(machine.emits)
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
export const copyProtocol = (source, target) => setProtocolSchemas(target, getProtocolSchemas(source));
|
|
110
156
|
export const getEventName = (event) => hasProperty(event, "_tag") ? String(event._tag) : undefined;
|
|
111
|
-
export const decodeBoundary =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
})));
|
|
119
|
-
});
|
|
157
|
+
export const decodeBoundary = (machine, schema, value, options) => Schema.decodeUnknownEffect(Schema.toType(schema))(value).pipe(Effect.mapError((cause) => new MachineSchemaDecodeError({
|
|
158
|
+
machineId: machine.id,
|
|
159
|
+
boundary: options.boundary,
|
|
160
|
+
cause,
|
|
161
|
+
...(options.state === undefined ? {} : { state: options.state }),
|
|
162
|
+
...(options.event === undefined ? {} : { event: options.event })
|
|
163
|
+
})));
|
|
120
164
|
export const decodeInput = (machine, schema, value) => decodeBoundary(machine, schema, value, { boundary: "input" });
|
|
121
165
|
export const decodeEvent = (machine, event) => {
|
|
122
166
|
const eventName = getEventName(event);
|
|
123
|
-
return decodeBoundary(machine,
|
|
167
|
+
return decodeBoundary(machine, getProtocolSchemas(machine).event, event, eventName === undefined ? { boundary: "event" } : { boundary: "event", event: eventName });
|
|
124
168
|
};
|
|
125
169
|
export const decodeEmit = (machine, event) => {
|
|
126
170
|
const eventName = getEventName(event);
|
|
127
|
-
return decodeBoundary(machine,
|
|
171
|
+
return decodeBoundary(machine, getProtocolSchemas(machine).emit, event, eventName === undefined ? { boundary: "emit" } : { boundary: "emit", event: eventName });
|
|
128
172
|
};
|
|
129
173
|
export const decodeStateValue = (machine, node, value) => decodeBoundary(machine, node.schema, value, { boundary: "state", state: node.path });
|
|
130
174
|
export const decodeOutputValue = (machine, node, value) => node.output === undefined
|
|
@@ -193,6 +237,10 @@ export const getParentValues = (machine, configuration, path) => {
|
|
|
193
237
|
}
|
|
194
238
|
return parents;
|
|
195
239
|
};
|
|
240
|
+
export const getParentValue = (machine, configuration, path) => {
|
|
241
|
+
const parent = getNode(machine, path).parent;
|
|
242
|
+
return parent === undefined ? undefined : getActiveValue(configuration, parent);
|
|
243
|
+
};
|
|
196
244
|
export const getInitialEntryPaths = (machine, configuration) => {
|
|
197
245
|
const visit = (path) => {
|
|
198
246
|
if (!configuration.active.has(path)) {
|
|
@@ -234,10 +282,7 @@ export const snapshotFromPath = (machine, configuration, path) => {
|
|
|
234
282
|
};
|
|
235
283
|
export const snapshotFromConfiguration = (machine, configuration) => {
|
|
236
284
|
const snapshot = snapshotFromPath(machine, configuration, getRootPath(machine, configuration));
|
|
237
|
-
const root = getRootPath(machine, configuration);
|
|
238
|
-
const retainPartialOutputs = !isActiveFinalNode(machine, configuration, root);
|
|
239
285
|
const completed = Array.from(configuration.outputs)
|
|
240
|
-
.filter(([path]) => retainPartialOutputs || hasCompletionHandler(machine, path))
|
|
241
286
|
.map(([path, output]) => ({ path, output }));
|
|
242
287
|
if (completed.length > 0) {
|
|
243
288
|
;
|
|
@@ -434,7 +479,7 @@ export const normalizeTargetConfigurationEffect = (machine, current, target) =>
|
|
|
434
479
|
};
|
|
435
480
|
export const getStateConfigByPath = (machine, path) => machine.handlers[path];
|
|
436
481
|
export const getActiveChildPath = (machine, configuration, path) => getNode(machine, path).children.find((child) => configuration.active.has(child));
|
|
437
|
-
export const isDirectFinalPath = (machine, path) => getNode(machine, path).type === "final"
|
|
482
|
+
export const isDirectFinalPath = (machine, path) => getNode(machine, path).type === "final";
|
|
438
483
|
export const hasCompletionHandler = (machine, path) => getStateConfigByPath(machine, path)?.onDone !== undefined;
|
|
439
484
|
export const isActiveFinalNode = (machine, configuration, path) => {
|
|
440
485
|
if (!configuration.active.has(path)) {
|
|
@@ -478,6 +523,7 @@ export const resolveFinalOutputEffect = Effect.fnUntraced(function* (machine, co
|
|
|
478
523
|
const node = getNode(machine, path);
|
|
479
524
|
const output = getStateConfigByPath(machine, path)?.output?.({
|
|
480
525
|
state: getActiveValue(configuration, path),
|
|
526
|
+
parent: getParentValue(machine, configuration, path),
|
|
481
527
|
parents: getParentValues(machine, configuration, path),
|
|
482
528
|
event,
|
|
483
529
|
outputs
|
|
@@ -488,6 +534,13 @@ export const completeActiveFinalNodeEffect = Effect.fnUntraced(function* (machin
|
|
|
488
534
|
if (!configuration.active.has(path)) {
|
|
489
535
|
return undefined;
|
|
490
536
|
}
|
|
537
|
+
if (outputs.has(path)) {
|
|
538
|
+
return {
|
|
539
|
+
path,
|
|
540
|
+
output: outputs.get(path),
|
|
541
|
+
isNew: false
|
|
542
|
+
};
|
|
543
|
+
}
|
|
491
544
|
const node = getNode(machine, path);
|
|
492
545
|
if (node.type === "compound") {
|
|
493
546
|
const child = getActiveChildPath(machine, configuration, path);
|