whenOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? queueActivity(
- QueueActivity data
- TResult? assignmentActivity(
- AssignmentActivity data
- TResult? escalationActivity(
- EscalationActivity data
- TResult? closeActivity(
- CloseActivity data
- TResult? reopenActivity(
- ReopenActivity data
- TResult? noteActivity(
- NoteActivity data
- TResult? unknown()?,
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<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,}) {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 null;
}
}