Public
HTTP
tal-doemenucalendar.web.val.run
October 23, 2023
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { buildDoeMenuCalendar } from "https://esm.town/v/tal/buildDoeMenuCalendar";
import { doeMenuResponseStore } from "https://esm.town/v/tal/doeMenuResponseStore";
import { ensureDataForKey } from "https://esm.town/v/tal/ensureDataForKey";
import { dateCalendarKey } from "https://esm.town/v/tal/dateCalendarKey";
import { currentDateValues } from "https://esm.town/v/tal/currentDateValues";
export async function doeMenuCalendar(req: Request) {
const url = new URL(req.url);
const menuType = url.pathname.substring(1);
const today = currentDateValues();
const key = dateCalendarKey({
...today,
menuType,
});
await ensureDataForKey({
...today,
menuType,
});
const storeValue = doeMenuResponseStore[key];
if (!storeValue) {
return new Response(`not found for key ${key}`);
}
const context = {
menuType,
};
const calendar = await buildDoeMenuCalendar(
context as any,
storeValue,
);
const body = calendar.toString();
return new Response(body, {
headers: {
"Content-Type": "text/calendar",
},
});
}
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
October 23, 2023