set definition as option

This commit is contained in:
2025-12-29 22:18:13 +03:00
parent 360ee322f2
commit 302af61012

View File

@@ -2,15 +2,21 @@ package definition
import (
"gitoa.ru/go-4devs/config"
"gitoa.ru/go-4devs/config/param"
)
var _ config.Group = (*Definition)(nil)
func New(opts ...config.Option) *Definition {
return &Definition{
options: opts,
Params: param.New(),
}
}
type Definition struct {
param.Params
options []config.Option
}
@@ -21,3 +27,18 @@ func (d *Definition) Add(opts ...config.Option) {
func (d *Definition) Options() []config.Option {
return d.options
}
func (d *Definition) Name() string {
return ""
}
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
}