Core

/app/lib/filter/paramset.go (463 B)

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package filter

import (
"strings"

"github.com/samber/lo"

"{{{ .Package }}}/app/util"
)

type ParamSet map[string]*Params

func (s ParamSet) Get(key string, allowed []string, logger util.Logger) *Params {
x, ok := s[key]
if !ok {
return &Params{Key: key}
}
return x.Filtered(allowed, logger).Sanitize(key)
}

func (s ParamSet) String() string {
return strings.Join(lo.Map(lo.Values(s), func(p *Params, _ int) string {
return p.String()
}), ", ")
}