maybeMap<TResult extends Object?> method

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

}
}