maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<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
    )?,
  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( USubjectStatusViewSubjectRepoRef value)?  repoRef,TResult Function( USubjectStatusViewSubjectRepoStrongRef value)?  repoStrongRef,TResult Function( USubjectStatusViewSubjectMessageRef value)?  messageRef,TResult Function( USubjectStatusViewSubjectConvoRef value)?  convoRef,TResult Function( USubjectStatusViewSubjectUnknown value)?  unknown,required TResult orElse(),}){
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 orElse();

}
}