context_di 0.2.4
context_di: ^0.2.4 copied to clipboard
Flutter Provider based Dependency Injection Tool supports two main scopes factory and singleton with code generation
import 'package:context_di/context_di.dart';
import 'package:flutter/material.dart';
import 'features/logger/logger.dart';
import 'router.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({super.key});
final _router = AppRouter();
@override
Widget build(BuildContext context) {
return _RootDependencies(
child: MaterialApp.router(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
routerConfig: _router.config(),
),
);
}
}
class _RootDependencies extends FeatureDependencies {
const _RootDependencies({super.child});
@override
List<Registration> register() {
return [
registerSingleton<Logger>((_) => Logger()),
];
}
}