validatees
Version:
✅ Validation library for ES6+ modules
28 lines (27 loc) • 981 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFalsyExtended = void 0;
const isFalsy_1 = __importDefault(require("./isFalsy"));
function isFalsyExtended(value) {
if ((0, isFalsy_1.default)(value)) {
return true;
}
else if (Array.isArray(value)) {
return 0 === value.length;
}
else if ("function" === typeof value) {
return (0, isFalsy_1.default)(value());
}
else if ("object" === typeof value) {
return 0 === Object.keys(value).length || 0 === Object.values(value).length;
}
else if ("number" === typeof value) {
return Number.isNaN(value) || false === Number.isFinite(value) || Infinity === value || -Infinity === value;
}
return false;
}
exports.isFalsyExtended = isFalsyExtended;
exports.default = isFalsyExtended;