UNPKG

@prelude/function

Version:

Function module.

16 lines (13 loc) 399 B
import type { Predicate, IntersectionOfUnion } from './prelude.js' /** @returns boolean logic "and" from provided predicates. */ const and = <Args extends Predicate<unknown>[]>(...fs: Args) => (value: IntersectionOfUnion<Parameters<Args[number]>[0]>) => { for (let f of fs) { if (!f(value)) { return false } } return true } export default and