mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-03 12:02:33 +02:00

Reformatted code across multiple modules, standardizing string quotes, indentation, and spacing. Improved readability by restructuring blocks and aligning object properties consistently. These changes ensure better code maintainability and follow standard conventions. Signed-off-by: Toby Liddicoat <toby@codesure.co.uk>
115 lines
4.2 KiB
JavaScript
115 lines
4.2 KiB
JavaScript
/**
|
|
* Copy from node_modules/dayjs/plugin/timezone.js
|
|
* Try to fix https://github.com/louislam/uptime-kuma/issues/2318
|
|
* Source: https://github.com/iamkun/dayjs/tree/dev/src/plugin/utc
|
|
* License: MIT
|
|
*/
|
|
!function (t, e) {
|
|
// eslint-disable-next-line no-undef
|
|
typeof exports == "object" && typeof module != "undefined" ? module.exports = e() : typeof define == "function" && define.amd ? define(e) : (t = typeof globalThis != "undefined" ? globalThis : t || self).dayjs_plugin_timezone = e();
|
|
}(this, (function () {
|
|
"use strict";
|
|
let t = {
|
|
year: 0,
|
|
month: 1,
|
|
day: 2,
|
|
hour: 3,
|
|
minute: 4,
|
|
second: 5,
|
|
};
|
|
let e = {};
|
|
return function (n, i, o) {
|
|
let r;
|
|
let a = function (t, n, i) {
|
|
void 0 === i && (i = {});
|
|
let o = new Date(t);
|
|
let r = function (t, n) {
|
|
void 0 === n && (n = {});
|
|
let i = n.timeZoneName || "short";
|
|
let o = t + "|" + i;
|
|
let r = e[o];
|
|
return r || (r = new Intl.DateTimeFormat("en-US", {
|
|
hour12: !1,
|
|
timeZone: t,
|
|
year: "numeric",
|
|
month: "2-digit",
|
|
day: "2-digit",
|
|
hour: "2-digit",
|
|
minute: "2-digit",
|
|
second: "2-digit",
|
|
timeZoneName: i,
|
|
}), e[o] = r), r;
|
|
}(n, i);
|
|
return r.formatToParts(o);
|
|
};
|
|
let u = function (e, n) {
|
|
let i = a(e, n);
|
|
let r = [];
|
|
let u = 0;
|
|
for (; u < i.length; u += 1) {
|
|
let f = i[u];
|
|
let s = f.type;
|
|
let m = f.value;
|
|
let c = t[s];
|
|
c >= 0 && (r[c] = parseInt(m, 10));
|
|
}
|
|
let d = r[3];
|
|
let l = d === 24 ? 0 : d;
|
|
let v = r[0] + "-" + r[1] + "-" + r[2] + " " + l + ":" + r[4] + ":" + r[5] + ":000";
|
|
let h = +e;
|
|
return (o.utc(v).valueOf() - (h -= h % 1e3)) / 6e4;
|
|
};
|
|
let f = i.prototype;
|
|
f.tz = function (t, e) {
|
|
void 0 === t && (t = r);
|
|
let n = this.utcOffset();
|
|
let i = this.toDate();
|
|
let a = i.toLocaleString("en-US", { timeZone: t }).replace("\u202f", " ");
|
|
let u = Math.round((i - new Date(a)) / 1e3 / 60);
|
|
let f = o(a).$set("millisecond", this.$ms).utcOffset(15 * -Math.round(i.getTimezoneOffset() / 15) - u, !0);
|
|
if (e) {
|
|
let s = f.utcOffset();
|
|
f = f.add(n - s, "minute");
|
|
}
|
|
return f.$x.$timezone = t, f;
|
|
}, f.offsetName = function (t) {
|
|
let e = this.$x.$timezone || o.tz.guess();
|
|
let n = a(this.valueOf(), e, { timeZoneName: t }).find((function (t) {
|
|
return t.type.toLowerCase() === "timezonename";
|
|
}));
|
|
return n && n.value;
|
|
};
|
|
let s = f.startOf;
|
|
f.startOf = function (t, e) {
|
|
if (!this.$x || !this.$x.$timezone) {
|
|
return s.call(this, t, e);
|
|
}
|
|
let n = o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));
|
|
return s.call(n, t, e).tz(this.$x.$timezone, !0);
|
|
}, o.tz = function (t, e, n) {
|
|
let i = n && e;
|
|
let a = n || e || r;
|
|
let f = u(+o(), a);
|
|
if (typeof t != "string") {
|
|
return o(t).tz(a);
|
|
}
|
|
let s = function (t, e, n) {
|
|
let i = t - 60 * e * 1e3;
|
|
let o = u(i, n);
|
|
if (e === o) {
|
|
return [ i, e ];
|
|
}
|
|
let r = u(i -= 60 * (o - e) * 1e3, n);
|
|
return o === r ? [ i, o ] : [ t - 60 * Math.min(o, r) * 1e3, Math.max(o, r) ];
|
|
}(o.utc(t, i).valueOf(), f, a);
|
|
let m = s[0];
|
|
let c = s[1];
|
|
let d = o(m).utcOffset(c);
|
|
return d.$x.$timezone = a, d;
|
|
}, o.tz.guess = function () {
|
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
}, o.tz.setDefault = function (t) {
|
|
r = t;
|
|
};
|
|
};
|
|
}));
|