UNPKG

foop

Version:

interfaces that describe their intentions.

29 lines (27 loc) 2.54 kB
var hasOwnProperty = require('../util/hasOwnProperty') var curry = require('../fp/curry') /** * @desc if it has own property, call fnIs(value), else false * @curried 3 * @name ownPropertyIs * @alias ownPropertySatisfies * * @param {string|Array<string>} propertyPath (@TODO later, lensish) * @param {Function} fnIs (obj[path]): boolean * @param {Object} obj object to check * @return {boolean} hasOwnProperty && fnIs * * @see util/hasOwnProperty * @see fp/curry * @see is/_core * * @TODO add just getting the value of the property, as a param option * @TODO example * @TODO use path here too when needed */ module.exports = curry(3, function ownPropertyIs(propertyPath, fnIs, obj) { return hasOwnProperty(obj, propertyPath) ? fnIs(obj[propertyPath]) : false }) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duUHJvcGVydHlJcy5qcyIsInNvdXJjZXMiOlsib3duUHJvcGVydHlJcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBoYXNPd25Qcm9wZXJ0eSA9IHJlcXVpcmUoJy4uL3V0aWwvaGFzT3duUHJvcGVydHknKVxuY29uc3QgY3VycnkgPSByZXF1aXJlKCcuLi9mcC9jdXJyeScpXG5cbi8qKlxuICogQGRlc2MgaWYgaXQgaGFzIG93biBwcm9wZXJ0eSwgY2FsbCBmbklzKHZhbHVlKSwgZWxzZSBmYWxzZVxuICogQGN1cnJpZWQgM1xuICogQG5hbWUgb3duUHJvcGVydHlJc1xuICogQGFsaWFzIG93blByb3BlcnR5U2F0aXNmaWVzXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfEFycmF5PHN0cmluZz59IHByb3BlcnR5UGF0aCAoQFRPRE8gbGF0ZXIsIGxlbnNpc2gpXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gZm5JcyAob2JqW3BhdGhdKTogYm9vbGVhblxuICogQHBhcmFtICB7T2JqZWN0fSBvYmogb2JqZWN0IHRvIGNoZWNrXG4gKiBAcmV0dXJuIHtib29sZWFufSBoYXNPd25Qcm9wZXJ0eSAmJiBmbklzXG4gKlxuICogQHNlZSB1dGlsL2hhc093blByb3BlcnR5XG4gKiBAc2VlIGZwL2N1cnJ5XG4gKiBAc2VlIGlzL19jb3JlXG4gKlxuICogQFRPRE8gYWRkIGp1c3QgZ2V0dGluZyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5LCBhcyBhIHBhcmFtIG9wdGlvblxuICogQFRPRE8gZXhhbXBsZVxuICogQFRPRE8gdXNlIHBhdGggaGVyZSB0b28gd2hlbiBuZWVkZWRcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgzLCBmdW5jdGlvbiBvd25Qcm9wZXJ0eUlzKHByb3BlcnR5UGF0aCwgZm5Jcywgb2JqKSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3BlcnR5UGF0aClcbiAgICA/IGZuSXMob2JqW3Byb3BlcnR5UGF0aF0pXG4gICAgOiBmYWxzZVxufSlcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0FBQ3hEQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCcEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO0VBQ3hFLE9BQU8sY0FBYyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUM7TUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztNQUN2QixLQUFLO0NBQ1YsQ0FBQzsifQ==