Files
config/definition/defenition.go
andrey a52e470906
Some checks failed
Go Action / goaction (pull_request) Failing after 47s
update config options
2026-01-03 17:27:37 +03:00

41 lines
705 B
Go

package definition
import (
"gitoa.ru/go-4devs/config"
"gitoa.ru/go-4devs/config/param"
)
var _ config.Options = (*Definition)(nil)
func New(opts ...config.Option) *Definition {
return &Definition{
options: opts,
Params: param.New(),
}
}
type Definition struct {
param.Params
options []config.Option
}
func (d *Definition) Add(opts ...config.Option) {
d.options = append(d.options, opts...)
}
func (d *Definition) Options() []config.Option {
return d.options
}
func (d *Definition) With(params param.Params) *Definition {
def := &Definition{
options: make([]config.Option, len(d.options)),
Params: param.Chain(params, d.Params),
}
copy(def.options, d.options)
return def
}