Files
learngo/27-functional-programming/log-parser-exp/filters.go

35 lines
598 B
Go
Raw Normal View History

package main
import "strings"
func noopFilter(r result) bool {
return true
}
2019-08-08 14:11:54 +03:00
func notUsing(filter filterFn) filterFn {
return func(r result) bool {
return !filter(r)
}
}
2019-08-08 14:11:54 +03:00
func domainExtFilter(domains ...string) filterFn {
return func(r result) bool {
for _, domain := range domains {
if strings.HasSuffix(r.domain, "."+domain) {
return true
}
}
return false
}
}
2019-08-08 14:11:54 +03:00
func domainFilter(domain string) filterFn {
return func(r result) bool {
return strings.Contains(r.domain, domain)
}
}
func orgDomainsFilter(r result) bool {
return strings.HasSuffix(r.domain, ".org")
}