MCPcopy Create free account
hub / github.com/AdRoll/baker / NewStringMatch

Function NewStringMatch

filter/string_match.go:36–54  ·  view source on GitHub ↗

NewStringMatch returns a StringMatch filter.

(cfg baker.FilterParams)

Source from the content-addressed store, hash-verified

34
35// NewStringMatch returns a StringMatch filter.
36func NewStringMatch(cfg baker.FilterParams) (baker.Filter, error) {
37 dcfg := cfg.DecodedConfig.(*StringMatchConfig)
38
39 if len(dcfg.Strings) == 0 {
40 return nil, fmt.Errorf("at least one string must be defined in Strings")
41 }
42
43 fidx, ok := cfg.FieldByName(dcfg.Field)
44 if !ok {
45 return nil, fmt.Errorf("stringMatch: unknown field %s", dcfg.Field)
46 }
47
48 var strings [][]byte
49 for i := range dcfg.Strings {
50 strings = append(strings, []byte(dcfg.Strings[i]))
51 }
52
53 return &StringMatch{field: fidx, strings: strings, invert: dcfg.InvertMatch}, nil
54}
55
56// Stats returns filter statistics.
57func (f *StringMatch) Stats() baker.FilterStats {

Callers 1

TestStringMatchFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestStringMatchFunction · 0.68