chain-able
Version:
interfaces that describe their intentions.
43 lines (41 loc) • 2.54 kB
JavaScript
var ObjectKeys = require('../util/keys')
var isObj = require('./obj')
/**
* @param {*} x value
* @return {boolean} isObjWithKeys
*
* @since 3.0.0
* @memberOf is
* @func isObjWithKeys
* @see is/obj
* @see is/objWithKeys
* @see is/objStrict
* @see is/null
*
* @extends isObj
* @variation Object.keys(obj).length !== 0
*
* @example
*
* isObjWithKeys({eh: true})
* //=> true
* isObjWithKeys({})
* //=> false
* isObjWithKeys(new Object())
* //=> false
* isObjWithKeys(Object.create(null))
* //=> false
* isObjWithKeys(null)
* //=> false
* isObjWithKeys(new Set())
* //=> false
* isObjWithKeys(function() {})
* //=> false
* isObjWithKeys('')
* //=> false
* isObjWithKeys(1)
* //=> false
*
*/
module.exports = function (val) { return isObj(val) && ObjectKeys(val).length !== 0; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqV2l0aEtleXMuanMiLCJzb3VyY2VzIjpbIm9ialdpdGhLZXlzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE9iamVjdEtleXMgPSByZXF1aXJlKCcuLi91dGlsL2tleXMnKVxuY29uc3QgaXNPYmogPSByZXF1aXJlKCcuL29iaicpXG5cbi8qKlxuICogQHBhcmFtICB7Kn0geCB2YWx1ZVxuICogQHJldHVybiB7Ym9vbGVhbn0gaXNPYmpXaXRoS2V5c1xuICpcbiAqIEBzaW5jZSAzLjAuMFxuICogQG1lbWJlck9mIGlzXG4gKiBAZnVuYyBpc09ialdpdGhLZXlzXG4gKiBAc2VlIGlzL29ialxuICogQHNlZSBpcy9vYmpXaXRoS2V5c1xuICogQHNlZSBpcy9vYmpTdHJpY3RcbiAqIEBzZWUgaXMvbnVsbFxuICpcbiAqIEBleHRlbmRzIGlzT2JqXG4gKiBAdmFyaWF0aW9uIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoICE9PSAwXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNPYmpXaXRoS2V5cyh7ZWg6IHRydWV9KVxuICogIC8vPT4gdHJ1ZVxuICogIGlzT2JqV2l0aEtleXMoe30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMobmV3IE9iamVjdCgpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc09ialdpdGhLZXlzKE9iamVjdC5jcmVhdGUobnVsbCkpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMobnVsbClcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNPYmpXaXRoS2V5cyhuZXcgU2V0KCkpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMoZnVuY3Rpb24oKSB7fSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNPYmpXaXRoS2V5cygnJylcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNPYmpXaXRoS2V5cygxKVxuICogIC8vPT4gZmFsc2VcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gdmFsID0+IGlzT2JqKHZhbCkgJiYgT2JqZWN0S2V5cyh2YWwpLmxlbmd0aCAhPT0gMFxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0FBQzFDQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDOUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLEdBQUcsQ0FBQSxDQUFDLEFBQUcsU0FBQSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUE7In0=