import { curry } from '@typed/lambda'
/**
* Check if an object has a given property.
*/
export const hasOwnProperty = curry(
(
key: A,
obj: B,
): obj is B & { readonly [K in A]: unknown } =>
obj && Object.prototype.hasOwnProperty.call(obj, key),
) as {
(key: A, obj: B): obj is B &
{ readonly [K in A]: unknown }
(key: A): (
obj: B,
) => obj is B & { readonly [K in A]: unknown }
}