Atom eve seo
This commit is contained in:
12937
.output/server/_libs/@ai-sdk/gateway+[...].mjs
Normal file
12937
.output/server/_libs/@ai-sdk/gateway+[...].mjs
Normal file
File diff suppressed because it is too large
Load Diff
7834
.output/server/_libs/ai.mjs
Normal file
7834
.output/server/_libs/ai.mjs
Normal file
File diff suppressed because it is too large
Load Diff
743
.output/server/_libs/croner.mjs
Normal file
743
.output/server/_libs/croner.mjs
Normal file
@@ -0,0 +1,743 @@
|
||||
import { fileURLToPath as __eveFileURLToPath } from "node:url";
|
||||
import { dirname as __eveDirname } from "node:path";
|
||||
__eveDirname(__eveFileURLToPath(import.meta.url));
|
||||
//#region node_modules/nitro/dist/node_modules/croner/dist/croner.js
|
||||
function T(s) {
|
||||
return Date.UTC(s.y, s.m - 1, s.d, s.h, s.i, s.s);
|
||||
}
|
||||
function D(s, e) {
|
||||
return s.y === e.y && s.m === e.m && s.d === e.d && s.h === e.h && s.i === e.i && s.s === e.s;
|
||||
}
|
||||
function A(s, e) {
|
||||
let t = new Date(Date.parse(s));
|
||||
if (isNaN(t)) throw new Error("Invalid ISO8601 passed to timezone parser.");
|
||||
let r = s.substring(9);
|
||||
return r.includes("Z") || r.includes("+") || r.includes("-") ? b(t.getUTCFullYear(), t.getUTCMonth() + 1, t.getUTCDate(), t.getUTCHours(), t.getUTCMinutes(), t.getUTCSeconds(), "Etc/UTC") : b(t.getFullYear(), t.getMonth() + 1, t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), e);
|
||||
}
|
||||
function v(s, e, t) {
|
||||
return k(A(s, e), t);
|
||||
}
|
||||
function k(s, e) {
|
||||
let t = new Date(T(s)), r = g(t, s.tz), a = T(s) - T(r), o = new Date(t.getTime() + a), h = g(o, s.tz);
|
||||
if (D(h, s)) {
|
||||
let u = /* @__PURE__ */ new Date(o.getTime() - 36e5);
|
||||
return D(g(u, s.tz), s) ? u : o;
|
||||
}
|
||||
let l = new Date(o.getTime() + T(s) - T(h));
|
||||
if (D(g(l, s.tz), s)) return l;
|
||||
if (e) throw new Error("Invalid date passed to fromTZ()");
|
||||
return o.getTime() > l.getTime() ? o : l;
|
||||
}
|
||||
function g(s, e) {
|
||||
let t, r;
|
||||
try {
|
||||
t = new Intl.DateTimeFormat("en-US", {
|
||||
timeZone: e,
|
||||
year: "numeric",
|
||||
month: "numeric",
|
||||
day: "numeric",
|
||||
hour: "numeric",
|
||||
minute: "numeric",
|
||||
second: "numeric",
|
||||
hour12: !1
|
||||
}), r = t.formatToParts(s);
|
||||
} catch (i) {
|
||||
let a = i instanceof Error ? i.message : String(i);
|
||||
throw new RangeError(`toTZ: Invalid timezone '${e}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${a}`);
|
||||
}
|
||||
let n = {
|
||||
year: 0,
|
||||
month: 0,
|
||||
day: 0,
|
||||
hour: 0,
|
||||
minute: 0,
|
||||
second: 0
|
||||
};
|
||||
for (let i of r) (i.type === "year" || i.type === "month" || i.type === "day" || i.type === "hour" || i.type === "minute" || i.type === "second") && (n[i.type] = parseInt(i.value, 10));
|
||||
if (isNaN(n.year) || isNaN(n.month) || isNaN(n.day) || isNaN(n.hour) || isNaN(n.minute) || isNaN(n.second)) throw new Error(`toTZ: Failed to parse all date components from timezone '${e}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(n)}`);
|
||||
return n.hour === 24 && (n.hour = 0), {
|
||||
y: n.year,
|
||||
m: n.month,
|
||||
d: n.day,
|
||||
h: n.hour,
|
||||
i: n.minute,
|
||||
s: n.second,
|
||||
tz: e
|
||||
};
|
||||
}
|
||||
function b(s, e, t, r, n, i, a) {
|
||||
return {
|
||||
y: s,
|
||||
m: e,
|
||||
d: t,
|
||||
h: r,
|
||||
i: n,
|
||||
s: i,
|
||||
tz: a
|
||||
};
|
||||
}
|
||||
var O = [
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
8,
|
||||
16
|
||||
];
|
||||
var C = class {
|
||||
pattern;
|
||||
timezone;
|
||||
mode;
|
||||
alternativeWeekdays;
|
||||
sloppyRanges;
|
||||
second;
|
||||
minute;
|
||||
hour;
|
||||
day;
|
||||
month;
|
||||
dayOfWeek;
|
||||
year;
|
||||
lastDayOfMonth;
|
||||
lastWeekday;
|
||||
nearestWeekdays;
|
||||
starDOM;
|
||||
starDOW;
|
||||
starYear;
|
||||
useAndLogic;
|
||||
constructor(e, t, r) {
|
||||
this.pattern = e, this.timezone = t, this.mode = r?.mode ?? "auto", this.alternativeWeekdays = r?.alternativeWeekdays ?? !1, this.sloppyRanges = r?.sloppyRanges ?? !1, this.second = Array(60).fill(0), this.minute = Array(60).fill(0), this.hour = Array(24).fill(0), this.day = Array(31).fill(0), this.month = Array(12).fill(0), this.dayOfWeek = Array(7).fill(0), this.year = Array(1e4).fill(0), this.lastDayOfMonth = !1, this.lastWeekday = !1, this.nearestWeekdays = Array(31).fill(0), this.starDOM = !1, this.starDOW = !1, this.starYear = !1, this.useAndLogic = !1, this.parse();
|
||||
}
|
||||
parse() {
|
||||
if (!(typeof this.pattern == "string" || this.pattern instanceof String)) throw new TypeError("CronPattern: Pattern has to be of type string.");
|
||||
this.pattern.indexOf("@") >= 0 && (this.pattern = this.handleNicknames(this.pattern).trim());
|
||||
let e = this.pattern.match(/\S+/g) || [""], t = e.length;
|
||||
if (e.length < 5 || e.length > 7) throw new TypeError("CronPattern: invalid configuration format ('" + this.pattern + "'), exactly five, six, or seven space separated parts are required.");
|
||||
if (this.mode !== "auto") {
|
||||
let n;
|
||||
switch (this.mode) {
|
||||
case "5-part":
|
||||
n = 5;
|
||||
break;
|
||||
case "6-part":
|
||||
n = 6;
|
||||
break;
|
||||
case "7-part":
|
||||
n = 7;
|
||||
break;
|
||||
case "5-or-6-parts":
|
||||
n = [5, 6];
|
||||
break;
|
||||
case "6-or-7-parts":
|
||||
n = [6, 7];
|
||||
break;
|
||||
default: n = 0;
|
||||
}
|
||||
if (!(Array.isArray(n) ? n.includes(t) : t === n)) {
|
||||
let a = Array.isArray(n) ? n.join(" or ") : n.toString();
|
||||
throw new TypeError(`CronPattern: mode '${this.mode}' requires exactly ${a} parts, but pattern '${this.pattern}' has ${t} parts.`);
|
||||
}
|
||||
}
|
||||
if (e.length === 5 && e.unshift("0"), e.length === 6 && e.push("*"), e[3].toUpperCase() === "LW" ? (this.lastWeekday = !0, e[3] = "") : e[3].toUpperCase().indexOf("L") >= 0 && (e[3] = e[3].replace(/L/gi, ""), this.lastDayOfMonth = !0), e[3] == "*" && (this.starDOM = !0), e[6] == "*" && (this.starYear = !0), e[4].length >= 3 && (e[4] = this.replaceAlphaMonths(e[4])), e[5].length >= 3 && (e[5] = this.alternativeWeekdays ? this.replaceAlphaDaysQuartz(e[5]) : this.replaceAlphaDays(e[5])), e[5].startsWith("+") && (this.useAndLogic = !0, e[5] = e[5].substring(1), e[5] === "")) throw new TypeError("CronPattern: Day-of-week field cannot be empty after '+' modifier.");
|
||||
switch (e[5] == "*" && (this.starDOW = !0), this.pattern.indexOf("?") >= 0 && (e[0] = e[0].replace(/\?/g, "*"), e[1] = e[1].replace(/\?/g, "*"), e[2] = e[2].replace(/\?/g, "*"), e[3] = e[3].replace(/\?/g, "*"), e[4] = e[4].replace(/\?/g, "*"), e[5] = e[5].replace(/\?/g, "*"), e[6] && (e[6] = e[6].replace(/\?/g, "*"))), this.mode) {
|
||||
case "5-part":
|
||||
e[0] = "0", e[6] = "*";
|
||||
break;
|
||||
case "6-part":
|
||||
e[6] = "*";
|
||||
break;
|
||||
case "5-or-6-parts":
|
||||
e[6] = "*";
|
||||
break;
|
||||
case "6-or-7-parts": break;
|
||||
case "7-part":
|
||||
case "auto": break;
|
||||
}
|
||||
this.throwAtIllegalCharacters(e), this.partToArray("second", e[0], 0, 1), this.partToArray("minute", e[1], 0, 1), this.partToArray("hour", e[2], 0, 1), this.partToArray("day", e[3], -1, 1), this.partToArray("month", e[4], -1, 1);
|
||||
let r = this.alternativeWeekdays ? -1 : 0;
|
||||
this.partToArray("dayOfWeek", e[5], r, 63), this.partToArray("year", e[6], 0, 1), !this.alternativeWeekdays && this.dayOfWeek[7] && (this.dayOfWeek[0] = this.dayOfWeek[7]);
|
||||
}
|
||||
partToArray(e, t, r, n) {
|
||||
let i = this[e], a = e === "day" && this.lastDayOfMonth, o = e === "day" && this.lastWeekday;
|
||||
if (t === "" && !a && !o) throw new TypeError("CronPattern: configuration entry " + e + " (" + t + ") is empty, check for trailing spaces.");
|
||||
if (t === "*") return i.fill(n);
|
||||
let h = t.split(",");
|
||||
if (h.length > 1) for (let l = 0; l < h.length; l++) this.partToArray(e, h[l], r, n);
|
||||
else t.indexOf("-") !== -1 && t.indexOf("/") !== -1 ? this.handleRangeWithStepping(t, e, r, n) : t.indexOf("-") !== -1 ? this.handleRange(t, e, r, n) : t.indexOf("/") !== -1 ? this.handleStepping(t, e, r, n) : t !== "" && this.handleNumber(t, e, r, n);
|
||||
}
|
||||
throwAtIllegalCharacters(e) {
|
||||
for (let t = 0; t < e.length; t++) if ((t === 3 ? /[^/*0-9,\-WwLl]+/ : t === 5 ? /[^/*0-9,\-#Ll]+/ : /[^/*0-9,\-]+/).test(e[t])) throw new TypeError("CronPattern: configuration entry " + t + " (" + e[t] + ") contains illegal characters.");
|
||||
}
|
||||
handleNumber(e, t, r, n) {
|
||||
let i = this.extractNth(e, t), a = e.toUpperCase().includes("W");
|
||||
if (t !== "day" && a) throw new TypeError("CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.");
|
||||
a && (t = "nearestWeekdays");
|
||||
let o = parseInt(i[0], 10) + r;
|
||||
if (isNaN(o)) throw new TypeError("CronPattern: " + t + " is not a number: '" + e + "'");
|
||||
this.setPart(t, o, i[1] || n);
|
||||
}
|
||||
setPart(e, t, r) {
|
||||
if (!Object.prototype.hasOwnProperty.call(this, e)) throw new TypeError("CronPattern: Invalid part specified: " + e);
|
||||
if (e === "dayOfWeek") {
|
||||
if (t === 7 && (t = 0), t < 0 || t > 6) throw new RangeError("CronPattern: Invalid value for dayOfWeek: " + t);
|
||||
this.setNthWeekdayOfMonth(t, r);
|
||||
return;
|
||||
}
|
||||
if (e === "second" || e === "minute") {
|
||||
if (t < 0 || t >= 60) throw new RangeError("CronPattern: Invalid value for " + e + ": " + t);
|
||||
} else if (e === "hour") {
|
||||
if (t < 0 || t >= 24) throw new RangeError("CronPattern: Invalid value for " + e + ": " + t);
|
||||
} else if (e === "day" || e === "nearestWeekdays") {
|
||||
if (t < 0 || t >= 31) throw new RangeError("CronPattern: Invalid value for " + e + ": " + t);
|
||||
} else if (e === "month") {
|
||||
if (t < 0 || t >= 12) throw new RangeError("CronPattern: Invalid value for " + e + ": " + t);
|
||||
} else if (e === "year" && (t < 1 || t >= 1e4)) throw new RangeError("CronPattern: Invalid value for " + e + ": " + t + " (supported range: 1-9999)");
|
||||
this[e][t] = r;
|
||||
}
|
||||
validateNotNaN(e, t) {
|
||||
if (isNaN(e)) throw new TypeError(t);
|
||||
}
|
||||
validateRange(e, t, r, n, i) {
|
||||
if (e > t) throw new TypeError("CronPattern: From value is larger than to value: '" + i + "'");
|
||||
if (r !== void 0) {
|
||||
if (r === 0) throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");
|
||||
if (r > this[n].length) throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part (" + this[n].length + ")");
|
||||
}
|
||||
}
|
||||
handleRangeWithStepping(e, t, r, n) {
|
||||
if (e.toUpperCase().includes("W")) throw new TypeError("CronPattern: Syntax error, W is not allowed in ranges with stepping.");
|
||||
let i = this.extractNth(e, t), a = i[0].match(/^(\d+)-(\d+)\/(\d+)$/);
|
||||
if (a === null) throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '" + e + "'");
|
||||
let [, o, h, l] = a, y = parseInt(o, 10) + r, u = parseInt(h, 10) + r, d = parseInt(l, 10);
|
||||
this.validateNotNaN(y, "CronPattern: Syntax error, illegal lower range (NaN)"), this.validateNotNaN(u, "CronPattern: Syntax error, illegal upper range (NaN)"), this.validateNotNaN(d, "CronPattern: Syntax error, illegal stepping: (NaN)"), this.validateRange(y, u, d, t, e);
|
||||
for (let c = y; c <= u; c += d) this.setPart(t, c, i[1] || n);
|
||||
}
|
||||
extractNth(e, t) {
|
||||
let r = e, n;
|
||||
if (r.includes("#")) {
|
||||
if (t !== "dayOfWeek") throw new Error("CronPattern: nth (#) only allowed in day-of-week field");
|
||||
n = r.split("#")[1], r = r.split("#")[0];
|
||||
} else if (r.toUpperCase().endsWith("L")) {
|
||||
if (t !== "dayOfWeek") throw new Error("CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)");
|
||||
n = "L", r = r.slice(0, -1);
|
||||
}
|
||||
return [r, n];
|
||||
}
|
||||
handleRange(e, t, r, n) {
|
||||
if (e.toUpperCase().includes("W")) throw new TypeError("CronPattern: Syntax error, W is not allowed in a range.");
|
||||
let i = this.extractNth(e, t), a = i[0].split("-");
|
||||
if (a.length !== 2) throw new TypeError("CronPattern: Syntax error, illegal range: '" + e + "'");
|
||||
let o = parseInt(a[0], 10) + r, h = parseInt(a[1], 10) + r;
|
||||
this.validateNotNaN(o, "CronPattern: Syntax error, illegal lower range (NaN)"), this.validateNotNaN(h, "CronPattern: Syntax error, illegal upper range (NaN)"), this.validateRange(o, h, void 0, t, e);
|
||||
for (let l = o; l <= h; l++) this.setPart(t, l, i[1] || n);
|
||||
}
|
||||
handleStepping(e, t, r, n) {
|
||||
if (e.toUpperCase().includes("W")) throw new TypeError("CronPattern: Syntax error, W is not allowed in parts with stepping.");
|
||||
let i = this.extractNth(e, t), a = i[0].split("/");
|
||||
if (a.length !== 2) throw new TypeError("CronPattern: Syntax error, illegal stepping: '" + e + "'");
|
||||
if (this.sloppyRanges) a[0] === "" && (a[0] = "*");
|
||||
else {
|
||||
if (a[0] === "") throw new TypeError("CronPattern: Syntax error, stepping with missing prefix ('" + e + "') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.");
|
||||
if (a[0] !== "*") throw new TypeError("CronPattern: Syntax error, stepping with numeric prefix ('" + e + "') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.");
|
||||
}
|
||||
let o = 0;
|
||||
a[0] !== "*" && (o = parseInt(a[0], 10) + r);
|
||||
let h = parseInt(a[1], 10);
|
||||
this.validateNotNaN(h, "CronPattern: Syntax error, illegal stepping: (NaN)"), this.validateRange(0, this[t].length - 1, h, t, e);
|
||||
for (let l = o; l < this[t].length; l += h) this.setPart(t, l, i[1] || n);
|
||||
}
|
||||
replaceAlphaDays(e) {
|
||||
return e.replace(/-sun/gi, "-7").replace(/sun/gi, "0").replace(/mon/gi, "1").replace(/tue/gi, "2").replace(/wed/gi, "3").replace(/thu/gi, "4").replace(/fri/gi, "5").replace(/sat/gi, "6");
|
||||
}
|
||||
replaceAlphaDaysQuartz(e) {
|
||||
return e.replace(/sun/gi, "1").replace(/mon/gi, "2").replace(/tue/gi, "3").replace(/wed/gi, "4").replace(/thu/gi, "5").replace(/fri/gi, "6").replace(/sat/gi, "7");
|
||||
}
|
||||
replaceAlphaMonths(e) {
|
||||
return e.replace(/jan/gi, "1").replace(/feb/gi, "2").replace(/mar/gi, "3").replace(/apr/gi, "4").replace(/may/gi, "5").replace(/jun/gi, "6").replace(/jul/gi, "7").replace(/aug/gi, "8").replace(/sep/gi, "9").replace(/oct/gi, "10").replace(/nov/gi, "11").replace(/dec/gi, "12");
|
||||
}
|
||||
handleNicknames(e) {
|
||||
let t = e.trim().toLowerCase();
|
||||
if (t === "@yearly" || t === "@annually") return "0 0 1 1 *";
|
||||
if (t === "@monthly") return "0 0 1 * *";
|
||||
if (t === "@weekly") return "0 0 * * 0";
|
||||
if (t === "@daily" || t === "@midnight") return "0 0 * * *";
|
||||
if (t === "@hourly") return "0 * * * *";
|
||||
if (t === "@reboot") throw new TypeError("CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.");
|
||||
return e;
|
||||
}
|
||||
setNthWeekdayOfMonth(e, t) {
|
||||
if (typeof t != "number" && t.toUpperCase() === "L") this.dayOfWeek[e] = this.dayOfWeek[e] | 32;
|
||||
else if (t === 63) this.dayOfWeek[e] = 63;
|
||||
else if (t < 6 && t > 0) this.dayOfWeek[e] = this.dayOfWeek[e] | O[t - 1];
|
||||
else throw new TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${t}, Type: ${typeof t}`);
|
||||
}
|
||||
};
|
||||
var P = [
|
||||
31,
|
||||
28,
|
||||
31,
|
||||
30,
|
||||
31,
|
||||
30,
|
||||
31,
|
||||
31,
|
||||
30,
|
||||
31,
|
||||
30,
|
||||
31
|
||||
];
|
||||
var f = [
|
||||
[
|
||||
"month",
|
||||
"year",
|
||||
0
|
||||
],
|
||||
[
|
||||
"day",
|
||||
"month",
|
||||
-1
|
||||
],
|
||||
[
|
||||
"hour",
|
||||
"day",
|
||||
0
|
||||
],
|
||||
[
|
||||
"minute",
|
||||
"hour",
|
||||
0
|
||||
],
|
||||
[
|
||||
"second",
|
||||
"minute",
|
||||
0
|
||||
]
|
||||
];
|
||||
var m = class s {
|
||||
tz;
|
||||
ms;
|
||||
second;
|
||||
minute;
|
||||
hour;
|
||||
day;
|
||||
month;
|
||||
year;
|
||||
constructor(e, t) {
|
||||
if (this.tz = t, e && e instanceof Date) if (!isNaN(e)) this.fromDate(e);
|
||||
else throw new TypeError("CronDate: Invalid date passed to CronDate constructor");
|
||||
else if (e == null) this.fromDate(/* @__PURE__ */ new Date());
|
||||
else if (e && typeof e == "string") this.fromString(e);
|
||||
else if (e instanceof s) this.fromCronDate(e);
|
||||
else throw new TypeError("CronDate: Invalid type (" + typeof e + ") passed to CronDate constructor");
|
||||
}
|
||||
getLastDayOfMonth(e, t) {
|
||||
return t !== 1 ? P[t] : new Date(Date.UTC(e, t + 1, 0)).getUTCDate();
|
||||
}
|
||||
getLastWeekday(e, t) {
|
||||
let r = this.getLastDayOfMonth(e, t), i = new Date(Date.UTC(e, t, r)).getUTCDay();
|
||||
return i === 0 ? r - 2 : i === 6 ? r - 1 : r;
|
||||
}
|
||||
getNearestWeekday(e, t, r) {
|
||||
let n = this.getLastDayOfMonth(e, t);
|
||||
if (r > n) return -1;
|
||||
let a = new Date(Date.UTC(e, t, r)).getUTCDay();
|
||||
return a === 0 ? r === n ? r - 2 : r + 1 : a === 6 ? r === 1 ? r + 2 : r - 1 : r;
|
||||
}
|
||||
isNthWeekdayOfMonth(e, t, r, n) {
|
||||
let a = new Date(Date.UTC(e, t, r)).getUTCDay(), o = 0;
|
||||
for (let h = 1; h <= r; h++) new Date(Date.UTC(e, t, h)).getUTCDay() === a && o++;
|
||||
if (n & 63 && O[o - 1] & n) return !0;
|
||||
if (n & 32) {
|
||||
let h = this.getLastDayOfMonth(e, t);
|
||||
for (let l = r + 1; l <= h; l++) if (new Date(Date.UTC(e, t, l)).getUTCDay() === a) return !1;
|
||||
return !0;
|
||||
}
|
||||
return !1;
|
||||
}
|
||||
fromDate(e) {
|
||||
if (this.tz !== void 0) if (typeof this.tz == "number") this.ms = e.getUTCMilliseconds(), this.second = e.getUTCSeconds(), this.minute = e.getUTCMinutes() + this.tz, this.hour = e.getUTCHours(), this.day = e.getUTCDate(), this.month = e.getUTCMonth(), this.year = e.getUTCFullYear(), this.apply();
|
||||
else try {
|
||||
let t = g(e, this.tz);
|
||||
this.ms = e.getMilliseconds(), this.second = t.s, this.minute = t.i, this.hour = t.h, this.day = t.d, this.month = t.m - 1, this.year = t.y;
|
||||
} catch (t) {
|
||||
let r = t instanceof Error ? t.message : String(t);
|
||||
throw new TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${r}`);
|
||||
}
|
||||
else this.ms = e.getMilliseconds(), this.second = e.getSeconds(), this.minute = e.getMinutes(), this.hour = e.getHours(), this.day = e.getDate(), this.month = e.getMonth(), this.year = e.getFullYear();
|
||||
}
|
||||
fromCronDate(e) {
|
||||
this.tz = e.tz, this.year = e.year, this.month = e.month, this.day = e.day, this.hour = e.hour, this.minute = e.minute, this.second = e.second, this.ms = e.ms;
|
||||
}
|
||||
apply() {
|
||||
if (this.month > 11 || this.month < 0 || this.day > P[this.month] || this.day < 1 || this.hour > 59 || this.minute > 59 || this.second > 59 || this.hour < 0 || this.minute < 0 || this.second < 0) {
|
||||
let e = new Date(Date.UTC(this.year, this.month, this.day, this.hour, this.minute, this.second, this.ms));
|
||||
return this.ms = e.getUTCMilliseconds(), this.second = e.getUTCSeconds(), this.minute = e.getUTCMinutes(), this.hour = e.getUTCHours(), this.day = e.getUTCDate(), this.month = e.getUTCMonth(), this.year = e.getUTCFullYear(), !0;
|
||||
} else return !1;
|
||||
}
|
||||
fromString(e) {
|
||||
if (typeof this.tz == "number") {
|
||||
let t = v(e);
|
||||
this.ms = t.getUTCMilliseconds(), this.second = t.getUTCSeconds(), this.minute = t.getUTCMinutes(), this.hour = t.getUTCHours(), this.day = t.getUTCDate(), this.month = t.getUTCMonth(), this.year = t.getUTCFullYear(), this.apply();
|
||||
} else return this.fromDate(v(e, this.tz));
|
||||
}
|
||||
findNext(e, t, r, n) {
|
||||
return this._findMatch(e, t, r, n, 1);
|
||||
}
|
||||
_findMatch(e, t, r, n, i) {
|
||||
let a = this[t], o;
|
||||
r.lastDayOfMonth && (o = this.getLastDayOfMonth(this.year, this.month));
|
||||
let h = !r.starDOW && t == "day" ? new Date(Date.UTC(this.year, this.month, 1, 0, 0, 0, 0)).getUTCDay() : void 0, l = this[t] + n, y = i === 1 ? (u) => u < r[t].length : (u) => u >= 0;
|
||||
for (let u = l; y(u); u += i) {
|
||||
let d = r[t][u];
|
||||
if (t === "day" && !d) {
|
||||
for (let c = 0; c < r.nearestWeekdays.length; c++) if (r.nearestWeekdays[c]) {
|
||||
let M = this.getNearestWeekday(this.year, this.month, c - n);
|
||||
if (M === -1) continue;
|
||||
if (M === u - n) {
|
||||
d = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (t === "day" && r.lastWeekday) {
|
||||
let c = this.getLastWeekday(this.year, this.month);
|
||||
u - n === c && (d = 1);
|
||||
}
|
||||
if (t === "day" && r.lastDayOfMonth && u - n == o && (d = 1), t === "day" && !r.starDOW) {
|
||||
let c = r.dayOfWeek[(h + (u - n - 1)) % 7];
|
||||
if (c && c & 63) c = this.isNthWeekdayOfMonth(this.year, this.month, u - n, c) ? 1 : 0;
|
||||
else if (c) throw new Error(`CronDate: Invalid value for dayOfWeek encountered. ${c}`);
|
||||
r.useAndLogic ? d = d && c : !e.domAndDow && !r.starDOM ? d = d || c : d = d && c;
|
||||
}
|
||||
if (d) return this[t] = u - n, a !== this[t] ? 2 : 1;
|
||||
}
|
||||
return 3;
|
||||
}
|
||||
recurse(e, t, r) {
|
||||
if (r === 0 && !e.starYear) {
|
||||
if (this.year >= 0 && this.year < e.year.length && e.year[this.year] === 0) {
|
||||
let i = -1;
|
||||
for (let a = this.year + 1; a < e.year.length && a < 1e4; a++) if (e.year[a] === 1) {
|
||||
i = a;
|
||||
break;
|
||||
}
|
||||
if (i === -1) return null;
|
||||
this.year = i, this.month = 0, this.day = 1, this.hour = 0, this.minute = 0, this.second = 0, this.ms = 0;
|
||||
}
|
||||
if (this.year >= 1e4) return null;
|
||||
}
|
||||
let n = this.findNext(t, f[r][0], e, f[r][2]);
|
||||
if (n > 1) {
|
||||
let i = r + 1;
|
||||
for (; i < f.length;) this[f[i][0]] = -f[i][2], i++;
|
||||
if (n === 3) {
|
||||
if (this[f[r][1]]++, this[f[r][0]] = -f[r][2], this.apply(), r === 0 && !e.starYear) {
|
||||
for (; this.year >= 0 && this.year < e.year.length && e.year[this.year] === 0 && this.year < 1e4;) this.year++;
|
||||
if (this.year >= 1e4 || this.year >= e.year.length) return null;
|
||||
}
|
||||
return this.recurse(e, t, 0);
|
||||
} else if (this.apply()) return this.recurse(e, t, r - 1);
|
||||
}
|
||||
return r += 1, r >= f.length ? this : (e.starYear ? this.year >= 3e3 : this.year >= 1e4) ? null : this.recurse(e, t, r);
|
||||
}
|
||||
increment(e, t, r) {
|
||||
return this.second += t.interval !== void 0 && t.interval > 1 && r ? t.interval : 1, this.ms = 0, this.apply(), this.recurse(e, t, 0);
|
||||
}
|
||||
decrement(e, t) {
|
||||
return this.second -= t.interval !== void 0 && t.interval > 1 ? t.interval : 1, this.ms = 0, this.apply(), this.recurseBackward(e, t, 0, 0);
|
||||
}
|
||||
recurseBackward(e, t, r, n = 0) {
|
||||
if (n > 1e4) return null;
|
||||
if (r === 0 && !e.starYear) {
|
||||
if (this.year >= 0 && this.year < e.year.length && e.year[this.year] === 0) {
|
||||
let a = -1;
|
||||
for (let o = this.year - 1; o >= 0; o--) if (e.year[o] === 1) {
|
||||
a = o;
|
||||
break;
|
||||
}
|
||||
if (a === -1) return null;
|
||||
this.year = a, this.month = 11, this.day = 31, this.hour = 23, this.minute = 59, this.second = 59, this.ms = 0;
|
||||
}
|
||||
if (this.year < 0) return null;
|
||||
}
|
||||
let i = this.findPrevious(t, f[r][0], e, f[r][2]);
|
||||
if (i > 1) {
|
||||
let a = r + 1;
|
||||
for (; a < f.length;) {
|
||||
let o = f[a][0], h = f[a][2], l = this.getMaxPatternValue(o, e, h);
|
||||
this[o] = l, a++;
|
||||
}
|
||||
if (i === 3) {
|
||||
if (this[f[r][1]]--, r === 0) {
|
||||
let y = this.getLastDayOfMonth(this.year, this.month);
|
||||
this.day > y && (this.day = y);
|
||||
}
|
||||
if (r === 1) if (this.day <= 0) this.day = 1;
|
||||
else {
|
||||
let y = this.year, u = this.month;
|
||||
for (; u < 0;) u += 12, y--;
|
||||
for (; u > 11;) u -= 12, y++;
|
||||
let d = u !== 1 ? P[u] : new Date(Date.UTC(y, u + 1, 0)).getUTCDate();
|
||||
this.day > d && (this.day = d);
|
||||
}
|
||||
this.apply();
|
||||
let o = f[r][0], h = f[r][2], l = this.getMaxPatternValue(o, e, h);
|
||||
if (o === "day") {
|
||||
let y = this.getLastDayOfMonth(this.year, this.month);
|
||||
this[o] = Math.min(l, y);
|
||||
} else this[o] = l;
|
||||
if (this.apply(), r === 0) {
|
||||
let y = f[1][2], u = this.getMaxPatternValue("day", e, y), d = this.getLastDayOfMonth(this.year, this.month), c = Math.min(u, d);
|
||||
c !== this.day && (this.day = c, this.hour = this.getMaxPatternValue("hour", e, f[2][2]), this.minute = this.getMaxPatternValue("minute", e, f[3][2]), this.second = this.getMaxPatternValue("second", e, f[4][2]));
|
||||
}
|
||||
if (r === 0 && !e.starYear) {
|
||||
for (; this.year >= 0 && this.year < e.year.length && e.year[this.year] === 0;) this.year--;
|
||||
if (this.year < 0) return null;
|
||||
}
|
||||
return this.recurseBackward(e, t, 0, n + 1);
|
||||
} else if (this.apply()) return this.recurseBackward(e, t, r - 1, n + 1);
|
||||
}
|
||||
return r += 1, r >= f.length ? this : this.year < 0 ? null : this.recurseBackward(e, t, r, n + 1);
|
||||
}
|
||||
getMaxPatternValue(e, t, r) {
|
||||
if (e === "day" && t.lastDayOfMonth) return this.getLastDayOfMonth(this.year, this.month);
|
||||
if (e === "day" && !t.starDOW) return this.getLastDayOfMonth(this.year, this.month);
|
||||
for (let n = t[e].length - 1; n >= 0; n--) if (t[e][n]) return n - r;
|
||||
return t[e].length - 1 - r;
|
||||
}
|
||||
findPrevious(e, t, r, n) {
|
||||
return this._findMatch(e, t, r, n, -1);
|
||||
}
|
||||
getDate(e) {
|
||||
return e || this.tz === void 0 ? new Date(this.year, this.month, this.day, this.hour, this.minute, this.second, this.ms) : typeof this.tz == "number" ? new Date(Date.UTC(this.year, this.month, this.day, this.hour, this.minute - this.tz, this.second, this.ms)) : k(b(this.year, this.month + 1, this.day, this.hour, this.minute, this.second, this.tz), !1);
|
||||
}
|
||||
getTime() {
|
||||
return this.getDate(!1).getTime();
|
||||
}
|
||||
match(e, t) {
|
||||
if (!e.starYear && (this.year < 0 || this.year >= e.year.length || e.year[this.year] === 0)) return !1;
|
||||
for (let r = 0; r < f.length; r++) {
|
||||
let n = f[r][0], i = f[r][2], a = this[n];
|
||||
if (a + i < 0 || a + i >= e[n].length) return !1;
|
||||
let o = e[n][a + i];
|
||||
if (n === "day") {
|
||||
if (!o) {
|
||||
for (let h = 0; h < e.nearestWeekdays.length; h++) if (e.nearestWeekdays[h]) {
|
||||
let l = this.getNearestWeekday(this.year, this.month, h - i);
|
||||
if (l !== -1 && l === a) {
|
||||
o = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (e.lastWeekday) a === this.getLastWeekday(this.year, this.month) && (o = 1);
|
||||
if (e.lastDayOfMonth) a === this.getLastDayOfMonth(this.year, this.month) && (o = 1);
|
||||
if (!e.starDOW) {
|
||||
let h = new Date(Date.UTC(this.year, this.month, 1, 0, 0, 0, 0)).getUTCDay(), l = e.dayOfWeek[(h + (a - 1)) % 7];
|
||||
l && l & 63 && (l = this.isNthWeekdayOfMonth(this.year, this.month, a, l) ? 1 : 0), e.useAndLogic ? o = o && l : !t.domAndDow && !e.starDOM ? o = o || l : o = o && l;
|
||||
}
|
||||
}
|
||||
if (!o) return !1;
|
||||
}
|
||||
return !0;
|
||||
}
|
||||
};
|
||||
function R(s) {
|
||||
if (s === void 0 && (s = {}), delete s.name, s.legacyMode !== void 0 && s.domAndDow === void 0 ? s.domAndDow = !s.legacyMode : s.domAndDow === void 0 && (s.domAndDow = !1), s.legacyMode = !s.domAndDow, s.paused = s.paused === void 0 ? !1 : s.paused, s.maxRuns = s.maxRuns === void 0 ? Infinity : s.maxRuns, s.catch = s.catch === void 0 ? !1 : s.catch, s.interval = s.interval === void 0 ? 0 : parseInt(s.interval.toString(), 10), s.utcOffset = s.utcOffset === void 0 ? void 0 : parseInt(s.utcOffset.toString(), 10), s.dayOffset = s.dayOffset === void 0 ? 0 : parseInt(s.dayOffset.toString(), 10), s.unref = s.unref === void 0 ? !1 : s.unref, s.mode = s.mode === void 0 ? "auto" : s.mode, s.alternativeWeekdays = s.alternativeWeekdays === void 0 ? !1 : s.alternativeWeekdays, s.sloppyRanges = s.sloppyRanges === void 0 ? !1 : s.sloppyRanges, ![
|
||||
"auto",
|
||||
"5-part",
|
||||
"6-part",
|
||||
"7-part",
|
||||
"5-or-6-parts",
|
||||
"6-or-7-parts"
|
||||
].includes(s.mode)) throw new Error("CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.");
|
||||
if (s.startAt && (s.startAt = new m(s.startAt, s.timezone)), s.stopAt && (s.stopAt = new m(s.stopAt, s.timezone)), s.interval !== null) {
|
||||
if (isNaN(s.interval)) throw new Error("CronOptions: Supplied value for interval is not a number");
|
||||
if (s.interval < 0) throw new Error("CronOptions: Supplied value for interval can not be negative");
|
||||
}
|
||||
if (s.utcOffset !== void 0) {
|
||||
if (isNaN(s.utcOffset)) throw new Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");
|
||||
if (s.utcOffset < -870 || s.utcOffset > 870) throw new Error("CronOptions: utcOffset out of bounds.");
|
||||
if (s.utcOffset !== void 0 && s.timezone) throw new Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.");
|
||||
}
|
||||
if (s.unref !== !0 && s.unref !== !1) throw new Error("CronOptions: Unref should be either true, false or undefined(false).");
|
||||
if (s.dayOffset !== void 0 && s.dayOffset !== 0 && isNaN(s.dayOffset)) throw new Error("CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.");
|
||||
return s;
|
||||
}
|
||||
function p(s) {
|
||||
return Object.prototype.toString.call(s) === "[object Function]" || typeof s == "function" || s instanceof Function;
|
||||
}
|
||||
function _(s) {
|
||||
return p(s);
|
||||
}
|
||||
function x(s) {
|
||||
typeof Deno < "u" && typeof Deno.unrefTimer < "u" ? Deno.unrefTimer(s) : s && typeof s.unref < "u" && s.unref();
|
||||
}
|
||||
var W = 30 * 1e3;
|
||||
var w = [];
|
||||
var E = class {
|
||||
name;
|
||||
options;
|
||||
_states;
|
||||
fn;
|
||||
getTz() {
|
||||
return this.options.timezone || this.options.utcOffset;
|
||||
}
|
||||
applyDayOffset(e) {
|
||||
if (this.options.dayOffset !== void 0 && this.options.dayOffset !== 0) {
|
||||
let t = this.options.dayOffset * 24 * 60 * 60 * 1e3;
|
||||
return new Date(e.getTime() + t);
|
||||
}
|
||||
return e;
|
||||
}
|
||||
constructor(e, t, r) {
|
||||
let n, i;
|
||||
if (p(t)) i = t;
|
||||
else if (typeof t == "object") n = t;
|
||||
else if (t !== void 0) throw new Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");
|
||||
if (p(r)) i = r;
|
||||
else if (typeof r == "object") n = r;
|
||||
else if (r !== void 0) throw new Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");
|
||||
if (this.name = n?.name, this.options = R(n), this._states = {
|
||||
kill: !1,
|
||||
blocking: !1,
|
||||
previousRun: void 0,
|
||||
currentRun: void 0,
|
||||
once: void 0,
|
||||
currentTimeout: void 0,
|
||||
maxRuns: n ? n.maxRuns : void 0,
|
||||
paused: n ? n.paused : !1,
|
||||
pattern: new C("* * * * *", void 0, { mode: "auto" })
|
||||
}, e && (e instanceof Date || typeof e == "string" && e.indexOf(":") > 0) ? this._states.once = new m(e, this.getTz()) : this._states.pattern = new C(e, this.options.timezone, {
|
||||
mode: this.options.mode,
|
||||
alternativeWeekdays: this.options.alternativeWeekdays,
|
||||
sloppyRanges: this.options.sloppyRanges
|
||||
}), this.name) {
|
||||
if (w.find((o) => o.name === this.name)) throw new Error("Cron: Tried to initialize new named job '" + this.name + "', but name already taken.");
|
||||
w.push(this);
|
||||
}
|
||||
return i !== void 0 && _(i) && (this.fn = i, this.schedule()), this;
|
||||
}
|
||||
nextRun(e) {
|
||||
let t = this._next(e);
|
||||
return t ? this.applyDayOffset(t.getDate(!1)) : null;
|
||||
}
|
||||
nextRuns(e, t) {
|
||||
this._states.maxRuns !== void 0 && e > this._states.maxRuns && (e = this._states.maxRuns);
|
||||
let r = t || this._states.currentRun || void 0;
|
||||
return this._enumerateRuns(e, r, "next");
|
||||
}
|
||||
previousRuns(e, t) {
|
||||
return this._enumerateRuns(e, t || void 0, "previous");
|
||||
}
|
||||
_enumerateRuns(e, t, r) {
|
||||
let n = [], i = t ? new m(t, this.getTz()) : null, a = r === "next" ? this._next : this._previous;
|
||||
for (; e--;) {
|
||||
let o = a.call(this, i);
|
||||
if (!o) break;
|
||||
let h = o.getDate(!1);
|
||||
n.push(this.applyDayOffset(h)), i = o;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
match(e) {
|
||||
if (this._states.once) {
|
||||
let r = new m(e, this.getTz());
|
||||
r.ms = 0;
|
||||
let n = new m(this._states.once, this.getTz());
|
||||
return n.ms = 0, r.getTime() === n.getTime();
|
||||
}
|
||||
let t = new m(e, this.getTz());
|
||||
return t.ms = 0, t.match(this._states.pattern, this.options);
|
||||
}
|
||||
getPattern() {
|
||||
if (!this._states.once) return this._states.pattern ? this._states.pattern.pattern : void 0;
|
||||
}
|
||||
getOnce() {
|
||||
return this._states.once ? this._states.once.getDate() : null;
|
||||
}
|
||||
isRunning() {
|
||||
let e = this.nextRun(this._states.currentRun), t = !this._states.paused, r = this.fn !== void 0, n = !this._states.kill;
|
||||
return t && r && n && e !== null;
|
||||
}
|
||||
isStopped() {
|
||||
return this._states.kill;
|
||||
}
|
||||
isBusy() {
|
||||
return this._states.blocking;
|
||||
}
|
||||
currentRun() {
|
||||
return this._states.currentRun ? this._states.currentRun.getDate() : null;
|
||||
}
|
||||
previousRun() {
|
||||
return this._states.previousRun ? this._states.previousRun.getDate() : null;
|
||||
}
|
||||
msToNext(e) {
|
||||
let t = this._next(e);
|
||||
return t ? e instanceof m || e instanceof Date ? t.getTime() - e.getTime() : t.getTime() - new m(e).getTime() : null;
|
||||
}
|
||||
stop() {
|
||||
this._states.kill = !0, this._states.currentTimeout && clearTimeout(this._states.currentTimeout);
|
||||
let e = w.indexOf(this);
|
||||
e >= 0 && w.splice(e, 1);
|
||||
}
|
||||
pause() {
|
||||
return this._states.paused = !0, !this._states.kill;
|
||||
}
|
||||
resume() {
|
||||
return this._states.paused = !1, !this._states.kill;
|
||||
}
|
||||
schedule(e) {
|
||||
if (e && this.fn) throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");
|
||||
e && (this.fn = e);
|
||||
let t = this.msToNext(), r = this.nextRun(this._states.currentRun);
|
||||
return t == null || isNaN(t) || r === null ? this : (t > W && (t = W), this._states.currentTimeout = setTimeout(() => this._checkTrigger(r), t), this._states.currentTimeout && this.options.unref && x(this._states.currentTimeout), this);
|
||||
}
|
||||
async _trigger(e) {
|
||||
this._states.blocking = !0, this._states.currentRun = new m(void 0, this.getTz());
|
||||
try {
|
||||
if (this.options.catch) try {
|
||||
this.fn !== void 0 && await this.fn(this, this.options.context);
|
||||
} catch (t) {
|
||||
if (p(this.options.catch)) try {
|
||||
this.options.catch(t, this);
|
||||
} catch {}
|
||||
}
|
||||
else this.fn !== void 0 && await this.fn(this, this.options.context);
|
||||
} finally {
|
||||
this._states.previousRun = new m(e, this.getTz()), this._states.blocking = !1;
|
||||
}
|
||||
}
|
||||
async trigger() {
|
||||
await this._trigger();
|
||||
}
|
||||
runsLeft() {
|
||||
return this._states.maxRuns;
|
||||
}
|
||||
_checkTrigger(e) {
|
||||
let t = /* @__PURE__ */ new Date(), r = !this._states.paused && t.getTime() >= e.getTime(), n = this._states.blocking && this.options.protect;
|
||||
r && !n ? (this._states.maxRuns !== void 0 && this._states.maxRuns--, this._trigger()) : r && n && p(this.options.protect) && setTimeout(() => this.options.protect(this), 0), this.schedule();
|
||||
}
|
||||
_next(e) {
|
||||
let t = !!(e || this._states.currentRun), r = !1;
|
||||
!e && this.options.startAt && this.options.interval && ([e, t] = this._calculatePreviousRun(e, t), r = !e), e = new m(e, this.getTz()), this.options.startAt && e && e.getTime() < this.options.startAt.getTime() && (e = this.options.startAt);
|
||||
let n = this._states.once || new m(e, this.getTz());
|
||||
return !r && n !== this._states.once && (n = n.increment(this._states.pattern, this.options, t)), this._states.once && this._states.once.getTime() <= e.getTime() || n === null || this._states.maxRuns !== void 0 && this._states.maxRuns <= 0 || this._states.kill || this.options.stopAt && n.getTime() >= this.options.stopAt.getTime() ? null : n;
|
||||
}
|
||||
_previous(e) {
|
||||
let t = new m(e, this.getTz());
|
||||
this.options.stopAt && t.getTime() > this.options.stopAt.getTime() && (t = this.options.stopAt);
|
||||
let r = new m(t, this.getTz());
|
||||
return this._states.once ? this._states.once.getTime() < t.getTime() ? this._states.once : null : (r = r.decrement(this._states.pattern, this.options), r === null || this.options.startAt && r.getTime() < this.options.startAt.getTime() ? null : r);
|
||||
}
|
||||
_calculatePreviousRun(e, t) {
|
||||
let r = new m(void 0, this.getTz()), n = e;
|
||||
if (this.options.startAt.getTime() <= r.getTime()) {
|
||||
n = this.options.startAt;
|
||||
let i = n.getTime() + this.options.interval * 1e3;
|
||||
for (; i <= r.getTime();) n = new m(n, this.getTz()).increment(this._states.pattern, this.options, !0), i = n.getTime() + this.options.interval * 1e3;
|
||||
t = !0;
|
||||
}
|
||||
return n === null && (n = void 0), [n, t];
|
||||
}
|
||||
};
|
||||
//#endregion
|
||||
export { E as t };
|
||||
141580
.output/server/_libs/eve.mjs
Normal file
141580
.output/server/_libs/eve.mjs
Normal file
File diff suppressed because one or more lines are too long
1341
.output/server/_libs/h3+rou3+srvx.mjs
Normal file
1341
.output/server/_libs/h3+rou3+srvx.mjs
Normal file
File diff suppressed because it is too large
Load Diff
44
.output/server/_libs/hookable.mjs
Normal file
44
.output/server/_libs/hookable.mjs
Normal file
@@ -0,0 +1,44 @@
|
||||
import { fileURLToPath as __eveFileURLToPath } from "node:url";
|
||||
import { dirname as __eveDirname } from "node:path";
|
||||
__eveDirname(__eveFileURLToPath(import.meta.url));
|
||||
//#region node_modules/hookable/dist/index.mjs
|
||||
function callHooks(hooks, args, startIndex, task) {
|
||||
for (let i = startIndex; i < hooks.length; i += 1) try {
|
||||
const result = task ? task.run(() => hooks[i](...args)) : hooks[i](...args);
|
||||
if (result && typeof result.then === "function") return Promise.resolve(result).then(() => callHooks(hooks, args, i + 1, task));
|
||||
} catch (error) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
}
|
||||
var HookableCore = class {
|
||||
_hooks;
|
||||
constructor() {
|
||||
this._hooks = {};
|
||||
}
|
||||
hook(name, fn) {
|
||||
if (!name || typeof fn !== "function") return () => {};
|
||||
this._hooks[name] = this._hooks[name] || [];
|
||||
this._hooks[name].push(fn);
|
||||
return () => {
|
||||
if (fn) {
|
||||
this.removeHook(name, fn);
|
||||
fn = void 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
removeHook(name, function_) {
|
||||
const hooks = this._hooks[name];
|
||||
if (hooks) {
|
||||
const index = hooks.indexOf(function_);
|
||||
if (index !== -1) hooks.splice(index, 1);
|
||||
if (hooks.length === 0) this._hooks[name] = void 0;
|
||||
}
|
||||
}
|
||||
callHook(name, ...args) {
|
||||
const hooks = this._hooks[name];
|
||||
if (!hooks || hooks.length === 0) return;
|
||||
return callHooks(hooks, args, 0);
|
||||
}
|
||||
};
|
||||
//#endregion
|
||||
export { HookableCore as t };
|
||||
67
.output/server/_libs/ufo.mjs
Normal file
67
.output/server/_libs/ufo.mjs
Normal file
@@ -0,0 +1,67 @@
|
||||
import { fileURLToPath as __eveFileURLToPath } from "node:url";
|
||||
import { dirname as __eveDirname } from "node:path";
|
||||
__eveDirname(__eveFileURLToPath(import.meta.url));
|
||||
String.fromCharCode;
|
||||
const ENC_SLASH_RE = /%2f/gi;
|
||||
function decode(text = "") {
|
||||
try {
|
||||
return decodeURIComponent("" + text);
|
||||
} catch {
|
||||
return "" + text;
|
||||
}
|
||||
}
|
||||
function decodePath(text) {
|
||||
return decode(text.replace(ENC_SLASH_RE, "%252F"));
|
||||
}
|
||||
const TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
|
||||
const JOIN_LEADING_SLASH_RE = /^\.?\//;
|
||||
function hasTrailingSlash(input = "", respectQueryAndFragment) {
|
||||
if (!respectQueryAndFragment) return input.endsWith("/");
|
||||
return TRAILING_SLASH_RE.test(input);
|
||||
}
|
||||
function withoutTrailingSlash(input = "", respectQueryAndFragment) {
|
||||
if (!respectQueryAndFragment) return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
|
||||
if (!hasTrailingSlash(input, true)) return input || "/";
|
||||
let path = input;
|
||||
let fragment = "";
|
||||
const fragmentIndex = input.indexOf("#");
|
||||
if (fragmentIndex !== -1) {
|
||||
path = input.slice(0, fragmentIndex);
|
||||
fragment = input.slice(fragmentIndex);
|
||||
}
|
||||
const [s0, ...s] = path.split("?");
|
||||
return ((s0.endsWith("/") ? s0.slice(0, -1) : s0) || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
|
||||
}
|
||||
function withTrailingSlash(input = "", respectQueryAndFragment) {
|
||||
if (!respectQueryAndFragment) return input.endsWith("/") ? input : input + "/";
|
||||
if (hasTrailingSlash(input, true)) return input || "/";
|
||||
let path = input;
|
||||
let fragment = "";
|
||||
const fragmentIndex = input.indexOf("#");
|
||||
if (fragmentIndex !== -1) {
|
||||
path = input.slice(0, fragmentIndex);
|
||||
fragment = input.slice(fragmentIndex);
|
||||
if (!path) return fragment;
|
||||
}
|
||||
const [s0, ...s] = path.split("?");
|
||||
return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
|
||||
}
|
||||
function hasLeadingSlash(input = "") {
|
||||
return input.startsWith("/");
|
||||
}
|
||||
function withLeadingSlash(input = "") {
|
||||
return hasLeadingSlash(input) ? input : "/" + input;
|
||||
}
|
||||
function isNonEmptyURL(url) {
|
||||
return url && url !== "/";
|
||||
}
|
||||
function joinURL(base, ...input) {
|
||||
let url = base || "";
|
||||
for (const segment of input.filter((url2) => isNonEmptyURL(url2))) if (url) {
|
||||
const _segment = segment.replace(JOIN_LEADING_SLASH_RE, "");
|
||||
url = withTrailingSlash(url) + _segment;
|
||||
} else url = segment;
|
||||
return url;
|
||||
}
|
||||
//#endregion
|
||||
export { withoutTrailingSlash as i, joinURL as n, withLeadingSlash as r, decodePath as t };
|
||||
58
.output/server/_libs/vercel__oidc.mjs
Normal file
58
.output/server/_libs/vercel__oidc.mjs
Normal file
@@ -0,0 +1,58 @@
|
||||
import { fileURLToPath as __eveFileURLToPath } from "node:url";
|
||||
import { dirname as __eveDirname } from "node:path";
|
||||
__eveDirname(__eveFileURLToPath(import.meta.url));
|
||||
import { t as __commonJSMin } from "../_runtime.mjs";
|
||||
import { a as require_token_error, i as require_token_util } from "./@ai-sdk/gateway+[...].mjs";
|
||||
//#region node_modules/@vercel/oidc/dist/token.js
|
||||
var require_token = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all) __defProp(target, name, {
|
||||
get: all[name],
|
||||
enumerable: true
|
||||
});
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
||||
get: () => from[key],
|
||||
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
||||
});
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var token_exports = {};
|
||||
__export(token_exports, { refreshToken: () => refreshToken });
|
||||
module.exports = __toCommonJS(token_exports);
|
||||
var import_token_error = require_token_error();
|
||||
var import_token_util = require_token_util();
|
||||
async function refreshToken(options) {
|
||||
let projectId = options?.project;
|
||||
let teamId = options?.team;
|
||||
if (!projectId && !teamId) {
|
||||
const projectInfo = (0, import_token_util.findProjectInfo)();
|
||||
projectId = projectInfo.projectId;
|
||||
teamId = projectInfo.teamId;
|
||||
} else if (!projectId || !teamId) {
|
||||
const projectInfo = (0, import_token_util.findProjectInfo)();
|
||||
projectId = projectId ?? projectInfo.projectId;
|
||||
teamId = teamId ?? projectInfo.teamId;
|
||||
}
|
||||
if (!projectId) throw new import_token_error.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");
|
||||
let maybeToken = (0, import_token_util.loadToken)(projectId);
|
||||
if (!maybeToken || (0, import_token_util.isExpired)((0, import_token_util.getTokenPayload)(maybeToken.token), options?.expirationBufferMs)) {
|
||||
const authToken = await (0, import_token_util.getVercelToken)({ expirationBufferMs: options?.expirationBufferMs });
|
||||
maybeToken = await (0, import_token_util.getVercelOidcToken)(authToken, projectId, teamId);
|
||||
if (!maybeToken) throw new import_token_error.VercelOidcTokenError("Failed to refresh OIDC token");
|
||||
(0, import_token_util.saveToken)(maybeToken, projectId);
|
||||
}
|
||||
process.env.VERCEL_OIDC_TOKEN = maybeToken.token;
|
||||
}
|
||||
0 && (module.exports = { refreshToken });
|
||||
}));
|
||||
//#endregion
|
||||
export { require_token as t };
|
||||
Reference in New Issue
Block a user