read<N extends BaseNotifier<T>, T, R> method

  1. @override
R read<N extends BaseNotifier<T>, T, R>(
  1. BaseWatchable<N, T, R> watchable, [
  2. void onInitNotifier(
    1. BaseProvider<BaseNotifier, dynamic>,
    2. BaseNotifier
    )?
])
override

Returns the actual value of a Provider.

Implementation

@override
R read<N extends BaseNotifier<T>, T, R>(
  BaseWatchable<N, T, R> watchable, [
  void Function(BaseProvider, BaseNotifier)? onInitNotifier,
]) {
  final notifier = _getState(watchable.provider, onInitNotifier);
  if (watchable is FamilySelectedWatchable) {
    // initialize parameter
    final familyNotifier = notifier as FamilyNotifier;
    final param = (watchable as FamilySelectedWatchable).param;
    if (!familyNotifier.isParamInitialized(param)) {
      familyNotifier.initParam(param);
    }
  }
  return watchable.getSelectedState(notifier, notifier.state);
}