mapOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? creator(
- ChatMemberOwner value
- TResult? administrator(
- ChatMemberAdministrator value
- TResult? member(
- ChatMemberMember value
- TResult? restricted(
- ChatMemberRestricted value
- TResult? left(
- ChatMemberLeft value
- TResult? kicked(
- ChatMemberBanned 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(ChatMemberOwner value)? creator,
TResult? Function(ChatMemberAdministrator value)? administrator,
TResult? Function(ChatMemberMember value)? member,
TResult? Function(ChatMemberRestricted value)? restricted,
TResult? Function(ChatMemberLeft value)? left,
TResult? Function(ChatMemberBanned value)? kicked,
}) {
final _that = this;
switch (_that) {
case ChatMemberOwner() when creator != null:
return creator(_that);
case ChatMemberAdministrator() when administrator != null:
return administrator(_that);
case ChatMemberMember() when member != null:
return member(_that);
case ChatMemberRestricted() when restricted != null:
return restricted(_that);
case ChatMemberLeft() when left != null:
return left(_that);
case ChatMemberBanned() when kicked != null:
return kicked(_that);
case _:
return null;
}
}