brackets-model
Version:
The types needed by brackets-manager.js and brackets-viewer.js
86 lines (85 loc) • 2.18 kB
TypeScript
import { StageSettings } from './input';
import { MatchResults } from './other';
import { Id, StageType } from './unions';
/**
* A participant of a stage (team or individual).
*/
export interface Participant {
/** ID of the participant. */
id: Id;
/** ID of the tournament this participant belongs to. */
tournament_id: Id;
/** Name of the participant. */
name: string;
}
/**
* A stage, which can be a round-robin stage or a single/double elimination stage.
*/
export interface Stage {
/** ID of the stage. */
id: Id;
/** ID of the tournament this stage belongs to. */
tournament_id: Id;
/** Name of the stage. */
name: string;
/** Type of the stage. */
type: StageType;
/** Settings of the stage. */
settings: StageSettings;
/** The number of the stage in its tournament. */
number: number;
}
/**
* A group of a stage.
*/
export interface Group {
/** ID of the group. */
id: Id;
/** ID of the parent stage. */
stage_id: Id;
/** The number of the group in its stage. */
number: number;
}
/**
* A round of a group.
*/
export interface Round {
/** ID of the round. */
id: Id;
/** ID of the parent stage. */
stage_id: Id;
/** ID of the parent group. */
group_id: Id;
/** The number of the round in its group. */
number: number;
}
/**
* A match of a round.
*/
export interface Match extends MatchResults {
/** ID of the match. */
id: Id;
/** ID of the parent stage. */
stage_id: Id;
/** ID of the parent group. */
group_id: Id;
/** ID of the parent round. */
round_id: Id;
/** The number of the match in its round. */
number: number;
/** The count of match games this match has. Can be `0` if it's a simple match, or a positive number for "Best Of" matches. */
child_count: number;
}
/**
* A game of a match.
*/
export interface MatchGame extends MatchResults {
/** ID of the match game. */
id: Id;
/** ID of the parent stage. */
stage_id: Id;
/** ID of the parent match. */
parent_id: Id;
/** The number of the match game in its parent match. */
number: number;
}