"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;