From 640eddc3651e18f56736962e5d5e3f4dba020f7b Mon Sep 17 00:00:00 2001 From: vikingowl Date: Thu, 24 Mar 2022 10:18:57 +0100 Subject: [PATCH] added custom types --- src/types/Match.ts | 19 +++++++++++++++++++ src/types/MatchChat.ts | 14 ++++++++++++++ src/types/MatchRounds.ts | 7 +++++++ src/types/MatchStats.ts | 40 +++++++++++++++++++++++++++++++++++++++ src/types/MatchWeapons.ts | 19 +++++++++++++++++++ src/types/Player.ts | 19 +++++++++++++++++++ src/types/PlayerMate.ts | 8 ++++++++ src/types/PlayerMeta.ts | 26 +++++++++++++++++++++++++ src/types/index.ts | 8 ++++++++ 9 files changed, 160 insertions(+) create mode 100644 src/types/Match.ts create mode 100644 src/types/MatchChat.ts create mode 100644 src/types/MatchRounds.ts create mode 100644 src/types/MatchStats.ts create mode 100644 src/types/MatchWeapons.ts create mode 100644 src/types/Player.ts create mode 100644 src/types/PlayerMate.ts create mode 100644 src/types/PlayerMeta.ts create mode 100644 src/types/index.ts diff --git a/src/types/Match.ts b/src/types/Match.ts new file mode 100644 index 0000000..9ce0267 --- /dev/null +++ b/src/types/Match.ts @@ -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; +} diff --git a/src/types/MatchChat.ts b/src/types/MatchChat.ts new file mode 100644 index 0000000..489b7d3 --- /dev/null +++ b/src/types/MatchChat.ts @@ -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; + } + ]; +} diff --git a/src/types/MatchRounds.ts b/src/types/MatchRounds.ts new file mode 100644 index 0000000..90b79c1 --- /dev/null +++ b/src/types/MatchRounds.ts @@ -0,0 +1,7 @@ +export interface MatchRounds { + [key: string]: [ + { + [key: string]: [equip: number, spent: number, bank: number]; + } + ]; +} diff --git a/src/types/MatchStats.ts b/src/types/MatchStats.ts new file mode 100644 index 0000000..0da8c8c --- /dev/null +++ b/src/types/MatchStats.ts @@ -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; +} diff --git a/src/types/MatchWeapons.ts b/src/types/MatchWeapons.ts new file mode 100644 index 0000000..428adc3 --- /dev/null +++ b/src/types/MatchWeapons.ts @@ -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]; + }; + } + ]; +} diff --git a/src/types/Player.ts b/src/types/Player.ts new file mode 100644 index 0000000..7f006f6 --- /dev/null +++ b/src/types/Player.ts @@ -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[]; +} diff --git a/src/types/PlayerMate.ts b/src/types/PlayerMate.ts new file mode 100644 index 0000000..6263247 --- /dev/null +++ b/src/types/PlayerMate.ts @@ -0,0 +1,8 @@ +import type { Player } from "@/types/Player"; + +export interface PlayerMate { + player: Player; + win_rate?: number; + tie_rate?: number; + total?: number; +} diff --git a/src/types/PlayerMeta.ts b/src/types/PlayerMeta.ts new file mode 100644 index 0000000..9ebe28a --- /dev/null +++ b/src/types/PlayerMeta.ts @@ -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; + }; +} diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..c9bbbfe --- /dev/null +++ b/src/types/index.ts @@ -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";