whenOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>(
  1. TResult? $default(
    1. @JsonKey.new(name: r'$ref') String? ref,
    2. String? type,
    3. String? format,
    4. String? title,
    5. String? description,
    6. @JsonKey.new(name: 'required') List<String>? $required,
    7. Map<String, Schema>? properties,
    8. Schema? items,
    9. dynamic example,
    10. @JsonKey.new(name: 'enum') List? enumValues,
    11. @JsonKey.new(name: 'default') dynamic $default,
    12. Xml? xml,
    13. Schema? additionalProperties,
    14. num? maximum,
    15. bool? exclusiveMaximum,
    16. num? minimum,
    17. bool? exclusiveMinimum,
    18. ExternalDocs? externalDocs,
    19. Discriminator? discriminator,
    20. List<Schema>? allOf,
    21. bool? allowEmptyValue,
    22. String? collectionFormat,
    23. int? maxLength,
    24. int? minLength,
    25. int? maxItems,
    26. int? minItems,
    27. String? pattern,
    28. bool? uniqueItems,
    29. num? multipleOf,
    30. @JsonKey.new(name: 'deprecated') bool? $deprecated,
    )?
)

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: r'$ref')  String? ref,  String? type,  String? format,  String? title,  String? description, @JsonKey(name: 'required')  List<String>? $required,  Map<String, Schema>? properties,  Schema? items,  dynamic example, @JsonKey(name: 'enum')  List<dynamic>? enumValues, @JsonKey(name: 'default')  dynamic $default,  Xml? xml,  Schema? additionalProperties,  num? maximum,  bool? exclusiveMaximum,  num? minimum,  bool? exclusiveMinimum,  ExternalDocs? externalDocs,  Discriminator? discriminator,  List<Schema>? allOf,  bool? allowEmptyValue,  String? collectionFormat,  int? maxLength,  int? minLength,  int? maxItems,  int? minItems,  String? pattern,  bool? uniqueItems,  num? multipleOf, @JsonKey(name: 'deprecated')  bool? $deprecated)?  $default,) {final _that = this;
switch (_that) {
case _Schema() when $default != null:
return $default(_that.ref,_that.type,_that.format,_that.title,_that.description,_that.$required,_that.properties,_that.items,_that.example,_that.enumValues,_that.$default,_that.xml,_that.additionalProperties,_that.maximum,_that.exclusiveMaximum,_that.minimum,_that.exclusiveMinimum,_that.externalDocs,_that.discriminator,_that.allOf,_that.allowEmptyValue,_that.collectionFormat,_that.maxLength,_that.minLength,_that.maxItems,_that.minItems,_that.pattern,_that.uniqueItems,_that.multipleOf,_that.$deprecated);case _:
  return null;

}
}