whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>({
- TResult? googlePay(
- GooglePayParams googlePayParams,
- GooglePayPaymentMethodParams googlePayPaymentMethodParams
- TResult? applePay(
- ApplePayParams applePayParams
- TResult? web()?,
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( GooglePayParams googlePayParams, GooglePayPaymentMethodParams googlePayPaymentMethodParams)? googlePay,TResult? Function( ApplePayParams applePayParams)? applePay,TResult? Function( PlatformPayWebPaymentRequestCreateOptions options)? web,}) {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 null;
}
}