modulapp 1.0.0
modulapp: ^1.0.0 copied to clipboard
A Dart module.
module #
A very simple base class that defines common modules methods.
Keep it simple #
Here is a simple Module that defines simple routes
class HomeModule extends Module with ModuleRouter<MapEntry<String, WidgetBuilder>> {
@override
final List<MapEntry<String, WidgetBuilder>> routes = [
MapEntry('/home', (context) => const HomeView()),
];
}
Same Module but with GoRouter routes
class HomeModule extends Module with ModuleRouter<RouteBase> {
@override
final List<RouteBase> routes = [
GoRoute(path: '/home', builder: (context, state) => const HomeView()),
];
}
A Module that defines dependency injection (with flutter_inject) #
class HomeModule extends Module {
@override
WidgetBuilder injectDependencies({required WidgetBuilder builder}) {
return (context) => InjectAll(
dependencies: [
Dependency<TodoRepository>((context) => TodoRepositoryImpl()),
],
builder: builder,
);
}
}
Check the example section for a full example #
You'll also find in the Gitlab repository an advanced example with Modules that provides GoRouter routes, translations and dependency injection.