map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult redirectToUrl(
    1. _NextActionRedirect value
    ),
  2. required TResult displayOxxoDetails(
    1. _NextActionOxxo value
    ),
  3. required TResult wechatPayRedirect(
    1. _NextActionWeChatRedirect value
    ),
  4. required TResult verifyWithMicroDeposits(
    1. _NextActionMicroDeposits value
    ),
  5. required TResult multibanco(
    1. _NextActionMultiBanco value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case final Subclass2 value:
    return ...;
}

Implementation

@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( _NextActionRedirect value)  redirectToUrl,required TResult Function( _NextActionOxxo value)  displayOxxoDetails,required TResult Function( _NextActionWeChatRedirect value)  wechatPayRedirect,required TResult Function( _NextActionMicroDeposits value)  verifyWithMicroDeposits,required TResult Function( _NextActionMultiBanco value)  multibanco,}){
final _that = this;
switch (_that) {
case _NextActionRedirect():
return redirectToUrl(_that);case _NextActionOxxo():
return displayOxxoDetails(_that);case _NextActionWeChatRedirect():
return wechatPayRedirect(_that);case _NextActionMicroDeposits():
return verifyWithMicroDeposits(_that);case _NextActionMultiBanco():
return multibanco(_that);case _:
  throw StateError('Unexpected subclass');

}
}