wise-eyes-core
Version:
Web server to monitor the status of owlcms
89 lines (88 loc) • 2.83 kB
TypeScript
import type { AthleteState, OwlcmsAthleteList } from './athlete';
import type { ClockState } from './clock';
import Athlete from './athlete';
import Clock from './clock';
export type BreakType = string;
export type CeremonyType = string;
export type Decision = 'bad' | 'good';
export type FopState = string;
export type LiftTypeKey = 'CLEAN_AND_JERK' | 'SNATCH';
export type Mode = 'BEFORE_INTRODUCTION' | 'FIRST_CJ' | 'FIRST_SNATCH' | 'INTRODUCTION' | 'LIFT_COUNTDOWN_CEREMONY' | 'LIFTING' | 'MARSHAL' | 'TECHNICAL' | 'WAIT';
export type OwlcmsLiftType = 'Clean_and_Jerk' | 'Snatch';
export interface PlatformState {
athlete: AthleteState | null;
athleteClock: ClockState;
breakClock: ClockState;
breakType: BreakType | null;
centerReferee: Decision | null;
ceremonyType: CeremonyType | null;
downSignal: boolean;
fopState: FopState | null;
leftReferee: Decision | null;
liftType: string | null;
liftTypeKey: LiftTypeKey | null;
mode: Mode | null;
name: string;
rightReferee: Decision | null;
sessionDescription: string | null;
sessionInfo: string | null;
sessionName: string | null;
}
export interface Session {
description: string;
info: string;
name: string;
}
export default class Platform {
private static platforms;
private athletes;
private athleteClock;
private breakClock;
private breakType;
private centerReferee;
private ceremonyType;
private currentAthlete;
private currentSession;
private downSignal;
private fopState;
private leftReferee;
private liftingOrder;
private liftType;
private liftTypeKey;
private mode;
private name;
private rightReferee;
static getPlatform(name: string): Platform;
static getPlatforms(): string[];
constructor({ name, }: {
name: string;
});
getAthleteClock(): Clock;
getBreakClock(): Clock;
getCurrentAthlete(): Athlete | null;
getLiftingOrder(): Athlete[];
getState(): PlatformState;
resetDecisions(): void;
setBreakType(breakType: BreakType | null): void;
setCeremonyType(ceremonyType: CeremonyType | null): void;
setFopState(fopState: FopState): void;
setLiftType({ key, name, }: {
key: OwlcmsLiftType;
name: string | null;
}): void;
setMode(mode: Mode): void;
setCurrentAthlete(startNumber: number): void;
setDecisions({ centerReferee, leftReferee, rightReferee, }: {
centerReferee: Decision | null;
leftReferee: Decision | null;
rightReferee: Decision | null;
}): void;
setDownSignal(state: boolean): void;
setSession(session: {
description: string;
info: string;
name: string;
}): void;
private updateAthlete;
updateAthletes(athletes: OwlcmsAthleteList): void;
}