From 5d76c506cdcd3bfca2c8ea83ac8680b25db60be4 Mon Sep 17 00:00:00 2001 From: Francesco Berardi Date: Fri, 28 Mar 2025 14:51:23 +0100 Subject: [PATCH] reactive_file_picker: Update freezed to version "^3.0.0" - Bump freezed version to "^3.0.0" - Use abstract class and regenerate the code --- .../reactive_file_picker/lib/multi_file.dart | 4 +- .../lib/multi_file.freezed.dart | 170 ++++++++++-------- packages/reactive_file_picker/pubspec.yaml | 4 +- 3 files changed, 94 insertions(+), 84 deletions(-) diff --git a/packages/reactive_file_picker/lib/multi_file.dart b/packages/reactive_file_picker/lib/multi_file.dart index ee060a83..aea90260 100644 --- a/packages/reactive_file_picker/lib/multi_file.dart +++ b/packages/reactive_file_picker/lib/multi_file.dart @@ -4,9 +4,7 @@ import 'package:freezed_annotation/freezed_annotation.dart'; part 'multi_file.freezed.dart'; @freezed -class MultiFile with _$MultiFile { - const MultiFile._(); - +abstract class MultiFile with _$MultiFile { const factory MultiFile({ @Default([]) List files, @Default([]) List platformFiles, diff --git a/packages/reactive_file_picker/lib/multi_file.freezed.dart b/packages/reactive_file_picker/lib/multi_file.freezed.dart index 726e3560..139f891d 100644 --- a/packages/reactive_file_picker/lib/multi_file.freezed.dart +++ b/packages/reactive_file_picker/lib/multi_file.freezed.dart @@ -1,3 +1,4 @@ +// dart format width=80 // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint @@ -9,91 +10,75 @@ part of 'multi_file.dart'; // FreezedGenerator // ************************************************************************** +// dart format off T _$identity(T value) => value; -final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); - /// @nodoc mixin _$MultiFile { - List get files => throw _privateConstructorUsedError; - List get platformFiles => throw _privateConstructorUsedError; + List get files; + List get platformFiles; - @JsonKey(ignore: true) + /// Create a copy of MultiFile + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @pragma('vm:prefer-inline') $MultiFileCopyWith> get copyWith => - throw _privateConstructorUsedError; -} + _$MultiFileCopyWithImpl>( + this as MultiFile, _$identity); -/// @nodoc -abstract class $MultiFileCopyWith { - factory $MultiFileCopyWith( - MultiFile value, $Res Function(MultiFile) then) = - _$MultiFileCopyWithImpl>; - @useResult - $Res call({List files, List platformFiles}); -} - -/// @nodoc -class _$MultiFileCopyWithImpl> - implements $MultiFileCopyWith { - _$MultiFileCopyWithImpl(this._value, this._then); + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is MultiFile && + const DeepCollectionEquality().equals(other.files, files) && + const DeepCollectionEquality() + .equals(other.platformFiles, platformFiles)); + } - // ignore: unused_field - final $Val _value; - // ignore: unused_field - final $Res Function($Val) _then; + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(files), + const DeepCollectionEquality().hash(platformFiles)); - @pragma('vm:prefer-inline') @override - $Res call({ - Object? files = null, - Object? platformFiles = null, - }) { - return _then(_value.copyWith( - files: null == files - ? _value.files - : files // ignore: cast_nullable_to_non_nullable - as List, - platformFiles: null == platformFiles - ? _value.platformFiles - : platformFiles // ignore: cast_nullable_to_non_nullable - as List, - ) as $Val); + String toString() { + return 'MultiFile<$T>(files: $files, platformFiles: $platformFiles)'; } } /// @nodoc -abstract class _$$MultiFileImplCopyWith - implements $MultiFileCopyWith { - factory _$$MultiFileImplCopyWith( - _$MultiFileImpl value, $Res Function(_$MultiFileImpl) then) = - __$$MultiFileImplCopyWithImpl; - @override +abstract mixin class $MultiFileCopyWith { + factory $MultiFileCopyWith( + MultiFile value, $Res Function(MultiFile) _then) = + _$MultiFileCopyWithImpl; @useResult $Res call({List files, List platformFiles}); } /// @nodoc -class __$$MultiFileImplCopyWithImpl - extends _$MultiFileCopyWithImpl> - implements _$$MultiFileImplCopyWith { - __$$MultiFileImplCopyWithImpl( - _$MultiFileImpl _value, $Res Function(_$MultiFileImpl) _then) - : super(_value, _then); +class _$MultiFileCopyWithImpl implements $MultiFileCopyWith { + _$MultiFileCopyWithImpl(this._self, this._then); + + final MultiFile _self; + final $Res Function(MultiFile) _then; + /// Create a copy of MultiFile + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ Object? files = null, Object? platformFiles = null, }) { - return _then(_$MultiFileImpl( + return _then(_self.copyWith( files: null == files - ? _value._files + ? _self.files : files // ignore: cast_nullable_to_non_nullable as List, platformFiles: null == platformFiles - ? _value._platformFiles + ? _self.platformFiles : platformFiles // ignore: cast_nullable_to_non_nullable as List, )); @@ -102,13 +87,12 @@ class __$$MultiFileImplCopyWithImpl /// @nodoc -class _$MultiFileImpl extends _MultiFile { - const _$MultiFileImpl( +class _MultiFile implements MultiFile { + const _MultiFile( {final List files = const [], final List platformFiles = const []}) : _files = files, - _platformFiles = platformFiles, - super._(); + _platformFiles = platformFiles; final List _files; @override @@ -128,16 +112,19 @@ class _$MultiFileImpl extends _MultiFile { return EqualUnmodifiableListView(_platformFiles); } + /// Create a copy of MultiFile + /// with the given fields replaced by the non-null parameter values. @override - String toString() { - return 'MultiFile<$T>(files: $files, platformFiles: $platformFiles)'; - } + @JsonKey(includeFromJson: false, includeToJson: false) + @pragma('vm:prefer-inline') + _$MultiFileCopyWith> get copyWith => + __$MultiFileCopyWithImpl>(this, _$identity); @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MultiFileImpl && + other is _MultiFile && const DeepCollectionEquality().equals(other._files, _files) && const DeepCollectionEquality() .equals(other._platformFiles, _platformFiles)); @@ -149,25 +136,50 @@ class _$MultiFileImpl extends _MultiFile { const DeepCollectionEquality().hash(_files), const DeepCollectionEquality().hash(_platformFiles)); - @JsonKey(ignore: true) @override - @pragma('vm:prefer-inline') - _$$MultiFileImplCopyWith> get copyWith => - __$$MultiFileImplCopyWithImpl>(this, _$identity); + String toString() { + return 'MultiFile<$T>(files: $files, platformFiles: $platformFiles)'; + } } -abstract class _MultiFile extends MultiFile { - const factory _MultiFile( - {final List files, - final List platformFiles}) = _$MultiFileImpl; - const _MultiFile._() : super._(); - - @override - List get files; +/// @nodoc +abstract mixin class _$MultiFileCopyWith + implements $MultiFileCopyWith { + factory _$MultiFileCopyWith( + _MultiFile value, $Res Function(_MultiFile) _then) = + __$MultiFileCopyWithImpl; @override - List get platformFiles; + @useResult + $Res call({List files, List platformFiles}); +} + +/// @nodoc +class __$MultiFileCopyWithImpl + implements _$MultiFileCopyWith { + __$MultiFileCopyWithImpl(this._self, this._then); + + final _MultiFile _self; + final $Res Function(_MultiFile) _then; + + /// Create a copy of MultiFile + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) - _$$MultiFileImplCopyWith> get copyWith => - throw _privateConstructorUsedError; + @pragma('vm:prefer-inline') + $Res call({ + Object? files = null, + Object? platformFiles = null, + }) { + return _then(_MultiFile( + files: null == files + ? _self._files + : files // ignore: cast_nullable_to_non_nullable + as List, + platformFiles: null == platformFiles + ? _self._platformFiles + : platformFiles // ignore: cast_nullable_to_non_nullable + as List, + )); + } } + +// dart format on diff --git a/packages/reactive_file_picker/pubspec.yaml b/packages/reactive_file_picker/pubspec.yaml index ff4f972f..163299be 100644 --- a/packages/reactive_file_picker/pubspec.yaml +++ b/packages/reactive_file_picker/pubspec.yaml @@ -14,11 +14,11 @@ dependencies: sdk: flutter reactive_forms: ">=16.0.0 <18.0.0" file_picker: ^8.0.3 - freezed_annotation: ^2.4.1 + freezed_annotation: ^3.0.0 dev_dependencies: flutter_test: sdk: flutter - freezed: ^2.5.2 + freezed: ^3.0.0 build_runner: ^2.4.9 flutter_lints: ^3.0.2 \ No newline at end of file