refactor start

This commit is contained in:
Spectre 2025-02-18 11:19:45 +01:00
parent bd49791e06
commit e46d25f0b7
16699 changed files with 2 additions and 1484887 deletions

View file

@ -1,59 +0,0 @@
import options from "options"
const { interval, key, cities, unit } = options.datemenu.weather
class Weather extends Service {
static {
Service.register(this, {}, {
"forecasts": ["jsobject"],
})
}
#forecasts: Forecast[] = []
get forecasts() { return this.#forecasts }
async #fetch(placeid: number) {
const url = "https://api.openweathermap.org/data/2.5/forecast"
const res = await Utils.fetch(url, {
params: {
id: placeid,
appid: key.value,
untis: unit.value,
},
})
return await res.json()
}
constructor() {
super()
if (!key.value)
return this
Utils.interval(interval.value, () => {
Promise.all(cities.value.map(this.#fetch)).then(forecasts => {
this.#forecasts = forecasts as Forecast[]
this.changed("forecasts")
})
})
}
}
export default new Weather
type Forecast = {
city: {
name: string,
}
list: Array<{
dt: number
main: {
temp: number
feels_like: number
},
weather: Array<{
main: string,
description: string,
icon: string,
}>
}>
}