1import { parseXML } from "https://esm.town/v/stevekrouse/parseXML";
2import { normalizeURL } from "https://esm.town/v/stevekrouse/normalizeURL";
3import { fetchText } from "https://esm.town/v/stevekrouse/fetchText";
4
5export let fetchXML = (url: string) =>
6 fetchText(normalizeURL(url))
7 .then(parseXML);
1import { fetch } from "https://esm.town/v/std/fetch";
2import { API_URL } from "https://esm.town/v/std/API_URL";
3
4export function runVal(name, ...args) {
5 return fetch(`${API_URL}/v1/run/${name.replace("@", "")}`, {
6 method: "POST",
7 body: JSON.stringify({
1import { fetch } from "https://esm.town/v/std/fetch";
2
3export let valTownApiExampleSearch = (async () => {
4 const query = new URLSearchParams({ query: "lodash", limit: "4" });
5 const response = await fetch(`https://api.val.town/v1/search/vals?${query}`);
6 const json = await response.json();
7 return json;
1import { fetch } from "https://esm.town/v/std/fetch";
2
3export let blocks_inner = async (req, res) => {
4 const [_, user, id, ...file] = req.path.split("/");
5 const gist = await fetch(`https://api.github.com/gists/${id}`).then((r) =>
6 r.json()
7 );
11 res.set("Content-Type", "application/javascript");
12 return res.send(
13 await fetch(gist.files[file.filter(Boolean).join("/")].raw_url).then(
14 (r) => r.text()
15 ),
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
2
3export let vid = async (name) =>
4 (await fetchJSON(
5 `https://api.val.town/v1/alias/${name.replace(".", "/").replace("@", "")}`,
6 )).id;
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
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";
2
3export async function valTownBlogJSON(): Promise<Blog[]> {
4 let { parse } = await import("npm:node-html-parser");
5 const text = await fetchText("https://blog.val.town");
6 return [
7 ...parse(text)
76 });
77 });
78 return app.fetch(req);
79};
41 });
42 });
43 return app.fetch(req);
44});
1import { fetch } from "https://esm.town/v/std/fetch";
2
3let { californiaBusinessNotificationsLast } = await import("https://esm.town/v/tmcw/californiaBusinessNotificationsLast");
5export const californiaBusinessNotifications = (async () => {
6 const { parse } = await import("https://deno.land/x/xml/mod.ts");
7 const res: any = await fetch(
8 "https://bizfileonline.sos.ca.gov/api/FilingDetail/business/4603/false",
9 {