turnitdownmain.tsx1 match
8384export default async function server(req: Request): Promise<Response> {
85return app.fetch(req);
86}
iconExplorermain.tsx5 matches
2* This val creates an enhanced NPM package explorer using the npm registry API.
3* It displays a grid of npm packages with basic information, categories, and navigation.
4* The approach uses React for the frontend and fetch for API calls.
5* It includes a details view for each package, a link to the npm page, and category navigation.
6*/
2021useEffect(() => {
22fetchPackages();
23}, [searchTerm, category, page]);
2425const fetchPackages = () => {
26let url = `/search?q=${encodeURIComponent(searchTerm)}&size=${ITEMS_PER_PAGE}&from=${(page - 1) * ITEMS_PER_PAGE}`;
27if (category !== "all") {
28url += `&category=${encodeURIComponent(category)}`;
29}
30fetch(url)
31.then(response => response.json())
32.then(data => setPackages(data.objects));
114}
115116const response = await fetch(apiUrl);
117const data = await response.json();
118return new Response(JSON.stringify(data), {
todaystatsmain.tsx45 matches
1/**
2* This tool fetches real-time data from various free APIs to create a JSON object
3* representing the current state of the world from different perspectives.
4* Data is cached for 30 minutes using Val Town's SQLite database to reduce API calls and improve performance.
21}
2223// Utility function for fetching JSON data
24async function fetchJSON(url: string) {
25try {
26const response = await fetch(url);
27if (!response.ok) {
28throw new Error(`HTTP error! status: ${response.status}`);
30return await response.json();
31} catch (error) {
32console.error(`Error fetching ${url}:`, error);
33return null;
34}
40}
4142// Utility function for fetching Wolfram Alpha data
43async function fetchWolframData(query: string) {
44const appId = 'K8UTGR-8Y5G3A3VTP';
45const url = `http://api.wolframalpha.com/v1/result?appid=${appId}&i=${encodeURIComponent(query)}`;
46try {
47const response = await fetch(url);
48if (!response.ok) {
49throw new Error(`HTTP error! status: ${response.status}`);
51return await response.text();
52} catch (error) {
53console.error(`Error fetching Wolfram data for query "${query}":`, error);
54return null;
55}
56}
5758// Utility function for fetching Alpha Vantage stock data
59async function fetchStockData(symbol: string) {
60const apiKey = 'TD7I78XY3N2AGKWP';
61const url = `https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=${symbol}&interval=5min&apikey=${apiKey}`;
62try {
63const data = await fetchJSON(url);
64if (data && data['Time Series (5min)']) {
65const latestTimestamp = Object.keys(data['Time Series (5min)'])[0];
70}
71} catch (error) {
72console.error(`Error fetching stock data for symbol ${symbol}:`, error);
73return null;
74}
90}
9192// If no valid cache, fetch new data
93const issData = await fetchJSON('http://api.open-notify.org/iss-now.json');
94const weatherData = await fetchJSON('https://api.open-meteo.com/v1/forecast?latitude=40.71&longitude=-74.01¤t_weather=true&temperature_unit=celsius&daily=temperature_2m_max,temperature_2m_min,sunrise,sunset&timezone=America%2FNew_York');
95const airQualityData = await fetchJSON('https://api.waqi.info/feed/geo:40.71;-74.01/?token=demo');
96const cryptoData = await fetchJSON('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,dogecoin,ripple,cardano,polkadot,litecoin&vs_currencies=usd');
97const peopleInSpaceData = await fetchJSON('http://api.open-notify.org/astros.json');
98const timeData = await fetchJSON('https://worldtimeapi.org/api/timezone/America/New_York,Europe/London,Asia/Tokyo');
99const exchangeRateData = await fetchJSON('https://api.exchangerate-api.com/v4/latest/USD');
100const usaCovidData = await fetchJSON('https://disease.sh/v3/covid-19/countries/USA');
101const solarData = await fetchJSON('https://services.swpc.noaa.gov/json/solar-cycle/observed-solar-cycle-indices.json');
102const earthquakeData = await fetchJSON('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson');
103104const worldPopulation = await fetchWolframData('current world population');
105const carbonDioxide = await fetchWolframData('current atmospheric CO2');
106const internetUsers = await fetchWolframData('number of internet users');
107const globalTemperature = await fetchWolframData('current global average temperature');
108const moonPhase = await fetchWolframData('current moon phase');
109const usUnemploymentRate = await fetchWolframData('current US unemployment rate');
110const globalInflationRate = await fetchWolframData('current global inflation rate');
111const oilPrice = await fetchWolframData('current oil price');
112const goldPrice = await fetchWolframData('current gold price');
113114const sp500 = await fetchStockData('SPY');
115const dowJones = await fetchStockData('DIA');
116const nasdaq = await fetchStockData('QQQ');
117const appleStock = await fetchStockData('AAPL');
118const nvidiaStock = await fetchStockData('NVDA');
119const teslaStock = await fetchStockData('TSLA');
120const amazonStock = await fetchStockData('AMZN');
121const googleStock = await fetchStockData('GOOGL');
122123const worldState = {
267</div>
268<script>
269async function fetchData() {
270try {
271const response = await fetch(window.location.href);
272const data = await response.json();
273document.getElementById('data').textContent = JSON.stringify(data, null, 2);
274} catch (error) {
275console.error('Error:', error);
276document.getElementById('data').textContent = 'Error fetching data';
277}
278}
279fetchData();
280</script>
281</body>
daisyui_honomain.tsx1 match
39});
4041export default app.fetch;
1/**
2* This program creates an HTTP server that fetches various data from NASA APIs
3* and returns a JSON response with a collection of interesting information about today.
4* It uses multiple NASA APIs to gather diverse space-related data, including real-time imagery
10const NASA_API_KEY = 'vYg1cCNLVbcgNemMWuLEjoJsGOGbBXZjZjmwVwuV';
1112async function fetchNASAData() {
13const today = new Date().toISOString().split('T')[0];
1415// Fetch Astronomy Picture of the Day
16const apodResponse = await fetch(`https://api.nasa.gov/planetary/apod?api_key=${NASA_API_KEY}`);
17const apodData = await apodResponse.json();
1819// Fetch latest EPIC image metadata
20const epicResponse = await fetch(`https://api.nasa.gov/EPIC/api/natural?api_key=${NASA_API_KEY}`);
21const epicData = await epicResponse.json();
22const latestEpicImage = epicData[0];
2324// Fetch Near Earth Objects for today
25const neowsResponse = await fetch(`https://api.nasa.gov/neo/rest/v1/feed?start_date=${today}&end_date=${today}&api_key=${NASA_API_KEY}`);
26const neowsData = await neowsResponse.json();
2728// Fetch Mars Weather data (note: this data is not always up-to-date)
29const marsWeatherResponse = await fetch(`https://api.nasa.gov/insight_weather/?api_key=${NASA_API_KEY}&feedtype=json&ver=1.0`);
30const marsWeatherData = await marsWeatherResponse.json();
3132// Fetch Earth Observatory Natural Event Tracker (EONET) data
33const eonetResponse = await fetch(`https://eonet.gsfc.nasa.gov/api/v3/events`);
34const eonetData = await eonetResponse.json();
3536// Fetch ISS Current Location
37const issResponse = await fetch('http://api.open-notify.org/iss-now.json');
38const issData = await issResponse.json();
3940// Fetch NASA Image and Video Library data
41const nasaLibraryResponse = await fetch(`https://images-api.nasa.gov/search?q=space&media_type=image`);
42const nasaLibraryData = await nasaLibraryResponse.json();
4344// Fetch TLE (Two-Line Element) data for satellites
45const tleResponse = await fetch('https://www.celestrak.com/NORAD/elements/gp.php?GROUP=active&FORMAT=json');
46const tleData = await tleResponse.json();
47105export default async function server(request: Request): Promise<Response> {
106try {
107const nasaData = await fetchNASAData();
108return new Response(JSON.stringify(nasaData, null, 2), {
109headers: { 'Content-Type': 'application/json' },
110});
111} catch (error) {
112return new Response(JSON.stringify({ error: 'Failed to fetch NASA data' }), {
113status: 500,
114headers: { 'Content-Type': 'application/json' },
135136// Proceed with the proxy request
137let resp = await fetch("https://news.ycombinator.com" + url.pathname + url.search, {
138headers: req.headers,
139method: req.method,
sqliteExplorerAppmain.tsx4 matches
1/** @jsxImportSource https://esm.sh/hono@latest/jsx **/
23import { modifyFetchHandler } from "https://esm.town/v/andreterron/codeOnValTown?v=50";
4import { iframeHandler } from "https://esm.town/v/nbbaier/iframeHandler";
5import { resetStyle } from "https://esm.town/v/nbbaier/resetStyle";
16import { verifyToken } from "https://esm.town/v/pomdtr/verifyToken";
17import { ResultSet, sqlite } from "https://esm.town/v/std/sqlite";
18import { reloadOnSaveFetchMiddleware } from "https://esm.town/v/stevekrouse/reloadOnSave";
19import { Hono } from "npm:hono";
20import type { FC } from "npm:hono/jsx";
175});
176177export const handler = app.fetch;
178export default iframeHandler(modifyFetchHandler(passwordAuth(handler, { verifyPassword: verifyToken })));
68headers?: Record<string, string>;
69}) => {
70let result = await fetch(
71`${API_URL}/v1/email`,
72{
reluctantCoffeeGayalmain.tsx7 matches
4445useEffect(() => {
46fetchAnswersAndRankings();
47}, [user]);
4849const fetchAnswersAndRankings = async () => {
50if (user) {
51const response = await fetch("/api/answers");
52const data = await response.json();
53setAnswers(data.answers);
59const saveAnswer = useCallback(async (newAnswer: Answer, losingAnswer: string) => {
60if (user) {
61await fetch("/api/answer", {
62method: "POST",
63headers: { "Content-Type": "application/json" },
64body: JSON.stringify({ ...newAnswer, losingAnswer }),
65});
66fetchAnswersAndRankings();
67}
68}, [user]);
70const clearAnswers = useCallback(async () => {
71if (user) {
72await fetch("/api/clear-answers", { method: "POST" });
73setAnswers([]);
74setRankings([]);
242const handleLogin = useCallback(async (e: React.FormEvent) => {
243e.preventDefault();
244const response = await fetch("/api/login", {
245method: "POST",
246headers: { "Content-Type": "application/json" },
fancyPlumSquirrelmain.tsx7 matches
1/**
2* This val creates an elegant and professional web app for managing panel members for the State Street discussion.
3* It uses React for the UI, SQLite for storing panel member information, and the Fetch API to communicate with the server.
4* The design is clean and sophisticated, with a muted color palette and subtle animations.
5*/
1617useEffect(() => {
18fetchPanelMembers();
19}, []);
2021const fetchPanelMembers = async () => {
22setIsLoading(true);
23try {
24const response = await fetch("/panel-members");
25if (!response.ok) {
26throw new Error("Failed to fetch panel members");
27}
28const data = await response.json();
39setIsLoading(true);
40try {
41const response = await fetch("/add-member", {
42method: "POST",
43headers: { "Content-Type": "application/json" },
48}
49setNewMember({ name: "", expertise: "" });
50fetchPanelMembers();
51} catch (err) {
52setError("Failed to add panel member. Please try again.");