whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>(
- TResult? $default(
- @JsonKey.new(name: 'idcard') String? idCard,
- String? name,
- String? sex,
- String? nation,
- String? address,
- @JsonKey.new(name: 'birth') String? birthDate,
- String? authority,
- String? validDate,
- String? frontWarning,
- String? backWarning,
- String? frontClarity,
- String? backClarity,
- String? frontCode,
- @JsonKey.new(name: 'frontMsg') String? frontMessage,
- String? backCode,
- @JsonKey.new(name: 'backMsg') String? backMessage,
- String? frontCrop,
- String? backCrop,
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(@JsonKey(name: 'idcard') String? idCard, String? name, String? sex, String? nation, String? address, @JsonKey(name: 'birth') String? birthDate, String? authority, String? validDate, String? frontWarning, String? backWarning, String? frontClarity, String? backClarity, String? frontCode, @JsonKey(name: 'frontMsg') String? frontMessage, String? backCode, @JsonKey(name: 'backMsg') String? backMessage, String? frontCrop, String? backCrop)? $default,) {final _that = this;
switch (_that) {
case _OcrResult() when $default != null:
return $default(_that.idCard,_that.name,_that.sex,_that.nation,_that.address,_that.birthDate,_that.authority,_that.validDate,_that.frontWarning,_that.backWarning,_that.frontClarity,_that.backClarity,_that.frontCode,_that.frontMessage,_that.backCode,_that.backMessage,_that.frontCrop,_that.backCrop);case _:
return null;
}
}