when<R> method

R when<R>({
  1. required R initial(),
  2. required R loading(),
  3. required R data(
    1. T data
    ),
  4. required R error(
    1. Object error,
    2. StackTrace stackTrace
    ),
})

Implementation

R when<R>({
  required R Function() initial,
  required R Function() loading,
  required R Function(T data) data,
  required R Function(Object error, StackTrace stackTrace) error,
}) {
  if (isInitial) {
    return initial();
  } else if (isLoading) {
    return loading();
  } else if (hasError) {
    return error(this.error!, stackTrace!);
  } else {
    return data(value!);
  }
}