maybeMap<TResult extends Object?> method

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

}
}