From 480111d758e93f07d6523b0ef3ba9a777a597f35 Mon Sep 17 00:00:00 2001 From: r-freeman Date: Wed, 22 Feb 2023 22:17:24 +0000 Subject: [PATCH] Converted fetcher function to ts --- lib/fetcher.js | 3 --- lib/fetcher.ts | 7 +++++++ lib/grafana.ts | 2 +- lib/statsfm.ts | 8 ++++---- 4 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 lib/fetcher.js create mode 100644 lib/fetcher.ts diff --git a/lib/fetcher.js b/lib/fetcher.js deleted file mode 100644 index 34c484d..0000000 --- a/lib/fetcher.js +++ /dev/null @@ -1,3 +0,0 @@ -const fetcher = (...args) => fetch(...args).then(res => res.json()) - -export default fetcher \ No newline at end of file diff --git a/lib/fetcher.ts b/lib/fetcher.ts new file mode 100644 index 0000000..428549d --- /dev/null +++ b/lib/fetcher.ts @@ -0,0 +1,7 @@ +export default async function fetcher( + input: RequestInfo, + init?: RequestInit +): Promise { + const res = await fetch(input, init) + return res.json() +} \ No newline at end of file diff --git a/lib/grafana.ts b/lib/grafana.ts index 2c3fd0a..c49a6e4 100644 --- a/lib/grafana.ts +++ b/lib/grafana.ts @@ -1,6 +1,6 @@ import fetcher from '@/lib/fetcher' -const GRAFANA_URL = process.env.GRAFANA_URL +const GRAFANA_URL: string = process.env.GRAFANA_URL ?? "" const GRAFANA_TOKEN = process.env.GRAFANA_TOKEN export const getTemp = async () => { diff --git a/lib/statsfm.ts b/lib/statsfm.ts index cc1268e..246c8c6 100644 --- a/lib/statsfm.ts +++ b/lib/statsfm.ts @@ -1,6 +1,6 @@ -import fetch from 'node-fetch' +import fetcher from './fetcher' -const STATSFM_USERNAME = process.env.STATSFM_USERNAME +const STATSFM_USERNAME: string = process.env.STATSFM_USERNAME ?? "" const STATSFM_LIFETIME_STATS = `https://beta-api.stats.fm/api/v1/users/${STATSFM_USERNAME}/streams/stats?range=lifetime` type StatsFmResponse = { @@ -11,12 +11,12 @@ type StatsFmResponse = { } export const getStats = async () => { - const response = await fetch(STATSFM_LIFETIME_STATS, { + const response = await fetcher(STATSFM_LIFETIME_STATS, { method: 'GET', headers: { 'Accept': 'application/json' } - }).then(r => r.json()) as StatsFmResponse + }) as StatsFmResponse const {durationMs} = response.items const hoursListened = (durationMs / 3_600_000).toFixed(0)