import dynamicValue from './dynamicValue'; import { isEmpty } from './isEmpty'; import { Predicate } from './utilityTypes'; export function all(...p: Predicate[]): (value: T) => boolean { return (value: T) => isEmpty(p) ? false : p.every(predicate => dynamicValue(predicate, value)); } export function any(...p: Predicate[]): (value: T) => boolean { return (value: T) => isEmpty(p) ? false : p.some(predicate => dynamicValue(predicate, value)); }