mapOrNull<R> method
R?
mapOrNull<R>({
- R loading()?,
- R error(
- Object error,
- StackTrace? stackTrace
- R data(
- T data
Pattern matching method that doesn't require all cases
Implementation
R? mapOrNull<R>({
R Function()? loading,
R Function(Object error, StackTrace? stackTrace)? error,
R Function(T data)? data,
}) {
if (this is AsyncLoading<T>) {
return loading?.call();
} else if (this is AsyncError<T>) {
final errorState = this as AsyncError<T>;
return error?.call(errorState.error, errorState.stackTrace);
} else if (this is AsyncData<T>) {
final dataState = this as AsyncData<T>;
return data?.call(dataState.value);
}
return null;
}