mirror of
https://github.com/go-micro/go-micro.git
synced 2025-01-05 10:20:53 +02:00
d94936f6c9
* v3 * revert plugins * fixup some issues
34 lines
604 B
Go
34 lines
604 B
Go
package reader
|
|
|
|
import (
|
|
"github.com/asim/go-micro/v3/config/encoder"
|
|
"github.com/asim/go-micro/v3/config/encoder/json"
|
|
)
|
|
|
|
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(),
|
|
},
|
|
}
|
|
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
|
|
}
|
|
}
|