feat: non-blocking tank averages caching

This commit is contained in:
TresAbhi committed 2023-06-08 01:01:24 +00:00
1 parent a1a13df7ce
commit f28e8c8acb
2 files changed
+13 -11

No files matched your search

+2 -1
View File
@@ -18,8 +18,9 @@ export interface Tankopedia {
[id: number]: TankopediaEntry;
}
console.log('Caching tankopedia...');
export const tankopedia: Tankopedia = {};
console.log('Caching tankopedia...');
fetch('https://www.blitzstars.com/bs-tankopedia.json')
.then(
(response) =>
+11 -10
View File
@@ -63,7 +63,7 @@ export interface MeanSd {
spbSd: number;
}
export interface IndividualTankAverages {
export interface IndividualTankAverage {
_id: number;
battle_life_time: number;
total_battle_life_time: number;
@@ -78,13 +78,14 @@ export interface IndividualTankAverages {
last_update: number;
}
console.log('Caching tank averages...');
const tankAveragesRaw = (await (
await fetch('https://www.blitzstars.com/api/tankaverages.json')
).json()) as IndividualTankAverages[];
export const tankAverages: Record<number, IndividualTankAverages> = {};
export const tankAverages: Record<number, IndividualTankAverage> = {};
Object.entries(tankAveragesRaw).forEach(([, tank]) => {
tankAverages[tank.tank_id] = tank;
});
console.log('Tank averages cached');
console.log('Caching tank averages...');
fetch('https://www.blitzstars.com/api/tankaverages.json')
.then((response) => response.json() as Promise<IndividualTankAverage[]>)
.then((individualTankAverages) => {
individualTankAverages.forEach((individualTankAverage) => {
tankAverages[individualTankAverage.tank_id] = individualTankAverage;
});
console.log('Tank averages cached');
});