toml.go 560 B

1234567891011121314151617181920212223242526272829303132
  1. package toml
  2. import (
  3. "bytes"
  4. "github.com/BurntSushi/toml"
  5. "gogs.baozhida.cn/zoie/OAuth-core/config/encoder"
  6. )
  7. type tomlEncoder struct{}
  8. func (t tomlEncoder) Encode(v interface{}) ([]byte, error) {
  9. b := bytes.NewBuffer(nil)
  10. defer b.Reset()
  11. err := toml.NewEncoder(b).Encode(v)
  12. if err != nil {
  13. return nil, err
  14. }
  15. return b.Bytes(), nil
  16. }
  17. func (t tomlEncoder) Decode(d []byte, v interface{}) error {
  18. return toml.Unmarshal(d, v)
  19. }
  20. func (t tomlEncoder) String() string {
  21. return "toml"
  22. }
  23. func NewEncoder() encoder.Encoder {
  24. return tomlEncoder{}
  25. }