map<R> method
Maps the data type of this AsyncValue to R while
preserving the loading and error state.
This can be used to add additional data to the AsyncValue.
Implementation
AsyncValue<R> map<R>(R Function(T data) mapper) {
return switch (this) {
AsyncData<T> curr => AsyncData<R>._(mapper(curr.data)),
AsyncLoading<T> curr => AsyncLoading<R>._(
curr.data != null ? mapper(curr.data as T) : null,
),
AsyncError<T> curr => AsyncError<R>._(
curr.error,
curr.stackTrace,
curr.data != null ? mapper(curr.data as T) : null,
),
};
}