dev-classes
Version:
<h3 align="center">SocketApi</h3>
119 lines (118 loc) • 8.19 kB
JavaScript
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
};