map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult directConvoMember(
    1. UProfileViewBasicKindDirectConvoMember value
    ),
  2. required TResult groupConvoMember(
    1. UProfileViewBasicKindGroupConvoMember value
    ),
  3. required TResult pastGroupConvoMember(
    1. UProfileViewBasicKindPastGroupConvoMember value
    ),
  4. required TResult unknown(
    1. UProfileViewBasicKindUnknown value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( UProfileViewBasicKindDirectConvoMember value)  directConvoMember,required TResult Function( UProfileViewBasicKindGroupConvoMember value)  groupConvoMember,required TResult Function( UProfileViewBasicKindPastGroupConvoMember value)  pastGroupConvoMember,required TResult Function( UProfileViewBasicKindUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case UProfileViewBasicKindDirectConvoMember():
return directConvoMember(_that);case UProfileViewBasicKindGroupConvoMember():
return groupConvoMember(_that);case UProfileViewBasicKindPastGroupConvoMember():
return pastGroupConvoMember(_that);case UProfileViewBasicKindUnknown():
return unknown(_that);}
}