1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { email } from "https://esm.town/v/std/email?v=9";
import { hnEmail } from "https://esm.town/v/akkartik/hnEmail";
import { hnFollowLastSyncTime } from "https://esm.town/v/akkartik/hnFollowLastSyncTime";
import { hnAuthors } from "https://esm.town/v/akkartik/hnAuthors";
import { hnLatestPosts } from "https://esm.town/v/stevekrouse/hnLatestPosts?v=18";
export const hnFollow = async () => {
// poll using @stevekrouse's helper function
let posts = await hnLatestPosts({
authors: hnAuthors,
lastSyncTime: hnFollowLastSyncTime,
search_by_date: true,
});
// if there are results, email yourself
if (!posts?.length) {
return;
}
let { text, subject } = await hnEmail({ posts });
await email({ html: text, subject });
};
👆 This is a val. Vals are TypeScript snippets of code, written in the browser and run on our servers. Create scheduled functions, email yourself, and persist small pieces of data — all from the browser.