when<R> method
R
when<R>({
- required R idle(),
- required R loading(),
- required R success(
- T data
- required R failed(
- FailureResponse<
E> error
- FailureResponse<
- required R networkError(
- FailureResponse<
E> error
- FailureResponse<
Pattern matching for all states
Implementation
R when<R>({
required R Function() idle,
required R Function() loading,
required R Function(T data) success,
required R Function(FailureResponse<E> error) failed,
required R Function(FailureResponse<E> error) networkError,
}) {
return switch (this) {
IdleState<T, E>() => idle(),
LoadingState<T, E>() => loading(),
SuccessState<T, E>(data: final d) => success(d),
FailedState<T, E>(error: final e) => failed(e),
NetworkErrorState<T, E>(error: final e) => networkError(e),
};
}