github.com/zly-app/zapp@v1.3.3/pkg/serializer/yaml.go (about)

     1  package serializer
     2  
     3  import (
     4  	"io"
     5  
     6  	"gopkg.in/yaml.v3"
     7  )
     8  
     9  const YamlSerializerName = "yaml"
    10  
    11  type yamlSerializer struct{}
    12  
    13  func (yamlSerializer) Marshal(a interface{}, w io.Writer) error {
    14  	return yaml.NewEncoder(w).Encode(a)
    15  }
    16  
    17  func (s yamlSerializer) MarshalBytes(a interface{}) ([]byte, error) {
    18  	return yaml.Marshal(a)
    19  }
    20  
    21  func (yamlSerializer) Unmarshal(r io.Reader, a interface{}) error {
    22  	return yaml.NewDecoder(r).Decode(a)
    23  }
    24  
    25  func (s yamlSerializer) UnmarshalBytes(data []byte, a interface{}) error {
    26  	return yaml.Unmarshal(data, a)
    27  }