import { curry } from './curry'; import { pipe } from './pipe'; import { equals } from './equals'; import { prop } from './prop'; type PropEq = { (property: keyof T, value: V, object: T): boolean; (property: keyof T, value: V): (object: T) => boolean; (property: keyof T): (value: V) => (object: T) => boolean; } export const propEq: PropEq = curry((property: keyof T, value: V, object: T) => pipe(object, prop(property), equals(value)));