map<R> method

ApiState<R, E> map<R>(
  1. R transform(
    1. T data
    )
)

Map success data to a different type, preserving all other states

Implementation

ApiState<R, E> map<R>(R Function(T data) transform) {
  return switch (this) {
    IdleState<T, E>()                       => ApiState<R, E>.idle(),
    LoadingState<T, E>()                    => ApiState<R, E>.loading(),
    SuccessState<T, E>(data: final d)       => ApiState<R, E>.success(transform(d)),
    EmptyState<T, E>()                      => ApiState<R, E>.empty(),
    FailedState<T, E>(error: final e)       => ApiState<R, E>.failed(e),
    NetworkErrorState<T, E>(error: final e) => ApiState<R, E>.networkError(e),
  };
}