mapBusiness<R> method
Transport-aware mapping: maps the success value while letting
TransportFailures and CancelledFailures pass through UNCHANGED;
substitutes ifBusinessError for any other failure so feature-specific
copy is preserved for real server errors. (An offline or cancelled
request is not a business error and must not be relabelled as one.)
return result.mapBusiness(
const ProfileFailure(),
(data) => Ok(data.toDomain()),
);
Implementation
Result<R> mapBusiness<R>(
Failure ifBusinessError,
Result<R> Function(T data) onData,
) =>
switch (this) {
Ok(:final value) => onData(value),
Err(:final failure) =>
failure is TransportFailure || failure is CancelledFailure
? Err(failure)
: Err(ifBusinessError),
};