when<W> method

W when<W>({
  1. required W builder(
    1. AsyncData<T> value
    ),
  2. required W loading(),
  3. required W error(
    1. AsyncError<T> value
    ),
})

Implementation

W when<W>({
  required W Function(AsyncData<T> value) builder,
  required W Function() loading,
  required W Function(AsyncError<T> value) error,
}) {
  if (value is AsyncLoading) {
    return loading();
  }
  if (value is AsyncError) {
    return error(value as AsyncError<T>);
  }
  return builder(value);
}