verificator
Version:
Client and server-side validation JavaScript library
40 lines (26 loc) • 1.44 kB
JavaScript
;
exports.__esModule = true;
var _parse = require('date-fns/parse');
var _parse2 = _interopRequireDefault(_parse);
var _toDate = require('date-fns/toDate');
var _toDate2 = _interopRequireDefault(_toDate);
var _getDateFormat = require('./getDateFormat');
var _getDateFormat2 = _interopRequireDefault(_getDateFormat);
var _parseTime = require('./parseTime');
var _parseTime2 = _interopRequireDefault(_parseTime);
var _compare = require('./compare');
var _compare2 = _interopRequireDefault(_compare);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var compareDates = function compareDates(attribute, value, _ref, operator, validator) {
var date = _ref[0];
if (value instanceof Date || typeof value === 'string' || typeof value === 'number') {
var now = new Date();
var format = (0, _getDateFormat2['default'])(attribute, validator);
date = validator.getValue(date) || date;
var first = format ? (0, _parse2['default'])(String(value), String(format), now) : (0, _toDate2['default'])((0, _parseTime2['default'])(value, now));
var second = format ? (0, _parse2['default'])(String(date), String(format), now) : (0, _toDate2['default'])((0, _parseTime2['default'])(date, now));
return (0, _compare2['default'])(Number(first), Number(second), operator);
}
return false;
};
exports['default'] = compareDates;