added custom types

This commit is contained in:
2022-03-24 10:18:57 +01:00
parent 190064497e
commit 640eddc365
9 changed files with 160 additions and 0 deletions

19
src/types/Match.ts Normal file
View File

@@ -0,0 +1,19 @@
import type { MatchStats } from "@/types/MatchStats";
export interface Match {
match_id: string;
share_code?: string;
map: string;
date: number;
score: [team_1: number, team_2: number];
duration: number;
match_result: number;
max_rounds?: number;
parsed: boolean;
replay_url?: string;
vac: boolean;
game_ban: boolean;
avg_rank?: number;
tick_rate?: number;
stats?: MatchStats;
}

14
src/types/MatchChat.ts Normal file
View File

@@ -0,0 +1,14 @@
import type { Player } from "@/types/Player";
export interface MatchChat {
[key: string]: [
{
player?: Player;
message: string;
all_chat: boolean;
tick: number;
translated_from?: string;
translated_to?: string;
}
];
}

7
src/types/MatchRounds.ts Normal file
View File

@@ -0,0 +1,7 @@
export interface MatchRounds {
[key: string]: [
{
[key: string]: [equip: number, spent: number, bank: number];
}
];
}

40
src/types/MatchStats.ts Normal file
View File

@@ -0,0 +1,40 @@
import type { Player } from "@/types/Player";
export interface MatchStats {
team_id: number;
kills: number;
deaths: number;
assists: number;
headshot: number;
mvp: number;
score: number;
rank?: {
old?: number;
new?: number;
};
multi_kills?: {
duo?: number;
triple?: number;
quad?: number;
pent?: number;
};
dmg?: {
enemy?: number;
team?: number;
};
flash?: {
duration?: {
self?: number;
team?: number;
enemy?: number;
};
total?: {
self?: number;
team?: number;
enemy?: number;
};
};
crosshair?: string;
color?: string;
player?: Player;
}

19
src/types/MatchWeapons.ts Normal file
View File

@@ -0,0 +1,19 @@
export interface MatchWeapons {
equipment_map?: {
[key: string]: string;
};
stats?: [
{
[key: string]: {
[key: string]: [equip: number, spent: number, bank: number];
};
}
];
spray?: [
{
[key: string]: {
[key: string]: [x: number, y: number];
};
}
];
}

19
src/types/Player.ts Normal file
View File

@@ -0,0 +1,19 @@
import type { Match } from "@/types/Match";
export interface Player {
steamid64: string;
name?: string;
avatar?: string;
vac: boolean;
vac_date?: number;
game_ban: boolean;
game_ban_date?: number;
tracked: boolean;
vanity_url?: string;
match_stats?: {
win?: number;
loss?: number;
tie?: number;
};
matches?: Match[];
}

8
src/types/PlayerMate.ts Normal file
View File

@@ -0,0 +1,8 @@
import type { Player } from "@/types/Player";
export interface PlayerMate {
player: Player;
win_rate?: number;
tie_rate?: number;
total?: number;
}

26
src/types/PlayerMeta.ts Normal file
View File

@@ -0,0 +1,26 @@
import type { Player } from "@/types/Player";
import type { PlayerMate } from "@/types/PlayerMate";
export interface PlayerMeta {
player: Player;
best_mates?: PlayerMate[];
most_mates?: PlayerMate[];
eq_map?: {
[key: number]: string;
};
weapon_dmg?: [
{
eq: number;
dmg: number;
}
];
win_maps?: {
[key: string]: number;
};
tie_maps?: {
[key: string]: number;
};
total_maps?: {
[key: string]: number;
};
}

8
src/types/index.ts Normal file
View File

@@ -0,0 +1,8 @@
export * from "@/types/Match";
export * from "@/types/MatchChat";
export * from "@/types/MatchRounds";
export * from "@/types/MatchStats";
export * from "@/types/MatchWeapons";
export * from "@/types/Player";
export * from "@/types/PlayerMate";
export * from "@/types/PlayerMeta";