whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>(
- TResult? $default(
- int? id,
- int? number,
- String? state,
- String? title,
- String? description,
- String? nodeId,
- GithubUserModelRef? creator,
- int openIssuesCount,
- int closedIssuesCount,
- ModelUri? url,
- ModelUri? htmlUrl,
- ModelUri? labelsUrl,
- ModelTimestamp? dueOn,
- ModelTimestamp? closedAt,
- ModelTimestamp createdAt,
- ModelTimestamp updatedAt,
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? id,
int? number,
String? state,
String? title,
String? description,
String? nodeId,
@refParam GithubUserModelRef? creator,
int openIssuesCount,
int closedIssuesCount,
ModelUri? url,
ModelUri? htmlUrl,
ModelUri? labelsUrl,
ModelTimestamp? dueOn,
ModelTimestamp? closedAt,
ModelTimestamp createdAt,
ModelTimestamp updatedAt)?
$default,
) {
final _that = this;
switch (_that) {
case _GithubMilestoneValue() when $default != null:
return $default(
_that.id,
_that.number,
_that.state,
_that.title,
_that.description,
_that.nodeId,
_that.creator,
_that.openIssuesCount,
_that.closedIssuesCount,
_that.url,
_that.htmlUrl,
_that.labelsUrl,
_that.dueOn,
_that.closedAt,
_that.createdAt,
_that.updatedAt);
case _:
return null;
}
}