UNPKG

modaq

Version:

Quiz Bowl Reader using TypeScript, React, and MobX

38 lines (37 loc) 3.08 kB
/// <reference types="@maxim_mazurok/gapi.client.sheets-v4" /> import { Cycle } from "../state/Cycle"; import { IBonusAnswerEvent, IBonusProtestEvent, IPlayerJoinsEvent, IPlayerLeavesEvent, ISubstitutionEvent, ITossupAnswerEvent, ITossupProtestEvent } from "../state/Events"; import { Player } from "../state/TeamState"; import { IPlayerToColumnMap } from "./PlayerToColumnMap"; export interface ISheetsGenerator { readonly rostersRange: string; readonly firstCycleRow: number; readonly playerRow: number; readonly playerInitialColumns: string[]; readonly overwriteCheckRanges: string[]; readonly playerPerTeamLimit: number; readonly cyclesLimit: number; readonly writeNoPenaltyBuzzes: boolean; getRosters(values: gapi.client.sheets.ValueRange): IRoster | undefined; getSheetName(roundNumber: number): string; getClearRanges(sheetName: string): string[]; getValuesForSubs(sub: ISubstitutionEvent, playerToColumnMapping: IPlayerToColumnMap, sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForPlayerJoins(join: IPlayerJoinsEvent, playerToColumnMapping: IPlayerToColumnMap, sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForPlayerLeaves(leave: IPlayerLeavesEvent, playerToColumnMapping: IPlayerToColumnMap, sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForTossupProtests(protests: ITossupProtestEvent[], teamNames: string[], sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForBonusProtests(protests: IBonusProtestEvent[], teamNames: string[], sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForCorrectBuzz(buzz: ITossupAnswerEvent, points: number, playerToColumnMapping: IPlayerToColumnMap, sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForNeg(buzz: ITossupAnswerEvent, points: number, playerToColumnMapping: IPlayerToColumnMap, sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForBonusAnswer(bonusAnswer: IBonusAnswerEvent, teamNames: string[], sheetName: string, row: number, bouncesBounceBack: boolean): gapi.client.sheets.ValueRange[]; getValuesForBonusClear(sheetName: string): gapi.client.sheets.ValueRange[]; getValuesForDeadQuestion(sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForBuzzPoints(buzzPoints: number[], sheetName: string, row: number): gapi.client.sheets.ValueRange[]; getValuesForTeams(teamNames: string[], sheetName: string): gapi.client.sheets.ValueRange[]; getValuesForStartingLineups(players: Player[], playerToColumnMapping: IPlayerToColumnMap, sheetName: string): gapi.client.sheets.ValueRange[]; getValuesForTossupsHeard(cycles: Cycle[], players: Player[], playerToColumnMapping: IPlayerToColumnMap, sheetName: string): gapi.client.sheets.ValueRange[]; isControlSheet(values: gapi.client.sheets.ValueRange): boolean; } export interface IRoster { teamNames: string[]; players: Player[]; }