build method
- BuildTrigger trigger
override
Recalculates the state of the repository.
This method is called when:
- The repository is first initialized.
- A repository watched via watch emits a new state.
- This repository is updated (if updateInterval is not Duration.zero).
Override this method to handle changes from said repositories.
Example:
class MyRepository extends Repository<MyState> {
final OtherRepository _otherRepository;
MyRepository(this._otherRepository) : super(MyState.new) {
watch(_otherRepository);
}
@override
FutureOr<void> build(BuildTrigger trigger) async {
if(trigger is InitialBuildTrigger) {
// Do something when the repository is first initialized
}
if(trigger is UpdateTrigger) {
// Do something when the repository is updated
}
if(trigger is OtherRepository) {
// Do something when the other repository emits a new state
}
}
}
Implementation
@override
FutureOr<void> build(BuildTrigger trigger) {
final token = waitForData(_auth);
guard(
() async => _datasource.getAllSlots(token.pick(Webservice.lb_planner_api)),
);
}