subscribe<T> method

NotificationSubscription subscribe<T>(
  1. String notificationId,
  2. void callback(
    1. T
    )
)

Adds to the center a subscriber for notificationId.

The returned NotificationSubscription can be used to pause/resume or cancel the subscription.

Implementation

NotificationSubscription subscribe<T>(
    String notificationId, void Function(T) callback) {
  if (!_notifications.containsKey(notificationId)) {
    _notifications[notificationId] = [];
  }
  final subscriber = NotificationSubscriber<T>(callback);
  subscriber.onCancel = () {
    _notifications[notificationId]?.remove(subscriber);
  };
  _notifications[notificationId]?.add(subscriber);
  return subscriber;
}