@typeonce/effect-machine 0.3.0 → 0.5.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 +410 -17
- package/dist/Machine.d.ts +1191 -510
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +371 -565
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machine/activities.d.ts +57 -0
- package/dist/internal/machine/activities.d.ts.map +1 -0
- package/dist/internal/machine/activities.js +49 -0
- package/dist/internal/machine/activities.js.map +1 -0
- package/dist/internal/machine/atom.d.ts +69 -0
- package/dist/internal/machine/atom.d.ts.map +1 -0
- package/dist/{AtomMachine.js → internal/machine/atom.js} +20 -95
- package/dist/internal/machine/atom.js.map +1 -0
- package/dist/internal/machine/cluster.d.ts +63 -0
- package/dist/internal/machine/cluster.d.ts.map +1 -0
- package/dist/{ClusterMachine.js → internal/machine/cluster.js} +15 -119
- package/dist/internal/machine/cluster.js.map +1 -0
- package/dist/internal/machine/command.d.ts +16 -0
- package/dist/internal/machine/command.d.ts.map +1 -0
- package/dist/internal/machine/command.js +45 -0
- package/dist/internal/machine/command.js.map +1 -0
- package/dist/internal/machine/commandRuntime.d.ts +13 -0
- package/dist/internal/machine/commandRuntime.d.ts.map +1 -0
- package/dist/internal/machine/commandRuntime.js +16 -0
- package/dist/internal/machine/commandRuntime.js.map +1 -0
- package/dist/internal/{machineModel.d.ts → machine/configuration.d.ts} +12 -61
- package/dist/internal/machine/configuration.d.ts.map +1 -0
- package/dist/internal/{machineModel.js → machine/configuration.js} +250 -545
- package/dist/internal/machine/configuration.js.map +1 -0
- package/dist/internal/{machineErrors.d.ts → machine/errors.d.ts} +8 -8
- package/dist/internal/machine/errors.d.ts.map +1 -0
- package/dist/internal/{machineErrors.js → machine/errors.js} +8 -8
- package/dist/internal/machine/errors.js.map +1 -0
- package/dist/internal/machine/executionPlan.d.ts +49 -0
- package/dist/internal/machine/executionPlan.d.ts.map +1 -0
- package/dist/internal/machine/executionPlan.js +676 -0
- package/dist/internal/machine/executionPlan.js.map +1 -0
- package/dist/internal/machine/invocation.d.ts +23 -0
- package/dist/internal/machine/invocation.d.ts.map +1 -0
- package/dist/internal/machine/invocation.js +77 -0
- package/dist/internal/machine/invocation.js.map +1 -0
- package/dist/internal/machine/machine.d.ts +183 -0
- package/dist/internal/machine/machine.d.ts.map +1 -0
- package/dist/internal/machine/machine.js +552 -0
- package/dist/internal/machine/machine.js.map +1 -0
- package/dist/internal/machine/planner.d.ts +182 -0
- package/dist/internal/machine/planner.d.ts.map +1 -0
- package/dist/internal/machine/planner.js +1082 -0
- package/dist/internal/machine/planner.js.map +1 -0
- package/dist/internal/{machineProcess.d.ts → machine/process.d.ts} +11 -5
- package/dist/internal/machine/process.d.ts.map +1 -0
- package/dist/internal/machine/process.js +498 -0
- package/dist/internal/machine/process.js.map +1 -0
- package/dist/internal/machine/protocol.d.ts +34 -0
- package/dist/internal/machine/protocol.d.ts.map +1 -0
- package/dist/internal/machine/protocol.js +182 -0
- package/dist/internal/machine/protocol.js.map +1 -0
- package/dist/internal/machine/readiness.d.ts +4 -0
- package/dist/internal/machine/readiness.d.ts.map +1 -0
- package/dist/internal/machine/readiness.js +2 -0
- package/dist/internal/machine/readiness.js.map +1 -0
- package/dist/internal/machine/runtime.d.ts +255 -0
- package/dist/internal/machine/runtime.d.ts.map +1 -0
- package/dist/internal/machine/runtime.js +1489 -0
- package/dist/internal/machine/runtime.js.map +1 -0
- package/dist/internal/machine/serialization.d.ts +14 -0
- package/dist/internal/machine/serialization.d.ts.map +1 -0
- package/dist/internal/machine/serialization.js +338 -0
- package/dist/internal/machine/serialization.js.map +1 -0
- package/dist/internal/machine/stateDefinition.d.ts +15 -0
- package/dist/internal/machine/stateDefinition.d.ts.map +1 -0
- package/dist/internal/machine/stateDefinition.js +210 -0
- package/dist/internal/machine/stateDefinition.js.map +1 -0
- package/dist/internal/machine/symbols.d.ts +3 -0
- package/dist/internal/machine/symbols.d.ts.map +1 -0
- package/dist/internal/machine/symbols.js +3 -0
- package/dist/internal/machine/symbols.js.map +1 -0
- package/dist/internal/machine/topology.d.ts +98 -0
- package/dist/internal/machine/topology.d.ts.map +1 -0
- package/dist/internal/machine/topology.js +347 -0
- package/dist/internal/machine/topology.js.map +1 -0
- package/dist/internal/testing/machine/arbitrary.d.ts +36 -0
- package/dist/internal/testing/machine/arbitrary.d.ts.map +1 -0
- package/dist/internal/testing/machine/arbitrary.js +68 -0
- package/dist/internal/testing/machine/arbitrary.js.map +1 -0
- package/dist/internal/testing/machine/exploration.d.ts +30 -0
- package/dist/internal/testing/machine/exploration.d.ts.map +1 -0
- package/dist/internal/testing/machine/exploration.js +237 -0
- package/dist/internal/testing/machine/exploration.js.map +1 -0
- package/dist/internal/testing/machine/finiteModel.d.ts +322 -0
- package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -0
- package/dist/internal/testing/machine/finiteModel.js +976 -0
- package/dist/internal/testing/machine/finiteModel.js.map +1 -0
- package/dist/internal/testing/machine/invariant.d.ts +31 -0
- package/dist/internal/testing/machine/invariant.d.ts.map +1 -0
- package/dist/internal/testing/machine/invariant.js +214 -0
- package/dist/internal/testing/machine/invariant.js.map +1 -0
- package/dist/internal/testing/machine/probe.d.ts +26 -0
- package/dist/internal/testing/machine/probe.d.ts.map +1 -0
- package/dist/internal/testing/machine/probe.js +45 -0
- package/dist/internal/testing/machine/probe.js.map +1 -0
- package/dist/internal/testing/machine/referenceModel.d.ts +203 -0
- package/dist/internal/testing/machine/referenceModel.d.ts.map +1 -0
- package/dist/internal/testing/machine/referenceModel.js +1012 -0
- package/dist/internal/testing/machine/referenceModel.js.map +1 -0
- package/dist/internal/testing/machine/runtime.d.ts +631 -0
- package/dist/internal/testing/machine/runtime.d.ts.map +1 -0
- package/dist/internal/testing/machine/runtime.js +726 -0
- package/dist/internal/testing/machine/runtime.js.map +1 -0
- package/dist/internal/testing/machine/runtimeInvariant.d.ts +32 -0
- package/dist/internal/testing/machine/runtimeInvariant.d.ts.map +1 -0
- package/dist/internal/testing/machine/runtimeInvariant.js +334 -0
- package/dist/internal/testing/machine/runtimeInvariant.js.map +1 -0
- package/dist/internal/testing/machine/trace.d.ts +17 -0
- package/dist/internal/testing/machine/trace.d.ts.map +1 -0
- package/dist/internal/testing/machine/trace.js +94 -0
- package/dist/internal/testing/machine/trace.js.map +1 -0
- package/dist/internal/testing/machine/verification.d.ts +36 -0
- package/dist/internal/testing/machine/verification.d.ts.map +1 -0
- package/dist/internal/testing/machine/verification.js +1375 -0
- package/dist/internal/testing/machine/verification.js.map +1 -0
- package/dist/testing/MachineTest.d.ts +1588 -0
- package/dist/testing/MachineTest.d.ts.map +1 -0
- package/dist/testing/MachineTest.js +406 -0
- package/dist/testing/MachineTest.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/{ClusterMachine.d.ts → unstable/cluster/ClusterMachine.d.ts} +56 -45
- package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -0
- package/dist/unstable/cluster/ClusterMachine.js +144 -0
- package/dist/unstable/cluster/ClusterMachine.js.map +1 -0
- package/dist/{cluster.js → unstable/cluster/index.d.ts} +1 -1
- package/dist/unstable/cluster/index.d.ts.map +1 -0
- package/dist/{cluster.d.ts → unstable/cluster/index.js} +1 -1
- package/dist/unstable/cluster/index.js.map +1 -0
- package/dist/{AtomMachine.d.ts → unstable/reactivity/AtomMachine.d.ts} +116 -50
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -0
- package/dist/unstable/reactivity/AtomMachine.js +164 -0
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -0
- package/dist/{reactivity.js → unstable/reactivity/index.d.ts} +1 -1
- package/dist/unstable/reactivity/index.d.ts.map +1 -0
- package/dist/{reactivity.d.ts → unstable/reactivity/index.js} +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -0
- package/docs/agent-guide.md +316 -31
- package/package.json +28 -10
- package/dist/AtomMachine.d.ts.map +0 -1
- package/dist/AtomMachine.js.map +0 -1
- package/dist/ClusterMachine.d.ts.map +0 -1
- package/dist/ClusterMachine.js.map +0 -1
- package/dist/cluster.d.ts.map +0 -1
- package/dist/cluster.js.map +0 -1
- package/dist/internal/machineErrors.d.ts.map +0 -1
- package/dist/internal/machineErrors.js.map +0 -1
- package/dist/internal/machineModel.d.ts.map +0 -1
- package/dist/internal/machineModel.js.map +0 -1
- package/dist/internal/machinePlanner.d.ts +0 -74
- package/dist/internal/machinePlanner.d.ts.map +0 -1
- package/dist/internal/machinePlanner.js +0 -797
- package/dist/internal/machinePlanner.js.map +0 -1
- package/dist/internal/machineProcess.d.ts.map +0 -1
- package/dist/internal/machineProcess.js +0 -181
- package/dist/internal/machineProcess.js.map +0 -1
- package/dist/internal/machineRuntime.d.ts +0 -125
- package/dist/internal/machineRuntime.d.ts.map +0 -1
- package/dist/internal/machineRuntime.js +0 -365
- package/dist/internal/machineRuntime.js.map +0 -1
- package/dist/reactivity.d.ts.map +0 -1
- package/dist/reactivity.js.map +0 -1
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Atom bridge for running machines.
|
|
3
3
|
*
|
|
4
|
-
* @since 4.0
|
|
4
|
+
* @since 0.4.0
|
|
5
5
|
*/
|
|
6
|
-
import * as Option from "effect/Option";
|
|
6
|
+
import type * as Option from "effect/Option";
|
|
7
7
|
import type * as Schema from "effect/Schema";
|
|
8
8
|
import type * as Scope from "effect/Scope";
|
|
9
|
-
import { AsyncResult, Atom,
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} & Readonly<A>;
|
|
9
|
+
import type { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
|
|
10
|
+
import type { ChildNotActiveError, NotReadyError } from "../../internal/machine/atom.js";
|
|
11
|
+
import type { EnsureExecutable } from "../../internal/machine/readiness.js";
|
|
12
|
+
import type * as Machine from "../../Machine.js";
|
|
14
13
|
/**
|
|
15
14
|
* Error returned when a machine command is issued before startup completes.
|
|
16
15
|
*
|
|
17
16
|
* @category errors
|
|
18
|
-
* @since 4.0
|
|
17
|
+
* @since 0.4.0
|
|
19
18
|
*/
|
|
20
|
-
export
|
|
21
|
-
}
|
|
22
|
-
declare const ChildNotActiveError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
23
|
-
readonly _tag: "ChildNotActiveError";
|
|
24
|
-
} & Readonly<A>;
|
|
19
|
+
export { NotReadyError } from "../../internal/machine/atom.js";
|
|
25
20
|
/**
|
|
26
21
|
* Error returned when a command targets a child machine that is not active.
|
|
27
22
|
*
|
|
28
23
|
* @category errors
|
|
29
|
-
* @since 4.0
|
|
24
|
+
* @since 0.4.0
|
|
30
25
|
*/
|
|
31
|
-
export
|
|
32
|
-
readonly id: string;
|
|
33
|
-
}> {
|
|
34
|
-
}
|
|
26
|
+
export { ChildNotActiveError } from "../../internal/machine/atom.js";
|
|
35
27
|
type AtomSupportedRequirements = Scope.Scope | AtomRegistry.AtomRegistry;
|
|
36
28
|
type ExternalRequirements<Requirements> = Exclude<Requirements, AtomSupportedRequirements>;
|
|
37
29
|
declare const ExternalRequirementsTypeId = "~effect/reactivity/AtomMachine/ExternalRequirements";
|
|
@@ -41,6 +33,7 @@ type EnsureNoExternalRequirements<Requirements> = [ExternalRequirements<Requirem
|
|
|
41
33
|
type IsAny<A> = 0 extends (1 & A) ? true : false;
|
|
42
34
|
type ExcludeCompatibleMachineRuntime<Requirements, Events, Emits> = Requirements extends Machine.Runtime.Requirement<infer RequiredEvents, infer RequiredEmits> ? IsAny<Requirements> extends true ? Requirements : [RequiredEvents] extends [Events] ? [RequiredEmits] extends [Emits] ? never : Requirements : Requirements : Requirements;
|
|
43
35
|
type MachineRequirements<InitialR, R, Events, Emits> = ExcludeCompatibleMachineRuntime<Machine.ExecutionServices<InitialR | R>, Events, Emits>;
|
|
36
|
+
type MachineResumeRequirements<R, Events, Emits> = ExcludeCompatibleMachineRuntime<Machine.ExecutionServices<R>, Events, Emits>;
|
|
44
37
|
type MachineRuntimeError<E, R> = E | Machine.ActionError<R> | Machine.InfiniteTransitionError | Machine.MachineSchemaDecodeError | Machine.StoppedError;
|
|
45
38
|
type MachineStartError<InitialE, E, InitialR, R, RuntimeError = never> = InitialE | E | Machine.ActionError<InitialR | R> | Machine.InfiniteTransitionError | Machine.MachineSchemaDecodeError | Machine.StartupError | Machine.StoppedError | RuntimeError;
|
|
46
39
|
/**
|
|
@@ -53,19 +46,19 @@ type MachineStartError<InitialE, E, InitialR, R, RuntimeError = never> = Initial
|
|
|
53
46
|
* same atom values share one running machine per registry.
|
|
54
47
|
*
|
|
55
48
|
* @category models
|
|
56
|
-
* @since 4.0
|
|
49
|
+
* @since 0.4.0
|
|
57
50
|
*/
|
|
58
51
|
export interface MachineAtom<State, Event, Error = never, Output = never, StartError = never> {
|
|
59
52
|
/**
|
|
60
53
|
* Atom containing the running machine handle once startup succeeds.
|
|
61
54
|
*
|
|
62
|
-
* @since 4.0
|
|
55
|
+
* @since 0.4.0
|
|
63
56
|
*/
|
|
64
57
|
readonly ref: Atom.Atom<AsyncResult.AsyncResult<Machine.MachineRef<State, Event, Error, Output>, StartError>>;
|
|
65
58
|
/**
|
|
66
59
|
* Atom containing the latest machine lifecycle snapshot.
|
|
67
60
|
*
|
|
68
|
-
* @since 4.0
|
|
61
|
+
* @since 0.4.0
|
|
69
62
|
*/
|
|
70
63
|
readonly snapshot: Atom.Atom<AsyncResult.AsyncResult<Machine.RuntimeSnapshot<State, Error, Output>, StartError>>;
|
|
71
64
|
/**
|
|
@@ -75,28 +68,28 @@ export interface MachineAtom<State, Event, Error = never, Output = never, StartE
|
|
|
75
68
|
* runtime snapshot reports a terminal error. Use `result` when runtime
|
|
76
69
|
* failures must be represented in the atom failure channel.
|
|
77
70
|
*
|
|
78
|
-
* @since 4.0
|
|
71
|
+
* @since 0.4.0
|
|
79
72
|
*/
|
|
80
73
|
readonly state: Atom.Atom<AsyncResult.AsyncResult<State, StartError>>;
|
|
81
74
|
/**
|
|
82
75
|
* Atom containing the current state, with startup and runtime failures in
|
|
83
76
|
* one typed failure channel.
|
|
84
77
|
*
|
|
85
|
-
* @since 4.0
|
|
78
|
+
* @since 0.4.0
|
|
86
79
|
*/
|
|
87
80
|
readonly result: Atom.Atom<AsyncResult.AsyncResult<State, StartError | Error>>;
|
|
88
81
|
/**
|
|
89
82
|
* Writable atom that sends events to the machine. Writes before startup
|
|
90
83
|
* completes fail with `NotReadyError`.
|
|
91
84
|
*
|
|
92
|
-
* @since 4.0
|
|
85
|
+
* @since 0.4.0
|
|
93
86
|
*/
|
|
94
87
|
readonly send: Atom.Writable<AsyncResult.AsyncResult<void, StartError | NotReadyError | Machine.StoppedError>, Event>;
|
|
95
88
|
/**
|
|
96
89
|
* Writable atom that stops the machine. Writes before startup completes fail
|
|
97
90
|
* with `NotReadyError`.
|
|
98
91
|
*
|
|
99
|
-
* @since 4.0
|
|
92
|
+
* @since 0.4.0
|
|
100
93
|
*/
|
|
101
94
|
readonly stop: Atom.Writable<AsyncResult.AsyncResult<void, StartError | NotReadyError>, void>;
|
|
102
95
|
/**
|
|
@@ -104,7 +97,7 @@ export interface MachineAtom<State, Event, Error = never, Output = never, StartE
|
|
|
104
97
|
* Reusing the same descriptor returns the same live bridge while it remains
|
|
105
98
|
* referenced.
|
|
106
99
|
*
|
|
107
|
-
* @since 4.0
|
|
100
|
+
* @since 0.4.0
|
|
108
101
|
*/
|
|
109
102
|
readonly child: <Child extends Machine.ChildMachine.Any>(child: Child) => ChildMachineAtom<Child, StartError>;
|
|
110
103
|
}
|
|
@@ -126,19 +119,19 @@ type RefOutput<Ref> = Ref extends Machine.MachineRef<any, any, any, infer Output
|
|
|
126
119
|
* machine invoked by the selected child.
|
|
127
120
|
*
|
|
128
121
|
* @category models
|
|
129
|
-
* @since 4.0
|
|
122
|
+
* @since 0.4.0
|
|
130
123
|
*/
|
|
131
124
|
export interface ChildMachineAtom<Child extends Machine.ChildMachine.Any, StartError = unknown> {
|
|
132
125
|
/**
|
|
133
126
|
* Atom containing the current child reference when the child is active.
|
|
134
127
|
*
|
|
135
|
-
* @since 4.0
|
|
128
|
+
* @since 0.4.0
|
|
136
129
|
*/
|
|
137
130
|
readonly ref: Atom.Atom<AsyncResult.AsyncResult<Option.Option<Machine.ChildMachine.Ref<Child>>, StartError>>;
|
|
138
131
|
/**
|
|
139
132
|
* Atom containing the current child lifecycle snapshot when active.
|
|
140
133
|
*
|
|
141
|
-
* @since 4.0
|
|
134
|
+
* @since 0.4.0
|
|
142
135
|
*/
|
|
143
136
|
readonly snapshot: Atom.Atom<AsyncResult.AsyncResult<Option.Option<Machine.RuntimeSnapshot<RefState<Machine.ChildMachine.Ref<Child>>, RefError<Machine.ChildMachine.Ref<Child>>, RefOutput<Machine.ChildMachine.Ref<Child>>>>, StartError>>;
|
|
144
137
|
/**
|
|
@@ -147,14 +140,14 @@ export interface ChildMachineAtom<Child extends Machine.ChildMachine.Any, StartE
|
|
|
147
140
|
* Runtime failures retain the last successful state. Use `result` when they
|
|
148
141
|
* must be represented in the atom failure channel.
|
|
149
142
|
*
|
|
150
|
-
* @since 4.0
|
|
143
|
+
* @since 0.4.0
|
|
151
144
|
*/
|
|
152
145
|
readonly state: Atom.Atom<AsyncResult.AsyncResult<Option.Option<RefState<Machine.ChildMachine.Ref<Child>>>, StartError>>;
|
|
153
146
|
/**
|
|
154
147
|
* Atom containing the current child state when active, with startup and
|
|
155
148
|
* runtime failures in one typed failure channel.
|
|
156
149
|
*
|
|
157
|
-
* @since 4.0
|
|
150
|
+
* @since 0.4.0
|
|
158
151
|
*/
|
|
159
152
|
readonly result: Atom.Atom<AsyncResult.AsyncResult<Option.Option<RefState<Machine.ChildMachine.Ref<Child>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
160
153
|
/**
|
|
@@ -162,7 +155,7 @@ export interface ChildMachineAtom<Child extends Machine.ChildMachine.Any, StartE
|
|
|
162
155
|
*
|
|
163
156
|
* Writes fail with `ChildNotActiveError` while the child is inactive.
|
|
164
157
|
*
|
|
165
|
-
* @since 4.0
|
|
158
|
+
* @since 0.4.0
|
|
166
159
|
*/
|
|
167
160
|
readonly send: Atom.Writable<AsyncResult.AsyncResult<void, StartError | NotReadyError | ChildNotActiveError | Machine.StoppedError>, Machine.ChildMachine.Event<Child>>;
|
|
168
161
|
/**
|
|
@@ -170,14 +163,14 @@ export interface ChildMachineAtom<Child extends Machine.ChildMachine.Any, StartE
|
|
|
170
163
|
*
|
|
171
164
|
* Writes fail with `ChildNotActiveError` while the child is inactive.
|
|
172
165
|
*
|
|
173
|
-
* @since 4.0
|
|
166
|
+
* @since 0.4.0
|
|
174
167
|
*/
|
|
175
168
|
readonly stop: Atom.Writable<AsyncResult.AsyncResult<void, StartError | NotReadyError | ChildNotActiveError>, void>;
|
|
176
169
|
/**
|
|
177
170
|
* Creates a reactive bridge for a directly owned nested child. Reusing the
|
|
178
171
|
* same descriptor returns the same live bridge while it remains referenced.
|
|
179
172
|
*
|
|
180
|
-
* @since 4.0
|
|
173
|
+
* @since 0.4.0
|
|
181
174
|
*/
|
|
182
175
|
readonly child: <Nested extends Machine.ChildMachine.Any>(child: Nested) => ChildMachineAtom<Nested, StartError>;
|
|
183
176
|
}
|
|
@@ -187,7 +180,7 @@ type BridgeStartError<Bridge> = Bridge extends MachineAtom<any, any, any, any, i
|
|
|
187
180
|
* descriptor.
|
|
188
181
|
*
|
|
189
182
|
* @category utility types
|
|
190
|
-
* @since 4.0
|
|
183
|
+
* @since 0.4.0
|
|
191
184
|
*/
|
|
192
185
|
export type ChildOf<Parent extends MachineAtom<any, any, any, any, any> | ChildMachineAtom<any, any>, Child extends Machine.ChildMachine.Any> = ChildMachineAtom<Child, BridgeStartError<Parent>>;
|
|
193
186
|
type SnapshotNode<State> = State extends Machine.Machine.AtomicSnapshot<string, unknown> ? State | (State extends {
|
|
@@ -213,12 +206,26 @@ type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.Child
|
|
|
213
206
|
* **Example**
|
|
214
207
|
*
|
|
215
208
|
* ```ts
|
|
216
|
-
*
|
|
217
|
-
*
|
|
209
|
+
* import { Schema } from "effect"
|
|
210
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
211
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
212
|
+
*
|
|
213
|
+
* class Count extends Schema.TaggedClass<Count>("Count")("Count", {
|
|
214
|
+
* value: Schema.Number
|
|
215
|
+
* }) {}
|
|
216
|
+
* const States = Machine.defineStates({ Count })
|
|
217
|
+
* const machine = Machine.make({
|
|
218
|
+
* states: States.states,
|
|
219
|
+
* events: [],
|
|
220
|
+
* initial: () => States.initial.Count(new Count({ value: 0 }))
|
|
221
|
+
* }).handle({ Count: {} })
|
|
222
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
223
|
+
*
|
|
224
|
+
* const countAtom = AtomMachine.select(machineAtom, "Count")
|
|
218
225
|
* ```
|
|
219
226
|
*
|
|
220
227
|
* @category combinators
|
|
221
|
-
* @since 4.0
|
|
228
|
+
* @since 0.4.0
|
|
222
229
|
*/
|
|
223
230
|
export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
|
|
224
231
|
/**
|
|
@@ -236,7 +243,7 @@ export declare const select: <State extends Machine.Machine.AtomicSnapshot<strin
|
|
|
236
243
|
* ```
|
|
237
244
|
*
|
|
238
245
|
* @category combinators
|
|
239
|
-
* @since 4.0
|
|
246
|
+
* @since 0.4.0
|
|
240
247
|
*/
|
|
241
248
|
export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
242
249
|
/**
|
|
@@ -246,8 +253,27 @@ export declare const selectChild: <Child extends Machine.ChildMachine.Any, Start
|
|
|
246
253
|
* The derived atom suppresses equal updates. Runtime failures remain in the
|
|
247
254
|
* typed failure channel.
|
|
248
255
|
*
|
|
256
|
+
* **Example**
|
|
257
|
+
*
|
|
258
|
+
* ```ts
|
|
259
|
+
* import { Schema } from "effect"
|
|
260
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
261
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
262
|
+
*
|
|
263
|
+
* class Idle extends Schema.TaggedClass<Idle>("Idle")("Idle", {}) {}
|
|
264
|
+
* const States = Machine.defineStates({ Idle })
|
|
265
|
+
* const machine = Machine.make({
|
|
266
|
+
* states: States.states,
|
|
267
|
+
* events: [],
|
|
268
|
+
* initial: () => States.initial.Idle.from()
|
|
269
|
+
* }).handle({ Idle: {} })
|
|
270
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
271
|
+
*
|
|
272
|
+
* const isIdleAtom = AtomMachine.matches(machineAtom, "Idle")
|
|
273
|
+
* ```
|
|
274
|
+
*
|
|
249
275
|
* @category combinators
|
|
250
|
-
* @since 4.0
|
|
276
|
+
* @since 0.4.0
|
|
251
277
|
*/
|
|
252
278
|
export declare const matches: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>;
|
|
253
279
|
/**
|
|
@@ -258,7 +284,7 @@ export declare const matches: <State extends Machine.Machine.AtomicSnapshot<stri
|
|
|
258
284
|
* constructing it inside a component.
|
|
259
285
|
*
|
|
260
286
|
* @category combinators
|
|
261
|
-
* @since 4.0
|
|
287
|
+
* @since 0.4.0
|
|
262
288
|
*/
|
|
263
289
|
export declare const matchesChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
264
290
|
declare const BoundRequirementsTypeId = "~effect/reactivity/AtomMachine/BoundRequirements";
|
|
@@ -269,18 +295,26 @@ type EnsureBoundRequirements<Services, M extends Machine.Machine.Any> = IsAny<Ma
|
|
|
269
295
|
} : [MissingBoundRequirements<Services, M>] extends [never] ? unknown : {
|
|
270
296
|
readonly [BoundRequirementsTypeId]: MissingBoundRequirements<Services, M>;
|
|
271
297
|
};
|
|
272
|
-
type
|
|
298
|
+
type MachineResumeRequirementsOf<M extends Machine.Machine.Any> = MachineResumeRequirements<Machine.Machine.Services<M>, Machine.Machine.Event<M>, Machine.Machine.Emit<M>>;
|
|
299
|
+
type MissingBoundResumeRequirements<Services, M extends Machine.Machine.Any> = Exclude<ExternalRequirements<MachineResumeRequirementsOf<M>>, Services>;
|
|
300
|
+
type EnsureBoundResumeRequirements<Services, M extends Machine.Machine.Any> = IsAny<MachineResumeRequirementsOf<M>> extends true ? {
|
|
301
|
+
readonly [BoundRequirementsTypeId]: MachineResumeRequirementsOf<M>;
|
|
302
|
+
} : [MissingBoundResumeRequirements<Services, M>] extends [never] ? unknown : {
|
|
303
|
+
readonly [BoundRequirementsTypeId]: MissingBoundResumeRequirements<Services, M>;
|
|
304
|
+
};
|
|
305
|
+
type EnsureMachineExecutable<M extends Machine.Machine.Any> = IsAny<Machine.Machine.States<M>> extends true ? {
|
|
273
306
|
readonly "~effect/reactivity/AtomMachine/ConcreteMachineRequired": M;
|
|
274
|
-
} : Machine.Machine.
|
|
307
|
+
} : EnsureExecutable<Machine.Machine.States<M>, Machine.Machine.UnhandledStates<M>, Machine.Machine.OutputStates<M>>;
|
|
275
308
|
type MachineInputArgsOf<M extends Machine.Machine.Any> = [
|
|
276
309
|
...Machine.Machine.InputArgs<Machine.Machine.Input<M>>
|
|
277
310
|
];
|
|
278
311
|
type MachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, MachineStartError<Machine.Machine.InitialError<M>, Machine.Machine.Error<M>, Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, RuntimeError>>;
|
|
312
|
+
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError>;
|
|
279
313
|
/**
|
|
280
314
|
* An `AtomMachine` factory with one owned Effect runtime.
|
|
281
315
|
*
|
|
282
316
|
* @category models
|
|
283
|
-
* @since 4.0
|
|
317
|
+
* @since 0.4.0
|
|
284
318
|
*/
|
|
285
319
|
export interface Bound<Services, RuntimeError = never> {
|
|
286
320
|
/**
|
|
@@ -289,9 +323,11 @@ export interface Bound<Services, RuntimeError = never> {
|
|
|
289
323
|
* The machine's external service requirements must be provided by the
|
|
290
324
|
* runtime. Machine-native runtime requirements are supplied automatically.
|
|
291
325
|
*
|
|
292
|
-
* @since 4.0
|
|
326
|
+
* @since 0.4.0
|
|
293
327
|
*/
|
|
294
|
-
readonly make: <M extends Machine.Machine.Any>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> &
|
|
328
|
+
readonly make: <M extends Machine.Machine.Any>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>>, ...args: MachineInputArgsOf<M>) => MachineAtomOf<M, RuntimeError>;
|
|
329
|
+
/** Creates a lazy bridge from a decoded logical snapshot. */
|
|
330
|
+
readonly resume: <M extends Machine.Machine.Any>(machine: M & EnsureBoundResumeRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>) => ResumedMachineAtomOf<M, RuntimeError>;
|
|
295
331
|
}
|
|
296
332
|
/**
|
|
297
333
|
* Creates atoms backed by a running machine.
|
|
@@ -299,11 +335,42 @@ export interface Bound<Services, RuntimeError = never> {
|
|
|
299
335
|
* Use `bind(runtime).make(machine)` when the machine requires external
|
|
300
336
|
* services.
|
|
301
337
|
*
|
|
338
|
+
* **Example**
|
|
339
|
+
*
|
|
340
|
+
* ```ts
|
|
341
|
+
* import { Schema } from "effect"
|
|
342
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
343
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
344
|
+
*
|
|
345
|
+
* class Idle extends Schema.TaggedClass<Idle>("Idle")("Idle", {}) {}
|
|
346
|
+
* const States = Machine.defineStates({ Idle })
|
|
347
|
+
* const machine = Machine.make({
|
|
348
|
+
* states: States.states,
|
|
349
|
+
* events: [],
|
|
350
|
+
* initial: () => States.initial.Idle.from()
|
|
351
|
+
* }).handle({ Idle: {} })
|
|
352
|
+
*
|
|
353
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
354
|
+
* ```
|
|
355
|
+
*
|
|
302
356
|
* @category constructors
|
|
303
|
-
* @since 4.0
|
|
357
|
+
* @since 0.4.0
|
|
304
358
|
*/
|
|
305
359
|
export declare const make: {
|
|
306
|
-
<const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> &
|
|
360
|
+
<const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> & EnsureExecutable<States, UnhandledStates, OutputStates>, ...args: [...Machine.Machine.InputArgs<Input>]): MachineAtom<Machine.Machine.Snapshot<States>, Machine.Machine.EventOf<InputEvents>, MachineRuntimeError<E, R>, Output, MachineStartError<InitialE, E, InitialR, R>>;
|
|
361
|
+
};
|
|
362
|
+
/**
|
|
363
|
+
* Creates a lazy atom bridge from a decoded logical snapshot.
|
|
364
|
+
*
|
|
365
|
+
* The bridge owns one freshly resumed runtime per `AtomRegistry`, with the same
|
|
366
|
+
* lazy start and disposal semantics as {@link make}. The machine initial
|
|
367
|
+
* function and its input, errors, and services are not involved.
|
|
368
|
+
*
|
|
369
|
+
* @category constructors
|
|
370
|
+
* @since 0.4.0
|
|
371
|
+
*/
|
|
372
|
+
export declare const resume: {
|
|
373
|
+
<M extends Machine.Machine.Any>(machine: M & EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>): ResumedMachineAtomOf<M, never>;
|
|
307
374
|
};
|
|
308
375
|
/**
|
|
309
376
|
* Creates an `AtomMachine` factory that owns a shared Effect runtime.
|
|
@@ -313,8 +380,7 @@ export declare const make: {
|
|
|
313
380
|
* while every call to `make` still creates an independent machine bridge.
|
|
314
381
|
*
|
|
315
382
|
* @category constructors
|
|
316
|
-
* @since 4.0
|
|
383
|
+
* @since 0.4.0
|
|
317
384
|
*/
|
|
318
385
|
export declare const bind: <Services, RuntimeError>(runtime: Atom.AtomRuntime<Services, RuntimeError>) => Bound<Services, RuntimeError>;
|
|
319
|
-
export {};
|
|
320
386
|
//# sourceMappingURL=AtomMachine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AtomMachine.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,KAAK,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAEhD;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,KAAK,yBAAyB,GAAG,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,CAAA;AAExE,KAAK,oBAAoB,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;AAE1F,QAAA,MAAM,0BAA0B,wDAAwD,CAAA;AAExF,KAAK,4BAA4B,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG;IACjH,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAA;CAC1E,CAAA;AAED,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEhD,KAAK,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,SAC9E,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,cAAc,EAAE,MAAM,aAAa,CAAC,GACtE,KAAK,CAAC,YAAY,CAAC,SAAS,IAAI,GAAG,YAAY,GAC7C,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,GAC1F,YAAY,GACZ,YAAY,CAAA;AAEhB,KAAK,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,+BAA+B,CACpF,OAAO,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,EACvC,MAAM,EACN,KAAK,CACN,CAAA;AAED,KAAK,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,+BAA+B,CAChF,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC5B,MAAM,EACN,KAAK,CACN,CAAA;AAED,KAAK,mBAAmB,CAAC,CAAC,EAAE,CAAC,IACzB,CAAC,GACD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,GAChC,OAAO,CAAC,YAAY,CAAA;AAExB,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,GAAG,KAAK,IACjE,QAAQ,GACR,CAAC,GACD,OAAO,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,GACjC,OAAO,CAAC,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,GAChC,OAAO,CAAC,YAAY,GACpB,OAAO,CAAC,YAAY,GACpB,YAAY,CAAA;AAEhB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK;IAC1F;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CACrB,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CACrF,CAAA;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAC1B,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CACnF,CAAA;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IAErE;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC,CAAA;IAE9E;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAC1B,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,EAChF,KAAK,CACN,CAAA;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC,EAAE,IAAI,CAAC,CAAA;IAE7F;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACrD,KAAK,EAAE,KAAK,KACT,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CACzC;AAED,KAAK,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;AAE/F,KAAK,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;AAE/F,KAAK,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;AAElG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAC5F;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CACrB,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CACpF,CAAA;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAC1B,WAAW,CAAC,WAAW,CACrB,MAAM,CAAC,MAAM,CACX,OAAO,CAAC,eAAe,CACrB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACzC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACzC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC3C,CACF,EACD,UAAU,CACX,CACF,CAAA;IACD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CACvB,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAC9F,CAAA;IACD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CACxB,WAAW,CAAC,WAAW,CACrB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EACxD,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACvD,CACF,CAAA;IACD;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAC1B,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,EACtG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAClC,CAAA;IACD;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAC1B,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,mBAAmB,CAAC,EAC/E,IAAI,CACL,CAAA;IACD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtD,KAAK,EAAE,MAAM,KACV,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAC1C;AAED,KAAK,gBAAgB,CAAC,MAAM,IAAI,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GACzG,MAAM,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GACnE,KAAK,CAAA;AAET;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,CACjB,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAChF,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,IACpC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;AAErD,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAClF,KAAK,GACL,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAClE,KAAK,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAA;CAAE,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,GACvF,KAAK,CAAC,GACV,KAAK,CAAA;AAET,KAAK,kBAAkB,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GACrE,IAAI,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,GACtE,KAAK,CAAA;AAET,KAAK,yBAAyB,CAAC,KAAK,EAAE,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GACpH,IAAI,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,GAAG,KAAK,GAAG,KAAK,GAC/E,KAAK,CAAA;AAET,KAAK,UAAU,CAAC,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,MAAM,EAAE,CACnB,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAC5C,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CACpF,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,CACjF,CAAA;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtC,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACxD,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CACnE,WAAW,CAAC,WAAW,CACrB,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EACjE,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACvD,CACqB,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,OAAO,EAAE,CACpB,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAE5C,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAC1D,IAAI,EAAE,IAAI,KACP,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,CAAC,CAAoB,CAAA;AAEvF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,CACzB,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtC,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACxD,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CACnE,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACjE,CAAA;AAEzB,QAAA,MAAM,uBAAuB,qDAAqD,CAAA;AAElF,KAAK,qBAAqB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,mBAAmB,CAC7E,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,CAAA;AAED,KAAK,wBAAwB,CAAC,QAAQ,EAAE,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAC9E,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAC9C,QAAQ,CACT,CAAA;AAED,KAAK,uBAAuB,CAAC,QAAQ,EAAE,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;IACnH,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;CAC7D,GACC,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GACjE;IACA,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;CAC1E,CAAA;AAEH,KAAK,2BAA2B,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,yBAAyB,CACzF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,CAAA;AAED,KAAK,8BAA8B,CAAC,QAAQ,EAAE,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CACpF,oBAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,CACT,CAAA;AAED,KAAK,6BAA6B,CAAC,QAAQ,EAAE,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IACxE,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;IACjD,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAA;CACnE,GACC,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GACvE;IACA,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;CAChF,CAAA;AAEL,KAAK,uBAAuB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;IAC1G,QAAQ,CAAC,wDAAwD,EAAE,CAAC,CAAA;CACrE,GACC,gBAAgB,CAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAChC,CAAA;AAEH,KAAK,kBAAkB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IACvD,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACvD,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,IAAI,WAAW,CAC3E,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAC7B,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC1E,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,iBAAiB,CACf,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAC/B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3B,YAAY,CACb,CACF,CAAA;AAED,KAAK,oBAAoB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,IAAI,WAAW,CAClF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAC7B,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC1E,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,wBAAwB,GAAG,YAAY,CAChD,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAC3C,OAAO,EACH,CAAC,GACD,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAC7C,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvC,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC3B,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAEnC,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAC7C,OAAO,EACH,CAAC,GACD,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1D,oBAAoB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CACE,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,OAAO,CAAC,YAAY,EACjD,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAChE,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,EACrE,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACnD,eAAe,SAAS,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACzG,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,SAAS,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EACnE,MAAM,GAAG,KAAK,EACd,YAAY,SAAS,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EACpE,WAAW,SAAS,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,EAExE,OAAO,EACH,OAAO,CAAC,OAAO,CACf,MAAM,EACN,MAAM,EACN,KAAK,EACL,eAAe,EACf,CAAC,EACD,CAAC,EACD,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,CACZ,GACC,4BAA4B,CAC5B,mBAAmB,CACjB,QAAQ,EACR,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC9B,CACF,GACC,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,EAC3D,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAC7C,WAAW,CACZ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAChC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EACpC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,MAAM,EACN,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC5C,CAAA;CACc,CAAA;AAEjB;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAC5B,OAAO,EACH,CAAC,GACD,4BAA4B,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GACrE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAC5D,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;CAChB,CAAA;AAEnB;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EACxC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,KAC9C,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAiB,CAAA"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atom bridge for running machines.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.4.0
|
|
5
|
+
*/
|
|
6
|
+
import * as internal from "../../internal/machine/atom.js";
|
|
7
|
+
/**
|
|
8
|
+
* Error returned when a machine command is issued before startup completes.
|
|
9
|
+
*
|
|
10
|
+
* @category errors
|
|
11
|
+
* @since 0.4.0
|
|
12
|
+
*/
|
|
13
|
+
export { NotReadyError } from "../../internal/machine/atom.js";
|
|
14
|
+
/**
|
|
15
|
+
* Error returned when a command targets a child machine that is not active.
|
|
16
|
+
*
|
|
17
|
+
* @category errors
|
|
18
|
+
* @since 0.4.0
|
|
19
|
+
*/
|
|
20
|
+
export { ChildNotActiveError } from "../../internal/machine/atom.js";
|
|
21
|
+
const ExternalRequirementsTypeId = "~effect/reactivity/AtomMachine/ExternalRequirements";
|
|
22
|
+
/**
|
|
23
|
+
* Selects the typed value for an active state path.
|
|
24
|
+
*
|
|
25
|
+
* Valid paths and their selected value types are inferred from the bridge.
|
|
26
|
+
* The derived atom suppresses structurally equal updates. Keep the returned
|
|
27
|
+
* atom stable when constructing it inside a component.
|
|
28
|
+
*
|
|
29
|
+
* **Example**
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { Schema } from "effect"
|
|
33
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
34
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
35
|
+
*
|
|
36
|
+
* class Count extends Schema.TaggedClass<Count>("Count")("Count", {
|
|
37
|
+
* value: Schema.Number
|
|
38
|
+
* }) {}
|
|
39
|
+
* const States = Machine.defineStates({ Count })
|
|
40
|
+
* const machine = Machine.make({
|
|
41
|
+
* states: States.states,
|
|
42
|
+
* events: [],
|
|
43
|
+
* initial: () => States.initial.Count(new Count({ value: 0 }))
|
|
44
|
+
* }).handle({ Count: {} })
|
|
45
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
46
|
+
*
|
|
47
|
+
* const countAtom = AtomMachine.select(machineAtom, "Count")
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @category combinators
|
|
51
|
+
* @since 0.4.0
|
|
52
|
+
*/
|
|
53
|
+
export const select = internal.select;
|
|
54
|
+
/**
|
|
55
|
+
* Selects the typed value for an active state path in an invoked child.
|
|
56
|
+
*
|
|
57
|
+
* Valid paths and their selected value types are inferred from the child
|
|
58
|
+
* bridge. An inactive child produces `Option.none()`. Keep the returned atom
|
|
59
|
+
* stable when constructing it inside a component.
|
|
60
|
+
*
|
|
61
|
+
* **Example**
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* const editingAtom = AtomMachine.selectChild(editorAtom, "Editing")
|
|
65
|
+
* // Atom<AsyncResult<Option<Editing>, StartError | ChildRuntimeError>>
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @category combinators
|
|
69
|
+
* @since 0.4.0
|
|
70
|
+
*/
|
|
71
|
+
export const selectChild = internal.selectChild;
|
|
72
|
+
/**
|
|
73
|
+
* Returns whether a state path is active.
|
|
74
|
+
*
|
|
75
|
+
* Valid paths are inferred from the bridge snapshot.
|
|
76
|
+
* The derived atom suppresses equal updates. Runtime failures remain in the
|
|
77
|
+
* typed failure channel.
|
|
78
|
+
*
|
|
79
|
+
* **Example**
|
|
80
|
+
*
|
|
81
|
+
* ```ts
|
|
82
|
+
* import { Schema } from "effect"
|
|
83
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
84
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
85
|
+
*
|
|
86
|
+
* class Idle extends Schema.TaggedClass<Idle>("Idle")("Idle", {}) {}
|
|
87
|
+
* const States = Machine.defineStates({ Idle })
|
|
88
|
+
* const machine = Machine.make({
|
|
89
|
+
* states: States.states,
|
|
90
|
+
* events: [],
|
|
91
|
+
* initial: () => States.initial.Idle.from()
|
|
92
|
+
* }).handle({ Idle: {} })
|
|
93
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
94
|
+
*
|
|
95
|
+
* const isIdleAtom = AtomMachine.matches(machineAtom, "Idle")
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @category combinators
|
|
99
|
+
* @since 0.4.0
|
|
100
|
+
*/
|
|
101
|
+
export const matches = internal.matches;
|
|
102
|
+
/**
|
|
103
|
+
* Returns whether a state path is active in an invoked child.
|
|
104
|
+
*
|
|
105
|
+
* Valid paths are inferred from the child bridge snapshot.
|
|
106
|
+
* An inactive child produces `false`. Keep the returned atom stable when
|
|
107
|
+
* constructing it inside a component.
|
|
108
|
+
*
|
|
109
|
+
* @category combinators
|
|
110
|
+
* @since 0.4.0
|
|
111
|
+
*/
|
|
112
|
+
export const matchesChild = internal.matchesChild;
|
|
113
|
+
const BoundRequirementsTypeId = "~effect/reactivity/AtomMachine/BoundRequirements";
|
|
114
|
+
/**
|
|
115
|
+
* Creates atoms backed by a running machine.
|
|
116
|
+
*
|
|
117
|
+
* Use `bind(runtime).make(machine)` when the machine requires external
|
|
118
|
+
* services.
|
|
119
|
+
*
|
|
120
|
+
* **Example**
|
|
121
|
+
*
|
|
122
|
+
* ```ts
|
|
123
|
+
* import { Schema } from "effect"
|
|
124
|
+
* import { Machine } from "@typeonce/effect-machine"
|
|
125
|
+
* import { AtomMachine } from "@typeonce/effect-machine/reactivity"
|
|
126
|
+
*
|
|
127
|
+
* class Idle extends Schema.TaggedClass<Idle>("Idle")("Idle", {}) {}
|
|
128
|
+
* const States = Machine.defineStates({ Idle })
|
|
129
|
+
* const machine = Machine.make({
|
|
130
|
+
* states: States.states,
|
|
131
|
+
* events: [],
|
|
132
|
+
* initial: () => States.initial.Idle.from()
|
|
133
|
+
* }).handle({ Idle: {} })
|
|
134
|
+
*
|
|
135
|
+
* const machineAtom = AtomMachine.make(machine)
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @category constructors
|
|
139
|
+
* @since 0.4.0
|
|
140
|
+
*/
|
|
141
|
+
export const make = internal.make;
|
|
142
|
+
/**
|
|
143
|
+
* Creates a lazy atom bridge from a decoded logical snapshot.
|
|
144
|
+
*
|
|
145
|
+
* The bridge owns one freshly resumed runtime per `AtomRegistry`, with the same
|
|
146
|
+
* lazy start and disposal semantics as {@link make}. The machine initial
|
|
147
|
+
* function and its input, errors, and services are not involved.
|
|
148
|
+
*
|
|
149
|
+
* @category constructors
|
|
150
|
+
* @since 0.4.0
|
|
151
|
+
*/
|
|
152
|
+
export const resume = internal.resume;
|
|
153
|
+
/**
|
|
154
|
+
* Creates an `AtomMachine` factory that owns a shared Effect runtime.
|
|
155
|
+
*
|
|
156
|
+
* Use this when an application runs many machines from the same service layer.
|
|
157
|
+
* The returned factory keeps runtime provisioning at the composition boundary,
|
|
158
|
+
* while every call to `make` still creates an independent machine bridge.
|
|
159
|
+
*
|
|
160
|
+
* @category constructors
|
|
161
|
+
* @since 0.4.0
|
|
162
|
+
*/
|
|
163
|
+
export const bind = internal.bind;
|
|
164
|
+
//# sourceMappingURL=AtomMachine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AtomMachine.js","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomMachine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAK1D;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAMpE,MAAM,0BAA0B,GAAG,qDAAqD,CAAA;AAwQxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,MAAM,GASf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GASpB,QAAQ,CAAC,WAAW,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,OAAO,GAUmD,QAAQ,CAAC,OAAO,CAAA;AAEvF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAMrB,QAAQ,CAAC,YAAY,CAAA;AAEzB,MAAM,uBAAuB,GAAG,kDAAkD,CAAA;AA8GlF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,IAAI,GAiDb,QAAQ,CAAC,IAAI,CAAA;AAEjB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAQf,QAAQ,CAAC,MAAM,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAEoB,QAAQ,CAAC,IAAI,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * as AtomMachine from "./AtomMachine.js";
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * as AtomMachine from "./AtomMachine.js";
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/unstable/reactivity/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|