1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-12-28 04:55:37 -05:00
Files
v2fly/common/predicate/predicate.go
Darien Raymond da9f1a8013 predicate.Not
2016-10-11 12:30:53 +02:00

32 lines
457 B
Go

package predicate
type Predicate func() bool
func All(predicates ...Predicate) Predicate {
return func() bool {
for _, p := range predicates {
if !p() {
return false
}
}
return true
}
}
func Any(predicates ...Predicate) Predicate {
return func() bool {
for _, p := range predicates {
if p() {
return true
}
}
return false
}
}
func Not(predicate Predicate) Predicate {
return func() bool {
return !predicate()
}
}