'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = empty;

var _hasOwnProperty;

function _load_hasOwnProperty() {
  return _hasOwnProperty = _interopRequireDefault(require('./has-own-property'));
}

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * determines whether `obj` reference is empty (empty array, empty object and/or falsy values)
 * @name empty
 * @param {*} name
 * @returns {boolean}
 * @example
 * ```js
 *  empty([]) // => true
 *  empty({}) // => true
 *  empty(1) // => false
 *  empty('') // => false
 *  empty('foo') // => true
 * ```
 */
function empty(obj) {
  for (var n in obj) {
    if ((0, (_hasOwnProperty || _load_hasOwnProperty()).default)(obj, n) && obj[n]) return false;
  } // eslint-disable-line
  return true;
}