mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 03:59:50 +02:00
feat: moved tankopedia and tankaverages into a runtime cache
This commit is contained in:
1 parent
95b105cb65
commit
00b721f34f
29 files changed
+268
-235
No files matched your search
@@ -3,7 +3,7 @@ import { emptyAllStats } from './getTankStatsDiffed.js';
|
||||
import { tankAverages } from './tankAverages.js';
|
||||
|
||||
console.log('Calculating player average...');
|
||||
export const playerAverage = Object.entries(tankAverages).reduce(
|
||||
export const playerAverage = Object.entries(await tankAverages).reduce(
|
||||
(accumulator, [, tankAverage]) => {
|
||||
return sumStats([accumulator, tankAverage.all]);
|
||||
},
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import { readFileSync } from 'fs';
|
||||
import { join } from 'path';
|
||||
import { AllStats } from '../../types/accountInfo.js';
|
||||
|
||||
export interface SpecialStats {
|
||||
@@ -82,6 +80,22 @@ export interface IndividualTankAverage {
|
||||
|
||||
export type TankAverages = Record<number, IndividualTankAverage>;
|
||||
|
||||
export const tankAverages = JSON.parse(
|
||||
readFileSync(join(__dirname, 'tankaverages.json')) as unknown as string,
|
||||
) as TankAverages;
|
||||
console.log('Caching tank averages...');
|
||||
export const tankAverages = fetch(
|
||||
'https://www.blitzstars.com/api/tankaverages.json',
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((individualTankAverages) => {
|
||||
const partialTankAverages: TankAverages = {};
|
||||
|
||||
(individualTankAverages as IndividualTankAverage[]).forEach(
|
||||
(individualTankAverage) => {
|
||||
partialTankAverages[individualTankAverage.tank_id] =
|
||||
individualTankAverage;
|
||||
},
|
||||
);
|
||||
|
||||
console.log('Tank averages cached');
|
||||
|
||||
return partialTankAverages;
|
||||
});
|
||||
Reference in new issue
Block a user