maybeMap<TResult extends Object?> method

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

}
}