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