iracing-node-api
Version:
A nodejs wrapper for Iracing's data api.
33 lines (32 loc) • 1.65 kB
TypeScript
import { CarAssetResponse, CarDataResponse, EventLogResponse, LapDataResponse, League, LeagueRoster, LeagueSeasonSessionsResponse, Member, MemberStatHistory, Season, SessionResult, TrackAssetResponse, TrackData } from './types';
type InitOptions = {
shouldUseInterval: boolean;
};
declare class IracingClient {
authenticated: boolean;
private apiClient;
private email;
private password;
private interval;
private options;
private agent;
constructor(email: string, password: string, options?: InitOptions);
private handleError;
private encodeCredentials;
signIn(): Promise<void>;
private getResource;
getCarAssets(): Promise<CarAssetResponse>;
getTrackData(): Promise<TrackData[]>;
getTrackAssets(): Promise<TrackAssetResponse>;
getCarData(): Promise<CarDataResponse[]>;
getSessionResults(subsessionId: number): Promise<SessionResult>;
getSessionLogs(subsessionId: number, sessionNumber: number): Promise<EventLogResponse>;
getLapChartData(subsessionId: number, sessionNumber: number): Promise<LapDataResponse>;
getMemberStatsHistory(category: 'road' | 'oval' | 'dirt-oval' | 'dirt', chart_type: 'iRating' | 'tt-rating' | 'sr', memberId: number): Promise<MemberStatHistory>;
getMember(memberId: number): Promise<Member | null>;
getLeague(leagueId: number): Promise<League | null>;
getLeagueSeasons(leagueId: number): Promise<Season | null>;
getLeagueRoster(leagueId: number): Promise<LeagueRoster | null>;
getLeagueSeasonSesssions(leagueId: number, seasonId: number): Promise<LeagueSeasonSessionsResponse | null>;
}
export default IracingClient;