Files
learngo/27-functional-programming/log-parser-exp/filters.go
2019-08-06 02:44:17 +03:00

35 lines
606 B
Go

package main
import "strings"
func noopFilter(r result) bool {
return true
}
func notUsing(filter filterFunc) filterFunc {
return func(r result) bool {
return !filter(r)
}
}
func domainExtFilter(domains ...string) filterFunc {
return func(r result) bool {
for _, domain := range domains {
if strings.HasSuffix(r.domain, "."+domain) {
return true
}
}
return false
}
}
func domainFilter(domain string) filterFunc {
return func(r result) bool {
return strings.Contains(r.domain, domain)
}
}
func orgDomainsFilter(r result) bool {
return strings.HasSuffix(r.domain, ".org")
}