single_bloc_base 1.0.0+1 single_bloc_base: ^1.0.0+1 copied to clipboard
Platform agnostic Bloc interfaces + HookBloc for Dart and Flutter
single_bloc_base #
Platform agnostic Bloc interfaces + HookBloc for Dart and Flutter
Provides interfaces for:
- Disposable Blocs:
class ExampleBloc implements BlocBase {
const ExampleBloc();
@override
Future<void> dispose() async {
}
}
- Initializable Objects:
class ExampleInit implements InitBase {
const ExampleInit();
@override
Future<void> init() async {
}
}
- Initializable Blocs:
class ExampleBlocWithInit implements InitBloc {
const ExampleBlocWithInit();
@override
Future<void> dispose() async {
}
@override
Future<void> init() async {
}
}
- Bagged Initializable Blocs
class ExampleBaggedBloc extends BaggedInitBloc {
ExampleBaggedBloc(Iterable<BlocBase> blocs,
Iterable<InitializableBlocBase> initializableBlocs) {
blocs.forEach(bagBloc);
initializableBlocs.forEach(bagState);
disposeLater(() => print("dispose me later"));
initLater(() => print("init me later"));
}
}
- Hook Blocs that give you the ability to schedule objects for disposal in one line during their initialization:
class ExampleHookBloc extends HookBloc {
final MyOtherBloc otherBloc = HookBloc.disposeBloc(MyOtherBloc());
}
class MyOtherBloc extends BlocBase {
MyOtherBloc() {}
@override
Future<void> dispose() async {
print("MyOtherBloc dispose");
}
}