mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? repoRef(
    1. USubjectStatusViewSubjectRepoRef value
    )?,
  2. TResult? repoStrongRef(
    1. USubjectStatusViewSubjectRepoStrongRef value
    )?,
  3. TResult? messageRef(
    1. USubjectStatusViewSubjectMessageRef value
    )?,
  4. TResult? convoRef(
    1. USubjectStatusViewSubjectConvoRef value
    )?,
  5. TResult? unknown(
    1. USubjectStatusViewSubjectUnknown 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( USubjectStatusViewSubjectRepoRef value)?  repoRef,TResult? Function( USubjectStatusViewSubjectRepoStrongRef value)?  repoStrongRef,TResult? Function( USubjectStatusViewSubjectMessageRef value)?  messageRef,TResult? Function( USubjectStatusViewSubjectConvoRef value)?  convoRef,TResult? Function( USubjectStatusViewSubjectUnknown value)?  unknown,}){
final _that = this;
switch (_that) {
case USubjectStatusViewSubjectRepoRef() when repoRef != null:
return repoRef(_that);case USubjectStatusViewSubjectRepoStrongRef() when repoStrongRef != null:
return repoStrongRef(_that);case USubjectStatusViewSubjectMessageRef() when messageRef != null:
return messageRef(_that);case USubjectStatusViewSubjectConvoRef() when convoRef != null:
return convoRef(_that);case USubjectStatusViewSubjectUnknown() when unknown != null:
return unknown(_that);case _:
  return null;

}
}