scope_injector 0.0.2
scope_injector: ^0.0.2 copied to clipboard
A Dependency Injection library, that provides a simple way to manage your dependencies.
Features #
- ✅ Dependency injection with singletons and factories
- ✅ Scope system
- ✅ Dependency injection with qualifiers
- ✅ Module System
Getting started #
Installation #
Usage #
First is necessary to create a class that extends from Module and override the onProvide method. Inside this method you can use the provide method to register your dependencies.
class NetworkingDiModule extends Module {
NetworkingDiModule(super.scopedState);
@override
void onProvide() {
provide(() {
final dio = Dio(
BaseOptions(
baseUrl: baseUrl,
connectTimeout: const Duration(seconds: 5),
receiveTimeout: const Duration(seconds: 5)),
);
dio.interceptors.add(JwtInterceptor(inject()));
return dio;
});
// Services
provide(() => UserService(inject()));
provide(() => ProjectService(inject()));
provide(() => ExpenseService(inject()));
provide(() => PaymentService(inject()));
provide(() => LogService(inject()));
}
}