feat(form): clean and add toString and equality

This commit is contained in:
Hugo Pointcheval 2022-11-10 13:24:29 -05:00
parent ae3711a136
commit 0c920e8245
Signed by: hugo
GPG Key ID: A9E8E9615379254F
7 changed files with 29 additions and 9 deletions

View File

@ -73,7 +73,9 @@ class WyattFormImpl extends WyattForm {
if (containsKey(key)) { if (containsKey(key)) {
return inputs.firstWhere((input) => input.key == key); return inputs.firstWhere((input) => input.key == key);
} else { } else {
throw Exception('FormInput with key `$key` does not exist in form'); throw Exception(
'FormInput with key `$key` does not exist in form `$name`',
);
} }
} }
@ -146,6 +148,6 @@ class WyattFormImpl extends WyattForm {
List<Object?> get props => [_inputs, _name, _validator]; List<Object?> get props => [_inputs, _name, _validator];
@override @override
String toString() => String toString() => 'WyattForm(name: $name, validation: '
'WyattForm(name: $name, validation: ${_validator.runtimeType}, inputs: $inputs)'; '${_validator.runtimeType}, inputs: $inputs)';
} }

View File

@ -41,4 +41,7 @@ class ConfirmedPassword
@override @override
ValidationStandardError get onNull => ValidationStandardError.invalid; ValidationStandardError get onNull => ValidationStandardError.invalid;
@override
List<Object?> get props => super.props + [password];
} }

View File

@ -57,4 +57,7 @@ class FormRepositoryImpl extends FormRepository {
void unregisterForm(String formName) { void unregisterForm(String formName) {
_runtimeForms.remove(formName); _runtimeForms.remove(formName);
} }
@override
String toString() => 'FormRepository($_runtimeForms)';
} }

View File

@ -63,5 +63,5 @@ class FormInput<
@override @override
String toString() => String toString() =>
'FormInput(name: $name, value: ${validator.value}, status: ${validator.status.name}'; 'FormInput(name: $name, $validator)';
} }

View File

@ -42,4 +42,10 @@ abstract class AnyValidator<O, I extends Iterable<O?>,
} }
return onError; return onError;
} }
@override
List<Object?> get props => super.props + [allChoices];
@override
String toString() => '${super.toString()}, choices: $allChoices';
} }

View File

@ -1,16 +1,16 @@
// Copyright (C) 2022 WYATT GROUP // Copyright (C) 2022 WYATT GROUP
// Please see the AUTHORS file for details. // Please see the AUTHORS file for details.
// //
// This program is free software: you can redistribute it and/or modify // This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or // the Free Software Foundation, either version 3 of the License, or
// any later version. // any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
@ -42,4 +42,10 @@ abstract class EqualityValidator<O extends Object, E extends ValidationError>
} }
return null; return null;
} }
@override
List<Object?> get props => super.props + [another];
@override
String toString() => '${super.toString()}, another: $another';
} }

View File

@ -107,8 +107,8 @@ abstract class FormInputValidator<Value, Error extends ValidationError>
Error? validator(Value? value); Error? validator(Value? value);
@override @override
bool? get stringify => true; List<Object?> get props => [value, pure];
@override @override
List<Object?> get props => [value, pure]; String toString() => 'value: $value, status: ${status.name}';
} }