when<T> method
Implementation
@ignoreGeneration
T when<T>({
T Function()? loading,
T Function()? loaded,
T Function()? error,
T Function()? onElse,
}) {
assert(
loading != null || onElse != null,
'You must define either [onLoading] or [onElse]',
);
assert(
loaded != null || onElse != null,
'You must define either [onLoaded] or [onElse]',
);
assert(
error != null || onElse != null,
'You must define either [onError] or [onElse]',
);
if (isLoading) {
return loading?.call() ?? onElse!();
}
if (isLoaded) {
return loaded?.call() ?? onElse!();
}
return error?.call() ?? onElse!();
}