watch<T> method
SaveObservableBase<T>
watch<T>(
- SaveProvider<
T> provider
inherited
Watch the observables.
Implementation
SaveObservableBase<T> watch<T>(
SaveProvider<T> provider,
) {
final key = provider.key;
final isFirstTime = !_providers.containsKey(key);
_providers[key] ??= provider;
final obs = isFirstTime ? repo.watch(provider) : repo.get(provider);
_subscriptions[key] ??= obs.listen((_) => onNotification(provider));
if (obs case SaveReactiveObservable obs) {
SaveObserver? parent = this;
while (parent is SaveReactiveObservable && parent == obs) {
parent = parent.currentParent;
}
obs.currentParent = parent;
obs.addParent(parent!);
}
if (!obs.initialized) {
obs.initialize();
}
return obs;
}