observable.dart 360 B

12345678910111213141516171819
  1. typedef _VoidCallback = void Function();
  2. mixin Observable {
  3. final listeners = <_VoidCallback>{};
  4. void addListener(_VoidCallback listener) {
  5. listeners.add(listener);
  6. }
  7. void removeListener(_VoidCallback listener) {
  8. listeners.remove(listener);
  9. }
  10. void notifyListeners() {
  11. for (var listener in listeners) {
  12. listener();
  13. }
  14. }
  15. }