mapOrNull<TResult extends Object?> method
TResult?
mapOrNull<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
A variant of map
that fallback to returning null
.
It is equivalent to doing:
switch (sealedClass) {
case final Subclass value:
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs
TResult? mapOrNull<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,
}) {
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 null;
}
}