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 UReportCreateActivityActivityQueueActivity() when queueActivity != null:
return queueActivity(_that.data);case UReportCreateActivityActivityAssignmentActivity() when assignmentActivity != null:
return assignmentActivity(_that.data);case UReportCreateActivityActivityEscalationActivity() when escalationActivity != null:
return escalationActivity(_that.data);case UReportCreateActivityActivityCloseActivity() when closeActivity != null:
return closeActivity(_that.data);case UReportCreateActivityActivityReopenActivity() when reopenActivity != null:
return reopenActivity(_that.data);case UReportCreateActivityActivityNoteActivity() when noteActivity != null:
return noteActivity(_that.data);case UReportCreateActivityActivityUnknown() when unknown != null:
return unknown(_that.data);case _:
  return orElse();

}
}