mapOrNull<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
A variant of map that fallback to returning null.
It is equivalent to doing:
switch (sealedClass) {
case final Subclass value:
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs
TResult? mapOrNull<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,
}) {
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 null;
}
}