fix: more imports 2

This commit is contained in:
TrèsAbhi committed 2024-09-08 10:15:42 -05:00
1 parent 4f24db0956
commit c51ddbc725
49 files changed
+138 -123

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
import { Region } from '@blitzkit/core';
import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz';
import { normalizeIds } from '../../../website/src/core/blitz/normalizeIds';
interface IndividualClanInfo {
recruiting_options: {
vehicles_level: number;
wins_ratio: number;
average_battles_per_day: number;
battles: number;
average_damage: number;
};
members_count: number;
name: string;
creator_name: string;
clan_id: number;
created_at: number;
updated_at: number;
leader_name: string;
members_ids: number[];
recruiting_policy: string;
tag: string;
is_clan_disbanded: boolean;
old_name: string;
emblem_set_id: number;
creator_id: number;
motto: string;
renamed_at: number;
old_tag: null;
leader_id: number;
description: string;
}
interface ClanInfo {
[clanId: number]: IndividualClanInfo;
}
export async function getClanInfo<
Ids extends number | number[],
ReturnType = Ids extends number ? IndividualClanInfo : IndividualClanInfo[],
>(region: Region, ids: Ids) {
const object = await fetchBlitz<ClanInfo>(region, 'clans/info', {
clan_id: normalizeIds(ids),
});
if (typeof ids === 'number') {
return object[ids as number] as ReturnType;
} else {
return ids.map((id) => object[id]) as ReturnType;
}
}