in src/server/ServerCache.ts [112:143]
_setExpirationDate() {
let dates: DateTime[] = [];
if (this.duration) {
const now = DateTime.utc();
dates.push(now.plus(this.duration));
}
if (this.interval) {
const now = DateTime.utc();
const { weekday: weekdayString, hour, minute } = this.interval;
const weekday = weekdays.get(weekdayString);
if (!weekday) {
return;
}
let intervalDate = now.set({
weekday,
hour: hour || 0,
minute: minute || 0,
second: 0,
millisecond: 0,
});
if (intervalDate <= now) {
intervalDate = intervalDate.plus({ weeks: 1 });
}
dates.push(intervalDate);
}
this.expirationDate = DateTime.min(...dates);
console.debug(
`${this.name || "Unnamed"} cache expiration date set to ${
this.expirationDate?.toISO() || "null"
}`
);
}