import { Predicate, Static } from '../types' import { isSet } from '../predicates/isSet' export const set = >(predicate: T): Predicate>> => ( value: unknown, ): value is Set> => { let isValid = isSet(value) if (isValid) { for (const entry of value as Set) { isValid = predicate(entry) if (!isValid) { break } } } return isValid }