maybeMatch<R> method

R? maybeMatch<R>({
  1. R asyncLoading(
    1. AsyncLoading<T> data
    )?,
  2. R asyncLoaded(
    1. AsyncLoaded<T> data
    )?,
  3. R asyncFailed(
    1. AsyncFailed<T> data
    )?,
})

Implementation

R? maybeMatch<R>({
  R Function(AsyncLoading<T> data)? asyncLoading,
  R Function(AsyncLoaded<T> data)? asyncLoaded,
  R Function(AsyncFailed<T> data)? asyncFailed,
}) {
  final r = switch (this) {
    AsyncLoading<T>() => asyncLoading?.call(this as AsyncLoading<T>),
    AsyncLoaded<T>() => asyncLoaded?.call(this as AsyncLoaded<T>),
    AsyncFailed<T>() => asyncFailed?.call(this as AsyncFailed<T>),
    _ => throw Exception("$runtimeType not match"),
  };
  return r;
}