1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { email } from "https://esm.town/v/std/email?v=9";
export let sendPDF = (async () => {
const { jsPDF } = await import("npm:jspdf");
const doc = new jsPDF();
doc.text("Hello world!", 10, 10);
return email({
text: "here's a pdf",
attachments: [{
content: btoa(doc.output()),
filename: "test.pdf",
type: "application/pdf",
disposition: "attachment",
}],
});
})();
👆 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.