wrapChanges<ChangeValue, Value> method

StateStream<Value> wrapChanges<ChangeValue, Value>({
  1. required ChangeValue changeMapper(
    1. State
    ),
  2. required Value stateMapper(
    1. StoreChange<ChangeValue>
    ),
  3. required Value currentMapper(
    1. State
    ),
})

StateStream object for changes with given mapper for instance state

changeMapper - mapper function to get exact state field to listen to stateMapper - mapper function to get value from StoreChange currentMapper - mapper function to get current value

late final posts = postsInteractor.wrapChanges((state) => state.posts);

Implementation

StateStream<Value> wrapChanges<ChangeValue, Value>(
    {required ChangeValue Function(State) changeMapper,
    required Value Function(StoreChange<ChangeValue>) stateMapper,
    required Value Function(State) currentMapper}) {
  return StateStream(
      changes(changeMapper).map((change) => stateMapper(change)),
      () => currentMapper(state));
}