of<T> method

T of<T>(
  1. BuildContext context,
  2. {bool listen = false}
)
override

Method that allows widgets to access a repository instance as long as their BuildContext contains a RepositoryProvider instance.

Implementation

static T of<T>(BuildContext context, {bool listen = false}) {
  try {
    return Provider.of<T>(context, listen: listen);
  } on ProviderNotFoundException catch (e) {
    if (e.valueType != T) rethrow;
    throw FlutterError(
      '''
      RepositoryProvider.of() called with a context that does not contain a repository of type $T.
      No ancestor could be found starting from the context that was passed to RepositoryProvider.of<$T>().

      This can happen if the context you used comes from a widget above the RepositoryProvider.

      The context used was: $context
      ''',
    );
  }
}