maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>({})
A variant of when that fallback to an orElse callback.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function( String? redirectUrl)? redirectToUrl,TResult Function( int? expiration, String? voucherURL, String? voucherNumber)? displayOxxoDetails,TResult Function( String? redirectUrl)? wechatPayRedirect,TResult Function( String? arrivalDate, String? redirectUrl, String? microdepositType)? verifyWithMicroDeposits,TResult Function( String? voucherURL)? multibanco,required TResult orElse(),}) {final _that = this;
switch (_that) {
case _NextActionRedirect() when redirectToUrl != null:
return redirectToUrl(_that.redirectUrl);case _NextActionOxxo() when displayOxxoDetails != null:
return displayOxxoDetails(_that.expiration,_that.voucherURL,_that.voucherNumber);case _NextActionWeChatRedirect() when wechatPayRedirect != null:
return wechatPayRedirect(_that.redirectUrl);case _NextActionMicroDeposits() when verifyWithMicroDeposits != null:
return verifyWithMicroDeposits(_that.arrivalDate,_that.redirectUrl,_that.microdepositType);case _NextActionMultiBanco() when multibanco != null:
return multibanco(_that.voucherURL);case _:
return orElse();
}
}