mirror of
https://github.com/nadoo/glider.git
synced 2025-04-22 04:02:07 +08:00
20 lines
350 B
Go
20 lines
350 B
Go
package matcher
|
|
|
|
type StringMatcher map[string]struct{}
|
|
|
|
func NewStringMatcher(app []string) *StringMatcher {
|
|
m := make(map[string]struct{})
|
|
for _, name := range app {
|
|
m[name] = struct{}{}
|
|
}
|
|
if len(m) == 0 {
|
|
return nil
|
|
}
|
|
return (*StringMatcher)(&m)
|
|
}
|
|
|
|
func (m StringMatcher) Match(t interface{}) bool {
|
|
_, ok := m[t.(string)]
|
|
return ok
|
|
}
|