9app.get("/", async (c) => c.html(await sqlite_admin_tables()));
10app.get("/:table", async (c) => c.html(await sqlite_admin_table(c.req.param("table"))));
11export default basicAuth(app.fetch);
1import { email } from "https://esm.town/v/std/email?v=9";
2import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
3import { nominatimSearch } from "https://esm.town/v/stevekrouse/nominatimSearch";
4import { weatherGovGrid } from "https://esm.town/v/stevekrouse/weatherGovGrid";
14 lon,
15 });
16 let { properties: { periods } } = await fetchJSON(
17 grid.forecastHourly,
18 );
1import { GITHUB_EMOJIS } from "https://esm.town/v/karfau/GITHUB_EMOJIS";
2import { fetch } from "https://esm.town/v/std/fetch?v=4";
3
4export const isEmoji = (key: string) => Object.hasOwn(GITHUB_EMOJIS, key);
23 }
24 try {
25 return fetch(url);
26 } catch (error) {
27 console.error(req.url, nameFromURL, error);
1import { fetchNftMetadata } from "https://esm.town/v/jamiedubs/nftMetadata";
2
3export const nftImage = async (req: Request) => {
7 const format = searchParams.get("format")?.toLowerCase() ?? "text";
8 console.log("nftImage", { contractAddress, tokenId });
9 const json = await fetchNftMetadata(contractAddress, tokenId);
10 console.log("nftMetadata response =>", json);
11 const imageUrl = json["metadata"] && json["metadata"]["image"];
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON?v=42";
2
3const randomId = () => Math.random().toString(36).substring(2, 8);
4
5const createResult = await fetchJSON(`https://api.val.town/v1/vals`, {
6 method: "POST",
7 bearer: Deno.env.get("valtown"),
16const newName = `api_test_updated_${randomId()}`;
17
18const updateResult = await fetch(`https://api.val.town/v1/vals/${createResult.id}`, {
19 method: "PUT",
20 headers: {
1import { fetch } from "https://esm.town/v/std/fetch";
2import process from "node:process";
3
4export async function fetchNftMetadata(contractAddress: string, tokenId: string) {
5 const apiKey = process.env.ALCHEMY_API_KEY;
6 const rpcUrl = `https://eth-mainnet.g.alchemy.com/nft/v2/${apiKey}`;
7 const url = `${rpcUrl}/getNFTMetadata?contractAddress=${contractAddress}&tokenId=${tokenId}`;
8 const response = await fetch(url, {
9 method: "GET",
10 headers: {
34 return Response.json({ error: "you must specify ?contractAddress...&tokenId=..." });
35 }
36 const json = await fetchNftMetadata(contractAddress, tokenId);
37 return Response.json(json);
38}
1import { email } from "https://esm.town/v/std/email?v=9";
2
3// Fetches a random joke.
4async function fetchRandomJoke() {
5 const response = await fetch(
6 "https://official-joke-api.appspot.com/random_joke",
7 );
9}
10
11const randomJoke = await fetchRandomJoke();
12const setup = randomJoke.setup;
13const punchline = randomJoke.punchline;
1import { email } from "https://esm.town/v/std/email?v=9";
2
3// Fetches a random joke.
4async function fetchRandomJoke() {
5 const response = await fetch(
6 "https://official-joke-api.appspot.com/random_joke",
7 );
9}
10
11const randomJoke = await fetchRandomJoke();
12const setup = randomJoke.setup;
13const punchline = randomJoke.punchline;
1import { email } from "https://esm.town/v/std/email?v=9";
2
3// Fetches a random joke.
4function fetchRandomJoke() {
5 const SAMPLE_JOKE = {
6 "setup": "What do you call a group of disorganized cats?",
10}
11
12const randomJoke = fetchRandomJoke();
13const setup = randomJoke.setup;
14const punchline = randomJoke.punchline;
1import { email } from "https://esm.town/v/std/email?v=9";
2
3// Fetches a random joke.
4async function fetchRandomJoke() {
5 const response = await fetch(
6 "https://official-joke-api.appspot.com/random_joke",
7 );
9}
10
11const randomJoke = await fetchRandomJoke();
12const setup = randomJoke.setup;
13const punchline = randomJoke.punchline;