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 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 null;
}
}