maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult queueActivity(
    1. QueueActivity data
    )?,
  2. TResult assignmentActivity(
    1. AssignmentActivity data
    )?,
  3. TResult escalationActivity(
    1. EscalationActivity data
    )?,
  4. TResult closeActivity(
    1. CloseActivity data
    )?,
  5. TResult reopenActivity(
    1. ReopenActivity data
    )?,
  6. TResult noteActivity(
    1. NoteActivity data
    )?,
  7. TResult unknown(
    1. Map<String, dynamic> data
    )?,
  8. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function( QueueActivity data)?  queueActivity,TResult Function( AssignmentActivity data)?  assignmentActivity,TResult Function( EscalationActivity data)?  escalationActivity,TResult Function( CloseActivity data)?  closeActivity,TResult Function( ReopenActivity data)?  reopenActivity,TResult Function( NoteActivity data)?  noteActivity,TResult Function( Map<String, dynamic> data)?  unknown,required TResult orElse(),}) {final _that = this;
switch (_that) {
case UReportActivityViewActivityQueueActivity() when queueActivity != null:
return queueActivity(_that.data);case UReportActivityViewActivityAssignmentActivity() when assignmentActivity != null:
return assignmentActivity(_that.data);case UReportActivityViewActivityEscalationActivity() when escalationActivity != null:
return escalationActivity(_that.data);case UReportActivityViewActivityCloseActivity() when closeActivity != null:
return closeActivity(_that.data);case UReportActivityViewActivityReopenActivity() when reopenActivity != null:
return reopenActivity(_that.data);case UReportActivityViewActivityNoteActivity() when noteActivity != null:
return noteActivity(_that.data);case UReportActivityViewActivityUnknown() when unknown != null:
return unknown(_that.data);case _:
  return orElse();

}
}