map<TResult extends Object?> method

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