1import { fetch } from "https://esm.town/v/std/fetch";
2
3export let getEpicTvProduct = async (url) => {
4 const cheerio = await import("npm:cheerio@1.0.0-rc.12");
5 const html = await (await fetch(url)).text();
6 const $ = cheerio.load(html);
7 return {
1import { fetchJSON } from "https://esm.town/v/mgruel/fetchJSON";
2
3type PaginatedData<T> = {
16 let nextUrl = url;
17 while (nextUrl) {
18 const { data, links } = await fetchJSON<PaginatedData<T>>(
19 nextUrl,
20 options,
1import { fetch } from "https://esm.town/v/std/fetch";
2
3export const fetchText = (
4 url: string | URL,
5 options?: RequestInit,
6): Promise<string> =>
7 fetch(url, {
8 redirect: "follow",
9 ...options,
1import { parseMenuLine } from "https://esm.town/v/tal/parseMenuLine";
2import { fetchDOEMenu } from "https://esm.town/v/tal/fetchDOEMenu";
3
4export const testDoeMenuLines = (async () => {
5 const menuText = await fetchDOEMenu({
6 schoolYear: "2023-2024",
7 month: "september",
1import { fetch } from "https://esm.town/v/std/fetch";
2
3export async function emailRandomJoke() {
4 async function fetchRandomJoke() {
5 const response = await fetch(
6 "https://official-joke-api.appspot.com/random_joke",
7 );
8 return response.json();
9 }
10 const randomJoke = await fetchRandomJoke();
11 const setup = randomJoke.setup;
12 const punchline = randomJoke.punchline;
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON?v=41";
2
3// Returns NASA's Astronomy Picture of the Day (APOD)
4export const nasaAPOD = fetchJSON("cutt.ly/T7ksirK");
5// Forked from @iBrokeit.nasaAPOD
1import { fetchText } from "https://esm.town/v/stevekrouse/fetchText?v=5";
2
3export const scrape_gradio_data = async (url) => {
4 const cheerio = await import("npm:cheerio@1.0.0-rc.12");
5 const html = await fetchText(url);
6 const $ = cheerio.load(html);
7 // This is the part most likely to break:
1import { fetchText } from "https://esm.town/v/stevekrouse/fetchText?v=5";
2
3// Random math fact
4export let mathFact = fetchText(
5 "http://numbersapi.com/random/math"
6);
2import process from "node:process";
3import { pelotonUserId } from "https://esm.town/v/andreterron/pelotonUserId";
4import { fetchPelotonWorkouts } from "https://esm.town/v/andreterron/fetchPelotonWorkouts";
5
6export const fetchPelotonData = async () =>
7 await Promise.all(
8 (
9 await fetchPelotonWorkouts(
10 pelotonUserId,
11 process.env.pelotonSessionId
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON?v=41";
2
3// GitHub repos
4export let githubRepos = fetchJSON(
5 "https://api.github.com/users/stevekrouse/repos"
6);