43 lines
1 KiB
JavaScript
43 lines
1 KiB
JavaScript
"use strict";
|
|
exports.isValid = isValid;
|
|
var _index = require("./isDate.cjs");
|
|
var _index2 = require("./toDate.cjs");
|
|
|
|
/**
|
|
* @name isValid
|
|
* @category Common Helpers
|
|
* @summary Is the given date valid?
|
|
*
|
|
* @description
|
|
* Returns false if argument is Invalid Date and true otherwise.
|
|
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
|
* Invalid Date is a Date, whose time value is NaN.
|
|
*
|
|
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
|
*
|
|
* @param date - The date to check
|
|
*
|
|
* @returns The date is valid
|
|
*
|
|
* @example
|
|
* // For the valid date:
|
|
* const result = isValid(new Date(2014, 1, 31))
|
|
* //=> true
|
|
*
|
|
* @example
|
|
* // For the value, convertible into a date:
|
|
* const result = isValid(1393804800000)
|
|
* //=> true
|
|
*
|
|
* @example
|
|
* // For the invalid date:
|
|
* const result = isValid(new Date(''))
|
|
* //=> false
|
|
*/
|
|
function isValid(date) {
|
|
return !(
|
|
(!(0, _index.isDate)(date) && typeof date !== "number") ||
|
|
isNaN(+(0, _index2.toDate)(date))
|
|
);
|
|
}
|