maybeMap<TResult extends Object?> method

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

}
}