@typeonce/effect-machine 0.27.1 → 0.29.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 +41 -4
- package/dist/internal/machine/atom.d.ts +9 -0
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/atom.js +80 -7
- package/dist/internal/machine/atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +144 -17
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.js +77 -17
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
- package/docs/effect-atom-react.md +218 -155
- package/docs/machine-review.md +41 -23
- package/package.json +1 -1
- package/src/internal/machine/atom.ts +185 -19
- package/src/unstable/reactivity/AtomMachine.ts +479 -70
package/README.md
CHANGED
|
@@ -750,16 +750,53 @@ applications. Service-free machines can use `AtomMachine.make(Counter)`.
|
|
|
750
750
|
The bridge exposes `ref`, `snapshot`, `state`, fail-aware `result`, writable
|
|
751
751
|
`send` and `stop` atoms, and `child(descriptor)`. Use `AtomMachine.select`,
|
|
752
752
|
`AtomMachine.selectSnapshot`, and `AtomMachine.matches` for typed,
|
|
753
|
-
equality-aware derivations.
|
|
754
|
-
|
|
753
|
+
equality-aware derivations. Repeating one of these calls with the same bridge
|
|
754
|
+
and state path returns the same atom.
|
|
755
|
+
|
|
756
|
+
Use `useMachineAtom` from `@typeonce/effect-machine-react` when one React
|
|
757
|
+
subtree owns the machine. It mounts the machine without subscribing the owner
|
|
758
|
+
to state. Pass the returned machine atom through props or Context, then call
|
|
759
|
+
`useAtomSuspense(AtomMachine.selectSnapshot(machine, path))` in the descendant
|
|
760
|
+
that renders that state slot. Hooks from `@effect/atom-react` use a shared
|
|
761
|
+
default registry. Add `RegistryProvider` only when a subtree needs separate
|
|
762
|
+
registry identity or disposal.
|
|
763
|
+
|
|
764
|
+
When consumers need keyed lookup for a machine with startup input,
|
|
765
|
+
`AtomMachine.family` uses that input as the family key and exposes direct atom
|
|
766
|
+
families. Each returned atom retains its private machine bridge while
|
|
767
|
+
preserving lazy registry startup and disposal:
|
|
768
|
+
|
|
769
|
+
```ts
|
|
770
|
+
const processAtoms = AtomMachine.bind(runtime).family(processMachine, {
|
|
771
|
+
atoms: {
|
|
772
|
+
details: AtomMachine.select("Processing"),
|
|
773
|
+
ready: AtomMachine.matches("Ready"),
|
|
774
|
+
send: (machine) => machine.send
|
|
775
|
+
}
|
|
776
|
+
})
|
|
777
|
+
|
|
778
|
+
const detailsAtom = processAtoms.details(input)
|
|
779
|
+
const sendAtom = processAtoms.send(input)
|
|
780
|
+
```
|
|
781
|
+
|
|
782
|
+
The key follows Effect `Equal` and `Hash` semantics. Equal input values reuse
|
|
783
|
+
the same public atom while it remains reachable. The family does not keep an
|
|
784
|
+
unbounded strong cache on platforms with weak references. Keep keys immutable.
|
|
755
785
|
|
|
756
786
|
Descriptors reconstructed from a `Machine.childFamily` resolve the same child
|
|
757
787
|
bridge by machine identity and id:
|
|
758
788
|
|
|
759
789
|
```ts
|
|
760
790
|
const Plant = Machine.childFamily(plantMachine)
|
|
761
|
-
const
|
|
762
|
-
|
|
791
|
+
const plants = AtomMachine.familyChild(centralAtom, {
|
|
792
|
+
child: (plantId: string) => Plant(plantId),
|
|
793
|
+
atoms: {
|
|
794
|
+
broken: AtomMachine.matchesChild("Broken"),
|
|
795
|
+
send: (plant) => plant.send
|
|
796
|
+
}
|
|
797
|
+
})
|
|
798
|
+
|
|
799
|
+
const brokenAtom = plants.broken(selectedPlantId)
|
|
763
800
|
```
|
|
764
801
|
|
|
765
802
|
Emissions stay streams rather than becoming retained atom state:
|
|
@@ -80,6 +80,15 @@ export declare const make: {
|
|
|
80
80
|
export declare const resume: {
|
|
81
81
|
<M extends Machine.Machine.Any>(machine: M & EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>): ResumedMachineAtomOf<M, never>;
|
|
82
82
|
};
|
|
83
|
+
type FamilyBridge = MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>;
|
|
84
|
+
type FamilyOptions = {
|
|
85
|
+
readonly atoms: Readonly<Record<string, (bridge: FamilyBridge) => Atom.Atom<any>>>;
|
|
86
|
+
readonly label?: (key: any, atomName: string) => string | undefined;
|
|
87
|
+
};
|
|
88
|
+
export declare const family: (machine: Machine.Machine.Any, options: FamilyOptions) => Readonly<Record<string, (key: any) => Atom.Atom<any>>>;
|
|
89
|
+
export declare const familyChild: (parent: MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>, options: FamilyOptions & {
|
|
90
|
+
readonly child: (key: any) => Machine.ChildMachine.Any;
|
|
91
|
+
}) => Readonly<Record<string, (key: any) => Atom.Atom<any>>>;
|
|
83
92
|
export declare const bind: <Services, RuntimeError>(runtime: Atom.AtomRuntime<Services, RuntimeError>) => Bound<Services, RuntimeError>;
|
|
84
93
|
export {};
|
|
85
94
|
//# sourceMappingURL=atom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,KAAK,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAEpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;;;;AAGtD,qBAAa,aAAc,SAAQ,kBAAiC;CAAG;;;;AAEvE,qBAAa,mBAAoB,SAAQ,yBAAwC;IAC/E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB,CAAC;CAAG;AAEL,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;AA4EhB,KAAK,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;AACpG,KAAK,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;AAEpG,KAAK,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAE1G,eAAO,MAAM,SAAS,GAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EACxE,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,KAClE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,YAAY,CAwB9D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EACzE,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,KAClE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,YAAY,CAsB/E,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAC/E,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,KACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,YAAY,CAQhG,CAAA;AAoSH,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,wBAAwB,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GAC3E,IAAI,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,GACpF;IAAC,KAAK;CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,GACjC,IAAI,GACN,KAAK,GACL,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,oBAAoB,CAAC,KAAK,EAAE,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GAC/G,IAAI,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,GACjD,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;AAyDnG,eAAO,MAAM,MAAM,GACjB,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,CAAC,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAElD,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EACnE,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CACV,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,CAUjG,CAAA;AAEH,eAAO,MAAM,cAAc,GACzB,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAE5C,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EACnE,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CACV,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,CAU5F,CAAA;AAEH,eAAO,MAAM,WAAW,GACtB,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtC,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAE9D,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EACzC,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CACV,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,CAMyC,CAAA;AAE5C,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtC,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAExD,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EACzC,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CACV,WAAW,CAAC,WAAW,CACrB,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAC5D,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACvD,CAMyC,CAAA;AAE5C,eAAO,MAAM,OAAO,GAClB,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAE5C,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EACnE,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,CAAC,CAS9D,CAAA;AAEH,eAAO,MAAM,YAAY,GACvB,KAAK,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EACtC,UAAU,EACV,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAExD,MAAM,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EACzC,MAAM,IAAI,KACT,IAAI,CAAC,IAAI,CACV,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAM9C,CAAA;AAE5C,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,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,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,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACzD,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,EAC/C,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAChC,CAAA;AAED,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,EACxE,YAAY,SAAS,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,EAE9E,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,EACX,YAAY,CACb,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,GACvD,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,EAChD,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,YAAY,CAAC,WAAW,CAAC,EACzC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,MAAM,EACN,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC3C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CACtC,CAAA;CAOM,CAAA;AAET,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,GACnC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5E,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;CAI1B,CAAA;AAuBT,KAAK,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAE5F,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CACpE,CAAA;AAwCD,eAAO,MAAM,MAAM,GACjB,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAC5B,SAAS,aAAa,KACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAIrD,CAAA;AAEH,eAAO,MAAM,WAAW,GACtB,QAAQ,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAChF,SAAS,aAAa,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAA;CAAE,KAClF,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAIrD,CAAA;AAEH,eAAO,MAAM,IAAI,GAAI,QAAQ,EAAE,YAAY,EACzC,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,KAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAe7B,CAAA"}
|
|
@@ -7,6 +7,7 @@ import * as Data from "effect/Data";
|
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Equal from "effect/Equal";
|
|
9
9
|
import * as Fiber from "effect/Fiber";
|
|
10
|
+
import * as MutableHashMap from "effect/MutableHashMap";
|
|
10
11
|
import * as Option from "effect/Option";
|
|
11
12
|
import * as Stream from "effect/Stream";
|
|
12
13
|
import { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
|
|
@@ -18,6 +19,34 @@ export class ChildNotActiveError extends Data.TaggedError("ChildNotActiveError")
|
|
|
18
19
|
}
|
|
19
20
|
const ExternalRequirementsTypeId = "~effect/reactivity/AtomMachine/ExternalRequirements";
|
|
20
21
|
const preparedByMachineAtom = new WeakMap();
|
|
22
|
+
// This follows Atom.family, but cleanup is generation-aware. A finalizer for a
|
|
23
|
+
// collected value must not remove a newer value installed for the same key.
|
|
24
|
+
const retainedFamily = (makeValue) => {
|
|
25
|
+
if (typeof WeakRef === "undefined" || typeof FinalizationRegistry === "undefined") {
|
|
26
|
+
return Atom.family(makeValue);
|
|
27
|
+
}
|
|
28
|
+
const values = MutableHashMap.empty();
|
|
29
|
+
const registry = new FinalizationRegistry(({ entry, key }) => {
|
|
30
|
+
const current = MutableHashMap.get(values, key);
|
|
31
|
+
if (Option.isSome(current) && current.value === entry) {
|
|
32
|
+
MutableHashMap.remove(values, key);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return (key) => {
|
|
36
|
+
const current = MutableHashMap.get(values, key);
|
|
37
|
+
if (Option.isSome(current)) {
|
|
38
|
+
const value = current.value.ref.deref();
|
|
39
|
+
if (value !== undefined) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const value = makeValue(key);
|
|
44
|
+
const entry = { ref: new WeakRef(value) };
|
|
45
|
+
MutableHashMap.set(values, key, entry);
|
|
46
|
+
registry.register(value, { key, entry });
|
|
47
|
+
return value;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
21
50
|
const runMachineAtomEffect = (get, start) => Effect.scoped(Effect.acquireRelease(start, (ref) => ref.stop).pipe(Effect.tap((ref) => Effect.sync(() => get.setSelf(AsyncResult.success(ref)))), Effect.flatMap(() => Effect.never)));
|
|
22
51
|
const startPreparedMachineAtomEffect = (get, prepared) => runMachineAtomEffect(get, get.result(prepared).pipe(Effect.flatMap((prepared) => prepared.start)));
|
|
23
52
|
const resumeMachineAtomEffect = (get, machine, snapshot) => runMachineAtomEffect(get, internalMachine.resume(machine, snapshot));
|
|
@@ -284,12 +313,32 @@ const makeFromRefAtom = (ref) => {
|
|
|
284
313
|
};
|
|
285
314
|
const selectValueByPath = (snapshot, path) => Topology.getSnapshotByPath(snapshot, path).pipe(Option.map((snapshot) => snapshot.value));
|
|
286
315
|
const selectSnapshotByPath = (snapshot, path) => Topology.getSnapshotByPath(snapshot, path);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
316
|
+
const selectorsByBridge = new WeakMap();
|
|
317
|
+
const cachedSelector = (bridge, kind, path, make) => {
|
|
318
|
+
let selectorsByKind = selectorsByBridge.get(bridge);
|
|
319
|
+
if (selectorsByKind === undefined) {
|
|
320
|
+
selectorsByKind = new Map();
|
|
321
|
+
selectorsByBridge.set(bridge, selectorsByKind);
|
|
322
|
+
}
|
|
323
|
+
let selectorsByPath = selectorsByKind.get(kind);
|
|
324
|
+
if (selectorsByPath === undefined) {
|
|
325
|
+
selectorsByPath = new Map();
|
|
326
|
+
selectorsByKind.set(kind, selectorsByPath);
|
|
327
|
+
}
|
|
328
|
+
const cached = selectorsByPath.get(path);
|
|
329
|
+
if (cached !== undefined) {
|
|
330
|
+
return cached;
|
|
331
|
+
}
|
|
332
|
+
const selector = make();
|
|
333
|
+
selectorsByPath.set(path, selector);
|
|
334
|
+
return selector;
|
|
335
|
+
};
|
|
336
|
+
export const select = (self, path) => cachedSelector(self, "select", path, () => Atom.mapResult(self.result, (snapshot) => selectValueByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals)));
|
|
337
|
+
export const selectSnapshot = (self, path) => cachedSelector(self, "selectSnapshot", path, () => Atom.mapResult(self.result, (snapshot) => selectSnapshotByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals)));
|
|
338
|
+
export const selectChild = (self, path) => cachedSelector(self, "selectChild", path, () => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectValueByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
|
|
339
|
+
export const selectSnapshotChild = (self, path) => cachedSelector(self, "selectSnapshotChild", path, () => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
|
|
340
|
+
export const matches = (self, path) => cachedSelector(self, "matches", path, () => Atom.mapResult(self.result, (snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
|
|
341
|
+
export const matchesChild = (self, path) => cachedSelector(self, "matchesChild", path, () => Atom.mapResult(self.result, Option.exists((snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path)))).pipe(Atom.withEquality(Equal.equals)));
|
|
293
342
|
export const make = ((machine, ...args) => {
|
|
294
343
|
const prepared = Atom.make(() => internalMachine.prepare(machine, ...args));
|
|
295
344
|
const ref = Atom.make((get) => startPreparedMachineAtomEffect(get, prepared));
|
|
@@ -312,8 +361,32 @@ const resumeWithRuntime = (runtime, machine, snapshot) => {
|
|
|
312
361
|
const ref = runtime.atom((get) => resumeMachineAtomEffect(get, machine, snapshot));
|
|
313
362
|
return makeFromRefAtom(ref);
|
|
314
363
|
};
|
|
364
|
+
const retainFamilyOwner = (owner, source, label) => {
|
|
365
|
+
const retained = { owner, source };
|
|
366
|
+
let atom = Atom.transform(source, (get) => get(retained.source), { initialValueTarget: source }).pipe(Atom.withEquality((value, next) => retained.source.equals(value, next)));
|
|
367
|
+
if (label !== undefined) {
|
|
368
|
+
atom = atom.pipe(Atom.withLabel(label));
|
|
369
|
+
}
|
|
370
|
+
return atom;
|
|
371
|
+
};
|
|
372
|
+
const makeFamily = (makeBridge, options) => {
|
|
373
|
+
const owners = retainedFamily((key) => ({ bridge: makeBridge(key) }));
|
|
374
|
+
const atoms = {};
|
|
375
|
+
for (const atomName of Object.keys(options.atoms)) {
|
|
376
|
+
const project = options.atoms[atomName];
|
|
377
|
+
atoms[atomName] = retainedFamily((key) => {
|
|
378
|
+
const owner = owners(key);
|
|
379
|
+
const source = project(owner.bridge);
|
|
380
|
+
return retainFamilyOwner(owner, source, options.label?.(key, atomName));
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
return atoms;
|
|
384
|
+
};
|
|
385
|
+
export const family = (machine, options) => makeFamily((input) => make(machine, input), options);
|
|
386
|
+
export const familyChild = (parent, options) => makeFamily((key) => parent.child(options.child(key)), options);
|
|
315
387
|
export const bind = (runtime) => ({
|
|
316
388
|
make: ((machine, ...args) => makeWithRuntime(runtime, machine, args)),
|
|
317
|
-
resume: ((machine, snapshot) => resumeWithRuntime(runtime, machine, snapshot))
|
|
389
|
+
resume: ((machine, snapshot) => resumeWithRuntime(runtime, machine, snapshot)),
|
|
390
|
+
family: ((machine, options) => makeFamily((input) => makeWithRuntime(runtime, machine, [input]), options))
|
|
318
391
|
});
|
|
319
392
|
//# sourceMappingURL=atom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atom.js","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
|
|
@@ -235,12 +235,28 @@ type SnapshotByIdentifier<State, Path extends SnapshotIdentifier<State>> = Snaps
|
|
|
235
235
|
readonly path: Path;
|
|
236
236
|
} ? Node : never : never;
|
|
237
237
|
type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.ChildMachine.Ref<Child>>;
|
|
238
|
+
type ChildSnapshot<Child extends Machine.ChildMachine.Any> = Machine.Machine.Snapshot<Machine.Machine.States<Child["machine"]>>;
|
|
239
|
+
declare const InvalidSelectorPathTypeId = "~effect/reactivity/AtomMachine/InvalidSelectorPath";
|
|
240
|
+
declare const SelectorProjectionTypeId = "~effect/reactivity/AtomMachine/SelectorProjection";
|
|
241
|
+
type SelectorProjectionKind = "select" | "selectSnapshot" | "matches" | "selectChild" | "selectSnapshotChild" | "matchesChild";
|
|
242
|
+
interface SelectorProjection<Kind extends SelectorProjectionKind, Path extends string> {
|
|
243
|
+
readonly [SelectorProjectionTypeId]: {
|
|
244
|
+
readonly kind: Kind;
|
|
245
|
+
readonly path: Path;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
type EnsureSelectorPath<State, Path extends string> = [Path] extends [SnapshotIdentifier<State>] ? unknown : {
|
|
249
|
+
readonly [InvalidSelectorPathTypeId]: Path;
|
|
250
|
+
};
|
|
251
|
+
type EnsureValuedSelectorPath<State, Path extends string> = [Path] extends [ValuedSnapshotIdentifier<State>] ? unknown : {
|
|
252
|
+
readonly [InvalidSelectorPathTypeId]: Path;
|
|
253
|
+
};
|
|
238
254
|
/**
|
|
239
255
|
* Selects the typed value for an active state path.
|
|
240
256
|
*
|
|
241
257
|
* Valid paths and their selected value types are inferred from the bridge.
|
|
242
|
-
* The derived atom suppresses structurally equal updates.
|
|
243
|
-
*
|
|
258
|
+
* The derived atom suppresses structurally equal updates. Repeated calls with
|
|
259
|
+
* the same bridge and path return the same atom.
|
|
244
260
|
*
|
|
245
261
|
* **Example**
|
|
246
262
|
*
|
|
@@ -269,24 +285,32 @@ type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.Child
|
|
|
269
285
|
* @category combinators
|
|
270
286
|
* @since 0.4.0
|
|
271
287
|
*/
|
|
272
|
-
export declare const select:
|
|
288
|
+
export declare const select: {
|
|
289
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends ValuedSnapshotIdentifier<State> = ValuedSnapshotIdentifier<State>>(path: Path): SelectorProjection<"select", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>);
|
|
290
|
+
<const Path extends string>(path: Path): SelectorProjection<"select", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureValuedSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Extract<Path, ValuedSnapshotIdentifier<State>>>>, StartError | Error>>);
|
|
291
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends ValuedSnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
|
|
292
|
+
};
|
|
273
293
|
/**
|
|
274
294
|
* Selects the typed logical snapshot for an active state path.
|
|
275
295
|
*
|
|
276
296
|
* Unlike {@link select}, the selected value retains its child snapshot
|
|
277
|
-
* topology. The derived atom suppresses structurally equal updates.
|
|
278
|
-
*
|
|
297
|
+
* topology. The derived atom suppresses structurally equal updates. Repeated
|
|
298
|
+
* calls with the same bridge and path return the same atom.
|
|
279
299
|
*
|
|
280
300
|
* @category combinators
|
|
281
301
|
* @since 0.7.0
|
|
282
302
|
*/
|
|
283
|
-
export declare const selectSnapshot:
|
|
303
|
+
export declare const selectSnapshot: {
|
|
304
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends SnapshotIdentifier<State> = SnapshotIdentifier<State>>(path: Path): SelectorProjection<"selectSnapshot", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>);
|
|
305
|
+
<const Path extends string>(path: Path): SelectorProjection<"selectSnapshot", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Extract<Path, SnapshotIdentifier<State>>>>, StartError | Error>>);
|
|
306
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>;
|
|
307
|
+
};
|
|
284
308
|
/**
|
|
285
309
|
* Selects the typed value for an active state path in a directly owned child.
|
|
286
310
|
*
|
|
287
311
|
* Valid paths and their selected value types are inferred from the child
|
|
288
|
-
* bridge. An inactive child produces `Option.none()`.
|
|
289
|
-
*
|
|
312
|
+
* bridge. An inactive child produces `Option.none()`. Repeated calls with the
|
|
313
|
+
* same child bridge and path return the same atom.
|
|
290
314
|
*
|
|
291
315
|
* **Example**
|
|
292
316
|
*
|
|
@@ -298,25 +322,35 @@ export declare const selectSnapshot: <State extends Machine.Machine.AtomicSnapsh
|
|
|
298
322
|
* @category combinators
|
|
299
323
|
* @since 0.4.0
|
|
300
324
|
*/
|
|
301
|
-
export declare const selectChild:
|
|
325
|
+
export declare const selectChild: {
|
|
326
|
+
<Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends ValuedSnapshotIdentifier<ChildState<Child>> = ValuedSnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"selectChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
327
|
+
<const Path extends string>(path: Path): SelectorProjection<"selectChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureValuedSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Extract<Path, ValuedSnapshotIdentifier<ChildState<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
328
|
+
<Child extends Machine.ChildMachine.Any, StartError, const Path extends ValuedSnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
329
|
+
};
|
|
302
330
|
/**
|
|
303
331
|
* Selects the typed logical snapshot for an active state path in an invoked
|
|
304
332
|
* child.
|
|
305
333
|
*
|
|
306
334
|
* An inactive child or state path produces `Option.none()`. Unlike
|
|
307
335
|
* {@link selectChild}, the selected value retains its child snapshot topology.
|
|
308
|
-
* The derived atom suppresses structurally equal updates.
|
|
336
|
+
* The derived atom suppresses structurally equal updates. Repeated calls with
|
|
337
|
+
* the same child bridge and path return the same atom.
|
|
309
338
|
*
|
|
310
339
|
* @category combinators
|
|
311
340
|
* @since 0.7.0
|
|
312
341
|
*/
|
|
313
|
-
export declare const selectSnapshotChild:
|
|
342
|
+
export declare const selectSnapshotChild: {
|
|
343
|
+
<Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends SnapshotIdentifier<ChildState<Child>> = SnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"selectSnapshotChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
344
|
+
<const Path extends string>(path: Path): SelectorProjection<"selectSnapshotChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Extract<Path, SnapshotIdentifier<ChildState<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
345
|
+
<Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
346
|
+
};
|
|
314
347
|
/**
|
|
315
348
|
* Returns whether a state path is active.
|
|
316
349
|
*
|
|
317
350
|
* Valid paths are inferred from the bridge snapshot.
|
|
318
|
-
* The derived atom suppresses equal updates.
|
|
319
|
-
*
|
|
351
|
+
* The derived atom suppresses equal updates. Repeated calls with the same
|
|
352
|
+
* bridge and path return the same atom. Runtime failures remain in the typed
|
|
353
|
+
* failure channel.
|
|
320
354
|
*
|
|
321
355
|
* **Example**
|
|
322
356
|
*
|
|
@@ -343,18 +377,26 @@ export declare const selectSnapshotChild: <Child extends Machine.ChildMachine.An
|
|
|
343
377
|
* @category combinators
|
|
344
378
|
* @since 0.4.0
|
|
345
379
|
*/
|
|
346
|
-
export declare const matches:
|
|
380
|
+
export declare const matches: {
|
|
381
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends SnapshotIdentifier<State> = SnapshotIdentifier<State>>(path: Path): SelectorProjection<"matches", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>);
|
|
382
|
+
<const Path extends string>(path: Path): SelectorProjection<"matches", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>);
|
|
383
|
+
<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>;
|
|
384
|
+
};
|
|
347
385
|
/**
|
|
348
386
|
* Returns whether a state path is active in a directly owned child.
|
|
349
387
|
*
|
|
350
388
|
* Valid paths are inferred from the child bridge snapshot.
|
|
351
|
-
* An inactive child produces `false`.
|
|
352
|
-
*
|
|
389
|
+
* An inactive child produces `false`. Repeated calls with the same child
|
|
390
|
+
* bridge and path return the same atom.
|
|
353
391
|
*
|
|
354
392
|
* @category combinators
|
|
355
393
|
* @since 0.4.0
|
|
356
394
|
*/
|
|
357
|
-
export declare const matchesChild:
|
|
395
|
+
export declare const matchesChild: {
|
|
396
|
+
<Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends SnapshotIdentifier<ChildState<Child>> = SnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"matchesChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
397
|
+
<const Path extends string>(path: Path): SelectorProjection<"matchesChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
|
|
398
|
+
<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>>>>;
|
|
399
|
+
};
|
|
358
400
|
declare const BoundRequirementsTypeId = "~effect/reactivity/AtomMachine/BoundRequirements";
|
|
359
401
|
type MachineRequirementsOf<M extends Machine.Machine.Any> = MachineRequirements<Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, Machine.Machine.Event<M>, Machine.Machine.Emit<M>>;
|
|
360
402
|
type MissingBoundRequirements<Services, M extends Machine.Machine.Any> = Exclude<ExternalRequirements<MachineRequirementsOf<M>>, Services>;
|
|
@@ -377,6 +419,23 @@ type MachineInputArgsOf<M extends Machine.Machine.Any> = [
|
|
|
377
419
|
...Machine.Machine.InputArgs<Machine.Machine.InputSchema<M>>
|
|
378
420
|
];
|
|
379
421
|
type MachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<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>, Machine.Machine.EmittedEvent<M>>;
|
|
422
|
+
type FamilyBridge = MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>;
|
|
423
|
+
type RootFamilySelectorProjection<State> = SelectorProjection<"select", ValuedSnapshotIdentifier<State>> | SelectorProjection<"selectSnapshot", SnapshotIdentifier<State>> | SelectorProjection<"matches", SnapshotIdentifier<State>>;
|
|
424
|
+
type ChildFamilySelectorProjection<Child extends Machine.ChildMachine.Any> = SelectorProjection<"selectChild", ValuedSnapshotIdentifier<ChildSnapshot<Child>>> | SelectorProjection<"selectSnapshotChild", SnapshotIdentifier<ChildSnapshot<Child>>> | SelectorProjection<"matchesChild", SnapshotIdentifier<ChildSnapshot<Child>>>;
|
|
425
|
+
type FamilyProjectionRecord<Bridge extends FamilyBridge, SelectorProjection = never> = Readonly<Record<string, ((bridge: Bridge) => Atom.Atom<any>) | SelectorProjection>>;
|
|
426
|
+
type FamilyProjectedSelectorAtom<Kind extends SelectorProjectionKind, Path extends string, Bridge extends FamilyBridge> = Bridge extends MachineAtom<infer State, infer _Event, infer Error, infer _Output, infer StartError, infer _Emitted> ? Kind extends "select" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Extract<Path, ValuedSnapshotIdentifier<State>>>>, StartError | Error>> : Kind extends "selectSnapshot" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Extract<Path, SnapshotIdentifier<State>>>>, StartError | Error>> : Kind extends "matches" ? Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>> : never : Bridge extends ChildMachineAtom<infer Child, infer StartError> ? Kind extends "selectChild" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildSnapshot<Child>, Extract<Path, ValuedSnapshotIdentifier<ChildSnapshot<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : Kind extends "selectSnapshotChild" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildSnapshot<Child>, Extract<Path, SnapshotIdentifier<ChildSnapshot<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : Kind extends "matchesChild" ? Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : never : never;
|
|
427
|
+
type FamilyProjectedAtom<Projection, Bridge extends FamilyBridge> = Projection extends SelectorProjection<infer Kind, infer Path> ? FamilyProjectedSelectorAtom<Kind, Path, Bridge> : Projection extends (bridge: Bridge) => infer Source ? Source extends Atom.Atom<any> ? Source : never : never;
|
|
428
|
+
type FamilyAtoms<Key, Bridge extends FamilyBridge, Projections extends Readonly<Record<string, unknown>>> = {
|
|
429
|
+
readonly [Name in keyof Projections]: (key: Key) => Atom.WithoutSerializable<FamilyProjectedAtom<Projections[Name], Bridge>>;
|
|
430
|
+
};
|
|
431
|
+
declare const FamilyInputRequiredTypeId = "~effect/reactivity/AtomMachine/FamilyInputRequired";
|
|
432
|
+
type EnsureFamilyInput<M extends Machine.Machine.Any> = [Machine.Machine.Input<M>] extends [never] ? {
|
|
433
|
+
readonly [FamilyInputRequiredTypeId]: "AtomMachine.family requires a machine with startup input";
|
|
434
|
+
} : unknown;
|
|
435
|
+
type FamilyOptions<Key, Bridge extends FamilyBridge, Projections extends Readonly<Record<string, unknown>>> = {
|
|
436
|
+
readonly atoms: Projections;
|
|
437
|
+
readonly label?: (key: Key, atomName: keyof Projections & string) => string | undefined;
|
|
438
|
+
};
|
|
380
439
|
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError, Machine.Machine.EmittedEvent<M>>;
|
|
381
440
|
/**
|
|
382
441
|
* An `AtomMachine` factory with one owned Effect runtime.
|
|
@@ -396,7 +455,75 @@ export interface Bound<Services, RuntimeError = never> {
|
|
|
396
455
|
readonly make: <M extends Machine.Machine.Any>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, ...args: MachineInputArgsOf<M>) => MachineAtomOf<M, RuntimeError>;
|
|
397
456
|
/** Creates a lazy bridge from a decoded logical snapshot. */
|
|
398
457
|
readonly resume: <M extends Machine.Machine.Any>(machine: M & EnsureBoundResumeRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>) => ResumedMachineAtomOf<M, RuntimeError>;
|
|
458
|
+
/**
|
|
459
|
+
* Creates retained atom families for independent machine inputs using the
|
|
460
|
+
* bound runtime.
|
|
461
|
+
*
|
|
462
|
+
* Each machine input is also the family key. Every projected atom retains
|
|
463
|
+
* its private machine bridge while the projected atom remains reachable.
|
|
464
|
+
*
|
|
465
|
+
* @since 0.28.0
|
|
466
|
+
*/
|
|
467
|
+
readonly family: <M extends Machine.Machine.Any, const Projections extends FamilyProjectionRecord<MachineAtomOf<NoInfer<M>, RuntimeError>, RootFamilySelectorProjection<Machine.Machine.Snapshot<Machine.Machine.States<NoInfer<M>>>>>>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>> & EnsureFamilyInput<NoInfer<M>>, options: FamilyOptions<Machine.Machine.Input<NoInfer<M>>, MachineAtomOf<NoInfer<M>, RuntimeError>, Projections>) => FamilyAtoms<Machine.Machine.Input<M>, MachineAtomOf<M, RuntimeError>, Projections>;
|
|
399
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Creates retained atom families for independent machine inputs.
|
|
471
|
+
*
|
|
472
|
+
* The machine input is both startup input and family identity. Each property
|
|
473
|
+
* in `atoms` projects one public atom family from a private machine bridge.
|
|
474
|
+
* Retaining any projected atom retains that bridge without keeping its
|
|
475
|
+
* registry runtime mounted. Keys follow Effect `Equal` and `Hash` semantics.
|
|
476
|
+
* The optional `label` function labels each public projected atom.
|
|
477
|
+
*
|
|
478
|
+
* **Example**
|
|
479
|
+
*
|
|
480
|
+
* ```ts
|
|
481
|
+
* const processAtoms = AtomMachine.family(processMachine, {
|
|
482
|
+
* atoms: {
|
|
483
|
+
* ready: AtomMachine.matches("Ready"),
|
|
484
|
+
* state: (machine) => machine.state,
|
|
485
|
+
* send: (machine) => machine.send
|
|
486
|
+
* }
|
|
487
|
+
* })
|
|
488
|
+
*
|
|
489
|
+
* const readyAtom = processAtoms.ready("effect")
|
|
490
|
+
* const sendAtom = processAtoms.send("effect")
|
|
491
|
+
* ```
|
|
492
|
+
*
|
|
493
|
+
* @category constructors
|
|
494
|
+
* @since 0.28.0
|
|
495
|
+
*/
|
|
496
|
+
export declare const family: <M extends Machine.Machine.Any, const Projections extends FamilyProjectionRecord<MachineAtomOf<NoInfer<M>, never>, RootFamilySelectorProjection<Machine.Machine.Snapshot<Machine.Machine.States<NoInfer<M>>>>>>(machine: M & EnsureNoExternalRequirements<MachineRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>> & EnsureFamilyInput<NoInfer<M>>, options: FamilyOptions<Machine.Machine.Input<NoInfer<M>>, MachineAtomOf<NoInfer<M>, never>, Projections>) => FamilyAtoms<Machine.Machine.Input<M>, MachineAtomOf<M, never>, Projections>;
|
|
497
|
+
/**
|
|
498
|
+
* Creates retained atom families for keyed direct-child lookup.
|
|
499
|
+
*
|
|
500
|
+
* The `child` function maps each family key to one direct child descriptor.
|
|
501
|
+
* Every projected atom retains the resulting child bridge while the projected
|
|
502
|
+
* atom remains reachable. Keys follow Effect `Equal` and `Hash` semantics.
|
|
503
|
+
*
|
|
504
|
+
* **Example**
|
|
505
|
+
*
|
|
506
|
+
* ```ts
|
|
507
|
+
* const Plant = Machine.childFamily(plantMachine)
|
|
508
|
+
*
|
|
509
|
+
* const plantAtoms = AtomMachine.familyChild(parentMachineAtom, {
|
|
510
|
+
* child: (plantId: string) => Plant(plantId),
|
|
511
|
+
* atoms: {
|
|
512
|
+
* broken: AtomMachine.matchesChild("Broken"),
|
|
513
|
+
* state: (child) => child.state,
|
|
514
|
+
* send: (child) => child.send
|
|
515
|
+
* }
|
|
516
|
+
* })
|
|
517
|
+
* ```
|
|
518
|
+
*
|
|
519
|
+
* @category constructors
|
|
520
|
+
* @since 0.28.0
|
|
521
|
+
*/
|
|
522
|
+
export declare const familyChild: <Key, Parent extends MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>, Child extends Machine.ChildMachine.Any, const Projections extends FamilyProjectionRecord<ChildOf<Parent, Child>, ChildFamilySelectorProjection<Child>>>(parent: Parent, options: {
|
|
523
|
+
readonly child: (key: Key) => Child;
|
|
524
|
+
readonly atoms: Projections;
|
|
525
|
+
readonly label?: (key: Key, atomName: keyof Projections & string) => string | undefined;
|
|
526
|
+
}) => FamilyAtoms<Key, ChildOf<Parent, Child>, Projections>;
|
|
400
527
|
/**
|
|
401
528
|
* Creates atoms backed by a running machine.
|
|
402
529
|
*
|