maybeMap<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
- 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(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,
required TResult orElse(),
}) {
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 orElse();
}
}