maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult card(
    1. PaymentMethodData paymentMethodData
    )?,
  2. TResult cardFromToken(
    1. PaymentMethodDataCardFromToken paymentMethodData
    )?,
  3. TResult cardFromMethodId(
    1. PaymentMethodDataCardFromMethod paymentMethodData
    )?,
  4. TResult alipay(
    1. PaymentMethodData paymentMethodData
    )?,
  5. TResult ideal(
    1. PaymentMethodDataIdeal paymentMethodData
    )?,
  6. TResult aubecs(
    1. PaymentMethodDataAubecs paymentMethodData
    )?,
  7. TResult bancontact(
    1. PaymentMethodData paymentMethodData
    )?,
  8. TResult giroPay(
    1. PaymentMethodData paymentMethodData
    )?,
  9. TResult eps(
    1. PaymentMethodData paymentMethodData
    )?,
  10. TResult affirm(
    1. PaymentMethodData paymentMethodData
    )?,
  11. TResult grabPay(
    1. PaymentMethodData paymentMethodData
    )?,
  12. TResult p24(
    1. PaymentMethodData paymentMethodData
    )?,
  13. TResult fpx(
    1. PaymentMethodDataFpx paymentMethodData
    )?,
  14. TResult sepaDebit(
    1. PaymentMethodDataSepa paymentMethodData
    )?,
  15. TResult afterpayClearpay(
    1. PaymentMethodDataAfterPay paymentMethodData
    )?,
  16. TResult oxxo(
    1. PaymentMethodData paymentMethodData
    )?,
  17. TResult klarna(
    1. PaymentMethodData paymentMethodData
    )?,
  18. TResult payPal(
    1. PaymentMethodData paymentMethodData
    )?,
  19. TResult usBankAccount(
    1. PaymentMethodDataUsBank paymentMethodData
    )?,
  20. 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( PaymentMethodData paymentMethodData)?  card,TResult Function( PaymentMethodDataCardFromToken paymentMethodData)?  cardFromToken,TResult Function( PaymentMethodDataCardFromMethod paymentMethodData)?  cardFromMethodId,TResult Function( PaymentMethodData paymentMethodData)?  alipay,TResult Function( PaymentMethodDataIdeal paymentMethodData)?  ideal,TResult Function( PaymentMethodDataAubecs paymentMethodData)?  aubecs,TResult Function( PaymentMethodData paymentMethodData)?  bancontact,TResult Function( PaymentMethodData paymentMethodData)?  giroPay,TResult Function( PaymentMethodData paymentMethodData)?  eps,TResult Function( PaymentMethodData paymentMethodData)?  affirm,TResult Function( PaymentMethodData paymentMethodData)?  grabPay,TResult Function( PaymentMethodData paymentMethodData)?  p24,TResult Function( PaymentMethodDataFpx paymentMethodData)?  fpx,TResult Function( PaymentMethodDataSepa paymentMethodData)?  sepaDebit,TResult Function( PaymentMethodDataAfterPay paymentMethodData)?  afterpayClearpay,TResult Function( PaymentMethodData paymentMethodData)?  oxxo,TResult Function( PaymentMethodData paymentMethodData)?  klarna,TResult Function( PaymentMethodData paymentMethodData)?  payPal,TResult Function( PaymentMethodDataUsBank paymentMethodData)?  usBankAccount,required TResult orElse(),}) {final _that = this;
switch (_that) {
case _PaymentMethodParamsCard() when card != null:
return card(_that.paymentMethodData);case _PaymentMethodParamsCardWithToken() when cardFromToken != null:
return cardFromToken(_that.paymentMethodData);case _PaymentMethodParamsCardWithMethodId() when cardFromMethodId != null:
return cardFromMethodId(_that.paymentMethodData);case _PaymentMethodParamsAlipay() when alipay != null:
return alipay(_that.paymentMethodData);case _PaymentMethodParamsIdeal() when ideal != null:
return ideal(_that.paymentMethodData);case _PaymentMethodParamsAubecs() when aubecs != null:
return aubecs(_that.paymentMethodData);case _PaymentMethodParamsBankContact() when bancontact != null:
return bancontact(_that.paymentMethodData);case _PaymentMethodParamsGiroPay() when giroPay != null:
return giroPay(_that.paymentMethodData);case _PaymentMethodParamsEps() when eps != null:
return eps(_that.paymentMethodData);case _PaymentMethodParamsAffirm() when affirm != null:
return affirm(_that.paymentMethodData);case _PaymentMethodParamsPay() when grabPay != null:
return grabPay(_that.paymentMethodData);case _PaymentMethodParamsP24() when p24 != null:
return p24(_that.paymentMethodData);case _PaymentMethodParamsFpx() when fpx != null:
return fpx(_that.paymentMethodData);case _PaymentMethodParamsSepaDebit() when sepaDebit != null:
return sepaDebit(_that.paymentMethodData);case _PaymentMethodParamsAfterpayClearpay() when afterpayClearpay != null:
return afterpayClearpay(_that.paymentMethodData);case _PaymentMethodParamsOxxo() when oxxo != null:
return oxxo(_that.paymentMethodData);case _PaymentMethodParamsKlarna() when klarna != null:
return klarna(_that.paymentMethodData);case _PaymentMethodParamsPayPal() when payPal != null:
return payPal(_that.paymentMethodData);case _PaymentMethodParamsUsBankAccount() when usBankAccount != null:
return usBankAccount(_that.paymentMethodData);case _:
  return orElse();

}
}