import baseKeys from "./_baseKeys.js";
import getTag from "./_getTag.js";
import isArguments from "./isArguments.js";
import isArray from "./isArray.js";
import isArrayLike from "./isArrayLike.js";
import isBuffer from "./isBuffer.js";
import isPrototype from "./_isPrototype.js";
import isTypedArray from "./isTypedArray.js";
var mapTag = "[object Map]", setTag = "[object Set]";
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function isEmpty(value) {
  if (value == null) {
    return true;
  }
  if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
    return !value.length;
  }
  var tag = getTag(value);
  if (tag == mapTag || tag == setTag) {
    return !value.size;
  }
  if (isPrototype(value)) {
    return !baseKeys(value).length;
  }
  for (var key in value) {
    if (hasOwnProperty.call(value, key)) {
      return false;
    }
  }
  return true;
}
export {
  isEmpty as default
};
//# sourceMappingURL=isEmpty.js.map
