maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>({
- TResult googlePay(
- GooglePayParams googlePayParams,
- GooglePayPaymentMethodParams googlePayPaymentMethodParams
- TResult applePay(
- ApplePayParams applePayParams
- TResult web()?,
- required TResult orElse(),
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( GooglePayParams googlePayParams, GooglePayPaymentMethodParams googlePayPaymentMethodParams)? googlePay,TResult Function( ApplePayParams applePayParams)? applePay,TResult Function( PlatformPayWebPaymentRequestCreateOptions options)? web,required TResult orElse(),}) {final _that = this;
switch (_that) {
case PlatformPayPaymentMethodParamsGooglePay() when googlePay != null:
return googlePay(_that.googlePayParams,_that.googlePayPaymentMethodParams);case PlatformPayPaymentMethodParamsApplePay() when applePay != null:
return applePay(_that.applePayParams);case PlatformPayPaymentMethodParamsWeb() when web != null:
return web(_that.options);case _:
return orElse();
}
}