on<E extends VaultEvent<T>> method

  1. @override
Stream<E> on<E extends VaultEvent<T>>()
override

Listens for events of Type T and its subtypes.

The method is called like this: myVault.on

If the method is called without a type parameter, the Stream contains every event of this Vault.

The returned Stream is a broadcast stream so multiple subscriptions are allowed.

Implementation

@override
Stream<E> on<E extends VaultEvent<T>>() {
  if (E == dynamic) {
    return streamController.stream as Stream<E>;
  } else {
    return streamController.stream.where((event) => event is E).cast<E>();
  }
}