This commit is contained in:
Jonasz Bigda
2023-03-25 21:51:42 +01:00
parent 0db1d5117e
commit b332e9ceb0
1044 changed files with 37502 additions and 63938 deletions

View File

@@ -12,8 +12,15 @@ 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; }
import merge from './util/merge';
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) {
@@ -27,13 +34,25 @@ function zip(date, format) {
return zippedArr;
}
export default function isDate(input) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY/MM/DD';
export default function isDate(input, options) {
if (typeof options === 'string') {
// Allow backward compatbility for old format isDate(input [, format])
options = merge({
format: options
}, default_date_options);
} else {
options = merge(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;
@@ -59,5 +78,9 @@ export default 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;
}