Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/$%7Bsuccess?q=fetch&page=7&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=fetch

Returns an array of strings in format "username" or "username/projectName"

Found 8131 results for "fetch"(728ms)

stevensDemoindex.ts2 matches

@tijs•Updated 9 hours ago
135 ));
136
137// HTTP vals expect an exported "fetch handler"
138export default app.fetch;

stevensDemo.cursorrules5 matches

@tijs•Updated 9 hours ago
163```
164
1655. **fetchTranspiledJavaScript** - Fetch and transpile TypeScript to JavaScript:
166```ts
167const jsCode = await fetchTranspiledJavaScript("https://esm.town/v/username/project/path/to/file.ts");
168```
169
242
243 // Inject data to avoid extra round-trips
244 const initialData = await fetchInitialData();
245 const dataScript = `<script>
246 window.__INITIAL_DATA__ = ${JSON.stringify(initialData)};
300
3015. **API Design:**
302 - `fetch` handler is the entry point for HTTP vals
303 - Run the Hono app with `export default app.fetch // This is the entry point for HTTP vals`
304 - Properly handle CORS if needed for external access

stevensDemoApp.tsx17 matches

@tijs•Updated 9 hours ago
82 const [cookieAndTeaMode, setCookieAndTeaMode] = useState(false);
83
84 // Fetch images from backend instead of blob storage directly
85 useEffect(() => {
86 // Set default background color in case image doesn't load
89 }
90
91 // Fetch avatar image
92 fetch("/api/images/stevens.jpg")
93 .then((response) => {
94 if (response.ok) return response.blob();
103 });
104
105 // Fetch wood background
106 fetch("/api/images/wood.jpg")
107 .then((response) => {
108 if (response.ok) return response.blob();
129 }, []);
130
131 const fetchMemories = useCallback(async () => {
132 setLoading(true);
133 setError(null);
134 try {
135 const response = await fetch(API_BASE);
136 if (!response.ok) {
137 throw new Error(`HTTP error! status: ${response.status}`);
154 }
155 } catch (e) {
156 console.error("Failed to fetch memories:", e);
157 setError(e.message || "Failed to fetch memories.");
158 } finally {
159 setLoading(false);
162
163 useEffect(() => {
164 fetchMemories();
165 }, [fetchMemories]);
166
167 const handleAddMemory = async (e: React.FormEvent) => {
176
177 try {
178 const response = await fetch(API_BASE, {
179 method: "POST",
180 headers: { "Content-Type": "application/json" },
188 setNewMemoryTags("");
189 setShowAddForm(false);
190 await fetchMemories();
191 } catch (e) {
192 console.error("Failed to add memory:", e);
199
200 try {
201 const response = await fetch(`${API_BASE}/${id}`, {
202 method: "DELETE",
203 });
205 throw new Error(`HTTP error! status: ${response.status}`);
206 }
207 await fetchMemories();
208 } catch (e) {
209 console.error("Failed to delete memory:", e);
231
232 try {
233 const response = await fetch(`${API_BASE}/${editingMemory.id}`, {
234 method: "PUT",
235 headers: { "Content-Type": "application/json" },
240 }
241 setEditingMemory(null);
242 await fetchMemories();
243 } catch (e) {
244 console.error("Failed to update memory:", e);

aqiutils.ts3 matches

@rhl•Updated 9 hours ago
1import { blob } from "https://esm.town/v/std/blob?v=12";
2import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
3import { msDay } from "https://esm.town/v/stevekrouse/msDay";
4import { msHour } from "https://esm.town/v/stevekrouse/msHour";
25 lon: number;
26}) => {
27 const { results } = await fetchJSON(
28 `${BASE_URL}/v3/locations?`
29 + new URLSearchParams({
50export async function openAqNowcastAQI(location) {
51 const sensorID = location.sensors.find(s => s.parameter.name === "pm25").id;
52 const data = await fetchJSON(
53 `${BASE_URL}/v3/sensors/${sensorID}/measurements?`
54 + new URLSearchParams({

aqiproxy.ts1 match

@rhl•Updated 9 hours ago
3export default async function(req: Request): Promise<Response> {
4 const url = new URL(req.url);
5 return fetch(TARGET_URL + url.pathname + url.search, {
6 headers: {
7 "X-API-Key": Deno.env.get("OpenAQ_API_KEY") as string,

aqinominatim.ts2 matches

@rhl•Updated 9 hours ago
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
2
3export function nominatimSearch(params: Search): Promise<Place[]> {
4 return fetchJSON(
5 "https://nominatim.openstreetmap.org/search?"
6 + new URLSearchParams({

yc_findermain.tsx5 matches

@dbn12•Updated 10 hours ago
62
63 useEffect(() => {
64 const fetchYCCompanies = async () => {
65 const storedCompanies = localStorage.getItem("ycCompanies");
66 if (storedCompanies) {
69 setDebugInfo(prevInfo => prevInfo + `\nLoaded ${companies.length} companies from localStorage`);
70 } else {
71 const response = await fetch("/companies.json");
72 const companies = await response.json();
73 setYcCompanies(companies);
74 localStorage.setItem("ycCompanies", JSON.stringify(companies));
75 setDebugInfo(prevInfo =>
76 prevInfo + `\nFetched ${companies.length} companies from server and stored in localStorage`
77 );
78 }
79 };
80 fetchYCCompanies();
81 }, []);
82
226
227export default async function server(request: Request): Promise<Response> {
228 const companies = await fetch("https://stevekrouse-yc_database.web.val.run").then(res => res.json());
229 const url = new URL(request.url);
230 if (url.pathname === "/companies.json") {

FeedPondmain.js4 matches

@elouan•Updated 12 hours ago
2import { cleanupOldAggregatedEntries } from "./cleanup"; // For manual trigger
3import { initializeAggregatorDB } from "./db"; // Make sure DB is initialized
4import { fetchAndStoreNewCreations } from "./fetchAndStore"; // For manual trigger
5import { serveFrontend } from "./frontend";
6import { generateRSSFeed } from "./generateRSS";
15 console.log(`[${new Date().toISOString()}] Request: ${req.method} ${path}`);
16
17 // Add CORS headers - useful if you ever want to fetch feed via JS
18 const corsHeaders = {
19 "Access-Control-Allow-Origin": "*",
49 case "/_update":
50 console.log("Manual update triggered.");
51 const fetchRes = await fetchAndStoreNewCreations();
52 const cleanupRes = await cleanupOldAggregatedEntries();
53 response = Response.json({ ok: true, fetch: fetchRes, cleanup: cleanupRes }, { headers: corsHeaders });
54 break;
55

FeedPonddb.js1 match

@elouan•Updated 12 hours ago
3// Use a distinct table name for this aggregator instance
4export const AGGREGATOR_TABLE_NAME = "pondiverse_rss_aggregator_v2"; // Incremented version
5export const UPSTREAM_PONDIVERSE_URL = "https://pondiverse.com"; // URL for linking, not fetching
6
7export async function initializeAggregatorDB() {

FeedPondgenerateRSS.js2 matches

@elouan•Updated 12 hours ago
27 try {
28 const results = await sqlite.execute({
29 // Fetch recent items, ordered by original creation time
30 sql: `SELECT title, type, creation_time, image_url, link
31 FROM ${AGGREGATOR_TABLE_NAME}
54 }
55 } catch (error) {
56 console.error("Error fetching items for RSS feed:", error);
57 // Optionally add an error item to the feed
58 itemsXml = `

fetchPaginatedData2 file matches

@nbbaier•Updated 1 week ago

FetchBasic1 file match

@fredmoon•Updated 1 week ago