when<R> method
R
when<R>({
- required R idle(),
- required R uploading(
- double progress
- required R processing(),
- required R success(
- T data
- required R failed(
- FailureResponse<
E> error
- FailureResponse<
- required R networkError(),
Implementation
R when<R>({
required R Function() idle,
required R Function(double progress) uploading,
required R Function() processing,
required R Function(T data) success,
required R Function(FailureResponse<E> error) failed,
required R Function() networkError,
}) =>
switch (this) {
UploadIdleState<T, E>() => idle(),
UploadingState<T, E>(progress: final p) => uploading(p),
UploadProcessingState<T, E>() => processing(),
UploadSuccessState<T, E>(data: final d) => success(d),
UploadFailedState<T, E>(error: final e) => failed(e),
UploadNetworkErrorState<T, E>() => networkError(),
};