import { isBuffer as e } from "../../predicate/isBuffer.js";
import { isArrayLike as t } from "./isArrayLike.js";
import { isArguments as n } from "./isArguments.js";
import { isTypedArray as r } from "./isTypedArray.js";
import { isPrototype as i } from "../_internal/isPrototype.js";
//#region ../../node_modules/es-toolkit/dist/compat/predicate/isEmpty.mjs
function a(a) {
	if (a == null) return !0;
	if (t(a)) return typeof a.splice != "function" && typeof a != "string" && !e(a) && !r(a) && !n(a) ? !1 : a.length === 0;
	if (typeof a == "object") {
		if (a instanceof Map || a instanceof Set) return a.size === 0;
		let e = Object.keys(a);
		return i(a) ? e.filter((e) => e !== "constructor").length === 0 : e.length === 0;
	}
	return !0;
}
//#endregion
export { a as isEmpty };

//# sourceMappingURL=isEmpty.js.map