mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-07-12 11:30:22 +00:00
26 lines
365 B
Go
26 lines
365 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
|
||
|
}
|
||
|
}
|