Pine
A brick to create Pine Architecture support files.
How to use š
mason make pine
Outputs š¦
āāā lib
ā āāā di
ā āāā blocs.dart
ā āāā dependency_injector.dart
ā āāā mappers.dart
ā āāā providers.dart
ā āāā repositories.dart
āāā ...
Dependency Injector File
import 'package:flutter/widgets.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pine/pine.dart';
import 'package:provider/single_child_widget.dart';
part 'blocs.dart';
part 'mappers.dart';
part 'providers.dart';
part 'repositories.dart';
class DependencyInjector extends StatelessWidget {
final Widget child;
const DependencyInjector({
super.key,
required this.child,
});
@override
Widget build(BuildContext context) =>
DependencyInjectorHelper(
blocs: _blocs,
mappers: _mappers,
providers: _providers,
repositories: _repositories,
child: child,
);
}
Blocs File
part of 'dependency_injector.dart';
final List<BlocProvider> _blocs = [];
Mappers File
part of 'dependency_injector.dart';
final List<SingleChildWidget> _mappers = [];
Providers File
part of 'dependency_injector.dart';
final List<SingleChildWidget> _providers = [];
Repositories File
part of 'dependency_injector.dart';
final List<RepositoryProvider> _repositories = [];