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 }