@barbarbar338/bhapi
Version:
Brawlhalla API wrapper for NodeJS and web
205 lines • 5.39 kB
TypeScript
import { AxiosRequestConfig, AxiosResponse } from "axios";
export type QueueItem = {
config: AxiosRequestConfig;
path: string;
resolve: (value: AxiosResponse) => void;
reject: (reason?: any) => void;
};
export type CustomError = Error & {
retryAfterMs: number;
isRateLimitError: boolean;
};
export type SteamData = {
name: string;
steam_id: string;
steam_url: string;
};
export type BHIDFromSteamID = {
name: string;
brawlhalla_id: number;
};
export type GloryData = {
brawlhalla_id: number;
name: string;
bestElo: number;
eloReset: number;
glory: {
wins: number;
rating: number;
};
};
export type RankingsOptions<T extends RankingTypes = "1v1"> = {
type: T;
region: RankedRegion;
page: string | number;
};
export type RankingResponse<T extends RankingTypes = "1v1"> = T extends "1v1" ? Ranking1v1[] : T extends "2v2" ? Ranking2v2[] : T extends "seasonal" ? RankingSeasonal[] : never;
export type PlayerStats = {
brawlhalla_id: number;
name: string;
xp: number;
level: number;
xp_percentage: number;
games: number;
wins: number;
damagebomb: string;
damagemine: string;
damagespikeball: string;
damagesidekick: string;
hitsnowball: number;
kobomb: number;
komine: number;
kospikeball: number;
kosidekick: number;
kosnowball: number;
legends: LegendStats[];
clan: PlayerClan | undefined;
};
export type LegendStats = {
legend_id: number;
legend_name_key: string;
damagedealt: string;
damagetaken: string;
kos: number;
falls: number;
suicides: number;
teamkos: number;
matchtime: number;
games: number;
wins: number;
damageunarmed: string;
damagethrownitem: string;
damageweaponone: string;
damageweapontwo: string;
damagegadgets: string;
kounarmed: number;
kothrownitem: number;
koweaponone: number;
koweapontwo: number;
kogadgets: number;
timeheldweaponone: number;
timeheldweapontwo: number;
xp: number;
level: number;
xp_percentage: number;
};
export type PlayerClan = {
clan_name: string;
clan_id: number;
clan_xp: string;
personal_xp: number;
};
export type PlayerRanked = PlayerSeason & {
name: string;
brawlhalla_id: number;
global_rank: number;
region_rank: number;
legends: LegendRanked[];
"2v2": T2v2Team[];
};
export type PlayerSeason = {
rating: number;
peak_rating: number;
tier: RankedTier;
wins: number;
games: number;
region: RankedRegion;
};
export type LegendRanked = {
legend_id: number;
legend_name_key: string;
rating: number;
peak_rating: number;
tier: RankedTier;
wins: number;
games: number;
};
export type T2v2Team = {
brawlhalla_id_one: number;
brawlhalla_id_two: number;
rating: number;
peak_rating: number;
tier: RankedTier;
wins: number;
games: number;
teamname: string;
region: RankedRegion;
global_rank: number;
};
export type Clan = {
clan_id: number;
clan_name: string;
clan_create_date: number;
clan_xp: string;
clan: ClanMember[];
};
export type ClanMember = {
brawlhalla_id: number;
name: string;
rank: ClanRank;
join_date: number;
xp: number;
};
export type Ranking = {
rank: number;
rating: number;
tier: RankedTier;
games: number;
wins: number;
region: RankedRegion;
peak_rating: number;
};
export type Ranking1v1 = Ranking & {
name: string;
brawlhalla_id: number;
best_legend: number;
best_legend_games: number;
best_legend_wins: number;
twitch_name?: string;
};
export type Ranking2v2 = Ranking & {
teamname: string;
brawlhalla_id_one: number;
brawlhalla_id_two: number;
twitch_name_one?: string;
twitch_name_two?: string;
};
export type RankingSeasonal = Ranking & {
name: string;
brawlhalla_id: number;
};
export type StaticAllLegends = {
legend_id: number;
legend_name_key: string;
bio_name: string;
bio_aka: string;
weapon_one: string;
weapon_two: string;
strength: string;
dexterity: string;
defense: string;
speed: string;
};
export type StaticLegend = StaticAllLegends & {
bio_quote: string;
bio_quote_about_attrib: string;
bio_quote_from: string;
bio_quote_from_attrib: string;
bio_text: string;
bot_name: string;
};
export type ClanRank = "Leader" | "Officer" | "Member" | "Recruit";
export type RankedTier = "Diamond" | "Platinum 5" | "Platinum 4" | "Platinum 3" | "Platinum 2" | "Platinum 1" | "Gold 5" | "Gold 4" | "Gold 3" | "Gold 2" | "Gold 1" | "Gold 0" | "Silver 5" | "Silver 4" | "Silver 3" | "Silver 2" | "Silver 1" | "Silver 0" | "Bronze 5" | "Bronze 4" | "Bronze 3" | "Bronze 2" | "Bronze 1" | "Bronze 0" | "Tin 5" | "Tin 4" | "Tin 3" | "Tin 2" | "Tin 1" | "Tin 0";
export type RankedRegion = "all" | "ALL" | "us-e" | "US-E" | "eu" | "EU" | "sea" | "SEA" | "brz" | "BRZ" | "aus" | "AUS" | "us-w" | "US-W" | "jpn" | "JPN";
export type RankingTypes = "1v1" | "2v2" | "seasonal";
export declare class BHAPIError<T> extends Error {
code: string;
status: number;
details: T;
constructor(message: string, options: {
code: string;
status: number;
details: T;
});
}
//# sourceMappingURL=types.d.ts.map