validatees
Version:
✅ Validation library for ES6+ modules
38 lines (37 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFalsy = void 0;
function isFalsy(value) {
if ("undefined" === typeof value || undefined === typeof value || value === null || null === typeof value) {
return true;
}
else if ("bigint" === typeof value) {
return BigInt(Number.MAX_SAFE_INTEGER) < value || BigInt(Number.MIN_SAFE_INTEGER) > value;
}
else if ("number" === typeof value) {
return (0 === value ||
Object.is(value, -0) ||
Number.isNaN(value) ||
Number.MAX_SAFE_INTEGER < value ||
Number.MIN_SAFE_INTEGER > value);
}
else if ("string" === typeof value) {
return ("" === value ||
`` === value ||
" " === value.trim() ||
"" === value.trim() ||
0 >= value.length ||
0 >= value.trim().length ||
"0" === value.trim() ||
"0" === value);
}
else if ("boolean" === typeof value) {
return false === value;
}
else if ("function" === typeof value) {
return isFalsy(value());
}
return false;
}
exports.isFalsy = isFalsy;
exports.default = isFalsy;