Строки 198-206 так
holidays.forEach((vm, month) => {
for (const day in vm) {
let hlds = vm[day];
if (!Array.isArray(hlds)) hlds = [hlds];
for (const hld of hlds) {
const [sth, stm=0, sts=0] = (''+hld.start).split(':')
const [drh, drm=0, drs=0] = (''+hld.duration).split(':')
const start = new Date(
now.getFullYear(),
month,
+day,
+sth, +stm, +sts
).getTime();
const nt = now.getTime()
const end = start + ((drh*60+(+drm))*60 +(+drs))*1000;
if (start <= nt && nt < end) {
result.push(hld.compliments);
}
}
}
});
start и duration задавать либо числом часов (0, 24 ...)
либо строкой ("7:00", "12:44:56" ...)