index.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = isDate;
  7. var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
  8. var _index = _interopRequireDefault(require("../_lib/requiredArgs/index.js"));
  9. /**
  10. * @name isDate
  11. * @category Common Helpers
  12. * @summary Is the given value a date?
  13. *
  14. * @description
  15. * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
  16. *
  17. * @param {*} value - the value to check
  18. * @returns {boolean} true if the given value is a date
  19. * @throws {TypeError} 1 arguments required
  20. *
  21. * @example
  22. * // For a valid date:
  23. * const result = isDate(new Date())
  24. * //=> true
  25. *
  26. * @example
  27. * // For an invalid date:
  28. * const result = isDate(new Date(NaN))
  29. * //=> true
  30. *
  31. * @example
  32. * // For some value:
  33. * const result = isDate('2014-02-31')
  34. * //=> false
  35. *
  36. * @example
  37. * // For an object:
  38. * const result = isDate({})
  39. * //=> false
  40. */
  41. function isDate(value) {
  42. (0, _index.default)(1, arguments);
  43. return value instanceof Date || (0, _typeof2.default)(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';
  44. }
  45. module.exports = exports.default;