mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<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
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return null;
}

Implementation

@optionalTypeArgs TResult? mapOrNull<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,}){
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 null;

}
}