tal/parseMenuLine

References

Referenced 2 times
1
2
3
4
5
6
7
8
9
10
11
12
import { parseMenuLine } from "https://esm.town/v/tal/parseMenuLine";
import { fetchDOEMenu } from "https://esm.town/v/tal/fetchDOEMenu";
export const testDoeMenuLines = (async () => {
const menuText = await fetchDOEMenu({
schoolYear: "2023-2024",
month: "september",
menuType: "pre-k---8-lunch-menu",
});
const lines = menuText.split("\r\n").map(parseMenuLine);
return lines;
})();
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
import { set } from "https://esm.town/v/std/set?v=11";
import { doeMenuResponseStore } from "https://esm.town/v/tal/doeMenuResponseStore";
import { dateCalendarKey } from "https://esm.town/v/tal/dateCalendarKey";
import { parseMenuLine } from "https://esm.town/v/tal/parseMenuLine";
import { fetchDOEMenu } from "https://esm.town/v/tal/fetchDOEMenu";
export async function fetchAndStore(opts: {
schoolYear: `${number}-${number}`;
month: string;
menuType: string;
}) {
const menuText = await fetchDOEMenu(opts);
const lines: ReturnType<typeof parseMenuLine>[] = await Promise
.all(menuText.split("\r\n").map(parseMenuLine));
const key = dateCalendarKey(opts);
doeMenuResponseStore[key] = {
lastFetchedAt: new Date(),
lines,
};
await set(
"doeMenuResponseStore",
doeMenuResponseStore,
);
return {
lines,
};
}
1
Next