match<R> method

R match<R>({
  1. required R resultSuccess(
    1. ResultSuccess<T> data
    ),
  2. required R resultFailed(
    1. ResultFailed<T> data
    ),
})

Implementation

R match<R>({
  required R Function(ResultSuccess<T> data) resultSuccess,
  required R Function(ResultFailed<T> data) resultFailed,
}) {
  final r = switch (this) {
    ResultSuccess<T>() => resultSuccess(this as ResultSuccess<T>),
    ResultFailed<T>() => resultFailed(this as ResultFailed<T>),
    Result() => throw Exception("$runtimeType not match"),
  };
  return r;
}