maybeMap<TResult extends Object?> method
- @optionalTypeArgs
- TResult text(
- InputTextMessageContent value
- TResult location(
- InputLocationMessageContent value
- TResult venue(
- InputVenueMessageContent value
- TResult contact(
- InputContactMessageContent value
- TResult invoice(
- InputInvoiceMessageContent value
- required TResult orElse(),
A variant of map that fallback to returning orElse.
It is equivalent to doing:
switch (sealedClass) {
case final Subclass value:
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
TResult Function(InputTextMessageContent value)? text,
TResult Function(InputLocationMessageContent value)? location,
TResult Function(InputVenueMessageContent value)? venue,
TResult Function(InputContactMessageContent value)? contact,
TResult Function(InputInvoiceMessageContent value)? invoice,
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case InputTextMessageContent() when text != null:
return text(_that);
case InputLocationMessageContent() when location != null:
return location(_that);
case InputVenueMessageContent() when venue != null:
return venue(_that);
case InputContactMessageContent() when contact != null:
return contact(_that);
case InputInvoiceMessageContent() when invoice != null:
return invoice(_that);
case _:
return orElse();
}
}