map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult reportRef(
    1. UNotificationTargetReportRef value
    ),
  2. required TResult subjectRef(
    1. UNotificationTargetSubjectRef value
    ),
  3. required TResult standingRef(
    1. UNotificationTargetStandingRef value
    ),
  4. required TResult unknown(
    1. UNotificationTargetUnknown 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( UNotificationTargetReportRef value)  reportRef,required TResult Function( UNotificationTargetSubjectRef value)  subjectRef,required TResult Function( UNotificationTargetStandingRef value)  standingRef,required TResult Function( UNotificationTargetUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case UNotificationTargetReportRef():
return reportRef(_that);case UNotificationTargetSubjectRef():
return subjectRef(_that);case UNotificationTargetStandingRef():
return standingRef(_that);case UNotificationTargetUnknown():
return unknown(_that);}
}