1 var baseKeys = require(
'./_baseKeys'),
2 getTag = require(
'./_getTag'),
3 isArguments = require(
'./isArguments'),
4 isArray = require(
'./isArray'),
5 isArrayLike = require(
'./isArrayLike'),
6 isBuffer = require(
'./isBuffer'),
7 isPrototype = require(
'./_isPrototype'),
8 isTypedArray = require(
'./isTypedArray');
11 var mapTag =
'[object Map]',
12 setTag =
'[object Set]';
15 var objectProto = Object.prototype;
18 var hasOwnProperty = objectProto.hasOwnProperty;
53 function isEmpty(value) {
57 if (isArrayLike(value) &&
58 (isArray(value) || typeof value ==
'string' || typeof value.splice ==
'function' ||
59 isBuffer(value) || isTypedArray(value) || isArguments(value))) {
62 var tag = getTag(value);
63 if (tag == mapTag || tag == setTag) {
66 if (isPrototype(value)) {
67 return !baseKeys(value).length;
69 for (var key in value) {
70 if (hasOwnProperty.call(value, key)) {
77 module.exports = isEmpty;