-
Notifications
You must be signed in to change notification settings - Fork 5
Getting started
Ricardo Canastro edited this page Apr 29, 2022
·
3 revisions
dart pub add automata
or
flutter pub add automata
// States
class Inactive extends AutomataState {}
class Active extends AutomataState {}
// Events
class OnToggle extends AutomataEvent {}
final machine = StateMachine.create(
(g) => g
..initial<Inactive>()
..state<Inactive>(
builder: (g) => g..on<OnToggle, Active>()
)
..state<Active>(
builder: (g) => g..on<OnToggle, Inactive>()
),
onTransition: (e, value) => print(
'''
## Transition::
Received Event: $e
Value: $value
''',
),
);
machine.send(OnToggle());
machine.isInState(Inactive): // false
machine.isInState(Active): // true