46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = isDate;
|
||
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
||
|
var _index = _interopRequireDefault(require("../_lib/requiredArgs/index.js"));
|
||
|
/**
|
||
|
* @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 {boolean} true if the given value is a date
|
||
|
* @throws {TypeError} 1 arguments required
|
||
|
*
|
||
|
* @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
|
||
|
*/
|
||
|
function isDate(value) {
|
||
|
(0, _index.default)(1, arguments);
|
||
|
return value instanceof Date || (0, _typeof2.default)(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';
|
||
|
}
|
||
|
module.exports = exports.default;
|