when method

void when(
  1. bool condition(),
  2. VoidCallback callback
)

Implementation

void when(bool Function() condition, VoidCallback callback) {
  void listener() {
    if (condition()) {
      removeListener(listener);
      callback();
    }
  }

  addListener(listener);
  listener();
}