validatees
Version:
✅ Validation library for ES6+ modules
32 lines (31 loc) • 1.09 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidDate = void 0;
const isFalsy_1 = __importDefault(require("../types/isFalsy"));
function isValidDate(date) {
if (date instanceof Date) {
const dateString = new Date(date).toDateString();
return dateString !== "Invalid Date" && false === isNaN(Date.parse(dateString));
}
else if (typeof date === "string") {
const parsedDate = Date.parse(date);
const numDate = Number.parseInt(date);
if (0 > numDate) {
return false;
}
return !(0, isFalsy_1.default)(parsedDate);
}
else if (typeof date === "number") {
if (0 > date) {
return false;
}
date = new Date(date);
return !(0, isFalsy_1.default)(date.getTime()) && !(0, isFalsy_1.default)(date);
}
return false;
}
exports.isValidDate = isValidDate;
exports.default = isValidDate;