import { curry } from '@typed/lambda' import { equals } from './equals' /** * Returns true if a property is equal to a given value * @param key :: PropertyKey * @param value :: a * @param obj :: { [PropertyKey]: a } * @returns :: boolean */ export const propEq = (curry((key: K, value: O[K], obj: O): boolean => equals(obj[key], value), ) as any) as { >>(key: K, value: A, object: O): boolean (key: K, value: A): >>( object: O, ) => boolean (key: K): { >>(value: A, object: O): boolean (value: A): >>(object: O) => boolean } }