whenOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>(
  1. TResult? $default(
    1. int? queueId,
    2. List<String>? reportTypes,
    3. @ReportQueryReportsStatusConverter() ReportQueryReportsStatus status,
    4. String? subject,
    5. String? did,
    6. @ReportQueryReportsSubjectTypeConverter() ReportQueryReportsSubjectType? subjectType,
    7. List<String>? collections,
    8. DateTime? reportedAfter,
    9. DateTime? reportedBefore,
    10. bool isMuted,
    11. String? assignedTo,
    12. String sortField,
    13. String sortDirection,
    14. int limit,
    15. String? cursor,
    16. Map<String, dynamic>? $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( int? queueId,  List<String>? reportTypes, @ReportQueryReportsStatusConverter()  ReportQueryReportsStatus status,  String? subject,  String? did, @ReportQueryReportsSubjectTypeConverter()  ReportQueryReportsSubjectType? subjectType,  List<String>? collections,  DateTime? reportedAfter,  DateTime? reportedBefore,  bool isMuted,  String? assignedTo,  String sortField,  String sortDirection,  int limit,  String? cursor,  Map<String, dynamic>? $unknown)?  $default,) {final _that = this;
switch (_that) {
case _ReportQueryReportsInput() when $default != null:
return $default(_that.queueId,_that.reportTypes,_that.status,_that.subject,_that.did,_that.subjectType,_that.collections,_that.reportedAfter,_that.reportedBefore,_that.isMuted,_that.assignedTo,_that.sortField,_that.sortDirection,_that.limit,_that.cursor,_that.$unknown);case _:
  return null;

}
}