1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { fetch } from "https://esm.town/v/std/fetch";
export async function wttrGetForecast({
location,
languageCode = "en",
}: WttrGetForecastOptions): Promise<WttrWeather> {
const wttrLocation = encodeURIComponent(location);
const wttrLang = encodeURIComponent(languageCode);
const res = await fetch(
`https://wttr.in/${wttrLocation}?lang=${wttrLang}&format=j1`
);
const weather = (await res.json()).current_condition[0];
return {
temp: weather.temp_C,
feelsLike: weather.FeelsLikeC,
description: weather.weatherDesc.map((wd) => wd.value).join(", "),
uvIndex: weather.uvIndex,
};
}
interface WttrGetForecastOptions {
location: string;
languageCode?: string;
}
interface WttrWeather {
temp: string;
feelsLike: string;
description: string;
uvIndex: string;
}
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
October 23, 2023