map<TResult extends Object?> method
TResult
map<TResult extends Object?>({
- required TResult root(
- RootNode value
- required TResult module(
- ModuleNode value
- required TResult folder(
- FolderNode value
- required TResult component(
- ComponentNode value
- required TResult documentation(
- DocumentationNode value
- required TResult story(
- StoryNode 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(RootNode value) root,
required TResult Function(ModuleNode value) module,
required TResult Function(FolderNode value) folder,
required TResult Function(ComponentNode value) component,
required TResult Function(DocumentationNode value) documentation,
required TResult Function(StoryNode value) story,
}) {
final _that = this;
switch (_that) {
case RootNode():
return root(_that);
case ModuleNode():
return module(_that);
case FolderNode():
return folder(_that);
case ComponentNode():
return component(_that);
case DocumentationNode():
return documentation(_that);
case StoryNode():
return story(_that);
}
}