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
import { fetch } from "https://esm.town/v/std/fetch";
export async function postHogAPICapture({ key, event, properties, distinct_id }: {
key: string;
event: string;
properties: object;
distinct_id: string;
}) {
const body = {
"api_key": key,
"event": event,
"properties": properties,
"distinct_id": distinct_id,
};
let result = await fetch("https://app.posthog.com/capture/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body),
}).then((r) => r.json());
if (result.error) {
throw new Error("PH error " + result.error.message);
}
else {
return result;
}
}
👆 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.