UNPKG

522 BJavaScriptView Raw
1'use strict';
2
3var getDay = Date.prototype.getDay;
4var tryDateObject = function tryDateGetDayCall(value) {
5 try {
6 getDay.call(value);
7 return true;
8 } catch (e) {
9 return false;
10 }
11};
12
13var toStr = Object.prototype.toString;
14var dateClass = '[object Date]';
15var hasToStringTag = require('has-tostringtag/shams')();
16
17module.exports = function isDateObject(value) {
18 if (typeof value !== 'object' || value === null) {
19 return false;
20 }
21 return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
22};