on<T> method

  1. @override
StreamSubscription<Event<T?>> on<T>(
  1. String name,
  2. EventHandler<T?> handler
)
override

Implementation

@override
StreamSubscription<Event<T?>> on<T>(String name, EventHandler<T?> handler) {
  // ignore: cancel_subscriptions
  final StreamSubscription<Event<dynamic>> listener = onChangeStreamController.stream
      .where((Event<dynamic> event) {
        final dynamic raw = event.content;

        if (raw is! T?) {
          return false;
        }

        return event.name == name;
      })
      .cast<Event<T?>>()
      .listen((Event<T?> event) async {
        await handler(event);
      });

  return listener as StreamSubscription<Event<T?>>;
}