UNPKG

dev-classes

Version:
119 lines (118 loc) 8.19 kB
var o = Object.defineProperty; var D = (e, t, r) => t in e ? o(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r; var a = (e, t, r) => (D(e, typeof t != "symbol" ? t + "" : t, r), r); import { itemsMonths, itemsWeek } from "./DateProcessing.types.js"; const _DateProcessing = class _DateProcessing { }; a(_DateProcessing, "getActiveColorClassInDiffDate", (e, t, r) => { let s = ""; return e && t && _DateProcessing.hasDateLessPeriod(e, t) && (s = r), s; }), a(_DateProcessing, "getClassByDifferenceDay", (e, t) => { let r = "", s = t.sort((n, c) => n.diffDay - c.diffDay); for (let n = 0; n < s.length; n++) { let c = s[n]; const i = _DateProcessing.getDifferenceDates(e, _DateProcessing.getCurrentDate()); if (c.diffDay < i) { r = c.className; break; } } return r; }), a(_DateProcessing, "getMinMaxDate", (e, t, r) => { let s = { minDate: "", maxDate: "", minMaxMonth: "" }; return /^\d{2}\.\d{2}\.\d{4}$/.test(e) || /^\d{2}\.\d{2}$/.test(e) ? (!t && !r ? (s.minDate = e, s.maxDate = e) : t ? r ? t && r && (s.minDate = _DateProcessing.hasDateLessPeriod(e, t, { dateMinMax: "<=" }) ? e : t, s.maxDate = _DateProcessing.hasDateLessPeriod(e, r, { dateMinMax: ">=" }) ? e : r) : (s.minDate = _DateProcessing.hasDateLessPeriod(e, t, { dateMinMax: "<=" }) ? e : t, s.maxDate = e) : (s.minDate = e, s.maxDate = _DateProcessing.hasDateLessPeriod(e, r, { dateMinMax: ">=" }) ? e : r), { ...s, ..._DateProcessing.minMaxMountStr(s) }) : (console.error('функция getMinMaxDate >> формат дат не соответствует формату: "дд.мм.гггг"'), { minDate: t, maxDate: r, ..._DateProcessing.minMaxMountStr(s) }); }), a(_DateProcessing, "splitDateFromTime", (e) => e.split(e.includes("T") ? "T" : " ")), a(_DateProcessing, "getCorrectDateAndTime", (e) => { let t = e.match(/\D/), r, s; t && t[0] === ":" ? [r, s] = _DateProcessing.splitDateFromTime(e) : [s, r] = _DateProcessing.splitDateFromTime(e), s = _DateProcessing.correctionDateAndRemoveYear(s, { isYear: !0 }); let n = r.split(":"); return n.length === 3 && (n.length = 2, r = n.join(":")), [s, r]; }), a(_DateProcessing, "reverseDate", (e) => e.split("-").reverse().join("-")), a(_DateProcessing, "correctionDataISO8601", (e) => { let t = ""; if (_DateProcessing.isDateDMY(e)) { let [r, s] = _DateProcessing.splitDateFromTime(e); t = r.split(".").reverse().join("-"); } else if (_DateProcessing.isDateISO8601(e)) t = e; else throw new Error(`функция correctionDataISO8601 >> date не корректна: ${e}. Требуется один из форматов: дд.мм.гггг | дд.мм.гггг мм:чч | гггг-мм-дд `); return t; }), a(_DateProcessing, "isDateDMY", (e) => /^\d{2}\.\d{2}\.\d{4}$/.test(e) || /^\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2}$/.test(e)), a(_DateProcessing, "isDateISO8601", (e) => /^\d{4}-\d{2}-\d{2}$/.test(e) || /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(e)), a(_DateProcessing, "correctionDateAndRemoveYear", (e, t) => { const r = !!(t != null && t.isYear); e = _DateProcessing.correctionDataISO8601(e); let s = e.split("-").reverse(), n = s; return r || (n = s.slice(0, 2)), n.join("."); }), a(_DateProcessing, "correctionDateWithOutCurrentYear", (e, t) => { const r = !!(t != null && t.shortYear); e = _DateProcessing.correctionDataISO8601(e); const s = +_DateProcessing.getChunkFromDate(e, "year") == +_DateProcessing.getChunkFromDate(_DateProcessing.getCurrentDate(), "year"); return s ? _DateProcessing.correctionDateAndRemoveYear(e, { isYear: !s }) : r ? _DateProcessing.correctionShortYear(e) : _DateProcessing.correctionDateAndRemoveYear(e, { isYear: !0 }); }), a(_DateProcessing, "correctionShortYear", (e) => { const t = _DateProcessing.splitDateFromTime(e)[0].split("-").reverse(), r = t.splice(-1); return `${t.join(".")}.${r[0].slice(2)}`; }), a(_DateProcessing, "correctionDate", (e, t) => (e = _DateProcessing.correctionDataISO8601(e), t != null && t.isRemoveYear ? _DateProcessing.correctionDateAndRemoveYear(e) : t != null && t.shortYear ? t != null && t.withOutCurrentYear ? _DateProcessing.correctionDateWithOutCurrentYear(e, { shortYear: !0 }) : _DateProcessing.correctionShortYear(e) : t != null && t.withOutCurrentYear ? _DateProcessing.correctionDateWithOutCurrentYear(e) : _DateProcessing.correctionDateAndRemoveYear(e, { isYear: !0 }))), a(_DateProcessing, "hasDateLessPeriod", (date, period, option) => { const dateMinMax = option != null && option.dateMinMax ? option == null ? void 0 : option.dateMinMax : "<="; date = _DateProcessing.correctionDataISO8601(date), period = _DateProcessing.correctionDataISO8601(period); const str = `${Math.floor(Number(new Date(date)))} ${dateMinMax} ${Math.floor(Number(new Date(period)))}`, result = eval(str); return result; }), a(_DateProcessing, "hasDateLessPeriods", (e, t, r, s) => ({ one: _DateProcessing.hasDateLessPeriod(e, r, s), two: _DateProcessing.hasDateLessPeriod(t, r, s) })), a(_DateProcessing, "getDifferenceDates", (e, t) => { const r = new Date(_DateProcessing.correctionDataISO8601(e)), s = new Date(_DateProcessing.correctionDataISO8601(t)), n = 1e3 * 60 * 60 * 24, c = s.getTime() - r.getTime(); return Math.round(c / n); }), a(_DateProcessing, "hasDateLessInNumber", (e, t, r) => { const s = _DateProcessing.getDifferenceDates(e, t); return r <= s; }), a(_DateProcessing, "correctionCurrentYear", (e, t) => { const r = /* @__PURE__ */ new Date(), s = t || r.getFullYear(); return e.map((n) => _DateProcessing.hasDateLessPeriod(`${t}-${n}`, r.toJSON().split("T")[0], { dateMinMax: ">" }) ? `${s - 1}-${n}` : `${t}-${n}`); }), a(_DateProcessing, "getChunkFromDate", (e, t, r) => { e = _DateProcessing.correctionDataISO8601(e); const s = e.split("-"); switch (t) { case "day": return r != null && r.isBeforeZero ? s[2] : String(parseInt(s[2])); case "month": return r != null && r.isBeforeZero ? s[1] : String(parseInt(s[1])); case "year": return s[0]; } }), a(_DateProcessing, "getNameMonthByNumber", (e) => e > 0 && e < 13 ? itemsMonths[Number(e) - 1] : itemsMonths[0]), a(_DateProcessing, "minMaxMountStr", (e) => ({ minMaxMonth: _DateProcessing.getNameMonthByNumber( Number(_DateProcessing.getChunkFromDate(e.minDate, "month", { isBeforeZero: !1 })) ) + " - " + _DateProcessing.getNameMonthByNumber( Number(_DateProcessing.getChunkFromDate(e.maxDate, "month", { isBeforeZero: !1 })) ) })), a(_DateProcessing, "getDatesToCurrentDate", (e) => e.filter((t) => _DateProcessing.hasDateLessPeriod(t, _DateProcessing.getCurrentDate()))), a(_DateProcessing, "getDayOfWeek", (e) => { let t = _DateProcessing.correctionDataISO8601(e); const r = new Date(t).getDay(); return isNaN(r) ? null : itemsWeek[r]; }), a(_DateProcessing, "cropSecond", (e) => e.replace(/:\w+$/, "")), a(_DateProcessing, "getRenderDate", (e, t) => { const r = !!(t != null && t.withOutCurrentYear), s = _DateProcessing.getCurrentDate(); switch (_DateProcessing.getDifferenceDates(e, s)) { case 0: return "Сегодня"; case 1: return "Вчера"; case 2: return "Позавчера"; default: return _DateProcessing.correctionDate(e, { shortYear: !0, withOutCurrentYear: r }); } }), a(_DateProcessing, "getCurrentDate", () => { const e = /* @__PURE__ */ new Date(), t = _DateProcessing.getCurrentYear(), r = e.toJSON().split("T")[0].slice(5); return `${t}-${r}`; }), a(_DateProcessing, "getCurrentYear", () => (/* @__PURE__ */ new Date()).getFullYear()), a(_DateProcessing, "getDaysInMonth", (e, t) => new Date(t, e, 0).getDate()), /** * * @param date example: '2022-01-01' * @param config example: {day: 1, month: 1, year: 1} * @returns example: '2023-02-02' */ a(_DateProcessing, "getDateDeviation", (e, t) => { const r = _DateProcessing.correctionDataISO8601(e), s = new Date(r), { day: n, month: c, year: i } = t; return i && s.setFullYear(s.getFullYear() + i), c && s.setMonth(s.getMonth() + c), n && s.setDate(s.getDate() + n), s.toISOString().slice(0, 10); }); let DateProcessing = _DateProcessing; export { DateProcessing };