padi 1.0.0
padi: ^1.0.0 copied to clipboard
Async DI for flutter
Features #
This PADI - Async Dependency Injection - simple async DI
Usage #
Create new Padi scope
class UserScope extends Padi {
@override
Future<void> initAsync(BuildContext context) async {}
}
Add some deps
class UserScope extends Padi {
late final String youreDep;
@override
Future<void> initAsync(BuildContext context) async {
youreDep = "hello di";
}
@override
Future<void> onError(BuildContext context, Object? error, StackTrace? stackTrace) async {
//youre hanlde here
super.onError(context, error, stackTrace);
}
}
Create Padi Widget that will wrap youre dependency
runApp(
PadiWidget<UserScope>(
create: UserScope.new,
loaderBuilder: (context) => Container(),
errorBuilder: (context) => Container(),
child: const App(),
),
)
get dependency from youre di
PadiScope.of<GlobalScope>(context);