whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>(
- TResult? $default(
- String? id,
- String? firstName,
- String? lastName,
- String? email,
- int? statusId,
- int? departmentId,
- int? businessUnitId,
- int? positionId,
- String? creatorId,
- DateTime? createdDate,
- String? userRoleId,
- double? latitude,
- double? longitude,
- String? password,
- List<
String> ? roleNames, - int? userStatus,
- Department? department,
- BusinessUnit? businessUnit,
- Position? position,
- Status? status,
- List<
UserRole> ? userRoles, - List<
Depot> ? depots, - List<
Status> ? statuses,
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( String? id, String? firstName, String? lastName, String? email, int? statusId, int? departmentId, int? businessUnitId, int? positionId, String? creatorId, DateTime? createdDate, String? userRoleId, double? latitude, double? longitude, String? password, List<String>? roleNames, int? userStatus, Department? department, BusinessUnit? businessUnit, Position? position, Status? status, List<UserRole>? userRoles, List<Depot>? depots, List<Status>? statuses)? $default,) {final _that = this;
switch (_that) {
case _User() when $default != null:
return $default(_that.id,_that.firstName,_that.lastName,_that.email,_that.statusId,_that.departmentId,_that.businessUnitId,_that.positionId,_that.creatorId,_that.createdDate,_that.userRoleId,_that.latitude,_that.longitude,_that.password,_that.roleNames,_that.userStatus,_that.department,_that.businessUnit,_that.position,_that.status,_that.userRoles,_that.depots,_that.statuses);case _:
return null;
}
}