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

27 lines
980 B
TypeScript
Raw Normal View History

2024-09-08 10:11:24 -05:00
import { LeagueTop, RatingPlayer, Region } from '@blitzkit/core';
2024-09-08 10:15:42 -05:00
import { regionToRegionSubdomain } from '../../../website/src/core/blitz/regionToRegionSubdomain';
import { context } from '../../../website/src/core/blitzkit/context';
import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
2023-11-07 18:58:19 -06:00
export async function getRatingLeague(
2023-11-07 18:58:19 -06:00
region: Region,
league: number,
usePatientFetcher = false,
) {
const fetcher = (url: string) =>
usePatientFetcher
? patientFetch(url, undefined, { cache: 'no-store' })
: fetch(url, { cache: 'no-store' });
2023-11-07 18:58:19 -06:00
const response = await fetcher(
2023-11-11 21:37:59 -06:00
context === 'website'
? `/api/${region}/rating/current/league/${league}`
2023-11-11 21:37:59 -06:00
: `https://${regionToRegionSubdomain(
region,
)}.wotblitz.com/en/api/rating-leaderboards/league/${league}/top/`,
2023-11-07 18:58:19 -06:00
);
const json = await response.json();
2023-11-07 18:58:19 -06:00
return context === 'website'
? (json as RatingPlayer[])
: (json as LeagueTop).result;
2023-11-07 18:58:19 -06:00
}