StreamsListener<P extends StreamsProvidable, T> constructor

StreamsListener<P extends StreamsProvidable, T>({
  1. Key? key,
  2. P? provider,
  3. Stream<T> selector(
    1. BuildContext,
    2. P
    )?,
  4. StreamsWidgetListener<T>? listener,
  5. StreamsListenable<P, T>? listenable,
  6. Widget? child,
})

Implementation

StreamsListener({
  Key? key,
  P? provider,
  Stream<T> Function(BuildContext, P)? selector,
  StreamsWidgetListener<T>? listener,
  StreamsListenable<P, T>? listenable,
  Widget? child,
})  : assert(listenable != null || (listener != null && selector != null)),
      super(
        key: key,
        child: child,
        selector: (context) {
          final p = provider ?? StreamsProvider.of<P>(context);

          if (selector != null) return selector(context, p);

          return listenable!.selector(context, p);
        },
        listener: listener ??
            (context, data) => listenable!.handler(
                  context,
                  provider ?? StreamsProvider.of(context),
                  data,
                ),
      );