run method

void run(
  1. FutureOr<void> handler(
    1. TransitionHandlerContext<D, C> ctx
    ), {
  2. String? label,
})

Runs handler when the transition occurs.

void handleEnter(TransitionHandlerContext ctx) => print('State entered');
void handleExit(TransitionHandlerContext ctx) => print('State exited');

var state1 = StateKey('s1');
var builder = StateTreeBuilder(initialState: state1);

builder.state(state1, (b) {
  // Run a function when the state is entered
  b.onEnter((b) => b.run(handleEnter));

  // Run a function when the state is exited
  b.onExit((b) => b.run(handleExit));
});

The handler can be labeled when formatting a state tree by providing a label.

Implementation

void run(
  FutureOr<void> Function(TransitionHandlerContext<D, C> ctx) handler, {
  String? label,
}) {
  _descriptor = makeRunDescriptor<D, C>(handler, _makeContext, _log, label);
}