BaseResourceBloc<K extends Object, V>.fromState constructor

BaseResourceBloc<K extends Object, V>.fromState(
  1. ResourceState<K, V> initialState, {
  2. InitialValue<K, V>? initialValue,
})

Implementation

BaseResourceBloc.fromState(
  ResourceState<K, V> initialState, {
  this.initialValue,
})  : initialKey = initialState.key,
      super(initialState) {
  on<ResourceEvent>(
    (event, emit) async {
      if (event is KeyUpdate<K>) {
        await _onKeyUpdate(event, emit);
      } else if (event is KeyError) {
        await _onKeyError(event, emit);
      } else if (event is Reload) {
        await _onReload(event, emit);
      } else if (event is ValueUpdate<K, V>) {
        await _onValueUpdate(event, emit);
      } else if (event is ErrorUpdate) {
        await _onErrorUpdate(event, emit);
      } else if (event is ResourceAction) {
        await _onResourceAction(event, emit);
      } else if (event is TruthSourceUpdate) {
        await _onTruthSourceUpdate(event, emit);
      }
    },
    transformer: (events, mapper) => events.asyncExpand(mapper), // sequential
  );

  if (initialKey != null) {
    _setUpTruthSubscription(initialKey!);
  }
}