whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>(
- TResult? $default(
- String id,
- String? name,
- String? start,
- String? prefix,
- String? key,
- String? userId,
- bool enabled,
- int? remaining,
- int? refillAmount,
- int? refillInterval,
- bool? rateLimitEnabled,
- int? rateLimitMax,
- int? rateLimitTimeWindow,
- int? requestCount,
- DateTime? lastRequest,
- DateTime? expiresAt,
- DateTime? createdAt,
- DateTime? updatedAt,
- Map<
String, dynamic> ? metadata,
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? name, String? start, String? prefix, String? key, String? userId, bool enabled, int? remaining, int? refillAmount, int? refillInterval, bool? rateLimitEnabled, int? rateLimitMax, int? rateLimitTimeWindow, int? requestCount, DateTime? lastRequest, DateTime? expiresAt, DateTime? createdAt, DateTime? updatedAt, Map<String, dynamic>? metadata)? $default,) {final _that = this;
switch (_that) {
case _ApiKey() when $default != null:
return $default(_that.id,_that.name,_that.start,_that.prefix,_that.key,_that.userId,_that.enabled,_that.remaining,_that.refillAmount,_that.refillInterval,_that.rateLimitEnabled,_that.rateLimitMax,_that.rateLimitTimeWindow,_that.requestCount,_that.lastRequest,_that.expiresAt,_that.createdAt,_that.updatedAt,_that.metadata);case _:
return null;
}
}