Given I have a Repository
:
class Repository {
final DataSource dataSource;
Repsoitory(this.dataSource);
}
and a DataSource
:
class DataSource {
final Dio dio;
DataSource(this.dio);
}
and I would like to initialize Dio
with these BaseOptions
:
final baseOptions = BaseOptions(
baseUrl: "https://myapi.com",
);
How would I do this using RepositoryProvider
?
What I often saw was using something like this:
class App extends StatelessWidget {
final Repository repository;
App(this.repository);
build(BuildContext context){
return RepositoryProvider.value(
value: repository,
);
}
}
and in main
:
main(){
final baseOptions = BaseOptions(...);
final dio = Dio(baseOptions);
final repository = Repository(dio);
runApp(App(repository));
}
But this does not allow for baseOptions
or dio
to be easily mocked.
Any ideas?