@typeonce/effect-machine 0.16.0 → 0.17.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 +98 -106
- package/dist/Machine.d.ts +324 -367
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +61 -96
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machine/atom.d.ts +7 -7
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/atom.js.map +1 -1
- package/dist/internal/machine/cluster.d.ts +2 -2
- package/dist/internal/machine/cluster.d.ts.map +1 -1
- package/dist/internal/machine/cluster.js +6 -5
- package/dist/internal/machine/cluster.js.map +1 -1
- package/dist/internal/machine/executionPlan.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.js +10 -3
- package/dist/internal/machine/executionPlan.js.map +1 -1
- package/dist/internal/machine/machine.d.ts +8 -6
- package/dist/internal/machine/machine.d.ts.map +1 -1
- package/dist/internal/machine/machine.js +191 -25
- package/dist/internal/machine/machine.js.map +1 -1
- package/dist/internal/machine/planner.d.ts +19 -4
- package/dist/internal/machine/planner.d.ts.map +1 -1
- package/dist/internal/machine/planner.js +56 -20
- package/dist/internal/machine/planner.js.map +1 -1
- package/dist/internal/machine/stateDefinition.d.ts.map +1 -1
- package/dist/internal/machine/stateDefinition.js +14 -0
- package/dist/internal/machine/stateDefinition.js.map +1 -1
- package/dist/internal/machine/topology.d.ts +9 -0
- package/dist/internal/machine/topology.d.ts.map +1 -1
- package/dist/internal/machine/topology.js +16 -0
- package/dist/internal/machine/topology.js.map +1 -1
- package/dist/internal/testing/machine/finiteModel.d.ts.map +1 -1
- package/dist/internal/testing/machine/finiteModel.js +15 -20
- package/dist/internal/testing/machine/finiteModel.js.map +1 -1
- package/dist/internal/testing/machine/transitionCoverage.d.ts.map +1 -1
- package/dist/internal/testing/machine/transitionCoverage.js +2 -0
- package/dist/internal/testing/machine/transitionCoverage.js.map +1 -1
- package/dist/testing/MachineTest.d.ts +11 -11
- package/dist/testing/MachineTest.d.ts.map +1 -1
- package/dist/testing/MachineTest.js +5 -8
- package/dist/testing/MachineTest.js.map +1 -1
- package/dist/unstable/cluster/ClusterMachine.d.ts +2 -2
- package/dist/unstable/cluster/ClusterMachine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterMachine.js.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +12 -12
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
- package/docs/agent-guide.md +144 -147
- package/package.json +1 -1
- package/src/Machine.ts +1118 -1178
- package/src/internal/machine/atom.ts +20 -15
- package/src/internal/machine/cluster.ts +14 -9
- package/src/internal/machine/executionPlan.ts +8 -3
- package/src/internal/machine/machine.ts +301 -40
- package/src/internal/machine/planner.ts +89 -27
- package/src/internal/machine/stateDefinition.ts +39 -0
- package/src/internal/machine/topology.ts +28 -0
- package/src/internal/testing/machine/finiteModel.ts +18 -21
- package/src/internal/testing/machine/transitionCoverage.ts +2 -0
- package/src/testing/MachineTest.ts +14 -11
- package/src/unstable/cluster/ClusterMachine.ts +8 -4
- package/src/unstable/reactivity/AtomMachine.ts +19 -12
|
@@ -159,11 +159,11 @@ export interface MachineAtom<State, Event, Error = never, Output = never, StartE
|
|
|
159
159
|
) => ChildMachineAtom<Child, StartError>
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
type RefState<Ref> = Ref extends Machine.MachineRef<infer State, any, any, any> ? State : never
|
|
162
|
+
type RefState<Ref> = Ref extends Machine.MachineRef<infer State, any, any, any, any> ? State : never
|
|
163
163
|
|
|
164
|
-
type RefError<Ref> = Ref extends Machine.MachineRef<any, any, infer Error, any> ? Error : never
|
|
164
|
+
type RefError<Ref> = Ref extends Machine.MachineRef<any, any, infer Error, any, any> ? Error : never
|
|
165
165
|
|
|
166
|
-
type RefOutput<Ref> = Ref extends Machine.MachineRef<any, any, any, infer Output> ? Output : never
|
|
166
|
+
type RefOutput<Ref> = Ref extends Machine.MachineRef<any, any, any, infer Output, any> ? Output : never
|
|
167
167
|
type RefEmitted<Ref> = Ref extends Machine.MachineRef<any, any, any, any, infer Emitted> ? Emitted : never
|
|
168
168
|
|
|
169
169
|
/**
|
|
@@ -305,7 +305,7 @@ export interface ChildMachineAtom<Child extends Machine.ChildMachine.Any, StartE
|
|
|
305
305
|
) => ChildMachineAtom<Nested, StartError>
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
-
type BridgeStartError<Bridge> = Bridge extends MachineAtom<any,
|
|
308
|
+
type BridgeStartError<Bridge> = Bridge extends MachineAtom<any, never, any, any, infer StartError, any> ? StartError
|
|
309
309
|
: Bridge extends ChildMachineAtom<any, infer StartError> ? StartError
|
|
310
310
|
: never
|
|
311
311
|
|
|
@@ -317,7 +317,7 @@ type BridgeStartError<Bridge> = Bridge extends MachineAtom<any, any, any, any, i
|
|
|
317
317
|
* @since 0.4.0
|
|
318
318
|
*/
|
|
319
319
|
export type ChildOf<
|
|
320
|
-
Parent extends MachineAtom<any, any, any, any, any> | ChildMachineAtom<any, any>,
|
|
320
|
+
Parent extends MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>,
|
|
321
321
|
Child extends Machine.ChildMachine.Any
|
|
322
322
|
> = ChildMachineAtom<Child, BridgeStartError<Parent>>
|
|
323
323
|
|
|
@@ -389,8 +389,9 @@ export const select: <
|
|
|
389
389
|
Error,
|
|
390
390
|
Output,
|
|
391
391
|
StartError,
|
|
392
|
+
Emitted,
|
|
392
393
|
const Path extends ValuedSnapshotIdentifier<State>
|
|
393
|
-
>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<
|
|
394
|
+
>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path) => Atom.Atom<
|
|
394
395
|
AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>
|
|
395
396
|
> = internal.select
|
|
396
397
|
|
|
@@ -410,8 +411,9 @@ export const selectSnapshot: <
|
|
|
410
411
|
Error,
|
|
411
412
|
Output,
|
|
412
413
|
StartError,
|
|
414
|
+
Emitted,
|
|
413
415
|
const Path extends SnapshotIdentifier<State>
|
|
414
|
-
>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<
|
|
416
|
+
>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path) => Atom.Atom<
|
|
415
417
|
AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>
|
|
416
418
|
> = internal.selectSnapshot
|
|
417
419
|
|
|
@@ -503,9 +505,10 @@ export const matches: <
|
|
|
503
505
|
Error,
|
|
504
506
|
Output,
|
|
505
507
|
StartError,
|
|
508
|
+
Emitted,
|
|
506
509
|
const Path extends SnapshotIdentifier<State>
|
|
507
510
|
>(
|
|
508
|
-
self: MachineAtom<State, Event, Error, Output, StartError>,
|
|
511
|
+
self: MachineAtom<State, Event, Error, Output, StartError, Emitted>,
|
|
509
512
|
path: Path
|
|
510
513
|
) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>> = internal.matches
|
|
511
514
|
|
|
@@ -625,7 +628,8 @@ export interface Bound<Services, RuntimeError = never> {
|
|
|
625
628
|
machine:
|
|
626
629
|
& M
|
|
627
630
|
& EnsureBoundRequirements<Services, NoInfer<M>>
|
|
628
|
-
& EnsureMachineExecutable<NoInfer<M
|
|
631
|
+
& EnsureMachineExecutable<NoInfer<M>>
|
|
632
|
+
& Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>,
|
|
629
633
|
...args: MachineInputArgsOf<M>
|
|
630
634
|
) => MachineAtomOf<M, RuntimeError>
|
|
631
635
|
|
|
@@ -634,7 +638,8 @@ export interface Bound<Services, RuntimeError = never> {
|
|
|
634
638
|
machine:
|
|
635
639
|
& M
|
|
636
640
|
& EnsureBoundResumeRequirements<Services, NoInfer<M>>
|
|
637
|
-
& EnsureMachineExecutable<NoInfer<M
|
|
641
|
+
& EnsureMachineExecutable<NoInfer<M>>
|
|
642
|
+
& Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>,
|
|
638
643
|
snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>
|
|
639
644
|
) => ResumedMachineAtomOf<M, RuntimeError>
|
|
640
645
|
}
|
|
@@ -711,7 +716,8 @@ export const make: {
|
|
|
711
716
|
Machine.Machine.EmitOf<Emits>
|
|
712
717
|
>
|
|
713
718
|
>
|
|
714
|
-
& EnsureExecutable<States, UnhandledStates, OutputStates
|
|
719
|
+
& EnsureExecutable<States, UnhandledStates, OutputStates>
|
|
720
|
+
& Machine.Machine.RootCompatible<ParentEvents>,
|
|
715
721
|
...args: [...Machine.Machine.InputArgs<Input>]
|
|
716
722
|
): MachineAtom<
|
|
717
723
|
Machine.Machine.Snapshot<States>,
|
|
@@ -738,7 +744,8 @@ export const resume: {
|
|
|
738
744
|
machine:
|
|
739
745
|
& M
|
|
740
746
|
& EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>>
|
|
741
|
-
& EnsureMachineExecutable<NoInfer<M
|
|
747
|
+
& EnsureMachineExecutable<NoInfer<M>>
|
|
748
|
+
& Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>,
|
|
742
749
|
snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>
|
|
743
750
|
): ResumedMachineAtomOf<M, never>
|
|
744
751
|
} = internal.resume
|