diff --git a/examples/fic_mappable/lib/main.mapper.dart b/examples/fic_mappable/lib/main.mapper.dart index 9fc42321..401da893 100644 --- a/examples/fic_mappable/lib/main.mapper.dart +++ b/examples/fic_mappable/lib/main.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'main.dart'; diff --git a/examples/freezed_mappable/lib/main.mapper.dart b/examples/freezed_mappable/lib/main.mapper.dart index 6b662235..966aebe5 100644 --- a/examples/freezed_mappable/lib/main.mapper.dart +++ b/examples/freezed_mappable/lib/main.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'main.dart'; diff --git a/examples/package_comparison/lib/comparisons/basic.mapper.dart b/examples/package_comparison/lib/comparisons/basic.mapper.dart index 1c607149..c5ab4e4d 100644 --- a/examples/package_comparison/lib/comparisons/basic.mapper.dart +++ b/examples/package_comparison/lib/comparisons/basic.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'basic.dart'; diff --git a/examples/package_comparison/lib/comparisons/generic.mapper.dart b/examples/package_comparison/lib/comparisons/generic.mapper.dart index 8baa7475..88721c0e 100644 --- a/examples/package_comparison/lib/comparisons/generic.mapper.dart +++ b/examples/package_comparison/lib/comparisons/generic.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'generic.dart'; diff --git a/examples/package_comparison/lib/comparisons/polymorph.mapper.dart b/examples/package_comparison/lib/comparisons/polymorph.mapper.dart index bed2cd32..7e20ee5c 100644 --- a/examples/package_comparison/lib/comparisons/polymorph.mapper.dart +++ b/examples/package_comparison/lib/comparisons/polymorph.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'polymorph.dart'; diff --git a/examples/package_comparison/lib/comparisons/renaming.mapper.dart b/examples/package_comparison/lib/comparisons/renaming.mapper.dart index 10a76c80..2ebd0f5e 100644 --- a/examples/package_comparison/lib/comparisons/renaming.mapper.dart +++ b/examples/package_comparison/lib/comparisons/renaming.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'renaming.dart'; diff --git a/examples/polymorph_copywith/lib/models/animal.mapper.dart b/examples/polymorph_copywith/lib/models/animal.mapper.dart index 09abd1c3..5378bb0c 100644 --- a/examples/polymorph_copywith/lib/models/animal.mapper.dart +++ b/examples/polymorph_copywith/lib/models/animal.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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'; diff --git a/examples/polymorph_copywith/lib/models/cat.mapper.dart b/examples/polymorph_copywith/lib/models/cat.mapper.dart index c08416b2..284f1be3 100644 --- a/examples/polymorph_copywith/lib/models/cat.mapper.dart +++ b/examples/polymorph_copywith/lib/models/cat.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'cat.dart'; diff --git a/examples/polymorph_copywith/lib/models/dog.mapper.dart b/examples/polymorph_copywith/lib/models/dog.mapper.dart index c7d17d32..22ed128b 100644 --- a/examples/polymorph_copywith/lib/models/dog.mapper.dart +++ b/examples/polymorph_copywith/lib/models/dog.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'dog.dart'; diff --git a/examples/polymorph_copywith/lib/models/person.mapper.dart b/examples/polymorph_copywith/lib/models/person.mapper.dart index 7b7a482a..ee165b26 100644 --- a/examples/polymorph_copywith/lib/models/person.mapper.dart +++ b/examples/polymorph_copywith/lib/models/person.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'person.dart'; diff --git a/examples/polymorph_copywith/lib/models/zoo.mapper.dart b/examples/polymorph_copywith/lib/models/zoo.mapper.dart index 6258f25b..a519b8a5 100644 --- a/examples/polymorph_copywith/lib/models/zoo.mapper.dart +++ b/examples/polymorph_copywith/lib/models/zoo.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'zoo.dart'; diff --git a/packages/dart_mappable/example/lib/main.mapper.dart b/packages/dart_mappable/example/lib/main.mapper.dart index 9eba7622..171d6b58 100644 --- a/packages/dart_mappable/example/lib/main.mapper.dart +++ b/packages/dart_mappable/example/lib/main.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'main.dart'; diff --git a/packages/dart_mappable/test/copy_with/collection_copy_with_test.mapper.dart b/packages/dart_mappable/test/copy_with/collection_copy_with_test.mapper.dart index 8ced0a8d..26606932 100644 --- a/packages/dart_mappable/test/copy_with/collection_copy_with_test.mapper.dart +++ b/packages/dart_mappable/test/copy_with/collection_copy_with_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'collection_copy_with_test.dart'; diff --git a/packages/dart_mappable/test/copy_with/copy_with_data_test.mapper.dart b/packages/dart_mappable/test/copy_with/copy_with_data_test.mapper.dart index e59b4a1d..03d985d6 100644 --- a/packages/dart_mappable/test/copy_with/copy_with_data_test.mapper.dart +++ b/packages/dart_mappable/test/copy_with/copy_with_data_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'copy_with_data_test.dart'; diff --git a/packages/dart_mappable/test/copy_with/copy_with_generic_poly_test.mapper.dart b/packages/dart_mappable/test/copy_with/copy_with_generic_poly_test.mapper.dart index 2a9ae013..a65b763c 100644 --- a/packages/dart_mappable/test/copy_with/copy_with_generic_poly_test.mapper.dart +++ b/packages/dart_mappable/test/copy_with/copy_with_generic_poly_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'copy_with_generic_poly_test.dart'; diff --git a/packages/dart_mappable/test/copy_with/copy_with_subtype_test.mapper.dart b/packages/dart_mappable/test/copy_with/copy_with_subtype_test.mapper.dart index 83b5d37c..28fcece6 100644 --- a/packages/dart_mappable/test/copy_with/copy_with_subtype_test.mapper.dart +++ b/packages/dart_mappable/test/copy_with/copy_with_subtype_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'copy_with_subtype_test.dart'; diff --git a/packages/dart_mappable/test/copy_with/copy_with_test.mapper.dart b/packages/dart_mappable/test/copy_with/copy_with_test.mapper.dart index 06ddaa53..a126f1fa 100644 --- a/packages/dart_mappable/test/copy_with/copy_with_test.mapper.dart +++ b/packages/dart_mappable/test/copy_with/copy_with_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'copy_with_test.dart'; diff --git a/packages/dart_mappable/test/copy_with/interface_copy_with.mapper.dart b/packages/dart_mappable/test/copy_with/interface_copy_with.mapper.dart index ecd517d8..dea1afb8 100644 --- a/packages/dart_mappable/test/copy_with/interface_copy_with.mapper.dart +++ b/packages/dart_mappable/test/copy_with/interface_copy_with.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'interface_copy_with.dart'; diff --git a/packages/dart_mappable/test/copy_with/retype_copy_with.mapper.dart b/packages/dart_mappable/test/copy_with/retype_copy_with.mapper.dart index 2033f9ac..dd4270b0 100644 --- a/packages/dart_mappable/test/copy_with/retype_copy_with.mapper.dart +++ b/packages/dart_mappable/test/copy_with/retype_copy_with.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'retype_copy_with.dart'; diff --git a/packages/dart_mappable/test/custom_mapper/custom_mapper_test.mapper.dart b/packages/dart_mappable/test/custom_mapper/custom_mapper_test.mapper.dart index a40a3123..86bdb5e0 100644 --- a/packages/dart_mappable/test/custom_mapper/custom_mapper_test.mapper.dart +++ b/packages/dart_mappable/test/custom_mapper/custom_mapper_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'custom_mapper_test.dart'; diff --git a/packages/dart_mappable/test/enums/enum_map_test.mapper.dart b/packages/dart_mappable/test/enums/enum_map_test.mapper.dart index 35b08ca6..5b6133d1 100644 --- a/packages/dart_mappable/test/enums/enum_map_test.mapper.dart +++ b/packages/dart_mappable/test/enums/enum_map_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'enum_map_test.dart'; diff --git a/packages/dart_mappable/test/enums/enums_test.mapper.dart b/packages/dart_mappable/test/enums/enums_test.mapper.dart index 065c6f32..1446b529 100644 --- a/packages/dart_mappable/test/enums/enums_test.mapper.dart +++ b/packages/dart_mappable/test/enums/enums_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'enums_test.dart'; diff --git a/packages/dart_mappable/test/equality/class_equality.mapper.dart b/packages/dart_mappable/test/equality/class_equality.mapper.dart index 76b89fee..03506911 100644 --- a/packages/dart_mappable/test/equality/class_equality.mapper.dart +++ b/packages/dart_mappable/test/equality/class_equality.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'class_equality.dart'; diff --git a/packages/dart_mappable/test/equality/collection_equality_test.mapper.dart b/packages/dart_mappable/test/equality/collection_equality_test.mapper.dart index 7232b517..34a564b6 100644 --- a/packages/dart_mappable/test/equality/collection_equality_test.mapper.dart +++ b/packages/dart_mappable/test/equality/collection_equality_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'collection_equality_test.dart'; diff --git a/packages/dart_mappable/test/external_types/external_types_test.mapper.dart b/packages/dart_mappable/test/external_types/external_types_test.mapper.dart index de5852eb..2cf1ceee 100644 --- a/packages/dart_mappable/test/external_types/external_types_test.mapper.dart +++ b/packages/dart_mappable/test/external_types/external_types_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'external_types_test.dart'; diff --git a/packages/dart_mappable/test/external_types/unknown_interface.mapper.dart b/packages/dart_mappable/test/external_types/unknown_interface.mapper.dart index 20fef333..f4139768 100644 --- a/packages/dart_mappable/test/external_types/unknown_interface.mapper.dart +++ b/packages/dart_mappable/test/external_types/unknown_interface.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'unknown_interface.dart'; diff --git a/packages/dart_mappable/test/generics/duplicate_names_test.mapper.dart b/packages/dart_mappable/test/generics/duplicate_names_test.mapper.dart index c5dab36d..73fb17f8 100644 --- a/packages/dart_mappable/test/generics/duplicate_names_test.mapper.dart +++ b/packages/dart_mappable/test/generics/duplicate_names_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'duplicate_names_test.dart'; diff --git a/packages/dart_mappable/test/generics/generics_change_test.mapper.dart b/packages/dart_mappable/test/generics/generics_change_test.mapper.dart index 2402e740..6f9b920b 100644 --- a/packages/dart_mappable/test/generics/generics_change_test.mapper.dart +++ b/packages/dart_mappable/test/generics/generics_change_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'generics_change_test.dart'; diff --git a/packages/dart_mappable/test/generics/generics_test.dart b/packages/dart_mappable/test/generics/generics_test.dart index 96bd25c4..0478dbd7 100644 --- a/packages/dart_mappable/test/generics/generics_test.dart +++ b/packages/dart_mappable/test/generics/generics_test.dart @@ -46,6 +46,18 @@ class Settings with SettingsMappable { }); } +@MappableClass() +class A with AMappable { + final T value; + + A(this.value); +} + +@MappableClass() +class B extends A> with BMappable { + B(super.value); +} + class MapHooksAfter extends MappingHook { const MapHooksAfter(); diff --git a/packages/dart_mappable/test/generics/generics_test.mapper.dart b/packages/dart_mappable/test/generics/generics_test.mapper.dart index ab2c2ddb..7c972725 100644 --- a/packages/dart_mappable/test/generics/generics_test.mapper.dart +++ b/packages/dart_mappable/test/generics/generics_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'generics_test.dart'; @@ -645,6 +645,205 @@ class _SettingsCopyWithImpl<$R, $Out> _SettingsCopyWithImpl($value, $cast, t); } +class AMapper extends ClassMapperBase { + AMapper._(); + + static AMapper? _instance; + static AMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = AMapper._()); + BMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'A'; + @override + Function get typeFactory => (f) => f>(); + + static dynamic _$value(A v) => v.value; + static dynamic _arg$value(f) => f(); + static const Field _f$value = + Field('value', _$value, arg: _arg$value); + + @override + final MappableFields fields = const { + #value: _f$value, + }; + + static A _instantiate(DecodingData data) { + return A(data.dec(_f$value)); + } + + @override + final Function instantiate = _instantiate; + + static A fromMap(Map map) { + return ensureInitialized().decodeMap>(map); + } + + static A fromJson(String json) { + return ensureInitialized().decodeJson>(json); + } +} + +mixin AMappable { + String toJson() { + return AMapper.ensureInitialized().encodeJson>(this as A); + } + + Map toMap() { + return AMapper.ensureInitialized().encodeMap>(this as A); + } + + ACopyWith, A, A, T> get copyWith => + _ACopyWithImpl(this as A, $identity, $identity); + @override + String toString() { + return AMapper.ensureInitialized().stringifyValue(this as A); + } + + @override + bool operator ==(Object other) { + return AMapper.ensureInitialized().equalsValue(this as A, other); + } + + @override + int get hashCode { + return AMapper.ensureInitialized().hashValue(this as A); + } +} + +extension AValueCopy<$R, $Out, T> on ObjectCopyWith<$R, A, $Out> { + ACopyWith<$R, A, $Out, T> get $asA => + $base.as((v, t, t2) => _ACopyWithImpl(v, t, t2)); +} + +abstract class ACopyWith<$R, $In extends A, $Out, T> + implements ClassCopyWith<$R, $In, $Out> { + $R call({T? value}); + ACopyWith<$R2, $In, $Out2, T> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _ACopyWithImpl<$R, $Out, T> extends ClassCopyWithBase<$R, A, $Out> + implements ACopyWith<$R, A, $Out, T> { + _ACopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = AMapper.ensureInitialized(); + @override + $R call({T? value}) => + $apply(FieldCopyWithData({if (value != null) #value: value})); + @override + A $make(CopyWithData data) => A(data.get(#value, or: $value.value)); + + @override + ACopyWith<$R2, A, $Out2, T> $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _ACopyWithImpl($value, $cast, t); +} + +class BMapper extends ClassMapperBase { + BMapper._(); + + static BMapper? _instance; + static BMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BMapper._()); + AMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'B'; + + static List _$value(B v) => v.value; + static const Field> _f$value = Field('value', _$value); + + @override + final MappableFields fields = const { + #value: _f$value, + }; + + static B _instantiate(DecodingData data) { + return B(data.dec(_f$value)); + } + + @override + final Function instantiate = _instantiate; + + static B fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static B fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin BMappable { + String toJson() { + return BMapper.ensureInitialized().encodeJson(this as B); + } + + Map toMap() { + return BMapper.ensureInitialized().encodeMap(this as B); + } + + BCopyWith get copyWith => + _BCopyWithImpl(this as B, $identity, $identity); + @override + String toString() { + return BMapper.ensureInitialized().stringifyValue(this as B); + } + + @override + bool operator ==(Object other) { + return BMapper.ensureInitialized().equalsValue(this as B, other); + } + + @override + int get hashCode { + return BMapper.ensureInitialized().hashValue(this as B); + } +} + +extension BValueCopy<$R, $Out> on ObjectCopyWith<$R, B, $Out> { + BCopyWith<$R, B, $Out> get $asB => + $base.as((v, t, t2) => _BCopyWithImpl(v, t, t2)); +} + +abstract class BCopyWith<$R, $In extends B, $Out> + implements ACopyWith<$R, $In, $Out, List> { + @override + ListCopyWith<$R, String, ObjectCopyWith<$R, String, String>> get value; + @override + $R call({List? value}); + BCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _BCopyWithImpl<$R, $Out> extends ClassCopyWithBase<$R, B, $Out> + implements BCopyWith<$R, B, $Out> { + _BCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = BMapper.ensureInitialized(); + @override + ListCopyWith<$R, String, ObjectCopyWith<$R, String, String>> get value => + ListCopyWith($value.value, (v, t) => ObjectCopyWith(v, $identity, t), + (v) => call(value: v)); + @override + $R call({List? value}) => + $apply(FieldCopyWithData({if (value != null) #value: value})); + @override + B $make(CopyWithData data) => B(data.get(#value, or: $value.value)); + + @override + BCopyWith<$R2, B, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _BCopyWithImpl($value, $cast, t); +} + class AssetMapper extends ClassMapperBase { AssetMapper._(); diff --git a/packages/dart_mappable/test/hooks/hooks_test.mapper.dart b/packages/dart_mappable/test/hooks/hooks_test.mapper.dart index 62f96cca..deda040d 100644 --- a/packages/dart_mappable/test/hooks/hooks_test.mapper.dart +++ b/packages/dart_mappable/test/hooks/hooks_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'hooks_test.dart'; diff --git a/packages/dart_mappable/test/hooks/string_hooks_test.mapper.dart b/packages/dart_mappable/test/hooks/string_hooks_test.mapper.dart index 25c7ac2e..a3cff968 100644 --- a/packages/dart_mappable/test/hooks/string_hooks_test.mapper.dart +++ b/packages/dart_mappable/test/hooks/string_hooks_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'string_hooks_test.dart'; diff --git a/packages/dart_mappable/test/hooks/unmapped_props_hook_test.mapper.dart b/packages/dart_mappable/test/hooks/unmapped_props_hook_test.mapper.dart index 28b52e61..5f4d8d5d 100644 --- a/packages/dart_mappable/test/hooks/unmapped_props_hook_test.mapper.dart +++ b/packages/dart_mappable/test/hooks/unmapped_props_hook_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'unmapped_props_hook_test.dart'; diff --git a/packages/dart_mappable/test/initializer/init_lib_test.mapper.dart b/packages/dart_mappable/test/initializer/init_lib_test.mapper.dart index 6c746d42..9bcea819 100644 --- a/packages/dart_mappable/test/initializer/init_lib_test.mapper.dart +++ b/packages/dart_mappable/test/initializer/init_lib_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'init_lib_test.dart'; diff --git a/packages/dart_mappable/test/initializer/init_package_test.init.dart b/packages/dart_mappable/test/initializer/init_package_test.init.dart index 72d784f5..a9a45971 100644 --- a/packages/dart_mappable/test/initializer/init_package_test.init.dart +++ b/packages/dart_mappable/test/initializer/init_package_test.init.dart @@ -115,6 +115,8 @@ void initializeMappers() { p17.DataMapper.ensureInitialized(); p17.SingleSettingMapper.ensureInitialized(); p17.SettingsMapper.ensureInitialized(); + p17.AMapper.ensureInitialized(); + p17.BMapper.ensureInitialized(); p17.AssetMapper.ensureInitialized(); p18.GameMapper.ensureInitialized(); p18.CardGameMapper.ensureInitialized(); diff --git a/packages/dart_mappable/test/initializer/models/model.mapper.dart b/packages/dart_mappable/test/initializer/models/model.mapper.dart index 6f6dea3d..b43c69ca 100644 --- a/packages/dart_mappable/test/initializer/models/model.mapper.dart +++ b/packages/dart_mappable/test/initializer/models/model.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'model.dart'; diff --git a/packages/dart_mappable/test/polymorphism/custom_discriminator_test.mapper.dart b/packages/dart_mappable/test/polymorphism/custom_discriminator_test.mapper.dart index 381c7a53..992a7c6b 100644 --- a/packages/dart_mappable/test/polymorphism/custom_discriminator_test.mapper.dart +++ b/packages/dart_mappable/test/polymorphism/custom_discriminator_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'custom_discriminator_test.dart'; diff --git a/packages/dart_mappable/test/polymorphism/mixed_mappable_test.mapper.dart b/packages/dart_mappable/test/polymorphism/mixed_mappable_test.mapper.dart index b0ab5fef..e66d3d37 100644 --- a/packages/dart_mappable/test/polymorphism/mixed_mappable_test.mapper.dart +++ b/packages/dart_mappable/test/polymorphism/mixed_mappable_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'mixed_mappable_test.dart'; diff --git a/packages/dart_mappable/test/polymorphism/multi_poly_test.mapper.dart b/packages/dart_mappable/test/polymorphism/multi_poly_test.mapper.dart index c3f9f2f1..0b824fe0 100644 --- a/packages/dart_mappable/test/polymorphism/multi_poly_test.mapper.dart +++ b/packages/dart_mappable/test/polymorphism/multi_poly_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'multi_poly_test.dart'; diff --git a/packages/dart_mappable/test/polymorphism/polymorphism_test.mapper.dart b/packages/dart_mappable/test/polymorphism/polymorphism_test.mapper.dart index 51e2dc23..ea94cbed 100644 --- a/packages/dart_mappable/test/polymorphism/polymorphism_test.mapper.dart +++ b/packages/dart_mappable/test/polymorphism/polymorphism_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'polymorphism_test.dart'; diff --git a/packages/dart_mappable/test/primitives/primitives_test.mapper.dart b/packages/dart_mappable/test/primitives/primitives_test.mapper.dart index aa239291..892f20ea 100644 --- a/packages/dart_mappable/test/primitives/primitives_test.mapper.dart +++ b/packages/dart_mappable/test/primitives/primitives_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'primitives_test.dart'; diff --git a/packages/dart_mappable/test/records/mappable_record_test.mapper.dart b/packages/dart_mappable/test/records/mappable_record_test.mapper.dart index 2b16d1f6..32a862cb 100644 --- a/packages/dart_mappable/test/records/mappable_record_test.mapper.dart +++ b/packages/dart_mappable/test/records/mappable_record_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'mappable_record_test.dart'; diff --git a/packages/dart_mappable/test/records/record_model_test.mapper.dart b/packages/dart_mappable/test/records/record_model_test.mapper.dart index e84fba98..e7214bf0 100644 --- a/packages/dart_mappable/test/records/record_model_test.mapper.dart +++ b/packages/dart_mappable/test/records/record_model_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'record_model_test.dart'; diff --git a/packages/dart_mappable/test/selective_generation/selective_generation_test.mapper.dart b/packages/dart_mappable/test/selective_generation/selective_generation_test.mapper.dart index 7eaa18f5..ce858980 100644 --- a/packages/dart_mappable/test/selective_generation/selective_generation_test.mapper.dart +++ b/packages/dart_mappable/test/selective_generation/selective_generation_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'selective_generation_test.dart'; diff --git a/packages/dart_mappable/test/serialization/basic_serialization_test.mapper.dart b/packages/dart_mappable/test/serialization/basic_serialization_test.mapper.dart index 7cde3098..069aae5e 100644 --- a/packages/dart_mappable/test/serialization/basic_serialization_test.mapper.dart +++ b/packages/dart_mappable/test/serialization/basic_serialization_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'basic_serialization_test.dart'; diff --git a/packages/dart_mappable/test/serialization/desync_serialization_test.mapper.dart b/packages/dart_mappable/test/serialization/desync_serialization_test.mapper.dart index 3665e1f1..c1681914 100644 --- a/packages/dart_mappable/test/serialization/desync_serialization_test.mapper.dart +++ b/packages/dart_mappable/test/serialization/desync_serialization_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'desync_serialization_test.dart'; diff --git a/packages/dart_mappable/test/serialization/nested_serialization_test.mapper.dart b/packages/dart_mappable/test/serialization/nested_serialization_test.mapper.dart index d360e380..9444acb3 100644 --- a/packages/dart_mappable/test/serialization/nested_serialization_test.mapper.dart +++ b/packages/dart_mappable/test/serialization/nested_serialization_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'nested_serialization_test.dart'; diff --git a/packages/dart_mappable/test/serialization/param_rewrite_test.mapper.dart b/packages/dart_mappable/test/serialization/param_rewrite_test.mapper.dart index 3c4cbaa5..6468fccf 100644 --- a/packages/dart_mappable/test/serialization/param_rewrite_test.mapper.dart +++ b/packages/dart_mappable/test/serialization/param_rewrite_test.mapper.dart @@ -1,7 +1,7 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element, unnecessary_cast +// 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 'param_rewrite_test.dart'; diff --git a/packages/dart_mappable_builder/CHANGELOG.md b/packages/dart_mappable_builder/CHANGELOG.md index bfe9d30e..3a56b9e6 100644 --- a/packages/dart_mappable_builder/CHANGELOG.md +++ b/packages/dart_mappable_builder/CHANGELOG.md @@ -1,3 +1,7 @@ +# 4.2.3 + +- Added lint ignores for 'override_on_non_overriding_member'. + # 4.2.2 - Fixed issues with adding unnecessary '__type' property for nullable generics. @@ -25,7 +29,7 @@ # 4.0.1 - Added support for generic typed parameters for deep copyWith. -- Added lint ignores for 'unnecessary_cast', 'strict_raw_type' and 'inference_failure_on_untyped_parameter' +- Added lint ignores for 'unnecessary_cast', 'strict_raw_type' and 'inference_failure_on_untyped_parameter'. # 4.0.0 diff --git a/packages/dart_mappable_builder/lib/src/builders/mappable_builder.dart b/packages/dart_mappable_builder/lib/src/builders/mappable_builder.dart index 7948974c..b9ea0c08 100644 --- a/packages/dart_mappable_builder/lib/src/builders/mappable_builder.dart +++ b/packages/dart_mappable_builder/lib/src/builders/mappable_builder.dart @@ -101,7 +101,7 @@ class MappableBuilder implements Builder { '// coverage:ignore-file\n' '// GENERATED CODE - DO NOT MODIFY BY HAND\n' '// ignore_for_file: type=lint\n' - '// ignore_for_file: unused_element, unnecessary_cast\n' + '// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member\n' '// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter\n\n' 'part of \'$libraryPath\';\n\n' '${output.join('\n\n')}\n' //, diff --git a/packages/dart_mappable_builder/pubspec.yaml b/packages/dart_mappable_builder/pubspec.yaml index 196bbe78..fd1a7e64 100644 --- a/packages/dart_mappable_builder/pubspec.yaml +++ b/packages/dart_mappable_builder/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_mappable_builder description: Improved json serialization and data classes with full support for generics, inheritance, customization and more. -version: 4.2.2 +version: 4.2.3 repository: https://github.com/schultek/dart_mappable issue_tracker: https://github.com/schultek/dart_mappable/issues funding: