map<TResult extends Object?> method

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