watchOnly2<R, T1, T2, TObs1, TObs2> function
R
watchOnly2<R, T1, T2, TObs1, TObs2>(
- BuildContext context,
- R selector(
- T1,
- T2
- Object obs1,
- Object obs2,
- ContextWatcherObservableType type1,
- ContextWatcherObservableType type2,
Implementation
R watchOnly2<R, T1, T2, TObs1, TObs2>(
BuildContext context,
R Function(T1, T2) selector,
Object obs1,
Object obs2,
ContextWatcherObservableType type1,
ContextWatcherObservableType type2,
) {
final contextWatch = InheritedContextWatch.of(context);
final observable1 = contextWatch.getOrCreateObservable<TObs1>(
context,
obs1,
type1,
);
final arg1 = observable1.subscription.callbackArgument as T1;
final observable2 = contextWatch.getOrCreateObservable<TObs2>(
context,
obs2,
type2,
);
final arg2 = observable2.subscription.callbackArgument as T2;
final selectedValue = selector(arg1, arg2);
observable1.watchOnly(
(arg1) => selector(arg1, observable2.subscription.callbackArgument as T2),
selectedValue,
);
observable2.watchOnly(
(arg2) => selector(observable1.subscription.callbackArgument as T1, arg2),
selectedValue,
);
return selectedValue;
}