From 0c920e82454a591e7343b164fafd33431d2041e4 Mon Sep 17 00:00:00 2001 From: Hugo Pointcheval Date: Thu, 10 Nov 2022 13:24:29 -0500 Subject: [PATCH] feat(form): clean and add toString and equality --- .../lib/src/data/form/wyatt_form_impl.dart | 8 +++++--- .../data/input_validators/confirmed_password.dart | 3 +++ .../src/data/repositories/form_repository_impl.dart | 3 +++ .../lib/src/domain/entities/form_input.dart | 2 +- .../src/domain/input_validators/any_validator.dart | 6 ++++++ .../domain/input_validators/equality_validator.dart | 12 +++++++++--- .../input_validators/form_input_validator.dart | 4 ++-- 7 files changed, 29 insertions(+), 9 deletions(-) diff --git a/packages/wyatt_form_bloc/lib/src/data/form/wyatt_form_impl.dart b/packages/wyatt_form_bloc/lib/src/data/form/wyatt_form_impl.dart index 9b17b055..d336b329 100644 --- a/packages/wyatt_form_bloc/lib/src/data/form/wyatt_form_impl.dart +++ b/packages/wyatt_form_bloc/lib/src/data/form/wyatt_form_impl.dart @@ -73,7 +73,9 @@ class WyattFormImpl extends WyattForm { if (containsKey(key)) { return inputs.firstWhere((input) => input.key == key); } 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 get props => [_inputs, _name, _validator]; @override - String toString() => - 'WyattForm(name: $name, validation: ${_validator.runtimeType}, inputs: $inputs)'; + String toString() => 'WyattForm(name: $name, validation: ' + '${_validator.runtimeType}, inputs: $inputs)'; } diff --git a/packages/wyatt_form_bloc/lib/src/data/input_validators/confirmed_password.dart b/packages/wyatt_form_bloc/lib/src/data/input_validators/confirmed_password.dart index 448efba2..b8df4c4c 100644 --- a/packages/wyatt_form_bloc/lib/src/data/input_validators/confirmed_password.dart +++ b/packages/wyatt_form_bloc/lib/src/data/input_validators/confirmed_password.dart @@ -41,4 +41,7 @@ class ConfirmedPassword @override ValidationStandardError get onNull => ValidationStandardError.invalid; + + @override + List get props => super.props + [password]; } diff --git a/packages/wyatt_form_bloc/lib/src/data/repositories/form_repository_impl.dart b/packages/wyatt_form_bloc/lib/src/data/repositories/form_repository_impl.dart index 0d97327b..b720c0f6 100644 --- a/packages/wyatt_form_bloc/lib/src/data/repositories/form_repository_impl.dart +++ b/packages/wyatt_form_bloc/lib/src/data/repositories/form_repository_impl.dart @@ -57,4 +57,7 @@ class FormRepositoryImpl extends FormRepository { void unregisterForm(String formName) { _runtimeForms.remove(formName); } + + @override + String toString() => 'FormRepository($_runtimeForms)'; } diff --git a/packages/wyatt_form_bloc/lib/src/domain/entities/form_input.dart b/packages/wyatt_form_bloc/lib/src/domain/entities/form_input.dart index b8abfd7e..0947e7aa 100644 --- a/packages/wyatt_form_bloc/lib/src/domain/entities/form_input.dart +++ b/packages/wyatt_form_bloc/lib/src/domain/entities/form_input.dart @@ -63,5 +63,5 @@ class FormInput< @override String toString() => - 'FormInput(name: $name, value: ${validator.value}, status: ${validator.status.name}'; + 'FormInput(name: $name, $validator)'; } diff --git a/packages/wyatt_form_bloc/lib/src/domain/input_validators/any_validator.dart b/packages/wyatt_form_bloc/lib/src/domain/input_validators/any_validator.dart index 0869d8b5..396924d7 100644 --- a/packages/wyatt_form_bloc/lib/src/domain/input_validators/any_validator.dart +++ b/packages/wyatt_form_bloc/lib/src/domain/input_validators/any_validator.dart @@ -42,4 +42,10 @@ abstract class AnyValidator, } return onError; } + + @override + List get props => super.props + [allChoices]; + + @override + String toString() => '${super.toString()}, choices: $allChoices'; } diff --git a/packages/wyatt_form_bloc/lib/src/domain/input_validators/equality_validator.dart b/packages/wyatt_form_bloc/lib/src/domain/input_validators/equality_validator.dart index 531d55ab..3a70b9ad 100644 --- a/packages/wyatt_form_bloc/lib/src/domain/input_validators/equality_validator.dart +++ b/packages/wyatt_form_bloc/lib/src/domain/input_validators/equality_validator.dart @@ -1,16 +1,16 @@ // Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. -// +// // 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 // the Free Software Foundation, either version 3 of the License, or // any later version. -// +// // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program. If not, see . @@ -42,4 +42,10 @@ abstract class EqualityValidator } return null; } + + @override + List get props => super.props + [another]; + + @override + String toString() => '${super.toString()}, another: $another'; } diff --git a/packages/wyatt_form_bloc/lib/src/domain/input_validators/form_input_validator.dart b/packages/wyatt_form_bloc/lib/src/domain/input_validators/form_input_validator.dart index ebb539d3..676cf137 100644 --- a/packages/wyatt_form_bloc/lib/src/domain/input_validators/form_input_validator.dart +++ b/packages/wyatt_form_bloc/lib/src/domain/input_validators/form_input_validator.dart @@ -107,8 +107,8 @@ abstract class FormInputValidator Error? validator(Value? value); @override - bool? get stringify => true; + List get props => [value, pure]; @override - List get props => [value, pure]; + String toString() => 'value: $value, status: ${status.name}'; }