mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? queueActivity(
    1. UReportActivityViewActivityQueueActivity value
    )?,
  2. TResult? assignmentActivity(
    1. UReportActivityViewActivityAssignmentActivity value
    )?,
  3. TResult? escalationActivity(
    1. UReportActivityViewActivityEscalationActivity value
    )?,
  4. TResult? closeActivity(
    1. UReportActivityViewActivityCloseActivity value
    )?,
  5. TResult? reopenActivity(
    1. UReportActivityViewActivityReopenActivity value
    )?,
  6. TResult? noteActivity(
    1. UReportActivityViewActivityNoteActivity value
    )?,
  7. TResult? unknown(
    1. UReportActivityViewActivityUnknown value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( UReportActivityViewActivityQueueActivity value)?  queueActivity,TResult? Function( UReportActivityViewActivityAssignmentActivity value)?  assignmentActivity,TResult? Function( UReportActivityViewActivityEscalationActivity value)?  escalationActivity,TResult? Function( UReportActivityViewActivityCloseActivity value)?  closeActivity,TResult? Function( UReportActivityViewActivityReopenActivity value)?  reopenActivity,TResult? Function( UReportActivityViewActivityNoteActivity value)?  noteActivity,TResult? Function( UReportActivityViewActivityUnknown value)?  unknown,}){
final _that = this;
switch (_that) {
case UReportActivityViewActivityQueueActivity() when queueActivity != null:
return queueActivity(_that);case UReportActivityViewActivityAssignmentActivity() when assignmentActivity != null:
return assignmentActivity(_that);case UReportActivityViewActivityEscalationActivity() when escalationActivity != null:
return escalationActivity(_that);case UReportActivityViewActivityCloseActivity() when closeActivity != null:
return closeActivity(_that);case UReportActivityViewActivityReopenActivity() when reopenActivity != null:
return reopenActivity(_that);case UReportActivityViewActivityNoteActivity() when noteActivity != null:
return noteActivity(_that);case UReportActivityViewActivityUnknown() when unknown != null:
return unknown(_that);case _:
  return null;

}
}