UNPKG

verificator

Version:

Client and server-side validation JavaScript library

40 lines (26 loc) 1.44 kB
'use strict'; 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;