1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { objectMap } from "https://esm.town/v/stevekrouse/objectMap";
export let generateKeys = async () =>
objectMap(
await crypto.subtle.generateKey(
{
name: "ECDSA",
namedCurve: "P-384",
},
true,
["sign", "verify"],
),
(key, value) => crypto.subtle.exportKey("jwk", value),
);
👆 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.