Просмотр исходного кода

lib/protocol: Simplify codeToError, errorToCode

Also be explicit about the fact that ErrNoError is nil. That name isn't
used anywhere outside this file.
greatroar 4 лет назад
Родитель
Сommit
8f8e8a9285
1 измененных файлов с 17 добавлено и 24 удалено
  1. 17 24
      lib/protocol/errors.go

+ 17 - 24
lib/protocol/errors.go

@@ -2,43 +2,36 @@
 
 
 package protocol
 package protocol
 
 
-import (
-	"errors"
-)
+import "errors"
 
 
 var (
 var (
-	ErrNoError    error
 	ErrGeneric    = errors.New("generic error")
 	ErrGeneric    = errors.New("generic error")
 	ErrNoSuchFile = errors.New("no such file")
 	ErrNoSuchFile = errors.New("no such file")
 	ErrInvalid    = errors.New("file is invalid")
 	ErrInvalid    = errors.New("file is invalid")
 )
 )
 
 
-var lookupError = map[ErrorCode]error{
-	ErrorCodeNoError:     ErrNoError,
-	ErrorCodeGeneric:     ErrGeneric,
-	ErrorCodeNoSuchFile:  ErrNoSuchFile,
-	ErrorCodeInvalidFile: ErrInvalid,
-}
-
-var lookupCode = map[error]ErrorCode{
-	ErrNoError:    ErrorCodeNoError,
-	ErrGeneric:    ErrorCodeGeneric,
-	ErrNoSuchFile: ErrorCodeNoSuchFile,
-	ErrInvalid:    ErrorCodeInvalidFile,
-}
-
 func codeToError(code ErrorCode) error {
 func codeToError(code ErrorCode) error {
-	err, ok := lookupError[code]
-	if !ok {
+	switch code {
+	case ErrorCodeNoError:
+		return nil
+	case ErrorCodeNoSuchFile:
+		return ErrNoSuchFile
+	case ErrorCodeInvalidFile:
+		return ErrInvalid
+	default:
 		return ErrGeneric
 		return ErrGeneric
 	}
 	}
-	return err
 }
 }
 
 
 func errorToCode(err error) ErrorCode {
 func errorToCode(err error) ErrorCode {
-	code, ok := lookupCode[err]
-	if !ok {
+	switch err {
+	case nil:
+		return ErrorCodeNoError
+	case ErrNoSuchFile:
+		return ErrorCodeNoSuchFile
+	case ErrInvalid:
+		return ErrorCodeInvalidFile
+	default:
 		return ErrorCodeGeneric
 		return ErrorCodeGeneric
 	}
 	}
-	return code
 }
 }