zam_event_bus 0.3.0 zam_event_bus: ^0.3.0 copied to clipboard
Event bus is a event based state management package for dart.
Event Bus #
A State Management Package for flutter.
Use it in conjunction with zam_event_bus_provider.
What's inside the package #
Includes the following core components.
Check out all the components in detail here
How to use #
INFO: For flutter usage and providing EventBus
to widgets, checkout the zam_event_bus_provider package.
Step 1: Create the bus #
final bus = EventBus([
EventTransformer(HeightSliderDraggedEvent, (event) => HeightProvidedEvent(event.value)),
EventTransformer(HeightInputTextChangedEvent, (event) => HeightProvidedEvent(event.value)),
EventTransformer(WeightSliderDraggedEvent, (event) => WeightProvidedEvent(event.value)),
EventTransformer(WeightInputTextChangedEvent, (event) => WeightProvidedEvent(event.value)),
EventTransformer(HeightProvidedEvent, (event) => Bmi.fromHeight(event.value)),
EventTransformer(WeightProvidedEvent, (event) => Bmi.fromWeight(event.value)),
]);
Step 2: Publish Events #
bus.publish(HeightSliderDraggedEvent(1.78));
Step 3: Select Events #
final sub = bus.select<Bmi>().listen((event) => print(event.value)); // prints bmi value
Step 4: Dispose the bus #
await sub.cancel();
await bus.dispose();
To learn more, move on to the example section or check out this dedicated example in github.