@seafile/seafile-calendar 0.0.29-gzc31 → 0.0.29-prop3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/util/index.js CHANGED
@@ -121,7 +121,28 @@ export function formatDate(value, format) {
121
121
  return value.format(format);
122
122
  }
123
123
 
124
- export function formatDateLocal(formatStr, format) {
124
+ export function validateCalendarDay(dayStr) {
125
+ if (!/^\d+$/.test(dayStr)) return false;
126
+ var day = Number(dayStr);
127
+ if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) {
128
+ return day >= 1 && day <= 31;
129
+ }
130
+ if ([4, 6, 9, 11].includes(currentMonth)) {
131
+ return day >= 1 && day <= 30;
132
+ }
133
+ if (currentMonth === 2) {
134
+ var _isLeapYear = function _isLeapYear(year) {
135
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
136
+ };
137
+ var year = currentYear;
138
+ if (_isLeapYear(year)) {
139
+ return day >= 1 && day <= 29;
140
+ }
141
+ return day >= 1 && day <= 28;
142
+ }
143
+ }
144
+
145
+ export function tokenizeFormattedDate(formatStr, format) {
125
146
  var str = formatStr || '';
126
147
  var cleanStr = void 0;
127
148
  switch (format) {
@@ -149,38 +170,37 @@ export function hasSpecialChar(str) {
149
170
  return matches ? matches.length : 0;
150
171
  }
151
172
 
152
- export function isValidMonth(monthStr) {
153
- if (typeof monthStr === 'undefined' || monthStr === null) return currentMonth;
154
- if (!/^\d+$/.test(Number(monthStr))) return currentMonth;
155
- var month = Number(monthStr);
156
- if (month >= 1 && month <= 12) {
157
- return monthStr;
173
+ export function validateTime(inputTime) {
174
+ if (!inputTime || typeof inputTime !== 'string') {
175
+ return currentTime;
158
176
  }
159
- return currentMonth;
160
- }
161
-
162
- export function isValidDay(dayStr) {
163
- if (!/^\d+$/.test(dayStr)) return false;
164
- var day = Number(dayStr);
165
- if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) {
166
- return day >= 1 && day <= 31;
177
+ var trimmed = inputTime.trim();
178
+ var timeRegex = /^(\d{2}):(\d{2})$/;
179
+ var match = trimmed.match(timeRegex);
180
+ if (!match) {
181
+ return currentTime;
167
182
  }
168
- if ([4, 6, 9, 11].includes(currentMonth)) {
169
- return day >= 1 && day <= 30;
183
+ var hour = Number(match[1]);
184
+ var minute = Number(match[2]);
185
+ if (hour > 23 || minute > 59) {
186
+ return currentTime;
170
187
  }
171
- if (currentMonth === 2) {
172
- var isLeapYear = function isLeapYear(year) {
173
- return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
174
- };
175
- var year = currentYear;
176
- if (isLeapYear(year)) {
177
- return day >= 1 && day <= 29;
178
- }
179
- return day >= 1 && day <= 28;
188
+ return match[1] + ':' + match[2];
189
+ }
190
+
191
+ export function delimate(format) {
192
+ var delimiter = void 0;
193
+ if (format === DATE_FORMATS.Germany_Russia_etc || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
194
+ delimiter = '.';
195
+ } else if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
196
+ delimiter = '-';
197
+ } else {
198
+ delimiter = '/';
180
199
  }
200
+ return delimiter;
181
201
  }
182
202
 
183
- export function fullValidYear(yearStr) {
203
+ export function validateCalendarYear(yearStr) {
184
204
  var year = yearStr;
185
205
  if (!year || isNaN(year)) return currentYear;
186
206
  if (year.length === 2) {
@@ -196,369 +216,280 @@ export function fullValidYear(yearStr) {
196
216
  return year ? year.padStart(4, '0') : currentYear;
197
217
  }
198
218
 
199
- export function delimate(formatPrefix) {
200
- var delimiter = void 0;
201
- if (formatPrefix === DATE_FORMATS.Germany_Russia_etc || formatPrefix === DATE_FORMATS.Germany_Russia_etcAndTime) {
202
- delimiter = '.';
203
- } else if (formatPrefix === DATE_FORMATS.ISO || formatPrefix === DATE_FORMATS.ISOAndTime) {
204
- delimiter = '-';
205
- } else {
206
- delimiter = '/';
207
- }
208
- return delimiter;
209
- }
210
-
211
- export function getDateFormatByStr(str, format) {
212
- var cananderStr = str || '';
213
- var delimiter = delimate(format);
214
- var parts = cananderStr.split(delimiter);
215
- if (parts.length !== 3) return format;
216
- if (format === DATE_FORMATS.ISO) {
217
- return DATE_FORMATS.ISO;
218
- }
219
- if (format === DATE_FORMATS.ISOAndTime) {
220
- return DATE_FORMATS.ISOAndTime;
221
- }
222
- if (format === DATE_FORMATS.US) {
223
- return DATE_FORMATS.US;
224
- }
225
- if (format === DATE_FORMATS.USAndTime) {
226
- return DATE_FORMATS.USAndTime;
227
- }
228
- if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
229
- var day = parts[0],
230
- month = parts[1];
231
-
232
- var dayLen = day.length;
233
- var monthLen = month.length;
234
- if (dayLen === 2 && monthLen === 2) {
235
- return 'DD' + delimiter + 'MM' + delimiter + 'YYYY';
236
- } else if (dayLen === 2 && monthLen === 1) {
237
- return 'DD' + delimiter + 'M' + delimiter + 'YYYY';
238
- } else if (dayLen === 1 && monthLen === 2) {
239
- return 'D' + delimiter + 'MM' + delimiter + 'YYYY';
240
- } else if (dayLen === 1 && monthLen === 1) {
241
- return 'D' + delimiter + 'M' + delimiter + 'YYYY';
242
- }
243
- }
244
- if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
245
- var _day = parts[0],
246
- _month = parts[1];
247
-
248
- var _dayLen = _day.length;
249
- var _monthLen = _month.length;
250
- if (_dayLen === 2 && _monthLen === 2) {
251
- return 'DD' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
252
- } else if (_dayLen === 2 && _monthLen === 1) {
253
- return 'DD' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
254
- } else if (_dayLen === 1 && _monthLen === 2) {
255
- return 'D' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
256
- } else if (_dayLen === 1 && _monthLen === 1) {
257
- return 'D' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
258
- }
259
- }
260
- return format;
261
- }
219
+ export var isLeapYear = function isLeapYear(year) {
220
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
221
+ };
262
222
 
263
- export function isCurrentYear(year, month, day) {
264
- return Number(month) >= 1 && Number(month) <= 12 && Number(day) >= 1 && Number(day) <= 31 ? year : currentYear; // eslint-disable-line max-len
265
- }
223
+ export function validateCalendarDayAndMonth(dayStr, monthStr, yearStr) {
224
+ var day = Number(dayStr);
225
+ var month = Number(monthStr);
226
+ var year = yearStr;
227
+ var isInThirtyOneDaysMonths = [1, 3, 5, 7, 8, 10, 12].includes(month);
228
+ var isInThirtyDaysMonths = [4, 6, 9, 11].includes(month);
229
+ var isValidDayThirtyOne = day < 1 || day > 31;
230
+ var isValidDayThirty = day < 1 || day > 30;
231
+ var isValidDayTwentyNight = day < 1 || day > 29;
232
+ var isValidDayTwentyEight = day < 1 || day > 28;
266
233
 
267
- export function validateTime(inputTime) {
268
- if (!inputTime || typeof inputTime !== 'string') {
269
- return currentTime;
270
- }
271
- var trimmed = inputTime.trim();
272
- var timeRegex = /^(\d{2}):(\d{2})$/;
273
- var match = trimmed.match(timeRegex);
274
- if (!match) {
275
- return currentTime;
234
+ if (month > 12 || month < 0 || !month) {
235
+ day = currentDate;
236
+ month = currentMonth;
237
+ year = currentYear;
276
238
  }
277
- var hour = Number(match[1]);
278
- var minute = Number(match[2]);
279
- if (hour > 23 || minute > 59) {
280
- return currentTime;
239
+
240
+ if (isInThirtyOneDaysMonths && isValidDayThirtyOne || isInThirtyDaysMonths && isValidDayThirty) {
241
+ day = currentDate;
242
+ month = currentMonth;
243
+ year = currentYear;
281
244
  }
282
- return match[1] + ':' + match[2];
283
- }
284
245
 
285
- export function checkSpecialBetweenDigits(str) {
286
- var regex = /^\d+[^0-9]\d+$/;
287
- return regex.test(str);
246
+ if (month === 2) {
247
+ if (isLeapYear(year) && isValidDayTwentyNight) {
248
+ day = currentDate;
249
+ month = currentMonth;
250
+ year = currentYear;
251
+ } else if (isValidDayTwentyEight) {
252
+ day = currentDate;
253
+ month = currentMonth;
254
+ year = currentYear;
255
+ }
256
+ }
257
+ return { day: day, month: month, year: year };
288
258
  }
289
259
 
290
- function getDatePart(str) {
260
+ export function getDatePart(str) {
291
261
  if (typeof str !== 'string') return '';
292
262
  var parts = str.trim().split(/\s+/);
293
263
  return parts[0];
294
264
  }
295
265
 
296
- export function normalizeDateInput(str, localeFormat, delimiter) {
297
- var day = void 0;
298
- var month = void 0;
299
- var year = void 0;
266
+ export function initializeStr(str, format) {
267
+ var inputStr = str;
268
+ var inputStrLength = inputStr.length;
300
269
  var time = currentTime;
301
- var parts = formatDateLocal(str, localeFormat, DATE_FORMATS);
302
- if (localeFormat === DATE_FORMATS.ISO) {
303
- var hasSpecial = hasSpecialChar(str);
304
- var numStr = str.replace(/[^0-9]/g, '');
305
- if (numStr.length === 7) {
306
- year = numStr.slice(0, 4);
307
- month = numStr.slice(4, 6).padStart(2, '0');
308
- day = numStr.slice(6, 7).padStart(2, '0');
309
- if (!isValidDay(day)) {
310
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
311
- }
312
- return year + '-' + month + '-' + day;
313
- }
270
+ var hasSpecial = hasSpecialChar(inputStr);
271
+ var formattedArray = tokenizeFormattedDate(inputStr, format, DATE_FORMATS);
272
+ var dateDelimater = delimate(format);
273
+ if (format === DATE_FORMATS.ISO) {
314
274
  if (hasSpecial) {
315
- year = fullValidYear(parts[0]);
316
- month = Number(parts[1]);
317
- day = Number(parts[2]);
318
- if (month >= 1 && month <= 12) {
319
- if (isValidDay(day)) {
320
- return year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
321
- }
322
- return year + '-' + String(month).padStart(2, '0') + '-01';
323
- }
324
- if ((month >= 13 || month < 1) && isNaN(day)) {
325
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
326
- }
327
- if ((month >= 13 || month < 1) && day) {
328
- return String(currentYear) + '-' + stringCurrentMonth + '-' + stringCurrentDate;
329
- }
330
- if (!month && !day) {
331
- return year + '-01-01';
332
- }
333
- }
334
- if (str.length >= 1 && str.length <= 8) {
335
- year = fullValidYear(str.slice(0, 4));
336
- month = str.slice(4, 6);
337
- day = Number(str.slice(6, 8));
338
- if (str.length === 5 && Number(month) < 1) {
339
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ';
340
- }
341
- if (str.length === 6 && Number(month) < 1) {
342
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate;
343
- }
344
- if (str.length === 7) {
345
- if (!isValidDay(day)) {
346
- return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate;
347
- }
348
- return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
349
- }
350
- if (str.length === 8) {
351
- if (!isValidDay(day)) {
352
- return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate; // eslint-disable-line max-len
353
- }
354
- return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
355
- }
356
- if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
357
- return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0');
358
- }
359
- return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01'); // eslint-disable-line max-len
360
- }
361
- return currentYear + '/' + stringCurrentMonth + '/' + stringCurrentDate;
362
- }
363
- if (localeFormat === DATE_FORMATS.ISOAndTime) {
364
- var unNormalDate = getDatePart(str);
365
- var unNormalDateParts = formatDateLocal(unNormalDate, localeFormat, DATE_FORMATS);
366
- var _hasSpecial = hasSpecialChar(unNormalDate);
367
- var _numStr = unNormalDate.replace(/[^0-9]/g, '');
368
- if (_numStr.length === 7) {
369
- year = _numStr.slice(0, 4);
370
- month = _numStr.slice(4, 6).padStart(2, '0');
371
- day = _numStr.slice(6, 7).padStart(2, '0');
372
- if (parts.length === 3) {
373
- time = validateTime(parts[1] + ':' + parts[2]);
374
- }
375
- if (parts.length === 4) {
376
- time = validateTime(parts[2] + ':' + parts[3]);
377
- }
378
- if (parts.length === 5) {
379
- time = validateTime(parts[3] + ':' + parts[4]);
380
- }
381
- if (!isValidDay(day)) {
382
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
383
- }
384
- return year + '-' + month + '-' + day + ' ' + time;
385
- }
386
- if (_hasSpecial) {
387
- if (unNormalDateParts.length < 3) {
388
- parts.splice(2, 0, '1');
389
- }
390
- year = fullValidYear(parts[0]);
391
- month = Number(parts[1]);
392
- day = Number(parts[2]);
393
- time = validateTime(parts[3] + ':' + parts[4]);
394
- if (month >= 1 && month <= 12) {
395
- if (isValidDay(day)) {
396
- return year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
397
- }
398
- return year + '-' + String(month).padStart(2, '0') + '-01 ' + time;
399
- }
400
- if ((month >= 13 || month < 1) && isNaN(day)) {
401
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
402
- }
403
- if ((month >= 13 || month < 1) && day) {
404
- return String(currentYear) + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
405
- }
406
- if (!month && !day) {
407
- return year + '-01-01 ' + time;
408
- }
275
+ var validateYear = validateCalendarYear(formattedArray[0]);
276
+
277
+ var _validateCalendarDayA = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', validateYear),
278
+ day = _validateCalendarDayA.day,
279
+ month = _validateCalendarDayA.month; // eslint-disable-line max-len
280
+
281
+
282
+ var _validateCalendarDayA2 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', validateYear),
283
+ year = _validateCalendarDayA2.year; // eslint-disable-line max-len
284
+
285
+
286
+ day = String(day).padStart(2, 0);
287
+ month = String(month).padStart(2, 0);
288
+ return '' + year + dateDelimater + month + dateDelimater + day;
289
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
290
+ var yearStr = inputStr.slice(0, 4);
291
+ var monthStr = inputStr.slice(4, 6) || '01';
292
+ var dateStr = inputStr.slice(6, 8) || '01';
293
+ var _validateYear = validateCalendarYear(yearStr);
294
+
295
+ var _validateCalendarDayA3 = validateCalendarDayAndMonth(dateStr, monthStr, _validateYear),
296
+ _day = _validateCalendarDayA3.day,
297
+ _month = _validateCalendarDayA3.month;
298
+
299
+ var _validateCalendarDayA4 = validateCalendarDayAndMonth(dateStr, monthStr, _validateYear),
300
+ _year = _validateCalendarDayA4.year;
301
+
302
+ _day = String(_day).padStart(2, 0);
303
+ _month = String(_month).padStart(2, 0);
304
+ return '' + _year + dateDelimater + _month + dateDelimater + _day;
305
+ } else if (inputStrLength > 8) {
306
+ return '' + currentYear + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0); // eslint-disable-line max-len
409
307
  }
410
- if (unNormalDate.length >= 1 && unNormalDate.length <= 8) {
411
- year = fullValidYear(unNormalDate.slice(0, 4));
412
- month = unNormalDate.slice(4, 6);
413
- day = Number(unNormalDate.slice(6, 8));
414
- var timeParts = formatDateLocal(str, localeFormat, DATE_FORMATS);
308
+ } else if (format === DATE_FORMATS.ISOAndTime) {
309
+ var datePart = getDatePart(inputStr);
310
+ var formattedDateArray = tokenizeFormattedDate(datePart, format);
311
+ var isDateSpecial = hasSpecialChar(datePart);
312
+ if (isDateSpecial) {
313
+ if (formattedDateArray.length < 3) {
314
+ formattedArray.splice(2, 0, '01');
315
+ }
316
+ var _validateYear2 = validateCalendarYear(formattedArray[0]);
317
+
318
+ var _validateCalendarDayA5 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear2),
319
+ _day2 = _validateCalendarDayA5.day,
320
+ _month2 = _validateCalendarDayA5.month; // eslint-disable-line max-len
321
+
322
+
323
+ var _validateCalendarDayA6 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear2),
324
+ _year2 = _validateCalendarDayA6.year; // eslint-disable-line max-len
325
+
326
+
327
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
328
+ _day2 = String(_day2).padStart(2, 0);
329
+ _month2 = String(_month2).padStart(2, 0);
330
+ return '' + _year2 + dateDelimater + _month2 + dateDelimater + _day2 + ' ' + time;
331
+ } else if (datePart.length >= 1 && datePart.length <= 8) {
332
+ var _yearStr = datePart.slice(0, 4);
333
+ var _monthStr = datePart.slice(4, 6) || '01';
334
+ var _dateStr = datePart.slice(6, 8) || '01';
335
+ var timeParts = tokenizeFormattedDate(inputStr, format);
415
336
  time = validateTime(timeParts[1] + ':' + timeParts[2]);
416
- if (unNormalDate.length === 5 && Number(month) < 1) {
417
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
418
- }
419
- if (unNormalDate.length === 6 && Number(month) < 1) {
420
- return year + '-' + stringCurrentMonth + '-' + stringCurrentDate + ' ' + time;
421
- }
422
- if (unNormalDate.length === 7) {
423
- if (!isValidDay(day)) {
424
- return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
425
- }
426
- return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
427
- }
428
- if (unNormalDate.length === 8) {
429
- if (!isValidDay(day)) {
430
- return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
431
- }
432
- return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
433
- }
434
- if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
435
- return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time;
436
- }
437
- return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01') + ' ' + time; // eslint-disable-line max-len
438
- }
439
- return currentYear + '/' + stringCurrentMonth + '/' + stringCurrentDate + ' ' + time;
440
- }
441
- if (localeFormat === DATE_FORMATS.US) {
442
- var _hasSpecial2 = hasSpecialChar(str);
443
- if (_hasSpecial2) {
444
- month = Number(parts[0]);
445
- day = Number(parts[1]);
446
- year = fullValidYear(parts[2]);
447
- if (month >= 1 && month <= 12 && isValidDay(day)) {
448
- return month + '/' + day + '/' + year;
449
- }
450
- return currentMonth + '/' + currentDate + '/' + currentYear;
451
- }
452
- if (str.length >= 1 && str.length <= 8) {
453
- month = Number(str.slice(0, 2));
454
- day = Number(str.slice(2, 4));
455
- year = fullValidYear(str.slice(4, str.length));
456
- if (month >= 1 && month <= 12) {
457
- if (isValidDay(day)) {
458
- return month + '/' + day + '/' + year;
459
- }
460
- if (!day) {
461
- return month + '/1/' + year;
462
- }
463
- return currentMonth + '/' + currentDate + '/' + currentYear;
464
- }
465
- }
466
- return currentMonth + '/' + currentDate + '/' + currentYear;
467
- }
468
- if (localeFormat === DATE_FORMATS.USAndTime) {
469
- var _unNormalDate = getDatePart(str);
470
- var _unNormalDateParts = formatDateLocal(_unNormalDate, localeFormat, DATE_FORMATS);
471
- var _hasSpecial3 = hasSpecialChar(_unNormalDate);
472
- if (_hasSpecial3) {
473
- if (_unNormalDateParts.length < 3) {
474
- parts.splice(2, 0, String(currentYear));
475
- }
476
- month = Number(parts[0]);
477
- day = Number(parts[1]);
478
- year = fullValidYear(parts[2]);
479
- time = validateTime(parts[3] + ':' + parts[4]);
480
- if (month >= 1 && month <= 12 && isValidDay(day)) {
481
- return month + '/' + day + '/' + year + ' ' + time;
482
- }
483
- return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
484
- }
485
- if (_unNormalDate.length >= 1 && _unNormalDate.length <= 8) {
486
- month = Number(_unNormalDate.slice(0, 2));
487
- day = Number(_unNormalDate.slice(2, 4));
488
- year = fullValidYear(_unNormalDate.slice(4, _unNormalDate.length));
489
- var _timeParts = formatDateLocal(str, localeFormat, DATE_FORMATS);
490
- time = validateTime(_timeParts[1] + ':' + _timeParts[2]);
491
- if (month >= 1 && month <= 12) {
492
- if (isValidDay(day)) {
493
- return month + '/' + day + '/' + year + ' ' + time;
494
- }
495
- if (!day) {
496
- return month + '/1/' + year + ' ' + time;
497
- }
498
- return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
499
- }
337
+ var _validateYear3 = validateCalendarYear(_yearStr);
338
+
339
+ var _validateCalendarDayA7 = validateCalendarDayAndMonth(_dateStr, _monthStr, _validateYear3),
340
+ _day3 = _validateCalendarDayA7.day,
341
+ _month3 = _validateCalendarDayA7.month;
342
+
343
+ var _validateCalendarDayA8 = validateCalendarDayAndMonth(_dateStr, _monthStr, _validateYear3),
344
+ _year3 = _validateCalendarDayA8.year;
345
+
346
+ _day3 = String(_day3).padStart(2, 0);
347
+ _month3 = String(_month3).padStart(2, 0);
348
+ return '' + _year3 + dateDelimater + _month3 + dateDelimater + _day3 + ' ' + time;
349
+ } else if (datePart.length > 8) {
350
+ return '' + currentYear + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + ' ' + currentTime; // eslint-disable-line max-len
500
351
  }
501
- return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
502
- }
503
- if (localeFormat === DATE_FORMATS.European || localeFormat === DATE_FORMATS.Germany_Russia_etc) {
504
- var _hasSpecial4 = hasSpecialChar(str);
505
- if (_hasSpecial4) {
506
- day = parts[0];
507
- month = parts[1];
508
- year = fullValidYear(parts[2]);
509
- if (isValidDay(day) && Number(month) >= 1 && Number(month) <= 12) {
510
- return '' + Number(day) + delimiter + Number(month) + delimiter + year;
511
- }
512
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
352
+ } else if (format === DATE_FORMATS.US) {
353
+ if (hasSpecial) {
354
+ var _validateYear4 = validateCalendarYear(formattedArray[2]);
355
+
356
+ var _validateCalendarDayA9 = validateCalendarDayAndMonth(formattedArray[1] || '1', formattedArray[0], _validateYear4),
357
+ _day4 = _validateCalendarDayA9.day,
358
+ _month4 = _validateCalendarDayA9.month,
359
+ _year4 = _validateCalendarDayA9.year; // eslint-disable-line max-len
360
+
361
+
362
+ return '' + _month4 + dateDelimater + _day4 + dateDelimater + _year4;
363
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
364
+ var _monthStr2 = inputStr.slice(0, 2);
365
+ var _dateStr2 = inputStr.slice(2, 4) || '1';
366
+ var _yearStr2 = inputStr.slice(4, inputStr.length);
367
+ var _validateYear5 = validateCalendarYear(_yearStr2);
368
+
369
+ var _validateCalendarDayA10 = validateCalendarDayAndMonth(_dateStr2, _monthStr2, _validateYear5),
370
+ _day5 = _validateCalendarDayA10.day,
371
+ _month5 = _validateCalendarDayA10.month,
372
+ _year5 = _validateCalendarDayA10.year;
373
+
374
+ return '' + _month5 + dateDelimater + _day5 + dateDelimater + _year5; // eslint-disable-line max-len
375
+ } else if (inputStrLength > 8) {
376
+ return '' + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + dateDelimater + currentYear; // eslint-disable-line max-len
513
377
  }
514
- if (str.length >= 1 && str.length <= 8) {
515
- day = Number(str.slice(0, 2));
516
- var monthStr = str.slice(2, 4);
517
- month = isValidMonth(monthStr);
518
- var yearStr = str.slice(4, str.length);
519
- year = fullValidYear(yearStr);
520
-
521
- if (isValidDay(day)) {
522
- if (Number(monthStr) < 1 && Number(monthStr) > 12) {
523
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
524
- }
525
- return '' + Number(day) + delimiter + Number(month) + delimiter + year;
526
- }
378
+ } else if (format === DATE_FORMATS.USAndTime) {
379
+ var _datePart = getDatePart(inputStr);
380
+ var _formattedDateArray = tokenizeFormattedDate(_datePart, format);
381
+ var _isDateSpecial = hasSpecialChar(_datePart);
382
+ if (_isDateSpecial) {
383
+ if (_formattedDateArray.length < 3) {
384
+ formattedArray.splice(2, 0, String(currentYear));
385
+ }
386
+ var _validateYear6 = validateCalendarYear(formattedArray[2]);
387
+
388
+ var _validateCalendarDayA11 = validateCalendarDayAndMonth(formattedArray[1] || '1', formattedArray[0], _validateYear6),
389
+ _day6 = _validateCalendarDayA11.day,
390
+ _month6 = _validateCalendarDayA11.month,
391
+ _year6 = _validateCalendarDayA11.year; // eslint-disable-line max-len
392
+
393
+
394
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
395
+ return '' + _month6 + dateDelimater + _day6 + dateDelimater + _year6 + ' ' + time;
396
+ } else if (_datePart.length >= 1 && _datePart.length <= 8) {
397
+ var _monthStr3 = _datePart.slice(0, 2);
398
+ var _dateStr3 = _datePart.slice(2, 4) || '1';
399
+ var _yearStr3 = _datePart.slice(4, _datePart.length);
400
+ var _validateYear7 = validateCalendarYear(_yearStr3); // eslint-disable-line max-len
401
+
402
+ var _validateCalendarDayA12 = validateCalendarDayAndMonth(_dateStr3, _monthStr3, _validateYear7),
403
+ _day7 = _validateCalendarDayA12.day,
404
+ _month7 = _validateCalendarDayA12.month,
405
+ _year7 = _validateCalendarDayA12.year;
406
+
407
+ var _timeParts = tokenizeFormattedDate(inputStr, format);
408
+ time = validateTime(_timeParts[1] + ':' + _timeParts[2]) || currentTime;
409
+ return '' + _month7 + dateDelimater + _day7 + dateDelimater + _year7 + ' ' + time;
410
+ } else if (_datePart.length > 8) {
411
+ return '' + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + dateDelimater + currentYear + ' ' + currentTime; // eslint-disable-line max-len
527
412
  }
528
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear;
529
- }
530
- if (localeFormat === DATE_FORMATS.EuropeanAndTime || localeFormat === DATE_FORMATS.Germany_Russia_etcAndTime) {
531
- var _unNormalDate2 = getDatePart(str);
532
- var _unNormalDateParts2 = formatDateLocal(_unNormalDate2, localeFormat, DATE_FORMATS);
533
- var _hasSpecial5 = hasSpecialChar(_unNormalDate2);
534
- if (_hasSpecial5) {
535
- if (_unNormalDateParts2.length < 3) {
536
- parts.splice(2, 0, String(currentYear));
537
- }
538
- day = parts[0];
539
- month = parts[1];
540
- year = fullValidYear(parts[2]);
541
- time = validateTime(parts[3] + ':' + parts[4]);
542
- if (isValidDay(day) && Number(month) >= 1 && Number(month) <= 12) {
543
- return '' + Number(day) + delimiter + Number(month) + delimiter + year + ' ' + time;
544
- }
545
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
413
+ } else if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
414
+ if (hasSpecial) {
415
+ var _validateYear8 = validateCalendarYear(formattedArray[2]);
416
+
417
+ var _validateCalendarDayA13 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear8),
418
+ _day8 = _validateCalendarDayA13.day,
419
+ _month8 = _validateCalendarDayA13.month; // eslint-disable-line max-len
420
+
421
+
422
+ var _validateCalendarDayA14 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear8),
423
+ _year8 = _validateCalendarDayA14.year; // eslint-disable-line max-len
424
+
425
+
426
+ _day8 = String(_day8).padStart(2, 0);
427
+ _month8 = String(_month8).padStart(2, 0);
428
+ return '' + _day8 + dateDelimater + _month8 + dateDelimater + _year8;
429
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
430
+ var _dateStr4 = inputStr.slice(0, 2);
431
+ var _monthStr4 = inputStr.slice(2, 4);
432
+ var _yearStr4 = inputStr.slice(4, inputStr.length);
433
+ var _validateYear9 = validateCalendarYear(_yearStr4);
434
+
435
+ var _validateCalendarDayA15 = validateCalendarDayAndMonth(_dateStr4, _monthStr4, _validateYear9),
436
+ _year9 = _validateCalendarDayA15.year; // eslint-disable-line max-len
437
+
438
+
439
+ var _validateCalendarDayA16 = validateCalendarDayAndMonth(_dateStr4, _monthStr4, _validateYear9),
440
+ _day9 = _validateCalendarDayA16.day,
441
+ _month9 = _validateCalendarDayA16.month; // eslint-disable-line max-len
442
+
443
+
444
+ _day9 = String(_day9).padStart(2, 0);
445
+ _month9 = String(_month9).padStart(2, 0);
446
+ return '' + _day9 + dateDelimater + _month9 + dateDelimater + _year9;
447
+ } else if (inputStrLength > 8) {
448
+ return '' + String(currentDate).padStart(2, 0) + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + currentYear; // eslint-disable-line max-len
546
449
  }
547
- if (_unNormalDate2.length >= 1 && _unNormalDate2.length <= 8) {
548
- day = Number(_unNormalDate2.slice(0, 2));
549
- var _monthStr = _unNormalDate2.slice(2, 4);
550
- month = isValidMonth(_monthStr);
551
- var _yearStr = _unNormalDate2.slice(4, _unNormalDate2.length);
552
- year = fullValidYear(_yearStr);
553
- var _timeParts2 = formatDateLocal(str, localeFormat, DATE_FORMATS);
450
+ } else if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
451
+ var _datePart2 = getDatePart(inputStr);
452
+ var _formattedDateArray2 = tokenizeFormattedDate(_datePart2, format);
453
+ var _isDateSpecial2 = hasSpecialChar(_datePart2);
454
+ if (_isDateSpecial2) {
455
+ if (_formattedDateArray2.length < 3) {
456
+ formattedArray.splice(2, 0, String(currentYear));
457
+ }
458
+ var _validateYear10 = validateCalendarYear(formattedArray[2]);
459
+
460
+ var _validateCalendarDayA17 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear10),
461
+ _day10 = _validateCalendarDayA17.day,
462
+ _month10 = _validateCalendarDayA17.month; // eslint-disable-line max-len
463
+
464
+
465
+ var _validateCalendarDayA18 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear10),
466
+ _year10 = _validateCalendarDayA18.year; // eslint-disable-line max-len
467
+
468
+
469
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
470
+ _day10 = String(_day10).padStart(2, 0);
471
+ _month10 = String(_month10).padStart(2, 0);
472
+ return '' + _day10 + dateDelimater + _month10 + dateDelimater + _year10 + ' ' + time;
473
+ } else if (_datePart2.length >= 1 && _datePart2.length <= 8) {
474
+ var _dateStr5 = _datePart2.slice(0, 2);
475
+ var _monthStr5 = _datePart2.slice(2, 4);
476
+ var _yearStr5 = _datePart2.slice(4, _datePart2.length);
477
+ var _timeParts2 = tokenizeFormattedDate(inputStr, format);
554
478
  time = validateTime(_timeParts2[1] + ':' + _timeParts2[2]);
555
- if (isValidDay(day)) {
556
- if (Number(_monthStr) < 1 && Number(_monthStr) > 12) {
557
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
558
- }
559
- return '' + Number(day) + delimiter + Number(month) + delimiter + year + ' ' + time;
560
- }
479
+ var _validateYear11 = validateCalendarYear(_yearStr5);
480
+
481
+ var _validateCalendarDayA19 = validateCalendarDayAndMonth(_dateStr5, _monthStr5, _validateYear11),
482
+ _day11 = _validateCalendarDayA19.day,
483
+ _month11 = _validateCalendarDayA19.month;
484
+
485
+ var _validateCalendarDayA20 = validateCalendarDayAndMonth(_dateStr5, _monthStr5, _validateYear11),
486
+ _year11 = _validateCalendarDayA20.year;
487
+
488
+ _day11 = String(_day11).padStart(2, 0);
489
+ _month11 = String(_month11).padStart(2, 0);
490
+ return '' + _day11 + dateDelimater + _month11 + dateDelimater + _year11 + ' ' + time;
491
+ } else if (_datePart2.length > 8) {
492
+ return '' + String(currentDate).padStart(2, 0) + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + currentYear + ' ' + currentTime; // eslint-disable-line max-len
561
493
  }
562
- return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
563
494
  }
564
495
  }