43 lines
907 B
JavaScript
43 lines
907 B
JavaScript
/**
|
|
* @name isDate
|
|
* @category Common Helpers
|
|
* @summary Is the given value a date?
|
|
*
|
|
* @description
|
|
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
|
*
|
|
* @param value - The value to check
|
|
*
|
|
* @returns True if the given value is a date
|
|
*
|
|
* @example
|
|
* // For a valid date:
|
|
* const result = isDate(new Date())
|
|
* //=> true
|
|
*
|
|
* @example
|
|
* // For an invalid date:
|
|
* const result = isDate(new Date(NaN))
|
|
* //=> true
|
|
*
|
|
* @example
|
|
* // For some value:
|
|
* const result = isDate('2014-02-31')
|
|
* //=> false
|
|
*
|
|
* @example
|
|
* // For an object:
|
|
* const result = isDate({})
|
|
* //=> false
|
|
*/
|
|
export function isDate(value) {
|
|
return (
|
|
value instanceof Date ||
|
|
(typeof value === "object" &&
|
|
Object.prototype.toString.call(value) === "[object Date]")
|
|
);
|
|
}
|
|
|
|
// Fallback for modularized imports:
|
|
export default isDate;
|