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