when<TResult extends Object?> method
- @optionalTypeArgs
- TResult $default(
- PaymentElementLayout? layout,
- PaymentElementDefaultValues? defaultValues,
- PaymentElementBusiness? business,
- dynamic paymentMethodOrder,
- PaymentElementFields? fields,
- bool? readOnly,
- PaymentElementOptionsTerms? terms,
- PaymentElementWalletOptions? wallets,
- PaymentElementApplePayOptions? applePay,
A switch
-like method, using callbacks.
As opposed to map
, this offers destructuring.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case Subclass2(:final field2):
return ...;
}
Implementation
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( PaymentElementLayout? layout, PaymentElementDefaultValues? defaultValues, PaymentElementBusiness? business, dynamic paymentMethodOrder, PaymentElementFields? fields, bool? readOnly, PaymentElementOptionsTerms? terms, PaymentElementWalletOptions? wallets, PaymentElementApplePayOptions? applePay) $default,) {final _that = this;
switch (_that) {
case _PaymentElementOptions():
return $default(_that.layout,_that.defaultValues,_that.business,_that.paymentMethodOrder,_that.fields,_that.readOnly,_that.terms,_that.wallets,_that.applePay);case _:
throw StateError('Unexpected subclass');
}
}