maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult threadItemPost(
    1. UThreadItemValueThreadItemPost value
    )?,
  2. TResult threadItemNoUnauthenticated(
    1. UThreadItemValueThreadItemNoUnauthenticated value
    )?,
  3. TResult threadItemNotFound(
    1. UThreadItemValueThreadItemNotFound value
    )?,
  4. TResult threadItemBlocked(
    1. UThreadItemValueThreadItemBlocked value
    )?,
  5. TResult unknown(
    1. UThreadItemValueUnknown value
    )?,
  6. 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( UThreadItemValueThreadItemPost value)?  threadItemPost,TResult Function( UThreadItemValueThreadItemNoUnauthenticated value)?  threadItemNoUnauthenticated,TResult Function( UThreadItemValueThreadItemNotFound value)?  threadItemNotFound,TResult Function( UThreadItemValueThreadItemBlocked value)?  threadItemBlocked,TResult Function( UThreadItemValueUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UThreadItemValueThreadItemPost() when threadItemPost != null:
return threadItemPost(_that);case UThreadItemValueThreadItemNoUnauthenticated() when threadItemNoUnauthenticated != null:
return threadItemNoUnauthenticated(_that);case UThreadItemValueThreadItemNotFound() when threadItemNotFound != null:
return threadItemNotFound(_that);case UThreadItemValueThreadItemBlocked() when threadItemBlocked != null:
return threadItemBlocked(_that);case UThreadItemValueUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}