when<TResult extends Object?> method

TResult when<TResult extends Object?>({
  1. required TResult success(
    1. T response
    ),
  2. required TResult error(
    1. Object? error
    ),
})

Maps the value of the result and returns the error or success TResult

Implementation

TResult when<TResult extends Object?>({
  required TResult Function(T response) success,
  required TResult Function(Object? error) error,
}) {
  if (isSuccess) {
    return success((this as Success<T>).value);
  } else {
    return error((this as Failure<T>).error);
  }
}