From 4e4072a860ef732d1a0b4cc67440aa2d37ead96c Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Sun, 18 Sep 2022 20:15:52 +0200
Subject: [PATCH] refactor error functions

Signed-off-by: Volker Schukai <volker.schukai@schukai.com>
---
 api.go        | 10 ----------
 error.go      | 24 +++++++++++++++++-------
 error_test.go |  2 ++
 3 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/api.go b/api.go
index f77f1c7..1615866 100644
--- a/api.go
+++ b/api.go
@@ -37,16 +37,6 @@ func (s *setting[C]) SetMnemonic(mnemonic string) *setting[C] {
 	return s
 }
 
-// Check if the setting contains errors
-func (s *setting[C]) HasErrors() bool {
-	return len(s.errors) > 0
-}
-
-// Get all errors
-func (s *setting[C]) Errors() []error {
-	return s.errors
-}
-
 // Config() returns the configuration
 func (s *setting[C]) Config() C {
 	return s.config
diff --git a/error.go b/error.go
index a6c93fe..667c886 100644
--- a/error.go
+++ b/error.go
@@ -5,6 +5,23 @@ import (
 	"reflect"
 )
 
+// ResetError is used to reset the error to nil
+// After calling this function, the call HasErrors() will return false
+func (s *setting[C]) ResetErrors() *setting[C] {
+	s.errors = []error{}
+	return s
+}
+
+// Check if the setting contains errors
+func (s *setting[C]) HasErrors() bool {
+	return len(s.errors) > 0
+}
+
+// Get all errors
+func (s *setting[C]) Errors() []error {
+	return s.errors
+}
+
 var FileNameEmptyError = errors.New("file name is empty")
 var MnemonicEmptyError = errors.New("mnemonic is empty")
 var NoFileImportedError = errors.New("no file imported")
@@ -49,13 +66,6 @@ func newUnsupportedTypeError(t reflect.Type) UnsupportedTypeError {
 	return UnsupportedTypeError(errors.New("type " + t.String() + " is not supported"))
 }
 
-// ResetError is used to reset the error to nil
-// After calling this function, the call HasErrors() will return false
-func (s *setting[C]) ResetErrors() *setting[C] {
-	s.errors = []error{}
-	return s
-}
-
 // At the reflect level, some types are not supported
 type UnsupportedReflectKindError error
 
diff --git a/error_test.go b/error_test.go
index 0e58e86..e6c022b 100644
--- a/error_test.go
+++ b/error_test.go
@@ -19,6 +19,8 @@ func TestResetErrors(t *testing.T) {
 	assert.True(t, c.HasErrors())
 	c.ResetErrors()
 	assert.False(t, c.HasErrors())
+
+	assert.Empty(t, c.Errors())
 }
 
 func TestNewFlagDoesNotExistError(t *testing.T) {
-- 
GitLab