From b1057f498c4f7ace617fa0bbdda681b266ab0cac Mon Sep 17 00:00:00 2001 From: Saeed Rasooli Date: Sun, 25 Feb 2024 14:24:27 +0330 Subject: [PATCH] move some error strings to lib/strings.go as consts --- lib/alter.go | 2 +- lib/bip39.go | 2 +- lib/functions.go | 16 ++++++++-------- lib/group.go | 2 +- lib/justify.go | 2 +- lib/lex.go | 4 ++-- lib/lex_function.go | 4 ++-- lib/lex_repeat.go | 10 +++++----- lib/rootgen.go | 2 +- lib/shuffle.go | 2 +- lib/strings.go | 8 ++++++++ 11 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 lib/strings.go diff --git a/lib/alter.go b/lib/alter.go index 99de96b..5f505c0 100644 --- a/lib/alter.go +++ b/lib/alter.go @@ -70,5 +70,5 @@ func (g *alterGenerator) Entropy(s *State) (float64, error) { if g.entropy != nil { return *g.entropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } diff --git a/lib/bip39.go b/lib/bip39.go index a9bbdbb..b49a9b1 100644 --- a/lib/bip39.go +++ b/lib/bip39.go @@ -15,7 +15,7 @@ func bip39encode(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { s.errorMarkLen = len(in) - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune(bip39.Encode(data)), nil } diff --git a/lib/functions.go b/lib/functions.go index 75978ab..f79d4fc 100644 --- a/lib/functions.go +++ b/lib/functions.go @@ -28,7 +28,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "base64": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune( base64.StdEncoding.EncodeToString(data), @@ -37,7 +37,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "base64url": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune( base64.URLEncoding.EncodeToString(data), @@ -48,7 +48,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "base32": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune( strings.ToLower(crock32.Encode(data)), @@ -57,7 +57,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "BASE32": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune( crock32.Encode(data), @@ -68,7 +68,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "base32std": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune( base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString( @@ -95,7 +95,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ //} i64, err := strconv.ParseInt(string(in), 16, 64) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } return []rune(strconv.FormatInt(i64, 10)), nil }, @@ -104,7 +104,7 @@ var encoderFunctions = map[string]func(s *State, in []rune) ([]rune, error){ "pyhex": func(s *State, in []rune) ([]rune, error) { data, err := hex.DecodeString(string(in)) if err != nil { - return nil, s.errorValue("invalid hex number %#v", string(in)) + return nil, s.errorValue(s_invalid_hex_num, string(in)) } out := "" for _, cbyte := range data { @@ -187,7 +187,7 @@ func (g *encoderFunctionCallGenerator) Entropy(s *State) (float64, error) { if g.entropy != nil { return *g.entropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } func getFuncGenerator(s *State, funcName string, arg []rune) (generatorIface, error) { diff --git a/lib/group.go b/lib/group.go index 663ac1d..ed85eff 100644 --- a/lib/group.go +++ b/lib/group.go @@ -25,5 +25,5 @@ func (g *groupGenerator) Entropy(s *State) (float64, error) { if g.entropy != nil { return *g.entropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } diff --git a/lib/justify.go b/lib/justify.go index d0032f1..c3b878c 100644 --- a/lib/justify.go +++ b/lib/justify.go @@ -73,7 +73,7 @@ func (g *justifyGenerator) Entropy(s *State) (float64, error) { if g.entropy != nil { return *g.entropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } func parseJustifyArgs(s *State, argsStr []rune, funcName string) (*JustifyArgs, error) { diff --git a/lib/lex.go b/lib/lex.go index 89dba7c..36427f5 100644 --- a/lib/lex.go +++ b/lib/lex.go @@ -103,13 +103,13 @@ func lexBackslash(s *State) (LexType, error) { func lexIdent(s *State) (LexType, error) { if s.end() { s.errorOffset++ - return nil, s.errorSyntax("expected a function call") + return nil, s.errorSyntax(s_func_call_expected) } c := s.input[s.inputPos] s.move(1) switch c { case '\\', '[', '{', '$': - return nil, s.errorSyntax("expected a function call") + return nil, s.errorSyntax(s_func_call_expected) case '(': s.openParenth++ return lexIdentFuncCall, nil diff --git a/lib/lex_function.go b/lib/lex_function.go index 0c1e32e..534376b 100644 --- a/lib/lex_function.go +++ b/lib/lex_function.go @@ -36,7 +36,7 @@ func _lexIdentFuncCallEndError(s *State) error { if s.openParenth > 0 { return s.errorSyntax("'(' not closed") } - return s.errorSyntax("expected a function call") + return s.errorSyntax(s_func_call_expected) } func _lexIdentFuncCallBackslash(s *State, buff []rune) []rune { @@ -86,5 +86,5 @@ func lexIdentFuncCall(s *State) (LexType, error) { if s.openParenth > 0 { return nil, s.errorSyntax("'(' not closed") } - return nil, s.errorSyntax("expected a function call") + return nil, s.errorSyntax(s_func_call_expected) } diff --git a/lib/lex_repeat.go b/lib/lex_repeat.go index 174a3b3..2f1b483 100644 --- a/lib/lex_repeat.go +++ b/lib/lex_repeat.go @@ -89,12 +89,12 @@ func parseRepeatCount(s *State, countRunes []rune) (int64, error) { if err != nil { s.errorOffset-- s.errorMarkLen = len(countStr) - return 0, s.errorSyntax("invalid natural number '%v'", countStr) + return 0, s.errorSyntax(s_invalid_natural_num, countStr) } if countI64 < 1 { s.errorOffset-- s.errorMarkLen = len(countStr) - return 0, s.errorSyntax("invalid natural number '%v'", countStr) + return 0, s.errorSyntax(s_invalid_natural_num, countStr) } if countI64 > maxRepeatCount { return 0, s.errorSyntax("count value is too large") @@ -116,19 +116,19 @@ func parseRepeatCount(s *State, countRunes []rune) (int64, error) { // I don't know how to produce this by high-level Generate test s.errorOffset -= int64(len(maxStr)) + 2 s.errorMarkLen = len(minStr) - return 0, s.errorSyntax("invalid natural number '%v'", minStr) + return 0, s.errorSyntax(s_invalid_natural_num, minStr) } if minCount < 1 { s.errorOffset -= int64(len(maxStr)) + 2 s.errorMarkLen = len(minStr) - return 0, s.errorSyntax("invalid natural number '%v'", minStr) + return 0, s.errorSyntax(s_invalid_natural_num, minStr) } maxCount, err := strconv.ParseInt(maxStr, 10, 64) if err != nil { // I don't know how to produce this by high-level Generate test s.errorOffset -= 2 s.errorMarkLen = len(maxStr) - return 0, s.errorSyntax("invalid natural number '%v'", maxStr) + return 0, s.errorSyntax(s_invalid_natural_num, maxStr) } if maxCount < minCount { s.errorOffset-- diff --git a/lib/rootgen.go b/lib/rootgen.go index c43fe4c..832afd4 100644 --- a/lib/rootgen.go +++ b/lib/rootgen.go @@ -39,5 +39,5 @@ func (g *RootGenerator) Entropy(s *State) (float64, error) { if g.entropy != nil { return *g.entropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } diff --git a/lib/shuffle.go b/lib/shuffle.go index ed86406..244dce4 100644 --- a/lib/shuffle.go +++ b/lib/shuffle.go @@ -32,7 +32,7 @@ func (g *shuffleGenerator) Entropy(s *State) (float64, error) { if g.argPatternEntropy != nil { return *g.argPatternEntropy, nil } - return 0, s.errorUnknown("entropy is not calculated") + return 0, s.errorUnknown(s_entropy_not_calc) } func newShuffleGenerator(arg []rune) (*shuffleGenerator, error) { diff --git a/lib/strings.go b/lib/strings.go new file mode 100644 index 0000000..d4a2157 --- /dev/null +++ b/lib/strings.go @@ -0,0 +1,8 @@ +package passgen + +const ( + s_entropy_not_calc = "entropy is not calculated" + s_invalid_hex_num = "invalid hex number %#v" + s_invalid_natural_num = "invalid natural number '%v'" + s_func_call_expected = "expected a function call" +)