tournament-organizer
Version:
JavaScript library for running tournaments
43 lines (42 loc) • 1.47 kB
TypeScript
import { Player } from '../components/Player.js';
import { Match } from '../components/Match.js';
/**
* All properties that can be set with {@link Tournament.settings}.
*
* See {@link TournamentValues} for detailed descriptions of properties.
*/
export interface SettableTournamentValues {
name?: string;
status?: 'setup' | 'stage-one' | 'stage-two' | 'complete';
round?: number;
players?: Array<Player>;
matches?: Array<Match>;
seating?: boolean;
sorting?: 'ascending' | 'descending' | 'none';
scoring?: {
bestOf?: number;
win?: number;
draw?: number;
loss?: number;
bye?: number;
tiebreaks?: Array<'median buchholz' | 'solkoff' | 'sonneborn berger' | 'cumulative' | 'versus' | 'game win percentage' | 'opponent game win percentage' | 'opponent match win percentage' | 'opponent opponent match win percentage'>;
};
stageOne?: {
format?: 'single-elimination' | 'double-elimination' | 'stepladder' | 'swiss' | 'round-robin' | 'double-round-robin';
consolation?: boolean;
rounds?: number;
initialRound?: number;
maxPlayers?: number;
};
stageTwo?: {
format?: 'single-elimination' | 'double-elimination' | 'stepladder' | null;
consolation?: boolean;
advance?: {
value?: number;
method?: 'points' | 'rank' | 'all';
};
};
meta?: {
[key: string]: any;
};
}