Cleanup
This commit is contained in:
42
node_modules/validator/lib/isDate.js
generated
vendored
42
node_modules/validator/lib/isDate.js
generated
vendored
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
||||
});
|
||||
exports.default = isDate;
|
||||
|
||||
var _merge = _interopRequireDefault(require("./util/merge"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
||||
|
||||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||
@@ -19,8 +23,14 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
||||
|
||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||
|
||||
var default_date_options = {
|
||||
format: 'YYYY/MM/DD',
|
||||
delimiters: ['/', '-'],
|
||||
strictMode: false
|
||||
};
|
||||
|
||||
function isValidFormat(format) {
|
||||
return /(^(y{4}|y{2})[\/-](m{1,2})[\/-](d{1,2})$)|(^(m{1,2})[\/-](d{1,2})[\/-]((y{4}|y{2})$))|(^(d{1,2})[\/-](m{1,2})[\/-]((y{4}|y{2})$))/gi.test(format);
|
||||
return /(^(y{4}|y{2})[.\/-](m{1,2})[.\/-](d{1,2})$)|(^(m{1,2})[.\/-](d{1,2})[.\/-]((y{4}|y{2})$))|(^(d{1,2})[.\/-](m{1,2})[.\/-]((y{4}|y{2})$))/gi.test(format);
|
||||
}
|
||||
|
||||
function zip(date, format) {
|
||||
@@ -34,13 +44,25 @@ function zip(date, format) {
|
||||
return zippedArr;
|
||||
}
|
||||
|
||||
function isDate(input) {
|
||||
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY/MM/DD';
|
||||
function isDate(input, options) {
|
||||
if (typeof options === 'string') {
|
||||
// Allow backward compatbility for old format isDate(input [, format])
|
||||
options = (0, _merge.default)({
|
||||
format: options
|
||||
}, default_date_options);
|
||||
} else {
|
||||
options = (0, _merge.default)(options, default_date_options);
|
||||
}
|
||||
|
||||
if (typeof input === 'string' && isValidFormat(format)) {
|
||||
var splitter = /[-/]/,
|
||||
dateAndFormat = zip(input.split(splitter), format.toLowerCase().split(splitter)),
|
||||
dateObj = {};
|
||||
if (typeof input === 'string' && isValidFormat(options.format)) {
|
||||
var formatDelimiter = options.delimiters.find(function (delimiter) {
|
||||
return options.format.indexOf(delimiter) !== -1;
|
||||
});
|
||||
var dateDelimiter = options.strictMode ? formatDelimiter : options.delimiters.find(function (delimiter) {
|
||||
return input.indexOf(delimiter) !== -1;
|
||||
});
|
||||
var dateAndFormat = zip(input.split(dateDelimiter), options.format.toLowerCase().split(formatDelimiter));
|
||||
var dateObj = {};
|
||||
|
||||
var _iterator = _createForOfIteratorHelper(dateAndFormat),
|
||||
_step;
|
||||
@@ -66,7 +88,11 @@ function isDate(input) {
|
||||
return new Date("".concat(dateObj.m, "/").concat(dateObj.d, "/").concat(dateObj.y)).getDate() === +dateObj.d;
|
||||
}
|
||||
|
||||
return Object.prototype.toString.call(input) === '[object Date]' && isFinite(input);
|
||||
if (!options.strictMode) {
|
||||
return Object.prototype.toString.call(input) === '[object Date]' && isFinite(input);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
|
||||
Reference in New Issue
Block a user