github.com/MetalBlockchain/metalgo@v1.11.9/database/rpcdb/errors.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package rpcdb
     5  
     6  import (
     7  	"github.com/MetalBlockchain/metalgo/database"
     8  
     9  	rpcdbpb "github.com/MetalBlockchain/metalgo/proto/pb/rpcdb"
    10  )
    11  
    12  var (
    13  	ErrEnumToError = map[rpcdbpb.Error]error{
    14  		rpcdbpb.Error_ERROR_CLOSED:    database.ErrClosed,
    15  		rpcdbpb.Error_ERROR_NOT_FOUND: database.ErrNotFound,
    16  	}
    17  	ErrorToErrEnum = map[error]rpcdbpb.Error{
    18  		database.ErrClosed:   rpcdbpb.Error_ERROR_CLOSED,
    19  		database.ErrNotFound: rpcdbpb.Error_ERROR_NOT_FOUND,
    20  	}
    21  )
    22  
    23  func ErrorToRPCError(err error) error {
    24  	if _, ok := ErrorToErrEnum[err]; ok {
    25  		return nil
    26  	}
    27  	return err
    28  }