maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult postView(
    1. UReplyRefRootPostView value
    )?,
  2. TResult notFoundPost(
    1. UReplyRefRootNotFoundPost value
    )?,
  3. TResult blockedPost(
    1. UReplyRefRootBlockedPost value
    )?,
  4. TResult unknown(
    1. UReplyRefRootUnknown value
    )?,
  5. 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( UReplyRefRootPostView value)?  postView,TResult Function( UReplyRefRootNotFoundPost value)?  notFoundPost,TResult Function( UReplyRefRootBlockedPost value)?  blockedPost,TResult Function( UReplyRefRootUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UReplyRefRootPostView() when postView != null:
return postView(_that);case UReplyRefRootNotFoundPost() when notFoundPost != null:
return notFoundPost(_that);case UReplyRefRootBlockedPost() when blockedPost != null:
return blockedPost(_that);case UReplyRefRootUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}