map<TResult extends Object?> method
- @optionalTypeArgs
- required TResult text(
- InputTextMessageContent value
- required TResult location(
- InputLocationMessageContent value
- required TResult venue(
- InputVenueMessageContent value
- required TResult contact(
- InputContactMessageContent value
- required TResult invoice(
- InputInvoiceMessageContent 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(InputTextMessageContent value) text,
required TResult Function(InputLocationMessageContent value) location,
required TResult Function(InputVenueMessageContent value) venue,
required TResult Function(InputContactMessageContent value) contact,
required TResult Function(InputInvoiceMessageContent value) invoice,
}) {
final _that = this;
switch (_that) {
case InputTextMessageContent():
return text(_that);
case InputLocationMessageContent():
return location(_that);
case InputVenueMessageContent():
return venue(_that);
case InputContactMessageContent():
return contact(_that);
case InputInvoiceMessageContent():
return invoice(_that);
}
}