async_injector 0.1.0 async_injector: ^0.1.0 copied to clipboard
dependency injector with async initialization support.
Dependency injector for Dart
A simple usage example
import 'package:async_injector/async_injector.dart';
class DI {
static Component instance;
static initComponent() async {
var component = ComponentBuilder();
//preference
component
..moduleImpl((_) => SharedPreferences.getInstance())
..moduleImpl<PreferenceGateway>((scope) => PreferenceImpl(scope.get()));
//api
component
..moduleImpl((scope) => AuthInterceptor(scope.get()))
..moduleImpl<Dio>(
(scope) => DioInstance.create(scope.get()));
DI.instance = await component.build();
}
static T get<T>() => instance.get<T>();
}