stateMachineAtom<S, SM extends StateMachineBase<S> > function
AtomWithParent<S, Atom<SM> >
stateMachineAtom<S, SM extends StateMachineBase<S> >(
- AtomReader<
SM> create
Implementation
AtomWithParent<S, Atom<SM>> stateMachineAtom<S, SM extends StateMachineBase<S>>(
AtomReader<SM> create,
) =>
atomWithParent(atom((get) {
final sm = create(get);
get.onDispose(sm.close);
return sm;
}), (get, parent) {
final sm = get(parent);
get.onDispose(sm.stream.listen(get.setSelf).cancel);
return sm.state;
});