UNPKG

wise-eyes-core

Version:

Web server to monitor the status of owlcms

89 lines (88 loc) 2.83 kB
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; }