maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult directConvoMember(
    1. UProfileViewBasicKindDirectConvoMember value
    )?,
  2. TResult groupConvoMember(
    1. UProfileViewBasicKindGroupConvoMember value
    )?,
  3. TResult pastGroupConvoMember(
    1. UProfileViewBasicKindPastGroupConvoMember value
    )?,
  4. TResult unknown(
    1. UProfileViewBasicKindUnknown 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( UProfileViewBasicKindDirectConvoMember value)?  directConvoMember,TResult Function( UProfileViewBasicKindGroupConvoMember value)?  groupConvoMember,TResult Function( UProfileViewBasicKindPastGroupConvoMember value)?  pastGroupConvoMember,TResult Function( UProfileViewBasicKindUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UProfileViewBasicKindDirectConvoMember() when directConvoMember != null:
return directConvoMember(_that);case UProfileViewBasicKindGroupConvoMember() when groupConvoMember != null:
return groupConvoMember(_that);case UProfileViewBasicKindPastGroupConvoMember() when pastGroupConvoMember != null:
return pastGroupConvoMember(_that);case UProfileViewBasicKindUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}