UNPKG

foop

Version:

interfaces that describe their intentions.

48 lines (46 loc) 3.19 kB
var ObjectKeys = require('../util/keys') var size = require('../util/size') var isObj = require('./obj') var isEmpty = require('./empty') /** * @TODO @NOTE need to be more careful, needs to check for vanilla objects, not native ones since e.g. Error has no keys * * @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 * @see is/empty * * @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 (x) { return isObj(x) && ObjectKeys(x).length !== 0; } // !isEmpty(x) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqV2l0aEtleXMuanMiLCJzb3VyY2VzIjpbIm9ialdpdGhLZXlzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE9iamVjdEtleXMgPSByZXF1aXJlKCcuLi91dGlsL2tleXMnKVxuY29uc3Qgc2l6ZSA9IHJlcXVpcmUoJy4uL3V0aWwvc2l6ZScpXG5jb25zdCBpc09iaiA9IHJlcXVpcmUoJy4vb2JqJylcbmNvbnN0IGlzRW1wdHkgPSByZXF1aXJlKCcuL2VtcHR5JylcblxuLyoqXG4gKiBAVE9ETyBATk9URSBuZWVkIHRvIGJlIG1vcmUgY2FyZWZ1bCwgbmVlZHMgdG8gY2hlY2sgZm9yIHZhbmlsbGEgb2JqZWN0cywgbm90IG5hdGl2ZSBvbmVzIHNpbmNlIGUuZy4gRXJyb3IgaGFzIG5vIGtleXNcbiAqXG4gKiBAcGFyYW0geyp9IHggdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzT2JqV2l0aEtleXNcbiAqXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBtZW1iZXJPZiBpc1xuICogQGZ1bmMgaXNPYmpXaXRoS2V5c1xuICogQHNlZSBpcy9vYmpcbiAqIEBzZWUgaXMvb2JqV2l0aEtleXNcbiAqIEBzZWUgaXMvb2JqU3RyaWN0XG4gKiBAc2VlIGlzL251bGxcbiAqIEBzZWUgaXMvZW1wdHlcbiAqXG4gKiBAZXh0ZW5kcyBpc09ialxuICogQHZhcmlhdGlvbiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCAhPT0gMFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGlzT2JqV2l0aEtleXMoe2VoOiB0cnVlfSlcbiAqICAvLz0+IHRydWVcbiAqICBpc09ialdpdGhLZXlzKHt9KVxuICogIC8vPT4gZmFsc2VcbiAqICBpc09ialdpdGhLZXlzKG5ldyBPYmplY3QoKSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNPYmpXaXRoS2V5cyhPYmplY3QuY3JlYXRlKG51bGwpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc09ialdpdGhLZXlzKG51bGwpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMobmV3IFNldCgpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc09ialdpdGhLZXlzKGZ1bmN0aW9uKCkge30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMoJycpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzT2JqV2l0aEtleXMoMSlcbiAqICAvLz0+IGZhbHNlXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHggPT4gaXNPYmooeCkgJiYgT2JqZWN0S2V5cyh4KS5sZW5ndGggIT09IDAgLy8gIWlzRW1wdHkoeClcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztBQUMxQ0EsR0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0FBQ3BDQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDOUJBLEdBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMENsQyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQUEsQ0FBQyxDQUFBLENBQUMsQUFBRyxTQUFBLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBQTsifQ==