content: // coverage:ignore-file
  // GENERATED CODE - DO NOT MODIFY BY HAND
  // ignore_for_file: type=lint
  // ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member
  // ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter
  
  part of 'animal.dart';
  
  class AnimalMapper extends ClassMapperBase<Animal> {
    AnimalMapper._();
  
    static AnimalMapper? _instance;
    static AnimalMapper ensureInitialized() {
      if (_instance == null) {
        MapperContainer.globals.use(_instance = AnimalMapper._());
        c.CatMapper.ensureInitialized();
        d.DogMapper.ensureInitialized();
      }
      return _instance!;
    }
  
    @override
    final String id = 'Animal';
  
    static String _$name(Animal v) => v.name;
    static const Field<Animal, String> _f$name = Field('name', _$name);
  
    @override
    final MappableFields<Animal> fields = const {#name: _f$name};
  
    static Animal _instantiate(DecodingData data) {
      throw MapperException.missingSubclass(
        'Animal',
        'type',
        '${data.value['type']}',
      );
    }
  
    @override
    final Function instantiate = _instantiate;
  
    static Animal fromMap(Map<String, dynamic> map) {
      return ensureInitialized().decodeMap<Animal>(map);
    }
  
    static Animal fromJson(String json) {
      return ensureInitialized().decodeJson<Animal>(json);
    }
  }
  
  mixin AnimalMappable {
    String toJson();
    Map<String, dynamic> toMap();
    AnimalCopyWith<Animal, Animal, Animal> get copyWith;
  }
  
  abstract class AnimalCopyWith<$R, $In extends Animal, $Out>
      implements ClassCopyWith<$R, $In, $Out> {
    $R call({String? name});
    AnimalCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t);
  }
  