build method

  1. @override
FutureOr<void> build(
  1. BuildTrigger trigger
)
override

Recalculates the state of the repository.

This method is called when:

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)),
  );
}