when<TResult extends Object?> method
- @optionalTypeArgs
- TResult $default(
- Ed25519HDPublicKey recipient,
- Decimal? amount,
- Ed25519HDPublicKey? splToken,
- Iterable<
Ed25519HDPublicKey> ? reference, - String? label,
- String? message,
- String? memo,
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( Ed25519HDPublicKey recipient, Decimal? amount, Ed25519HDPublicKey? splToken, Iterable<Ed25519HDPublicKey>? reference, String? label, String? message, String? memo) $default,) {final _that = this;
switch (_that) {
case _SolanaPayRequest():
return $default(_that.recipient,_that.amount,_that.splToken,_that.reference,_that.label,_that.message,_that.memo);case _:
throw StateError('Unexpected subclass');
}
}