1 Star 0 Fork 0

linxing / youye-core

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
options.go 890 Bytes
Copy Edit Raw Blame History
Mark authored 2024-01-29 17:39 . rename package
package reader
import (
"gitee.com/linxing_3/youye-core/config/encoder"
"gitee.com/linxing_3/youye-core/config/encoder/json"
"gitee.com/linxing_3/youye-core/config/encoder/toml"
"gitee.com/linxing_3/youye-core/config/encoder/xml"
"gitee.com/linxing_3/youye-core/config/encoder/yaml"
)
type Options struct {
Encoding map[string]encoder.Encoder
}
type Option func(o *Options)
func NewOptions(opts ...Option) Options {
options := Options{
Encoding: map[string]encoder.Encoder{
"json": json.NewEncoder(),
"yaml": yaml.NewEncoder(),
"toml": toml.NewEncoder(),
"xml": xml.NewEncoder(),
"yml": yaml.NewEncoder(),
},
}
for _, o := range opts {
o(&options)
}
return options
}
func WithEncoder(e encoder.Encoder) Option {
return func(o *Options) {
if o.Encoding == nil {
o.Encoding = make(map[string]encoder.Encoder)
}
o.Encoding[e.String()] = e
}
}
1
https://gitee.com/linxing_3/youye-core.git
git@gitee.com:linxing_3/youye-core.git
linxing_3
youye-core
youye-core
v0.0.1-202404291803

Search