map<TResult extends Object?> method
- @optionalTypeArgs
- TResult $default(
- MenuButtonDefault value
- required TResult webApp(
- MenuButtonWebApp value
- required TResult commands(
- MenuButtonCommands 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?>(
TResult Function(MenuButtonDefault value) $default, {
required TResult Function(MenuButtonWebApp value) webApp,
required TResult Function(MenuButtonCommands value) commands,
}) {
final _that = this;
switch (_that) {
case MenuButtonDefault():
return $default(_that);
case MenuButtonWebApp():
return webApp(_that);
case MenuButtonCommands():
return commands(_that);
case _:
throw StateError('Unexpected subclass');
}
}