Files
blitzkit/packages/core/src/blitz/getRatingInfo.ts
T

24 lines
755 B
TypeScript
Raw Normal View History

2024-09-07 23:00:56 -05:00
import { RatingInfo, Region } from '@blitzkit/core';
2024-09-08 10:11:24 -05:00
import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
2024-09-08 10:24:48 -05:00
import { context } from '../blitzkit/context';
import { regionToRegionSubdomain } from './regionToRegionSubdomain';
const cache: Partial<Record<Region, RatingInfo>> = {};
2024-01-19 16:02:03 -06:00
2024-09-08 10:11:24 -05:00
export async function getRatingInfo(region: Region) {
if (cache[region]) return cache[region]!;
2024-01-19 16:02:03 -06:00
2023-11-14 13:42:15 -06:00
const response = await patientFetch(
2023-11-11 21:37:59 -06:00
context === 'website'
? `/api/${region}/rating/current/info`
2023-11-11 21:37:59 -06:00
: `https://${regionToRegionSubdomain(
region,
)}.wotblitz.com/en/api/rating-leaderboards/season/`,
2023-11-14 13:42:15 -06:00
undefined,
);
const data = (await response.json()) as RatingInfo;
2023-09-03 18:15:10 +00:00
cache[region] = data;
2024-01-19 16:02:03 -06:00
return data;
}