whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>({
- TResult? network(
- NetworkFailure type,
- String? requestId
- TResult? http()?,
- TResult? auth(
- AuthFailure type,
- String? message
- TResult? validation()?,
- TResult? storage(
- StorageFailure type,
- String? key,
- String? message
- TResult? database(
- DatabaseFailure type,
- String? message
- TResult? cache(
- CacheFailure type,
- String? key
- TResult? parse(
- ParseFailure type,
- String? field,
- String? message
- TResult? permission(
- PermissionFailure type,
- String? permission
- TResult? platform(
- PlatformFailure type,
- String? details
- TResult? file(
- FileFailure type,
- String? path,
- String? message
- TResult? location(
- LocationFailure type,
- String? message
- TResult? notification(
- NotificationFailure type,
- String? message
- TResult? payment(
- PaymentFailure type,
- String? message,
- String? transactionId
- TResult? sync(
- SyncFailure type,
- String? message
- TResult? unknown(
- Object? error,
- StackTrace? stackTrace,
- String? message
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>({TResult? Function( NetworkFailure type, String? requestId)? network,TResult? Function( HttpFailure type, int? statusCode, String? message, String? requestId, Map<String, List<String>> fieldErrors)? http,TResult? Function( AuthFailure type, String? message)? auth,TResult? Function( ValidationFailure type, String? field, String? message, Map<String, List<String>> fieldErrors)? validation,TResult? Function( StorageFailure type, String? key, String? message)? storage,TResult? Function( DatabaseFailure type, String? message)? database,TResult? Function( CacheFailure type, String? key)? cache,TResult? Function( ParseFailure type, String? field, String? message)? parse,TResult? Function( PermissionFailure type, String? permission)? permission,TResult? Function( PlatformFailure type, String? details)? platform,TResult? Function( FileFailure type, String? path, String? message)? file,TResult? Function( LocationFailure type, String? message)? location,TResult? Function( NotificationFailure type, String? message)? notification,TResult? Function( PaymentFailure type, String? message, String? transactionId)? payment,TResult? Function( SyncFailure type, String? message)? sync,TResult? Function( Object? error, StackTrace? stackTrace, String? message)? unknown,}) {final _that = this;
switch (_that) {
case NetworkAppFailure() when network != null:
return network(_that.type,_that.requestId);case HttpAppFailure() when http != null:
return http(_that.type,_that.statusCode,_that.message,_that.requestId,_that.fieldErrors);case AuthAppFailure() when auth != null:
return auth(_that.type,_that.message);case ValidationAppFailure() when validation != null:
return validation(_that.type,_that.field,_that.message,_that.fieldErrors);case StorageAppFailure() when storage != null:
return storage(_that.type,_that.key,_that.message);case DatabaseAppFailure() when database != null:
return database(_that.type,_that.message);case CacheAppFailure() when cache != null:
return cache(_that.type,_that.key);case ParseAppFailure() when parse != null:
return parse(_that.type,_that.field,_that.message);case PermissionAppFailure() when permission != null:
return permission(_that.type,_that.permission);case PlatformAppFailure() when platform != null:
return platform(_that.type,_that.details);case FileAppFailure() when file != null:
return file(_that.type,_that.path,_that.message);case LocationAppFailure() when location != null:
return location(_that.type,_that.message);case NotificationAppFailure() when notification != null:
return notification(_that.type,_that.message);case PaymentAppFailure() when payment != null:
return payment(_that.type,_that.message,_that.transactionId);case SyncAppFailure() when sync != null:
return sync(_that.type,_that.message);case UnknownAppFailure() when unknown != null:
return unknown(_that.error,_that.stackTrace,_that.message);case _:
return null;
}
}