1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { hnPost } from "https://esm.town/v/akkartik/hnPost";
let { HNcache } = await import("https://esm.town/v/akkartik/HNcache");
export let hnPostsCached = async (postIds) => {
// request needed ids
var newPosts = {};
for (const postId of postIds) {
if (HNcache[postId] == undefined)
newPosts[postId] = await hnPost(postId);
}
// update cache all at once
HNcache = {
...HNcache,
...newPosts,
};
// construct results
return postIds.map((postId) => HNcache[postId]);
};
👆 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.