UNPKG

iracing-api

Version:

Javascript client for iracing API

82 lines (81 loc) 3.54 kB
import { API } from './api'; import { GetSeasonListParams, GetSeasonRaceGuideParams, GetSpectatorSubsessionIdsDetailParams, GetSpectatorSubsessionIdsParams } from '../types'; /** * Provides methods for interacting with season-related endpoints. */ export declare class SeasonAPI extends API { /** * Get a list of seasons for a specific year and quarter. * * @param {GetSeasonListParams} params - Parameters for the request. * @param {number} params.seasonYear - The year of the season. * @param {number} params.seasonQuarter - The quarter of the season (1-4). * * @returns A promise resolving to the list of seasons, or undefined on error. */ getSeasonList: (params: GetSeasonListParams) => Promise<{ seasonYear: number; seasonQuarter: number; seasons: { driverChanges: boolean; fixedSetup: boolean; seasonId: number; licenseGroup: number; seasonYear: number; seasonQuarter: number; seriesId: number; seriesName: string; seasonName: string; official: boolean; rookieSeason?: string | undefined; }[]; } | undefined>; /** * Get the race guide, showing upcoming sessions. * * @param {GetSeasonRaceGuideParams} [params] - Optional parameters to control the time frame. * @param {string} [params.from] - ISO-8601 offset format start time. Defaults to current time. Includes sessions up to 3 hours after this time. * @param {boolean} [params.includeEndAfterFrom=false] - Include sessions starting before `from` but ending after. * * @returns A promise resolving to the race guide data, or undefined on error. */ getSeasonRaceGuide: (params?: GetSeasonRaceGuideParams) => Promise<{ success: boolean; subscribed: boolean; sessions: { endTime: string; startTime: string; entryCount: number; sessionId: number; seasonId: number; seriesId: number; raceWeekNum: number; superSession: boolean; }[]; blockBeginTime: string; blockEndTime: string; } | undefined>; /** * Get a list of subsession IDs that are available for spectating. * * @param {GetSpectatorSubsessionIdsParams} [params] - Optional parameters to filter by event type. * @param {number[]} [params.eventTypes] - Array of event type IDs to include. Defaults to all. * * @returns A promise resolving to the list of spectator subsession IDs, or undefined on error. */ getSpectatorSubsessionIds: (params?: GetSpectatorSubsessionIdsParams) => Promise<{ success: boolean; eventTypes: number[]; subsessionIds: number[]; } | undefined>; /** * Get detailed information about subsession IDs that are available for spectating. * * @param {GetSpectatorSubsessionIdsDetailParams} [params] - Optional parameters to filter by event type and season. * @param {number[]} [params.eventTypes] - Array of event type IDs to include. Defaults to all. * @param {number[]} [params.seasonIds] - Array of season IDs to include. Defaults to all. * * @returns A promise resolving to the detailed list of spectator subsession IDs, or undefined on error. */ getSpectatorSubsessionIdsDetail: (params?: GetSpectatorSubsessionIdsDetailParams) => Promise<Record<string, unknown> | undefined>; }