StreamsListener<P extends StreamsProvidable, T> constructor
StreamsListener<P extends StreamsProvidable, T> ({
- Key? key,
- P? provider,
- Stream<
T> selector(- BuildContext,
- P
- StreamsWidgetListener<
T> ? listener, - StreamsListenable<
P, T> ? listenable, - 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,
),
);