github.com/annwntech/go-micro/v2@v2.9.5/config/encoder/hcl/hcl.go (about)

     1  package hcl
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"github.com/hashicorp/hcl"
     7  	"github.com/annwntech/go-micro/v2/config/encoder"
     8  )
     9  
    10  type hclEncoder struct{}
    11  
    12  func (h hclEncoder) Encode(v interface{}) ([]byte, error) {
    13  	return json.Marshal(v)
    14  }
    15  
    16  func (h hclEncoder) Decode(d []byte, v interface{}) error {
    17  	return hcl.Unmarshal(d, v)
    18  }
    19  
    20  func (h hclEncoder) String() string {
    21  	return "hcl"
    22  }
    23  
    24  func NewEncoder() encoder.Encoder {
    25  	return hclEncoder{}
    26  }