when<ResultType> method

ResultType when <ResultType>({@required ResultType success(Success), @required ResultType failure(Failure) })

Somehow like a switch case statement. You can return a Value from the functions success and failure.

Implementation

ResultType when<ResultType>(
    {@required ResultType Function(Success) success,
    @required ResultType Function(Failure) failure}) {
  if (_isSuccess) {
    return success(_value);
  }
  return failure(_failure);
}