whenOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>(
  1. TResult? $default(
    1. @JsonKey.new(name: 'idcard') String? idCard,
    2. String? name,
    3. String? sex,
    4. String? nation,
    5. String? address,
    6. @JsonKey.new(name: 'birth') String? birthDate,
    7. String? authority,
    8. String? validDate,
    9. String? frontWarning,
    10. String? backWarning,
    11. String? frontClarity,
    12. String? backClarity,
    13. String? frontCode,
    14. @JsonKey.new(name: 'frontMsg') String? frontMessage,
    15. String? backCode,
    16. @JsonKey.new(name: 'backMsg') String? backMessage,
    17. String? frontCrop,
    18. 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;

}
}