iracing-data-client 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client.ts","../src/car/types.ts","../src/car/service.ts","../src/carclass/types.ts","../src/carclass/service.ts","../src/constants/types.ts","../src/constants/service.ts","../src/driver-stats-by-category/types.ts","../src/driver-stats-by-category/service.ts","../src/hosted/types.ts","../src/hosted/service.ts","../src/league/types.ts","../src/league/service.ts","../src/lookup/types.ts","../src/lookup/service.ts","../src/member/types.ts","../src/member/service.ts","../src/results/service.ts","../src/season/types.ts","../src/season/service.ts","../src/series/types.ts","../src/series/service.ts","../src/stats/types.ts","../src/stats/service.ts","../src/team/types.ts","../src/team/service.ts","../src/time-attack/types.ts","../src/time-attack/service.ts","../src/track/types.ts","../src/track/service.ts","../src/results/types.ts","../src/index.ts"],"names":["z","mappedData","z2","z3","z4","z5","z6","z7","z8","z9","z10","z11","z12","z13","z14","z15","z16"],"mappings":"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","file":"index.js","sourcesContent":["import * as z from \"zod/mini\";\n\n/** Lightweight client with presigned-link following and caching */\nexport type FetchLike = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;\n\nconst IRacingClientOptionsSchema = z.object({\n email: z.optional(z.string()),\n password: z.optional(z.string()),\n headers: z.optional(z.record(z.string(), z.string())),\n fetchFn: z.optional(z.any()),\n validateParams: z.optional(z.boolean()),\n});\n\nexport type IRacingClientOptions = z.infer<typeof IRacingClientOptionsSchema>;\n\ninterface AuthResponse {\n authcode: string;\n autoLoginSeries: null | string;\n autoLoginToken: null | string;\n custId: number;\n email: string;\n ssoCookieDomain: string;\n ssoCookieName: string;\n ssoCookiePath: string;\n ssoCookieValue: string;\n}\n\ninterface S3Response {\n link: string;\n expires: string;\n}\n\ntype CacheEntry = { data: unknown; expiresAt: number };\n\nexport class IRacingError extends Error {\n constructor(\n message: string,\n public readonly status?: number,\n public readonly statusText?: string,\n public readonly responseData?: any\n ) {\n super(message);\n this.name = 'IRacingError';\n }\n\n get isMaintenanceMode(): boolean {\n return this.status === 503 &&\n this.responseData?.error === 'Site Maintenance';\n }\n\n get isRateLimited(): boolean {\n return this.status === 429;\n }\n\n get isUnauthorized(): boolean {\n return this.status === 401;\n }\n}\n\nexport class IRacingClient {\n private baseUrl = 'https://members-ng.iracing.com';\n private fetchFn: FetchLike;\n private authData: AuthResponse | null = null;\n private cookies: Record<string, string> | null = null;\n private email?: string;\n private password?: string;\n private presetHeaders?: Record<string, string>;\n private validateParams: boolean;\n private expiringCache = new Map<string, CacheEntry>();\n\n constructor(opts: IRacingClientOptions = {}) {\n const validatedOpts = IRacingClientOptionsSchema.parse(opts);\n\n this.fetchFn = validatedOpts.fetchFn ?? globalThis.fetch;\n if (!this.fetchFn) throw new Error(\"No fetch available. Pass fetchFn in IRacingClientOptions.\");\n\n this.email = validatedOpts.email;\n this.password = validatedOpts.password;\n this.presetHeaders = validatedOpts.headers;\n this.validateParams = validatedOpts.validateParams ?? true;\n\n if (!this.email && !this.password && !this.presetHeaders) {\n throw new Error(\"Must provide either email/password or headers for authentication\");\n }\n }\n\n private buildUrl(endpoint: string, params?: Record<string, any>): string {\n const url = new URL(endpoint.startsWith(\"http\") ? endpoint : `${this.baseUrl}${endpoint}`);\n\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n url.searchParams.append(key, value.join(\",\"));\n } else if (typeof value === \"boolean\") {\n url.searchParams.append(key, value ? \"true\" : \"false\");\n } else {\n url.searchParams.append(key, String(value));\n }\n }\n });\n }\n\n return url.toString();\n }\n\n private async ensureAuthenticated(): Promise<void> {\n if (this.presetHeaders) {\n // Using preset headers, no authentication needed\n return;\n }\n\n if (!this.authData && this.email && this.password) {\n await this.authenticate();\n }\n }\n\n private async authenticate(): Promise<void> {\n if (!this.email || !this.password) {\n throw new Error(\"Email and password required for authentication\");\n }\n\n const response = await this.fetchFn(`${this.baseUrl}/auth`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email: this.email,\n password: this.password\n }),\n });\n\n if (!response.ok) {\n const text = await response.text().catch(() => \"\");\n throw new Error(`Authentication failed: ${response.statusText} - ${text}`);\n }\n\n this.authData = await response.json();\n\n // Parse and store cookies\n if (!this.authData) {\n throw new Error('Authentication failed - no auth data received');\n }\n\n this.cookies = {\n 'irsso_membersv2': this.authData.ssoCookieValue,\n 'authtoken_members': `%7B%22authtoken%22%3A%7B%22authcode%22%3A%22${this.authData.authcode}%22%2C%22email%22%3A%22${encodeURIComponent(this.authData.email)}%22%7D%7D`\n };\n }\n\n private mapParamsToApi(params?: Record<string, any>): Record<string, any> | undefined {\n if (!params) return undefined;\n const mapped: Record<string, any> = {};\n for (const [key, value] of Object.entries(params)) {\n // Convert camelCase to snake_case\n const snakeKey = key.replace(/[A-Z]/g, m => \"_\" + m.toLowerCase());\n mapped[snakeKey] = value;\n }\n return mapped;\n }\n\n private mapResponseFromApi(data: any): any {\n if (data === null || data === undefined) return data;\n\n if (Array.isArray(data)) {\n return data.map(item => this.mapResponseFromApi(item));\n }\n\n if (typeof data === 'object') {\n const mapped: Record<string, any> = {};\n for (const [key, value] of Object.entries(data)) {\n // Convert snake_case and kebab-case to camelCase\n // prettier-ignore\n const camelKey = key\n .replace(/_([a-z0-9])/g, (_, char) => char.toUpperCase())\n .replace(/-([a-z0-9])/g, (_, char) => char.toUpperCase());\n mapped[camelKey] = this.mapResponseFromApi(value);\n }\n return mapped;\n }\n\n return data;\n }\n\n\n async get<T = unknown>(url: string, options?: { params?: Record<string, any>; schema?: z.ZodMiniType<T> }): Promise<T> {\n await this.ensureAuthenticated();\n\n // Convert camelCase params back to snake_case for the API\n const apiParams = this.mapParamsToApi(options?.params);\n\n const headers: Record<string, string> = {};\n\n if (this.presetHeaders) {\n // Use preset headers (like cookies from manual auth)\n Object.assign(headers, this.presetHeaders);\n } else if (this.cookies) {\n // Use authenticated cookies\n const cookieString = Object.entries(this.cookies)\n .map(([name, value]) => `${name}=${value}`)\n .join('; ');\n headers['Cookie'] = cookieString;\n } else {\n throw new Error('No authentication available');\n }\n\n const response = await this.fetchFn(this.buildUrl(url, apiParams), {\n headers,\n });\n\n if (!response.ok) {\n const text = await response.text().catch(() => \"\");\n let responseData: any = null;\n\n // Try to parse JSON error response\n try {\n responseData = JSON.parse(text);\n } catch {\n // Not JSON, use raw text\n }\n\n // Handle maintenance mode specifically\n if (response.status === 503 && responseData?.error === 'Site Maintenance') {\n throw new IRacingError(\n `iRacing is currently in maintenance mode: ${responseData.message || 'Service temporarily unavailable'}`,\n response.status,\n response.statusText,\n responseData\n );\n }\n\n // Handle other specific errors\n if (response.status === 429) {\n throw new IRacingError(\n 'Rate limit exceeded. Please wait before making more requests.',\n response.status,\n response.statusText,\n responseData\n );\n }\n\n if (response.status === 401) {\n throw new IRacingError(\n 'Authentication failed. Please check your credentials.',\n response.status,\n response.statusText,\n responseData\n );\n }\n\n // Generic error\n const errorMessage = responseData?.message || responseData?.error || text || response.statusText;\n throw new IRacingError(\n `Request failed: ${errorMessage}`,\n response.status,\n response.statusText,\n responseData\n );\n }\n\n const contentType = response.headers.get(\"content-type\") || \"\";\n\n // Check if this is a direct JSON response (some endpoints don't use S3)\n if (contentType.includes(\"application/json\")) {\n const data = await response.json();\n\n // Check if it's an S3 link response\n if (data.link && data.expires) {\n // Fetch the actual data from S3\n const s3Response = await this.fetchFn(data.link);\n if (!s3Response.ok) {\n throw new Error(`Failed to fetch from S3: ${s3Response.statusText}`);\n }\n\n // Check content type of S3 response\n const s3ContentType = s3Response.headers.get(\"content-type\") || \"\";\n if (s3ContentType.includes(\"text/csv\") || s3ContentType.includes(\"text/plain\")) {\n // Return CSV as raw text wrapped in an object\n const csvText = await s3Response.text();\n return {\n ContentType: \"csv\",\n RawData: csvText,\n Note: \"This endpoint returns CSV data, not JSON\"\n } as T;\n }\n\n const s3Data = await s3Response.json();\n const mappedData = this.mapResponseFromApi(s3Data);\n\n if (options?.schema) {\n return options.schema.parse(mappedData);\n }\n\n return mappedData as T;\n }\n\n const mappedData = this.mapResponseFromApi(data);\n\n if (options?.schema) {\n return options.schema.parse(mappedData);\n }\n\n return mappedData as T;\n }\n\n throw new Error(`Unexpected content type: ${contentType}`);\n }\n\n isAuthenticated(): boolean {\n return this.authData !== null || !!this.presetHeaders;\n }\n\n getCustomerId(): number | null {\n return this.authData?.custId ?? null;\n }\n}\n","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst CarAssets = z.record(z.string(), z.object({\n carId: z.optional(z.nullable(z.number())),\n carRules: z.optional(z.nullable(z.array(z.unknown()))),\n detailCopy: z.optional(z.nullable(z.string())),\n detailScreenShotImages: z.optional(z.nullable(z.string())),\n detailTechspecsCopy: z.optional(z.nullable(z.string())),\n folder: z.optional(z.nullable(z.string())),\n galleryImages: z.optional(z.nullable(z.string())),\n galleryPrefix: z.optional(z.nullable(z.string())),\n groupImage: z.optional(z.nullable(z.string())),\n groupName: z.optional(z.nullable(z.string())),\n largeImage: z.optional(z.nullable(z.string())),\n logo: z.optional(z.nullable(z.string())),\n smallImage: z.optional(z.nullable(z.string())),\n sponsorLogo: z.optional(z.nullable(z.string())),\n templatePath: z.optional(z.nullable(z.string()))\n}));\nconst CarGet = z.array(z.object({\n aiEnabled: z.boolean(),\n allowNumberColors: z.boolean(),\n allowNumberFont: z.boolean(),\n allowSponsor1: z.boolean(),\n allowSponsor2: z.boolean(),\n allowWheelColor: z.boolean(),\n awardExempt: z.boolean(),\n carConfigDefs: z.array(z.object({\n carcfg: z.number(),\n cfgSubdir: z.nullable(z.string()),\n customPaintExt: z.nullable(z.string()),\n name: z.string()\n })),\n carConfigs: z.array(z.object({\n carcfg: z.number(),\n trackId: z.optional(z.number()),\n trackType: z.optional(z.number())\n })),\n carDirpath: z.string(),\n carId: z.number(),\n carName: z.string(),\n carNameAbbreviated: z.string(),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n carWeight: z.number(),\n categories: z.array(z.string()),\n created: z.string(),\n firstSale: z.string(),\n folder: z.string(),\n forumUrl: z.optional(z.string()),\n freeWithSubscription: z.boolean(),\n hasHeadlights: z.boolean(),\n hasMultipleDryTireTypes: z.boolean(),\n hasRainCapableTireTypes: z.boolean(),\n hp: z.number(),\n isPsPurchasable: z.boolean(),\n logo: z.nullable(z.string()),\n maxPowerAdjustPct: z.number(),\n maxWeightPenaltyKg: z.number(),\n minPowerAdjustPct: z.number(),\n packageId: z.number(),\n patterns: z.number(),\n price: z.number(),\n priceDisplay: z.optional(z.string()),\n rainEnabled: z.boolean(),\n retired: z.boolean(),\n searchFilters: z.string(),\n sku: z.number(),\n smallImage: z.string(),\n sponsorLogo: z.nullable(z.string()),\n carMake: z.optional(z.string()),\n carModel: z.optional(z.string()),\n paintRules: z.optional(z.record(z.string(), z.unknown())),\n siteUrl: z.optional(z.string())\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type CarAssetsResponse = z.infer<typeof CarAssets>;\nexport type CarGetResponse = z.infer<typeof CarGet>;\n\n// ---- Parameter Schemas ----\n\nconst CarAssetsParamsSchema = z.object({\n});\n\nconst CarGetParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type CarAssetsParams = z.infer<typeof CarAssetsParamsSchema>;\nexport type CarGetParams = z.infer<typeof CarGetParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n CarAssetsParamsSchema,\n CarGetParamsSchema,\n CarAssets,\n CarGet,\n};","import type { IRacingClient } from \"../client\";\nimport type { CarAssetsResponse, CarGetResponse } from \"./types\";\nimport { CarAssets, CarGet } from \"./types\";\n\nexport class CarService {\n constructor(private client: IRacingClient) {}\n\n /**\n * assets\n * @see https://members-ng.iracing.com/data/car/assets\n * @sample car.assets.json\n */\n async assets(): Promise<CarAssetsResponse> {\n return this.client.get<CarAssetsResponse>(\"https://members-ng.iracing.com/data/car/assets\", { schema: CarAssets });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/car/get\n * @sample car.get.json\n */\n async get(): Promise<CarGetResponse> {\n return this.client.get<CarGetResponse>(\"https://members-ng.iracing.com/data/car/get\", { schema: CarGet });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Common Schemas ----\n\nconst CarInClassSchema = z.object({\n carDirpath: z.string(), // maps from: car_dirpath\n carId: z.number(), // maps from: car_id\n rainEnabled: z.boolean(), // maps from: rain_enabled\n retired: z.boolean()\n});\n\n// ---- Response Schemas ----\n\nconst CarclassGet = z.array(z.object({\n carClassId: z.number(),\n carsInClass: z.array(z.object({\n carDirpath: z.string(),\n carId: z.number(),\n rainEnabled: z.boolean(),\n retired: z.boolean()\n })),\n custId: z.number(),\n name: z.string(),\n rainEnabled: z.boolean(),\n relativeSpeed: z.number(),\n shortName: z.string()\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type CarclassGetResponse = z.infer<typeof CarclassGet>;\n\n// ---- Parameter Schemas ----\n\nconst CarclassGetParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type CarclassGetParams = z.infer<typeof CarclassGetParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n CarclassGetParamsSchema,\n CarclassGet,\n};","import type { IRacingClient } from \"../client\";\nimport type { CarclassGetResponse } from \"./types\";\nimport { CarclassGet } from \"./types\";\n\nexport class CarclassService {\n constructor(private client: IRacingClient) {}\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/carclass/get\n * @sample carclass.get.json\n */\n async get(): Promise<CarclassGetResponse> {\n return this.client.get<CarclassGetResponse>(\"https://members-ng.iracing.com/data/carclass/get\", { schema: CarclassGet });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst ConstantsCategories = z.array(z.object({\n label: z.string(),\n value: z.number()\n}));\nconst ConstantsDivisions = z.array(z.object({\n label: z.string(),\n value: z.number()\n}));\nconst ConstantsEventTypes = z.array(z.object({\n label: z.string(),\n value: z.number()\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type ConstantsCategoriesResponse = z.infer<typeof ConstantsCategories>;\nexport type ConstantsDivisionsResponse = z.infer<typeof ConstantsDivisions>;\nexport type ConstantsEventTypesResponse = z.infer<typeof ConstantsEventTypes>;\n\n// ---- Parameter Schemas ----\n\nconst ConstantsCategoriesParamsSchema = z.object({\n});\n\nconst ConstantsDivisionsParamsSchema = z.object({\n});\n\nconst ConstantsEventTypesParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type ConstantsCategoriesParams = z.infer<typeof ConstantsCategoriesParamsSchema>;\nexport type ConstantsDivisionsParams = z.infer<typeof ConstantsDivisionsParamsSchema>;\nexport type ConstantsEventTypesParams = z.infer<typeof ConstantsEventTypesParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n ConstantsCategoriesParamsSchema,\n ConstantsDivisionsParamsSchema,\n ConstantsEventTypesParamsSchema,\n ConstantsCategories,\n ConstantsDivisions,\n ConstantsEventTypes,\n};","import type { IRacingClient } from \"../client\";\nimport type { ConstantsCategoriesResponse, ConstantsDivisionsResponse, ConstantsEventTypesResponse } from \"./types\";\nimport { ConstantsCategories, ConstantsDivisions, ConstantsEventTypes } from \"./types\";\n\nexport class ConstantsService {\n constructor(private client: IRacingClient) {}\n\n /**\n * categories\n * @see https://members-ng.iracing.com/data/constants/categories\n * @sample constants.categories.json\n */\n async categories(): Promise<ConstantsCategoriesResponse> {\n return this.client.get<ConstantsCategoriesResponse>(\"https://members-ng.iracing.com/data/constants/categories\", { schema: ConstantsCategories });\n }\n\n /**\n * divisions\n * @see https://members-ng.iracing.com/data/constants/divisions\n * @sample constants.divisions.json\n */\n async divisions(): Promise<ConstantsDivisionsResponse> {\n return this.client.get<ConstantsDivisionsResponse>(\"https://members-ng.iracing.com/data/constants/divisions\", { schema: ConstantsDivisions });\n }\n\n /**\n * event_types\n * @see https://members-ng.iracing.com/data/constants/event_types\n * @sample constants.event_types.json\n */\n async eventTypes(): Promise<ConstantsEventTypesResponse> {\n return this.client.get<ConstantsEventTypesResponse>(\"https://members-ng.iracing.com/data/constants/event_types\", { schema: ConstantsEventTypes });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst DriverStatsByCategoryOval = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\nconst DriverStatsByCategorySportsCar = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\nconst DriverStatsByCategoryFormulaCar = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\nconst DriverStatsByCategoryRoad = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\nconst DriverStatsByCategoryDirtOval = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\nconst DriverStatsByCategoryDirtRoad = z.object({\n ContentType: z.literal(\"csv\"),\n RawData: z.string(),\n Note: z.string()\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type DriverStatsByCategoryOvalResponse = z.infer<typeof DriverStatsByCategoryOval>;\nexport type DriverStatsByCategorySportsCarResponse = z.infer<typeof DriverStatsByCategorySportsCar>;\nexport type DriverStatsByCategoryFormulaCarResponse = z.infer<typeof DriverStatsByCategoryFormulaCar>;\nexport type DriverStatsByCategoryRoadResponse = z.infer<typeof DriverStatsByCategoryRoad>;\nexport type DriverStatsByCategoryDirtOvalResponse = z.infer<typeof DriverStatsByCategoryDirtOval>;\nexport type DriverStatsByCategoryDirtRoadResponse = z.infer<typeof DriverStatsByCategoryDirtRoad>;\n\n// ---- Parameter Schemas ----\n\nconst DriverStatsByCategoryOvalParamsSchema = z.object({\n});\n\nconst DriverStatsByCategorySportsCarParamsSchema = z.object({\n});\n\nconst DriverStatsByCategoryFormulaCarParamsSchema = z.object({\n});\n\nconst DriverStatsByCategoryRoadParamsSchema = z.object({\n});\n\nconst DriverStatsByCategoryDirtOvalParamsSchema = z.object({\n});\n\nconst DriverStatsByCategoryDirtRoadParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type DriverStatsByCategoryOvalParams = z.infer<typeof DriverStatsByCategoryOvalParamsSchema>;\nexport type DriverStatsByCategorySportsCarParams = z.infer<typeof DriverStatsByCategorySportsCarParamsSchema>;\nexport type DriverStatsByCategoryFormulaCarParams = z.infer<typeof DriverStatsByCategoryFormulaCarParamsSchema>;\nexport type DriverStatsByCategoryRoadParams = z.infer<typeof DriverStatsByCategoryRoadParamsSchema>;\nexport type DriverStatsByCategoryDirtOvalParams = z.infer<typeof DriverStatsByCategoryDirtOvalParamsSchema>;\nexport type DriverStatsByCategoryDirtRoadParams = z.infer<typeof DriverStatsByCategoryDirtRoadParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n DriverStatsByCategoryOvalParamsSchema,\n DriverStatsByCategorySportsCarParamsSchema,\n DriverStatsByCategoryFormulaCarParamsSchema,\n DriverStatsByCategoryRoadParamsSchema,\n DriverStatsByCategoryDirtOvalParamsSchema,\n DriverStatsByCategoryDirtRoadParamsSchema,\n DriverStatsByCategoryOval,\n DriverStatsByCategorySportsCar,\n DriverStatsByCategoryFormulaCar,\n DriverStatsByCategoryRoad,\n DriverStatsByCategoryDirtOval,\n DriverStatsByCategoryDirtRoad,\n};","import type { IRacingClient } from \"../client\";\nimport type { DriverStatsByCategoryOvalResponse, DriverStatsByCategorySportsCarResponse, DriverStatsByCategoryFormulaCarResponse, DriverStatsByCategoryRoadResponse, DriverStatsByCategoryDirtOvalResponse, DriverStatsByCategoryDirtRoadResponse } from \"./types\";\nimport { DriverStatsByCategoryOval, DriverStatsByCategorySportsCar, DriverStatsByCategoryFormulaCar, DriverStatsByCategoryRoad, DriverStatsByCategoryDirtOval, DriverStatsByCategoryDirtRoad } from \"./types\";\n\nexport class DriverStatsByCategoryService {\n constructor(private client: IRacingClient) {}\n\n /**\n * oval\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/oval\n * @sample driver_stats_by_category.oval.json\n */\n async oval(): Promise<DriverStatsByCategoryOvalResponse> {\n return this.client.get<DriverStatsByCategoryOvalResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/oval\", { schema: DriverStatsByCategoryOval });\n }\n\n /**\n * sports_car\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/sports_car\n * @sample driver_stats_by_category.sports_car.json\n */\n async sportsCar(): Promise<DriverStatsByCategorySportsCarResponse> {\n return this.client.get<DriverStatsByCategorySportsCarResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/sports_car\", { schema: DriverStatsByCategorySportsCar });\n }\n\n /**\n * formula_car\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/formula_car\n * @sample driver_stats_by_category.formula_car.json\n */\n async formulaCar(): Promise<DriverStatsByCategoryFormulaCarResponse> {\n return this.client.get<DriverStatsByCategoryFormulaCarResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/formula_car\", { schema: DriverStatsByCategoryFormulaCar });\n }\n\n /**\n * road\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/road\n * @sample driver_stats_by_category.road.json\n */\n async road(): Promise<DriverStatsByCategoryRoadResponse> {\n return this.client.get<DriverStatsByCategoryRoadResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/road\", { schema: DriverStatsByCategoryRoad });\n }\n\n /**\n * dirt_oval\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/dirt_oval\n * @sample driver_stats_by_category.dirt_oval.json\n */\n async dirtOval(): Promise<DriverStatsByCategoryDirtOvalResponse> {\n return this.client.get<DriverStatsByCategoryDirtOvalResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/dirt_oval\", { schema: DriverStatsByCategoryDirtOval });\n }\n\n /**\n * dirt_road\n * @see https://members-ng.iracing.com/data/driver_stats_by_category/dirt_road\n * @sample driver_stats_by_category.dirt_road.json\n */\n async dirtRoad(): Promise<DriverStatsByCategoryDirtRoadResponse> {\n return this.client.get<DriverStatsByCategoryDirtRoadResponse>(\"https://members-ng.iracing.com/data/driver_stats_by_category/dirt_road\", { schema: DriverStatsByCategoryDirtRoad });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst HostedCombinedSessions = z.object({\n subscribed: z.boolean(),\n sequence: z.number(),\n sessions: z.array(z.object({\n numDrivers: z.number(),\n numSpotters: z.number(),\n numSpectators: z.number(),\n numBroadcasters: z.number(),\n availableReservedBroadcasterSlots: z.number(),\n numSpectatorSlots: z.number(),\n availableSpectatorSlots: z.number(),\n canBroadcast: z.boolean(),\n canWatch: z.boolean(),\n canSpot: z.boolean(),\n elig: z.object({\n sessionFull: z.boolean(),\n canSpot: z.boolean(),\n canWatch: z.boolean(),\n canDrive: z.boolean(),\n hasSessPassword: z.boolean(),\n needsPurchase: z.boolean(),\n ownCar: z.boolean(),\n ownTrack: z.boolean(),\n purchaseSkus: z.array(z.number()),\n registered: z.boolean()\n }),\n driverChanges: z.boolean(),\n restrictViewing: z.boolean(),\n maxUsers: z.number(),\n privateSessionId: z.number(),\n sessionId: z.number(),\n subsessionId: z.number(),\n passwordProtected: z.boolean(),\n sessionName: z.string(),\n sessionDesc: z.optional(z.string()),\n openRegExpires: z.string(),\n launchAt: z.string(),\n fullCourseCautions: z.boolean(),\n numFastTows: z.number(),\n rollingStarts: z.boolean(),\n restarts: z.number(),\n multiclassType: z.number(),\n pitsInUse: z.number(),\n carsLeft: z.number(),\n maxDrivers: z.number(),\n hardcoreLevel: z.number(),\n practiceLength: z.number(),\n loneQualify: z.boolean(),\n qualifyLaps: z.number(),\n qualifyLength: z.number(),\n warmupLength: z.number(),\n raceLaps: z.number(),\n raceLength: z.number(),\n timeLimit: z.number(),\n restrictResults: z.boolean(),\n incidentLimit: z.number(),\n incidentWarnMode: z.number(),\n incidentWarnParam1: z.number(),\n incidentWarnParam2: z.number(),\n unsportConductRuleMode: z.number(),\n connectionBlackFlag: z.boolean(),\n luckyDog: z.boolean(),\n minTeamDrivers: z.number(),\n maxTeamDrivers: z.number(),\n qualifierMustStartRace: z.boolean(),\n driverChangeRule: z.number(),\n fixedSetup: z.boolean(),\n entryCount: z.number(),\n leagueId: z.number(),\n leagueSeasonId: z.number(),\n sessionType: z.number(),\n orderId: z.number(),\n minLicenseLevel: z.number(),\n maxLicenseLevel: z.number(),\n status: z.number(),\n paceCarId: z.nullable(z.number()),\n paceCarClassId: z.nullable(z.number()),\n numOptLaps: z.number(),\n damageModel: z.number(),\n doNotPaintCars: z.boolean(),\n greenWhiteCheckeredLimit: z.number(),\n doNotCountCautionLaps: z.boolean(),\n consecCautionsSingleFile: z.boolean(),\n consecCautionWithinNlaps: z.number(),\n noLapperWaveArounds: z.boolean(),\n shortParadeLap: z.boolean(),\n startOnQualTire: z.boolean(),\n telemetryRestriction: z.number(),\n telemetryForceToDisk: z.number(),\n maxAiDrivers: z.number(),\n aiAvoidPlayers: z.boolean(),\n adaptiveAiEnabled: z.boolean(),\n adaptiveAiDifficulty: z.optional(z.number()),\n mustUseDiffTireTypesInRace: z.boolean(),\n startZone: z.boolean(),\n enablePitlaneCollisions: z.boolean(),\n disallowVirtualMirror: z.boolean(),\n maxVisorTearoffs: z.number(),\n categoryId: z.number(),\n category: z.string(),\n sessionFull: z.boolean(),\n host: z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n }),\n track: z.object({\n categoryId: z.number(),\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n }),\n weather: z.object({\n allowFog: z.boolean(),\n forecastOptions: z.optional(z.object({\n forecastType: z.number(),\n precipitation: z.number(),\n skies: z.number(),\n stopPrecip: z.number(),\n temperature: z.number(),\n weatherSeed: z.number(),\n windDir: z.number(),\n windSpeed: z.number()\n })),\n precipOption: z.number(),\n relHumidity: z.number(),\n simulatedStartTime: z.string(),\n simulatedTimeMultiplier: z.number(),\n simulatedTimeOffsets: z.array(z.number()),\n skies: z.number(),\n tempUnits: z.number(),\n tempValue: z.number(),\n timeOfDay: z.number(),\n trackWater: z.number(),\n version: z.number(),\n weatherSummary: z.optional(z.object({\n maxPrecipRate: z.number(),\n maxPrecipRateDesc: z.string(),\n precipChance: z.number(),\n skiesHigh: z.number(),\n skiesLow: z.number(),\n tempHigh: z.number(),\n tempLow: z.number(),\n tempUnits: z.number(),\n windDir: z.number(),\n windHigh: z.number(),\n windLow: z.number(),\n windUnits: z.number()\n })),\n weatherUrl: z.optional(z.string()),\n windDir: z.number(),\n windUnits: z.number(),\n windValue: z.number(),\n fog: z.optional(z.number()),\n type: z.optional(z.number())\n }),\n trackState: z.object({\n leaveMarbles: z.boolean(),\n practiceRubber: z.number(),\n qualifyRubber: z.number(),\n raceRubber: z.number(),\n warmupRubber: z.number()\n }),\n farm: z.object({\n farmId: z.number(),\n displayName: z.string(),\n imagePath: z.string(),\n displayed: z.boolean()\n }),\n admins: z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n })),\n allowedTeams: z.array(z.unknown()),\n allowedLeagues: z.array(z.unknown()),\n cars: z.array(z.object({\n carId: z.number(),\n carName: z.string(),\n carClassId: z.number(),\n carClassName: z.string(),\n maxPctFuelFill: z.number(),\n weightPenaltyKg: z.number(),\n powerAdjustPct: z.number(),\n maxDryTireSets: z.number(),\n packageId: z.number()\n })),\n countByCarId: z.object({\n 112: z.optional(z.number()),\n 117: z.optional(z.number()),\n 118: z.optional(z.number()),\n 119: z.optional(z.number()),\n 128: z.optional(z.number()),\n 132: z.optional(z.number()),\n 133: z.optional(z.number()),\n 143: z.optional(z.number()),\n 146: z.optional(z.number()),\n 147: z.optional(z.number()),\n 150: z.optional(z.number()),\n 156: z.optional(z.number()),\n 157: z.optional(z.number()),\n 169: z.optional(z.number()),\n 173: z.optional(z.number()),\n 176: z.optional(z.number()),\n 184: z.optional(z.number()),\n 185: z.optional(z.number()),\n 188: z.optional(z.number()),\n 189: z.optional(z.number()),\n 190: z.optional(z.number()),\n 192: z.optional(z.number()),\n 194: z.optional(z.number()),\n 195: z.optional(z.number())\n }),\n countByCarClassId: z.object({\n 0: z.optional(z.number()),\n 2708: z.optional(z.number()),\n 3104: z.optional(z.number()),\n 4073: z.optional(z.number()),\n 4076: z.optional(z.number()),\n 4083: z.optional(z.number()),\n 4084: z.optional(z.number()),\n 4085: z.optional(z.number())\n }),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n eventTypes: z.array(z.object({\n eventType: z.number()\n })),\n sessionTypes: z.array(z.object({\n sessionType: z.number()\n })),\n canJoin: z.boolean(),\n sessAdmin: z.boolean(),\n friends: z.array(z.unknown()),\n watched: z.array(z.unknown()),\n endTime: z.string(),\n teamEntryCount: z.number(),\n isHeatRacing: z.boolean(),\n populated: z.boolean(),\n broadcaster: z.boolean(),\n minIr: z.number(),\n maxIr: z.number(),\n aiMinSkill: z.optional(z.number()),\n aiMaxSkill: z.optional(z.number()),\n aiRosterName: z.optional(z.string())\n })),\n success: z.boolean(),\n packageId: z.optional(z.number())\n});\nconst HostedSessions = z.object({\n subscribed: z.boolean(),\n sessions: z.array(z.object({\n adaptiveAiEnabled: z.boolean(),\n admins: z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n })),\n aiAvoidPlayers: z.boolean(),\n aiMaxSkill: z.optional(z.number()),\n aiMinSkill: z.optional(z.number()),\n aiRosterName: z.optional(z.string()),\n allowedLeagues: z.array(z.unknown()),\n allowedTeams: z.array(z.unknown()),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n cars: z.array(z.object({\n carId: z.number(),\n carName: z.string(),\n carClassId: z.number(),\n carClassName: z.string(),\n maxPctFuelFill: z.number(),\n weightPenaltyKg: z.number(),\n powerAdjustPct: z.number(),\n maxDryTireSets: z.number(),\n packageId: z.number()\n })),\n carsLeft: z.number(),\n category: z.string(),\n categoryId: z.number(),\n connectionBlackFlag: z.boolean(),\n consecCautionWithinNlaps: z.number(),\n consecCautionsSingleFile: z.boolean(),\n countByCarClassId: z.object({\n 0: z.optional(z.number()),\n 2708: z.optional(z.number()),\n 3104: z.optional(z.number()),\n 4073: z.optional(z.number()),\n 4076: z.optional(z.number()),\n 4083: z.optional(z.number()),\n 4084: z.optional(z.number()),\n 4085: z.optional(z.number())\n }),\n countByCarId: z.object({\n 112: z.optional(z.number()),\n 117: z.optional(z.number()),\n 118: z.optional(z.number()),\n 119: z.optional(z.number()),\n 128: z.optional(z.number()),\n 132: z.optional(z.number()),\n 133: z.optional(z.number()),\n 143: z.optional(z.number()),\n 146: z.optional(z.number()),\n 147: z.optional(z.number()),\n 150: z.optional(z.number()),\n 156: z.optional(z.number()),\n 157: z.optional(z.number()),\n 169: z.optional(z.number()),\n 173: z.optional(z.number()),\n 176: z.optional(z.number()),\n 184: z.optional(z.number()),\n 185: z.optional(z.number()),\n 188: z.optional(z.number()),\n 189: z.optional(z.number()),\n 190: z.optional(z.number()),\n 192: z.optional(z.number()),\n 194: z.optional(z.number()),\n 195: z.optional(z.number())\n }),\n damageModel: z.number(),\n disallowVirtualMirror: z.boolean(),\n doNotCountCautionLaps: z.boolean(),\n doNotPaintCars: z.boolean(),\n driverChangeRule: z.number(),\n driverChanges: z.boolean(),\n elig: z.object({\n sessionFull: z.boolean(),\n canSpot: z.boolean(),\n canWatch: z.boolean(),\n canDrive: z.boolean(),\n hasSessPassword: z.boolean(),\n needsPurchase: z.boolean(),\n ownCar: z.boolean(),\n ownTrack: z.boolean(),\n purchaseSkus: z.array(z.number()),\n registered: z.boolean()\n }),\n enablePitlaneCollisions: z.boolean(),\n entryCount: z.number(),\n eventTypes: z.array(z.object({\n eventType: z.number()\n })),\n farm: z.object({\n farmId: z.number(),\n displayName: z.string(),\n imagePath: z.string(),\n displayed: z.boolean()\n }),\n fixedSetup: z.boolean(),\n fullCourseCautions: z.boolean(),\n greenWhiteCheckeredLimit: z.number(),\n hardcoreLevel: z.number(),\n host: z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n }),\n incidentLimit: z.number(),\n incidentWarnMode: z.number(),\n incidentWarnParam1: z.number(),\n incidentWarnParam2: z.number(),\n launchAt: z.string(),\n leagueId: z.number(),\n leagueSeasonId: z.number(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n loneQualify: z.boolean(),\n luckyDog: z.boolean(),\n maxAiDrivers: z.number(),\n maxDrivers: z.number(),\n maxIr: z.number(),\n maxLicenseLevel: z.number(),\n maxTeamDrivers: z.number(),\n maxVisorTearoffs: z.number(),\n minIr: z.number(),\n minLicenseLevel: z.number(),\n minTeamDrivers: z.number(),\n multiclassType: z.number(),\n mustUseDiffTireTypesInRace: z.boolean(),\n noLapperWaveArounds: z.boolean(),\n numFastTows: z.number(),\n numOptLaps: z.number(),\n openRegExpires: z.string(),\n orderId: z.number(),\n paceCarClassId: z.nullable(z.number()),\n paceCarId: z.nullable(z.number()),\n passwordProtected: z.boolean(),\n pitsInUse: z.number(),\n practiceLength: z.number(),\n privateSessionId: z.number(),\n qualifierMustStartRace: z.boolean(),\n qualifyLaps: z.number(),\n qualifyLength: z.number(),\n raceLaps: z.number(),\n raceLength: z.number(),\n restarts: z.number(),\n restrictResults: z.boolean(),\n restrictViewing: z.boolean(),\n rollingStarts: z.boolean(),\n sessionFull: z.boolean(),\n sessionId: z.number(),\n sessionName: z.string(),\n sessionType: z.number(),\n sessionTypes: z.array(z.object({\n sessionType: z.number()\n })),\n shortParadeLap: z.boolean(),\n startOnQualTire: z.boolean(),\n startZone: z.boolean(),\n status: z.number(),\n subsessionId: z.number(),\n teamEntryCount: z.number(),\n telemetryForceToDisk: z.number(),\n telemetryRestriction: z.number(),\n timeLimit: z.number(),\n track: z.object({\n categoryId: z.number(),\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n }),\n trackState: z.object({\n leaveMarbles: z.boolean(),\n practiceRubber: z.number(),\n qualifyRubber: z.number(),\n raceRubber: z.number(),\n warmupRubber: z.number()\n }),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n unsportConductRuleMode: z.number(),\n warmupLength: z.number(),\n weather: z.object({\n allowFog: z.boolean(),\n forecastOptions: z.optional(z.object({\n forecastType: z.number(),\n precipitation: z.number(),\n skies: z.number(),\n stopPrecip: z.number(),\n temperature: z.number(),\n weatherSeed: z.number(),\n windDir: z.number(),\n windSpeed: z.number()\n })),\n precipOption: z.number(),\n relHumidity: z.number(),\n simulatedStartTime: z.string(),\n simulatedTimeMultiplier: z.number(),\n simulatedTimeOffsets: z.array(z.number()),\n skies: z.number(),\n tempUnits: z.number(),\n tempValue: z.number(),\n timeOfDay: z.number(),\n trackWater: z.number(),\n version: z.number(),\n weatherSummary: z.optional(z.object({\n maxPrecipRate: z.number(),\n maxPrecipRateDesc: z.string(),\n precipChance: z.number(),\n skiesHigh: z.number(),\n skiesLow: z.number(),\n tempHigh: z.number(),\n tempLow: z.number(),\n tempUnits: z.number(),\n windDir: z.number(),\n windHigh: z.number(),\n windLow: z.number(),\n windUnits: z.number()\n })),\n weatherUrl: z.optional(z.string()),\n windDir: z.number(),\n windUnits: z.number(),\n windValue: z.number(),\n fog: z.optional(z.number()),\n type: z.optional(z.number())\n }),\n adaptiveAiDifficulty: z.optional(z.number()),\n sessionDesc: z.optional(z.string())\n })),\n success: z.boolean()\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type HostedCombinedSessionsResponse = z.infer<typeof HostedCombinedSessions>;\nexport type HostedSessionsResponse = z.infer<typeof HostedSessions>;\n\n// ---- Parameter Schemas ----\n\nconst HostedCombinedSessionsParamsSchema = z.object({\n packageId: z.optional(z.number()), // If set, return only sessions using this car or track package ID. // maps to: package_id\n});\n\nconst HostedSessionsParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type HostedCombinedSessionsParams = z.infer<typeof HostedCombinedSessionsParamsSchema>;\nexport type HostedSessionsParams = z.infer<typeof HostedSessionsParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n HostedCombinedSessionsParamsSchema,\n HostedSessionsParamsSchema,\n HostedCombinedSessions,\n HostedSessions,\n};","import type { IRacingClient } from \"../client\";\nimport type { HostedCombinedSessionsParams, HostedCombinedSessionsResponse, HostedSessionsResponse } from \"./types\";\nimport { HostedCombinedSessions, HostedSessions } from \"./types\";\n\nexport class HostedService {\n constructor(private client: IRacingClient) {}\n\n /**\n * combined_sessions\n * @see https://members-ng.iracing.com/data/hosted/combined_sessions\n * @sample hosted.combined_sessions.json\n */\n async combinedSessions(params: HostedCombinedSessionsParams): Promise<HostedCombinedSessionsResponse> {\n return this.client.get<HostedCombinedSessionsResponse>(\"https://members-ng.iracing.com/data/hosted/combined_sessions\", { params, schema: HostedCombinedSessions });\n }\n\n /**\n * sessions\n * @see https://members-ng.iracing.com/data/hosted/sessions\n * @sample hosted.sessions.json\n */\n async sessions(): Promise<HostedSessionsResponse> {\n return this.client.get<HostedSessionsResponse>(\"https://members-ng.iracing.com/data/hosted/sessions\", { schema: HostedSessions });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst LeagueCustLeagueSessions = z.object({\n mine: z.boolean(),\n subscribed: z.boolean(),\n sequence: z.number(),\n sessions: z.array(z.object({\n numDrivers: z.number(),\n numSpotters: z.number(),\n numSpectators: z.number(),\n numBroadcasters: z.number(),\n availableReservedBroadcasterSlots: z.number(),\n numSpectatorSlots: z.number(),\n availableSpectatorSlots: z.number(),\n canBroadcast: z.boolean(),\n canWatch: z.boolean(),\n canSpot: z.boolean(),\n elig: z.object({\n sessionFull: z.boolean(),\n canSpot: z.boolean(),\n canWatch: z.boolean(),\n canDrive: z.boolean(),\n hasSessPassword: z.boolean(),\n needsPurchase: z.boolean(),\n ownCar: z.boolean(),\n ownTrack: z.boolean(),\n purchaseSkus: z.array(z.number()),\n registered: z.boolean()\n }),\n driverChanges: z.boolean(),\n restrictViewing: z.boolean(),\n maxUsers: z.number(),\n privateSessionId: z.number(),\n sessionId: z.optional(z.number()),\n subsessionId: z.optional(z.number()),\n passwordProtected: z.boolean(),\n sessionName: z.string(),\n openRegExpires: z.optional(z.string()),\n launchAt: z.string(),\n fullCourseCautions: z.boolean(),\n numFastTows: z.number(),\n rollingStarts: z.boolean(),\n restarts: z.number(),\n multiclassType: z.number(),\n pitsInUse: z.optional(z.number()),\n carsLeft: z.optional(z.number()),\n maxDrivers: z.number(),\n hardcoreLevel: z.number(),\n practiceLength: z.number(),\n loneQualify: z.boolean(),\n qualifyLaps: z.number(),\n qualifyLength: z.number(),\n warmupLength: z.number(),\n raceLaps: z.number(),\n raceLength: z.number(),\n timeLimit: z.number(),\n restrictResults: z.boolean(),\n incidentLimit: z.number(),\n incidentWarnMode: z.number(),\n incidentWarnParam1: z.number(),\n incidentWarnParam2: z.number(),\n unsportConductRuleMode: z.number(),\n connectionBlackFlag: z.boolean(),\n luckyDog: z.boolean(),\n minTeamDrivers: z.number(),\n maxTeamDrivers: z.number(),\n qualifierMustStartRace: z.boolean(),\n driverChangeRule: z.number(),\n fixedSetup: z.boolean(),\n entryCount: z.number(),\n leagueId: z.number(),\n leagueName: z.string(),\n leagueSeasonId: z.number(),\n leagueSeasonName: z.string(),\n sessionType: z.number(),\n orderId: z.number(),\n minLicenseLevel: z.number(),\n maxLicenseLevel: z.number(),\n status: z.number(),\n paceCarId: z.nullable(z.number()),\n paceCarClassId: z.nullable(z.number()),\n numOptLaps: z.number(),\n damageModel: z.number(),\n doNotPaintCars: z.boolean(),\n greenWhiteCheckeredLimit: z.number(),\n doNotCountCautionLaps: z.boolean(),\n consecCautionsSingleFile: z.boolean(),\n consecCautionWithinNlaps: z.number(),\n noLapperWaveArounds: z.boolean(),\n shortParadeLap: z.boolean(),\n startOnQualTire: z.boolean(),\n telemetryRestriction: z.number(),\n telemetryForceToDisk: z.number(),\n maxAiDrivers: z.number(),\n aiAvoidPlayers: z.boolean(),\n adaptiveAiEnabled: z.boolean(),\n adaptiveAiDifficulty: z.number(),\n mustUseDiffTireTypesInRace: z.boolean(),\n startZone: z.boolean(),\n enablePitlaneCollisions: z.boolean(),\n disallowVirtualMirror: z.boolean(),\n maxVisorTearoffs: z.number(),\n categoryId: z.number(),\n category: z.string(),\n sessionFull: z.optional(z.boolean()),\n host: z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n }),\n track: z.object({\n categoryId: z.number(),\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n }),\n weather: z.object({\n allowFog: z.boolean(),\n forecastOptions: z.optional(z.object({\n forecastType: z.number(),\n precipitation: z.number(),\n skies: z.number(),\n stopPrecip: z.number(),\n temperature: z.number(),\n weatherSeed: z.number(),\n windDir: z.number(),\n windSpeed: z.number()\n })),\n precipOption: z.number(),\n relHumidity: z.number(),\n simulatedStartTime: z.string(),\n simulatedTimeMultiplier: z.number(),\n simulatedTimeOffsets: z.array(z.number()),\n skies: z.number(),\n tempUnits: z.number(),\n tempValue: z.number(),\n timeOfDay: z.number(),\n trackWater: z.number(),\n version: z.number(),\n weatherSummary: z.optional(z.object({\n maxPrecipRate: z.number(),\n maxPrecipRateDesc: z.string(),\n precipChance: z.number(),\n skiesHigh: z.number(),\n skiesLow: z.number(),\n tempHigh: z.number(),\n tempLow: z.number(),\n tempUnits: z.number(),\n windDir: z.number(),\n windHigh: z.number(),\n windLow: z.number(),\n windUnits: z.number()\n })),\n weatherUrl: z.optional(z.string()),\n windDir: z.number(),\n windUnits: z.number(),\n windValue: z.number(),\n fog: z.optional(z.number()),\n type: z.optional(z.number())\n }),\n trackState: z.object({\n leaveMarbles: z.boolean(),\n practiceRubber: z.number(),\n qualifyRubber: z.number(),\n raceRubber: z.number(),\n warmupRubber: z.number()\n }),\n farm: z.object({\n farmId: z.number(),\n displayName: z.string(),\n imagePath: z.string(),\n displayed: z.boolean()\n }),\n admins: z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n })\n })),\n allowedTeams: z.array(z.unknown()),\n allowedLeagues: z.array(z.number()),\n cars: z.array(z.object({\n carId: z.number(),\n carName: z.string(),\n carClassId: z.number(),\n carClassName: z.string(),\n maxPctFuelFill: z.number(),\n weightPenaltyKg: z.number(),\n powerAdjustPct: z.number(),\n maxDryTireSets: z.number(),\n qualSetupId: z.optional(z.number()),\n qualSetupFilename: z.optional(z.string()),\n raceSetupId: z.optional(z.number()),\n raceSetupFilename: z.optional(z.string()),\n packageId: z.number()\n })),\n heatSesInfo: z.optional(z.object({\n consolationDeltaMaxFieldSize: z.number(),\n consolationDeltaSessionLaps: z.number(),\n consolationDeltaSessionLengthMinutes: z.number(),\n consolationFirstMaxFieldSize: z.number(),\n consolationFirstSessionLaps: z.number(),\n consolationFirstSessionLengthMinutes: z.number(),\n consolationNumPositionToInvert: z.number(),\n consolationNumToConsolation: z.number(),\n consolationNumToMain: z.number(),\n consolationRunAlways: z.boolean(),\n consolationScoresChampPoints: z.boolean(),\n created: z.string(),\n custId: z.number(),\n description: z.optional(z.string()),\n heatCautionType: z.number(),\n heatInfoId: z.number(),\n heatInfoName: z.string(),\n heatLaps: z.number(),\n heatLengthMinutes: z.number(),\n heatMaxFieldSize: z.number(),\n heatNumFromEachToMain: z.number(),\n heatNumPositionToInvert: z.number(),\n heatScoresChampPoints: z.boolean(),\n heatSessionMinutesEstimate: z.number(),\n hidden: z.boolean(),\n mainLaps: z.number(),\n mainLengthMinutes: z.number(),\n mainMaxFieldSize: z.number(),\n mainNumPositionToInvert: z.number(),\n maxEntrants: z.number(),\n openPractice: z.boolean(),\n preMainPracticeLengthMinutes: z.number(),\n preQualNumToMain: z.number(),\n preQualPracticeLengthMinutes: z.number(),\n qualCautionType: z.number(),\n qualLaps: z.number(),\n qualLengthMinutes: z.number(),\n qualNumToMain: z.number(),\n qualOpenDelaySeconds: z.number(),\n qualScoresChampPoints: z.boolean(),\n qualScoring: z.number(),\n qualStyle: z.number(),\n raceStyle: z.number()\n })),\n countByCarId: z.optional(z.object({\n 67: z.optional(z.number()),\n 106: z.optional(z.number()),\n 190: z.optional(z.number()),\n 192: z.optional(z.number()),\n 203: z.optional(z.number())\n })),\n countByCarClassId: z.optional(z.object({\n 0: z.number()\n })),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n eventTypes: z.array(z.object({\n eventType: z.number()\n })),\n sessionTypes: z.array(z.object({\n sessionType: z.number()\n })),\n canJoin: z.boolean(),\n image: z.optional(z.object({\n smallLogo: z.string(),\n largeLogo: z.nullable(z.string())\n })),\n owner: z.boolean(),\n admin: z.boolean(),\n friends: z.optional(z.array(z.unknown())),\n watched: z.optional(z.array(z.unknown())),\n endTime: z.string(),\n populated: z.boolean(),\n teamEntryCount: z.number(),\n isHeatRacing: z.boolean(),\n broadcaster: z.boolean(),\n minIr: z.number(),\n maxIr: z.number(),\n sessionDesc: z.optional(z.string()),\n raceLengthType: z.optional(z.number())\n })),\n success: z.boolean(),\n packageId: z.optional(z.number())\n});\nconst LeagueDirectory = z.object({\n resultsPage: z.array(z.object({\n leagueId: z.number(),\n ownerId: z.number(),\n leagueName: z.string(),\n created: z.string(),\n about: z.optional(z.string()),\n url: z.optional(z.string()),\n rosterCount: z.number(),\n recruiting: z.boolean(),\n isAdmin: z.boolean(),\n isMember: z.boolean(),\n pendingApplication: z.boolean(),\n pendingInvitation: z.boolean(),\n owner: z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n carNumber: z.nullable(z.string()),\n nickName: z.nullable(z.string())\n })\n })),\n success: z.boolean(),\n lowerbound: z.number(),\n upperbound: z.number(),\n rowCount: z.number()\n});\nconst LeagueGet = z.object({\n leagueId: z.number(),\n ownerId: z.number(),\n leagueName: z.string(),\n created: z.string(),\n hidden: z.boolean(),\n message: z.string(),\n about: z.string(),\n recruiting: z.boolean(),\n privateWall: z.boolean(),\n privateRoster: z.boolean(),\n privateSchedule: z.boolean(),\n privateResults: z.boolean(),\n isOwner: z.boolean(),\n isAdmin: z.boolean(),\n rosterCount: z.number(),\n owner: z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n carNumber: z.nullable(z.unknown()),\n nickName: z.nullable(z.unknown())\n }),\n image: z.object({\n smallLogo: z.nullable(z.unknown()),\n largeLogo: z.nullable(z.unknown())\n }),\n tags: z.object({\n categorized: z.array(z.object({\n categoryId: z.number(),\n name: z.string(),\n limit: z.nullable(z.number()),\n tags: z.array(z.object({\n tagId: z.number(),\n tagName: z.string()\n }))\n })),\n notCategorized: z.array(z.unknown())\n }),\n leagueApplications: z.array(z.unknown()),\n pendingRequests: z.array(z.unknown()),\n isMember: z.boolean(),\n isApplicant: z.boolean(),\n isInvite: z.boolean(),\n isIgnored: z.boolean(),\n roster: z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n owner: z.boolean(),\n admin: z.boolean(),\n leagueMailOptOut: z.boolean(),\n leaguePmOptOut: z.boolean(),\n leagueMemberSince: z.string(),\n carNumber: z.nullable(z.string()),\n nickName: z.string()\n }))\n});\nconst LeagueGetPointsSystems = z.object({\n subscribed: z.boolean(),\n success: z.boolean(),\n pointsSystems: z.array(z.object({\n pointsSystemId: z.number(),\n name: z.string(),\n description: z.string(),\n leagueId: z.number(),\n retired: z.boolean(),\n iracingSystem: z.boolean()\n })),\n leagueId: z.number(),\n seasonId: z.optional(z.number())\n});\nconst LeagueMembership = z.array(z.object({\n leagueId: z.number(),\n leagueName: z.string(),\n owner: z.boolean(),\n admin: z.boolean(),\n leagueMailOptOut: z.boolean(),\n leaguePmOptOut: z.boolean(),\n carNumber: z.nullable(z.string()),\n nickName: z.nullable(z.string())\n}));\nconst LeagueRoster = z.object({\n type: z.string(),\n data: z.object({\n subscribed: z.boolean(),\n success: z.boolean(),\n rosterCount: z.number(),\n leagueId: z.number()\n }),\n dataUrl: z.string()\n});\nconst LeagueSeasons = z.object({\n subscribed: z.boolean(),\n seasons: z.array(z.object({\n leagueId: z.number(),\n seasonId: z.number(),\n pointsSystemId: z.number(),\n seasonName: z.string(),\n active: z.boolean(),\n hidden: z.boolean(),\n numDrops: z.number(),\n noDropsOnOrAfterRaceNum: z.number(),\n pointsCars: z.array(z.object({\n carId: z.number(),\n carName: z.string()\n })),\n driverPointsCarClasses: z.array(z.object({\n carClassId: z.number(),\n name: z.string(),\n carsInClass: z.array(z.object({\n carId: z.number(),\n carName: z.string()\n }))\n })),\n teamPointsCarClasses: z.array(z.object({\n carClassId: z.number(),\n name: z.string(),\n carsInClass: z.array(z.object({\n carId: z.number(),\n carName: z.string()\n }))\n })),\n pointsSystemName: z.string(),\n pointsSystemDesc: z.string()\n })),\n success: z.boolean(),\n retired: z.boolean(),\n leagueId: z.number()\n});\nconst LeagueSeasonStandings = z.object({\n carClassId: z.number(),\n success: z.boolean(),\n seasonId: z.number(),\n carId: z.number(),\n standings: z.object({\n driverStandings: z.array(z.unknown()),\n teamStandings: z.array(z.unknown()),\n driverStandingsCsvUrl: z.string(),\n teamStandingsCsvUrl: z.string()\n }),\n leagueId: z.number()\n});\nconst LeagueSeasonSessions = z.object({\n success: z.boolean(),\n subscribed: z.boolean(),\n leagueId: z.number(),\n seasonId: z.number(),\n sessions: z.array(z.unknown())\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type LeagueCustLeagueSessionsResponse = z.infer<typeof LeagueCustLeagueSessions>;\nexport type LeagueDirectoryResponse = z.infer<typeof LeagueDirectory>;\nexport type LeagueGetResponse = z.infer<typeof LeagueGet>;\nexport type LeagueGetPointsSystemsResponse = z.infer<typeof LeagueGetPointsSystems>;\nexport type LeagueMembershipResponse = z.infer<typeof LeagueMembership>;\nexport type LeagueRosterResponse = z.infer<typeof LeagueRoster>;\nexport type LeagueSeasonsResponse = z.infer<typeof LeagueSeasons>;\nexport type LeagueSeasonStandingsResponse = z.infer<typeof LeagueSeasonStandings>;\nexport type LeagueSeasonSessionsResponse = z.infer<typeof LeagueSeasonSessions>;\n\n// ---- Parameter Schemas ----\n\nconst LeagueCustLeagueSessionsParamsSchema = z.object({\n mine: z.optional(z.boolean()), // If true, return only sessions created by this user.\n packageId: z.optional(z.number()), // If set, return only sessions using this car or track package ID. // maps to: package_id\n});\n\nconst LeagueDirectoryParamsSchema = z.object({\n search: z.optional(z.string()), // Will search against league name, description, owner, and league ID.\n tag: z.optional(z.string()), // One or more tags, comma-separated.\n restrictToMember: z.optional(z.boolean()), // If true include only leagues for which customer is a member. // maps to: restrict_to_member\n restrictToRecruiting: z.optional(z.boolean()), // If true include only leagues which are recruiting. // maps to: restrict_to_recruiting\n restrictToFriends: z.optional(z.boolean()), // If true include only leagues owned by a friend. // maps to: restrict_to_friends\n restrictToWatched: z.optional(z.boolean()), // If true include only leagues owned by a watched member. // maps to: restrict_to_watched\n minimumRosterCount: z.optional(z.number()), // If set include leagues with at least this number of members. // maps to: minimum_roster_count\n maximumRosterCount: z.optional(z.number()), // If set include leagues with no more than this number of members. // maps to: maximum_roster_count\n lowerbound: z.optional(z.number()), // First row of results to return. Defaults to 1.\n upperbound: z.optional(z.number()), // Last row of results to return. Defaults to lowerbound + 39.\n sort: z.optional(z.string()), // One of relevance, leaguename, displayname, rostercount. displayname is owners's name. Defaults to relevance.\n order: z.optional(z.string()), // One of asc or desc. Defaults to asc.\n});\n\nconst LeagueGetParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n includeLicenses: z.optional(z.boolean()), // For faster responses, only request when necessary. // maps to: include_licenses\n});\n\nconst LeagueGetPointsSystemsParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n seasonId: z.optional(z.number()), // If included and the season is using custom points (points_system_id:2) then the custom points option is included in the returned list. Otherwise the custom points option is not returned. // maps to: season_id\n});\n\nconst LeagueMembershipParamsSchema = z.object({\n custId: z.optional(z.number()), // If different from the authenticated member, the following restrictions apply: - Caller cannot be on requested customer's block list or an empty list will result; - Requested customer cannot have their online activity preference set to hidden or an empty list will result; - Only leagues for which the requested customer is an admin and the league roster is not private are returned. // maps to: cust_id\n includeLeague: z.optional(z.boolean()), // maps to: include_league\n});\n\nconst LeagueRosterParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n includeLicenses: z.optional(z.boolean()), // For faster responses, only request when necessary. // maps to: include_licenses\n});\n\nconst LeagueSeasonsParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n retired: z.optional(z.boolean()), // If true include seasons which are no longer active.\n});\n\nconst LeagueSeasonStandingsParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n seasonId: z.number(), // maps to: season_id\n carClassId: z.optional(z.number()), // maps to: car_class_id\n carId: z.optional(z.number()), // If car_class_id is included then the standings are for the car in that car class, otherwise they are for the car across car classes. // maps to: car_id\n});\n\nconst LeagueSeasonSessionsParamsSchema = z.object({\n leagueId: z.number(), // maps to: league_id\n seasonId: z.number(), // maps to: season_id\n resultsOnly: z.optional(z.boolean()), // If true include only sessions for which results are available. // maps to: results_only\n});\n\n// ---- Exported Parameter Types ----\n\nexport type LeagueCustLeagueSessionsParams = z.infer<typeof LeagueCustLeagueSessionsParamsSchema>;\nexport type LeagueDirectoryParams = z.infer<typeof LeagueDirectoryParamsSchema>;\nexport type LeagueGetParams = z.infer<typeof LeagueGetParamsSchema>;\nexport type LeagueGetPointsSystemsParams = z.infer<typeof LeagueGetPointsSystemsParamsSchema>;\nexport type LeagueMembershipParams = z.infer<typeof LeagueMembershipParamsSchema>;\nexport type LeagueRosterParams = z.infer<typeof LeagueRosterParamsSchema>;\nexport type LeagueSeasonsParams = z.infer<typeof LeagueSeasonsParamsSchema>;\nexport type LeagueSeasonStandingsParams = z.infer<typeof LeagueSeasonStandingsParamsSchema>;\nexport type LeagueSeasonSessionsParams = z.infer<typeof LeagueSeasonSessionsParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n LeagueCustLeagueSessionsParamsSchema,\n LeagueDirectoryParamsSchema,\n LeagueGetParamsSchema,\n LeagueGetPointsSystemsParamsSchema,\n LeagueMembershipParamsSchema,\n LeagueRosterParamsSchema,\n LeagueSeasonsParamsSchema,\n LeagueSeasonStandingsParamsSchema,\n LeagueSeasonSessionsParamsSchema,\n LeagueCustLeagueSessions,\n LeagueDirectory,\n LeagueGet,\n LeagueGetPointsSystems,\n LeagueMembership,\n LeagueRoster,\n LeagueSeasons,\n LeagueSeasonStandings,\n LeagueSeasonSessions,\n};","import type { IRacingClient } from \"../client\";\nimport type { LeagueCustLeagueSessionsParams, LeagueDirectoryParams, LeagueGetParams, LeagueGetPointsSystemsParams, LeagueMembershipParams, LeagueRosterParams, LeagueSeasonsParams, LeagueSeasonStandingsParams, LeagueSeasonSessionsParams, LeagueCustLeagueSessionsResponse, LeagueDirectoryResponse, LeagueGetResponse, LeagueGetPointsSystemsResponse, LeagueMembershipResponse, LeagueRosterResponse, LeagueSeasonsResponse, LeagueSeasonStandingsResponse, LeagueSeasonSessionsResponse } from \"./types\";\nimport { LeagueCustLeagueSessions, LeagueDirectory, LeagueGet, LeagueGetPointsSystems, LeagueMembership, LeagueRoster, LeagueSeasons, LeagueSeasonStandings, LeagueSeasonSessions } from \"./types\";\n\nexport class LeagueService {\n constructor(private client: IRacingClient) {}\n\n /**\n * cust_league_sessions\n * @see https://members-ng.iracing.com/data/league/cust_league_sessions\n * @sample league.cust_league_sessions.json\n */\n async custLeagueSessions(params: LeagueCustLeagueSessionsParams): Promise<LeagueCustLeagueSessionsResponse> {\n return this.client.get<LeagueCustLeagueSessionsResponse>(\"https://members-ng.iracing.com/data/league/cust_league_sessions\", { params, schema: LeagueCustLeagueSessions });\n }\n\n /**\n * directory\n * @see https://members-ng.iracing.com/data/league/directory\n * @sample league.directory.json\n */\n async directory(params: LeagueDirectoryParams): Promise<LeagueDirectoryResponse> {\n return this.client.get<LeagueDirectoryResponse>(\"https://members-ng.iracing.com/data/league/directory\", { params, schema: LeagueDirectory });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/league/get\n * @sample league.get.json\n */\n async get(params: LeagueGetParams): Promise<LeagueGetResponse> {\n return this.client.get<LeagueGetResponse>(\"https://members-ng.iracing.com/data/league/get\", { params, schema: LeagueGet });\n }\n\n /**\n * get_points_systems\n * @see https://members-ng.iracing.com/data/league/get_points_systems\n * @sample league.get_points_systems.json\n */\n async getPointsSystems(params: LeagueGetPointsSystemsParams): Promise<LeagueGetPointsSystemsResponse> {\n return this.client.get<LeagueGetPointsSystemsResponse>(\"https://members-ng.iracing.com/data/league/get_points_systems\", { params, schema: LeagueGetPointsSystems });\n }\n\n /**\n * membership\n * @see https://members-ng.iracing.com/data/league/membership\n * @sample league.membership.json\n */\n async membership(params: LeagueMembershipParams): Promise<LeagueMembershipResponse> {\n return this.client.get<LeagueMembershipResponse>(\"https://members-ng.iracing.com/data/league/membership\", { params, schema: LeagueMembership });\n }\n\n /**\n * roster\n * @see https://members-ng.iracing.com/data/league/roster\n * @sample league.roster.json\n */\n async roster(params: LeagueRosterParams): Promise<LeagueRosterResponse> {\n return this.client.get<LeagueRosterResponse>(\"https://members-ng.iracing.com/data/league/roster\", { params, schema: LeagueRoster });\n }\n\n /**\n * seasons\n * @see https://members-ng.iracing.com/data/league/seasons\n * @sample league.seasons.json\n */\n async seasons(params: LeagueSeasonsParams): Promise<LeagueSeasonsResponse> {\n return this.client.get<LeagueSeasonsResponse>(\"https://members-ng.iracing.com/data/league/seasons\", { params, schema: LeagueSeasons });\n }\n\n /**\n * season_standings\n * @see https://members-ng.iracing.com/data/league/season_standings\n * @sample league.season_standings.json\n */\n async seasonStandings(params: LeagueSeasonStandingsParams): Promise<LeagueSeasonStandingsResponse> {\n return this.client.get<LeagueSeasonStandingsResponse>(\"https://members-ng.iracing.com/data/league/season_standings\", { params, schema: LeagueSeasonStandings });\n }\n\n /**\n * season_sessions\n * @see https://members-ng.iracing.com/data/league/season_sessions\n * @sample league.season_sessions.json\n */\n async seasonSessions(params: LeagueSeasonSessionsParams): Promise<LeagueSeasonSessionsResponse> {\n return this.client.get<LeagueSeasonSessionsResponse>(\"https://members-ng.iracing.com/data/league/season_sessions\", { params, schema: LeagueSeasonSessions });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst LookupCountries = z.array(z.object({\n countryName: z.string(),\n countryCode: z.string()\n}));\nconst LookupDrivers = z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n}),\n profileDisabled: z.boolean()\n}));\nconst LookupFlairs = z.object({\n flairs: z.array(z.object({\n flairId: z.number(),\n flairName: z.string(),\n seq: z.number(),\n flairShortname: z.optional(z.string()),\n countryCode: z.optional(z.string())\n })),\n success: z.boolean()\n});\nconst LookupGet = z.array(z.unknown());\nconst LookupLicenses = z.array(z.object({\n licenseGroup: z.number(),\n groupName: z.string(),\n minNumRaces: z.nullable(z.number()),\n participationCredits: z.number(),\n minSrToFastTrack: z.nullable(z.number()),\n levels: z.array(z.object({\n licenseId: z.number(),\n licenseGroup: z.number(),\n license: z.string(),\n shortName: z.string(),\n licenseLetter: z.string(),\n color: z.string()\n })),\n minNumTt: z.nullable(z.number())\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type LookupCountriesResponse = z.infer<typeof LookupCountries>;\nexport type LookupDriversResponse = z.infer<typeof LookupDrivers>;\nexport type LookupFlairsResponse = z.infer<typeof LookupFlairs>;\nexport type LookupGetResponse = z.infer<typeof LookupGet>;\nexport type LookupLicensesResponse = z.infer<typeof LookupLicenses>;\n\n// ---- Parameter Schemas ----\n\nconst LookupCountriesParamsSchema = z.object({\n});\n\nconst LookupDriversParamsSchema = z.object({\n searchTerm: z.string(), // A cust_id or partial name for which to search. // maps to: search_term\n leagueId: z.optional(z.number()), // Narrow the search to the roster of the given league. // maps to: league_id\n});\n\nconst LookupFlairsParamsSchema = z.object({\n});\n\nconst LookupGetParamsSchema = z.object({\n});\n\nconst LookupLicensesParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type LookupCountriesParams = z.infer<typeof LookupCountriesParamsSchema>;\nexport type LookupDriversParams = z.infer<typeof LookupDriversParamsSchema>;\nexport type LookupFlairsParams = z.infer<typeof LookupFlairsParamsSchema>;\nexport type LookupGetParams = z.infer<typeof LookupGetParamsSchema>;\nexport type LookupLicensesParams = z.infer<typeof LookupLicensesParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n LookupCountriesParamsSchema,\n LookupDriversParamsSchema,\n LookupFlairsParamsSchema,\n LookupGetParamsSchema,\n LookupLicensesParamsSchema,\n LookupCountries,\n LookupDrivers,\n LookupFlairs,\n LookupGet,\n LookupLicenses,\n};","import type { IRacingClient } from \"../client\";\nimport type { LookupDriversParams, LookupCountriesResponse, LookupDriversResponse, LookupFlairsResponse, LookupGetResponse, LookupLicensesResponse } from \"./types\";\nimport { LookupCountries, LookupDrivers, LookupFlairs, LookupGet, LookupLicenses } from \"./types\";\n\nexport class LookupService {\n constructor(private client: IRacingClient) {}\n\n /**\n * countries\n * @see https://members-ng.iracing.com/data/lookup/countries\n * @sample lookup.countries.json\n */\n async countries(): Promise<LookupCountriesResponse> {\n return this.client.get<LookupCountriesResponse>(\"https://members-ng.iracing.com/data/lookup/countries\", { schema: LookupCountries });\n }\n\n /**\n * drivers\n * @see https://members-ng.iracing.com/data/lookup/drivers\n * @sample lookup.drivers.json\n */\n async drivers(params: LookupDriversParams): Promise<LookupDriversResponse> {\n return this.client.get<LookupDriversResponse>(\"https://members-ng.iracing.com/data/lookup/drivers\", { params, schema: LookupDrivers });\n }\n\n /**\n * flairs\n * @see https://members-ng.iracing.com/data/lookup/flairs\n * @sample lookup.flairs.json\n */\n async flairs(): Promise<LookupFlairsResponse> {\n return this.client.get<LookupFlairsResponse>(\"https://members-ng.iracing.com/data/lookup/flairs\", { schema: LookupFlairs });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/lookup/get\n * @sample lookup.get.json\n */\n async get(): Promise<LookupGetResponse> {\n return this.client.get<LookupGetResponse>(\"https://members-ng.iracing.com/data/lookup/get\", { schema: LookupGet });\n }\n\n /**\n * licenses\n * @see https://members-ng.iracing.com/data/lookup/licenses\n * @sample lookup.licenses.json\n */\n async licenses(): Promise<LookupLicensesResponse> {\n return this.client.get<LookupLicensesResponse>(\"https://members-ng.iracing.com/data/lookup/licenses\", { schema: LookupLicenses });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst MemberAwards = z.object({\n type: z.string(),\n data: z.object({\n success: z.boolean(),\n custId: z.number(),\n awardCount: z.number()\n }),\n dataUrl: z.string()\n});\nconst MemberAwardInstances = z.object({\n type: z.string(),\n data: z.object({\n success: z.boolean(),\n custId: z.number(),\n awardId: z.number(),\n awardCount: z.number()\n }),\n dataUrl: z.string()\n});\nconst MemberChartData = z.object({\n blackout: z.boolean(),\n categoryId: z.number(),\n chartType: z.number(),\n data: z.array(z.object({\n when: z.string(),\n value: z.number()\n })),\n success: z.boolean(),\n custId: z.number()\n});\nconst MemberGet = z.object({\n success: z.boolean(),\n custIds: z.array(z.number()),\n members: z.array(z.object({\n custId: z.number(),\n displayName: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n lastLogin: z.string(),\n memberSince: z.string(),\n flairId: z.number(),\n flairName: z.string(),\n flairShortname: z.string(),\n ai: z.boolean()\n }))\n});\nconst MemberInfo = z.object({\n custId: z.number(),\n displayName: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n onCarName: z.string(),\n memberSince: z.string(),\n flairId: z.number(),\n flairName: z.string(),\n flairShortname: z.string(),\n flairCountryCode: z.string(),\n lastLogin: z.string(),\n readTc: z.string(),\n readPp: z.string(),\n readCompRules: z.string(),\n flags: z.number(),\n connectionType: z.string(),\n downloadServer: z.string(),\n account: z.object({\n irDollars: z.number(),\n irCredits: z.number(),\n status: z.string(),\n countryRules: z.nullable(z.unknown())\n }),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n suit: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n bodyType: z.number()\n }),\n licenses: z.object({\n oval: z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n }),\n sportsCar: z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n }),\n formulaCar: z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n }),\n dirtOval: z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n }),\n dirtRoad: z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n })\n }),\n carPackages: z.array(z.object({\n packageId: z.number(),\n contentIds: z.array(z.number())\n })),\n trackPackages: z.array(z.object({\n packageId: z.number(),\n contentIds: z.array(z.number())\n })),\n otherOwnedPackages: z.array(z.number()),\n dev: z.boolean(),\n alphaTester: z.boolean(),\n rainTester: z.boolean(),\n broadcaster: z.boolean(),\n restrictions: z.object({\n\n }),\n hasReadCompRules: z.boolean(),\n hasReadNda: z.boolean(),\n flagsHex: z.string(),\n hundredPctClub: z.boolean(),\n twentyPctDiscount: z.boolean(),\n lastSeason: z.number(),\n hasAdditionalContent: z.boolean(),\n hasReadTc: z.boolean(),\n hasReadPp: z.boolean()\n});\nconst MemberParticipationCredits = z.array(z.object({\n custId: z.number(),\n seasonId: z.number(),\n seriesId: z.number(),\n seriesName: z.string(),\n licenseGroup: z.number(),\n licenseGroupName: z.string(),\n participationCredits: z.number(),\n minWeeks: z.number(),\n weeks: z.number(),\n earnedCredits: z.number(),\n totalCredits: z.number()\n}));\nconst MemberProfile = z.object({\n recentAwards: z.array(z.object({\n memberAwardId: z.number(),\n awardId: z.number(),\n achievement: z.boolean(),\n awardCount: z.number(),\n awardDate: z.string(),\n awardOrder: z.number(),\n awardedDescription: z.string(),\n description: z.string(),\n groupName: z.string(),\n hasPdf: z.boolean(),\n iconUrlLarge: z.string(),\n iconUrlSmall: z.string(),\n iconUrlUnawarded: z.string(),\n name: z.string(),\n progress: z.optional(z.number()),\n progressLabel: z.optional(z.string()),\n threshold: z.optional(z.number()),\n viewed: z.boolean(),\n weight: z.number(),\n subsessionId: z.optional(z.number()),\n custId: z.optional(z.number())\n })),\n activity: z.object({\n recent30daysCount: z.number(),\n prev30daysCount: z.number(),\n consecutiveWeeks: z.number(),\n mostConsecutiveWeeks: z.number()\n }),\n success: z.boolean(),\n imageUrl: z.string(),\n memberInfo: z.object({\n ai: z.boolean(),\n country: z.nullable(z.string()),\n countryCode: z.string(),\n custId: z.number(),\n displayName: z.string(),\n flairId: z.number(),\n flairName: z.string(),\n flairShortname: z.string(),\n helmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n lastLogin: z.string(),\n licenses: z.array(z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n mprNumRaces: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n proPromotable: z.boolean(),\n seq: z.number(),\n mprNumTts: z.number()\n })),\n memberSince: z.string()\n }),\n disabled: z.boolean(),\n licenseHistory: z.array(z.object({\n categoryId: z.number(),\n category: z.string(),\n categoryName: z.string(),\n licenseLevel: z.number(),\n safetyRating: z.number(),\n cpi: z.number(),\n irating: z.number(),\n ttRating: z.number(),\n color: z.string(),\n groupName: z.string(),\n groupId: z.number(),\n seq: z.number()\n })),\n recentEvents: z.array(z.object({\n eventType: z.string(),\n subsessionId: z.number(),\n startTime: z.string(),\n eventId: z.number(),\n eventName: z.string(),\n simsessionType: z.number(),\n startingPosition: z.number(),\n finishPosition: z.number(),\n bestLapTime: z.number(),\n percentRank: z.number(),\n carId: z.number(),\n carName: z.string(),\n logoUrl: z.nullable(z.string()),\n track: z.object({\n configName: z.string(),\n trackId: z.number(),\n trackName: z.string()\n })\n })),\n custId: z.number(),\n isGenericImage: z.boolean(),\n followCounts: z.object({\n followers: z.number(),\n follows: z.number()\n })\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type MemberAwardsResponse = z.infer<typeof MemberAwards>;\nexport type MemberAwardInstancesResponse = z.infer<typeof MemberAwardInstances>;\nexport type MemberChartDataResponse = z.infer<typeof MemberChartData>;\nexport type MemberGetResponse = z.infer<typeof MemberGet>;\nexport type MemberInfoResponse = z.infer<typeof MemberInfo>;\nexport type MemberParticipationCreditsResponse = z.infer<typeof MemberParticipationCredits>;\nexport type MemberProfileResponse = z.infer<typeof MemberProfile>;\n\n// ---- Parameter Schemas ----\n\nconst MemberAwardsParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\nconst MemberAwardInstancesParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n awardId: z.number(), // maps to: award_id\n});\n\nconst MemberChartDataParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n categoryId: z.number(), // 1 - Oval; 2 - Road; 3 - Dirt oval; 4 - Dirt road // maps to: category_id\n chartType: z.number(), // 1 - iRating; 2 - TT Rating; 3 - License/SR // maps to: chart_type\n});\n\nconst MemberGetParamsSchema = z.object({\n custIds: z.array(z.number()), // ?cust_ids=2,3,4 // maps to: cust_ids\n includeLicenses: z.optional(z.boolean()), // maps to: include_licenses\n});\n\nconst MemberInfoParamsSchema = z.object({\n});\n\nconst MemberParticipationCreditsParamsSchema = z.object({\n});\n\nconst MemberProfileParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\n// ---- Exported Parameter Types ----\n\nexport type MemberAwardsParams = z.infer<typeof MemberAwardsParamsSchema>;\nexport type MemberAwardInstancesParams = z.infer<typeof MemberAwardInstancesParamsSchema>;\nexport type MemberChartDataParams = z.infer<typeof MemberChartDataParamsSchema>;\nexport type MemberGetParams = z.infer<typeof MemberGetParamsSchema>;\nexport type MemberInfoParams = z.infer<typeof MemberInfoParamsSchema>;\nexport type MemberParticipationCreditsParams = z.infer<typeof MemberParticipationCreditsParamsSchema>;\nexport type MemberProfileParams = z.infer<typeof MemberProfileParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n MemberAwardsParamsSchema,\n MemberAwardInstancesParamsSchema,\n MemberChartDataParamsSchema,\n MemberGetParamsSchema,\n MemberInfoParamsSchema,\n MemberParticipationCreditsParamsSchema,\n MemberProfileParamsSchema,\n MemberAwards,\n MemberAwardInstances,\n MemberChartData,\n MemberGet,\n MemberInfo,\n MemberParticipationCredits,\n MemberProfile,\n};","import type { IRacingClient } from \"../client\";\nimport type { MemberAwardsParams, MemberAwardInstancesParams, MemberChartDataParams, MemberGetParams, MemberProfileParams, MemberAwardsResponse, MemberAwardInstancesResponse, MemberChartDataResponse, MemberGetResponse, MemberInfoResponse, MemberParticipationCreditsResponse, MemberProfileResponse } from \"./types\";\nimport { MemberAwards, MemberAwardInstances, MemberChartData, MemberGet, MemberInfo, MemberParticipationCredits, MemberProfile } from \"./types\";\n\nexport class MemberService {\n constructor(private client: IRacingClient) {}\n\n /**\n * awards\n * @see https://members-ng.iracing.com/data/member/awards\n * @sample member.awards.json\n */\n async awards(params: MemberAwardsParams): Promise<MemberAwardsResponse> {\n return this.client.get<MemberAwardsResponse>(\"https://members-ng.iracing.com/data/member/awards\", { params, schema: MemberAwards });\n }\n\n /**\n * award_instances\n * @see https://members-ng.iracing.com/data/member/award_instances\n * @sample member.award_instances.json\n */\n async awardInstances(params: MemberAwardInstancesParams): Promise<MemberAwardInstancesResponse> {\n return this.client.get<MemberAwardInstancesResponse>(\"https://members-ng.iracing.com/data/member/award_instances\", { params, schema: MemberAwardInstances });\n }\n\n /**\n * chart_data\n * @see https://members-ng.iracing.com/data/member/chart_data\n * @sample member.chart_data.json\n */\n async chartData(params: MemberChartDataParams): Promise<MemberChartDataResponse> {\n return this.client.get<MemberChartDataResponse>(\"https://members-ng.iracing.com/data/member/chart_data\", { params, schema: MemberChartData });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/member/get\n * @sample member.get.json\n */\n async get(params: MemberGetParams): Promise<MemberGetResponse> {\n return this.client.get<MemberGetResponse>(\"https://members-ng.iracing.com/data/member/get\", { params, schema: MemberGet });\n }\n\n /**\n * info\n * @see https://members-ng.iracing.com/data/member/info\n * @sample member.info.json\n */\n async info(): Promise<MemberInfoResponse> {\n return this.client.get<MemberInfoResponse>(\"https://members-ng.iracing.com/data/member/info\", { schema: MemberInfo });\n }\n\n /**\n * participation_credits\n * @see https://members-ng.iracing.com/data/member/participation_credits\n * @sample member.participation_credits.json\n */\n async participationCredits(): Promise<MemberParticipationCreditsResponse> {\n return this.client.get<MemberParticipationCreditsResponse>(\"https://members-ng.iracing.com/data/member/participation_credits\", { schema: MemberParticipationCredits });\n }\n\n /**\n * profile\n * @see https://members-ng.iracing.com/data/member/profile\n * @sample member.profile.json\n */\n async profile(params: MemberProfileParams): Promise<MemberProfileResponse> {\n return this.client.get<MemberProfileResponse>(\"https://members-ng.iracing.com/data/member/profile\", { params, schema: MemberProfile });\n }\n\n}","import type { IRacingClient } from \"../client\";\nimport type { ResultsGetParams, ResultsEventLogParams, ResultsLapChartDataParams, ResultsLapDataParams, ResultsSearchHostedParams, ResultsSearchSeriesParams, ResultsSeasonResultsParams } from \"./types\";\n\nexport class ResultsService {\n constructor(private client: IRacingClient) {}\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/results/get\n */\n async get(params: ResultsGetParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/get\", { params });\n }\n\n /**\n * event_log\n * @see https://members-ng.iracing.com/data/results/event_log\n */\n async eventLog(params: ResultsEventLogParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/event_log\", { params });\n }\n\n /**\n * lap_chart_data\n * @see https://members-ng.iracing.com/data/results/lap_chart_data\n */\n async lapChartData(params: ResultsLapChartDataParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/lap_chart_data\", { params });\n }\n\n /**\n * lap_data\n * @see https://members-ng.iracing.com/data/results/lap_data\n */\n async lapData(params: ResultsLapDataParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/lap_data\", { params });\n }\n\n /**\n * search_hosted\n * @see https://members-ng.iracing.com/data/results/search_hosted\n */\n async searchHosted(params: ResultsSearchHostedParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/search_hosted\", { params });\n }\n\n /**\n * search_series\n * @see https://members-ng.iracing.com/data/results/search_series\n */\n async searchSeries(params: ResultsSearchSeriesParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/search_series\", { params });\n }\n\n /**\n * season_results\n * @see https://members-ng.iracing.com/data/results/season_results\n */\n async seasonResults(params: ResultsSeasonResultsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/results/season_results\", { params });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst SeasonList = z.object({\n seasonQuarter: z.number(),\n seasons: z.array(z.object({\n seasonId: z.number(),\n seriesId: z.number(),\n seasonName: z.string(),\n seriesName: z.string(),\n official: z.boolean(),\n seasonYear: z.number(),\n seasonQuarter: z.number(),\n licenseGroup: z.number(),\n fixedSetup: z.boolean(),\n driverChanges: z.boolean(),\n rookieSeason: z.optional(z.string())\n })),\n seasonYear: z.number()\n});\nconst SeasonRaceGuide = z.object({\n subscribed: z.boolean(),\n sessions: z.array(z.object({\n seasonId: z.number(),\n startTime: z.string(),\n superSession: z.boolean(),\n seriesId: z.number(),\n raceWeekNum: z.number(),\n endTime: z.string(),\n sessionId: z.optional(z.number()),\n entryCount: z.number()\n })),\n blockBeginTime: z.string(),\n blockEndTime: z.string(),\n success: z.boolean()\n});\nconst SeasonSpectatorSubsessionids = z.object({\n eventTypes: z.array(z.number()),\n success: z.boolean(),\n subsessionIds: z.array(z.number())\n});\nconst SeasonSpectatorSubsessionidsDetail = z.object({\n success: z.boolean(),\n seasonIds: z.array(z.number()),\n eventTypes: z.array(z.number()),\n subsessions: z.array(z.object({\n subsessionId: z.number(),\n sessionId: z.number(),\n seasonId: z.number(),\n startTime: z.string(),\n raceWeekNum: z.number(),\n eventType: z.number()\n }))\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type SeasonListResponse = z.infer<typeof SeasonList>;\nexport type SeasonRaceGuideResponse = z.infer<typeof SeasonRaceGuide>;\nexport type SeasonSpectatorSubsessionidsResponse = z.infer<typeof SeasonSpectatorSubsessionids>;\nexport type SeasonSpectatorSubsessionidsDetailResponse = z.infer<typeof SeasonSpectatorSubsessionidsDetail>;\n\n// ---- Parameter Schemas ----\n\nconst SeasonListParamsSchema = z.object({\n seasonYear: z.number(), // maps to: season_year\n seasonQuarter: z.number(), // maps to: season_quarter\n});\n\nconst SeasonRaceGuideParamsSchema = z.object({\n from: z.optional(z.string()), // ISO-8601 offset format. Defaults to the current time. Include sessions with start times up to 3 hours after this time. Times in the past will be rewritten to the current time.\n includeEndAfterFrom: z.optional(z.boolean()), // Include sessions which start before 'from' but end after. // maps to: include_end_after_from\n});\n\nconst SeasonSpectatorSubsessionidsParamsSchema = z.object({\n eventTypes: z.optional(z.array(z.number())), // Types of events to include in the search. Defaults to all. ?event_types=2,3,4,5 // maps to: event_types\n});\n\nconst SeasonSpectatorSubsessionidsDetailParamsSchema = z.object({\n eventTypes: z.optional(z.array(z.number())), // Types of events to include in the search. Defaults to all. ?event_types=2,3,4,5 // maps to: event_types\n seasonIds: z.optional(z.array(z.number())), // Seasons to include in the search. Defaults to all. ?season_ids=513,937 // maps to: season_ids\n});\n\n// ---- Exported Parameter Types ----\n\nexport type SeasonListParams = z.infer<typeof SeasonListParamsSchema>;\nexport type SeasonRaceGuideParams = z.infer<typeof SeasonRaceGuideParamsSchema>;\nexport type SeasonSpectatorSubsessionidsParams = z.infer<typeof SeasonSpectatorSubsessionidsParamsSchema>;\nexport type SeasonSpectatorSubsessionidsDetailParams = z.infer<typeof SeasonSpectatorSubsessionidsDetailParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n SeasonListParamsSchema,\n SeasonRaceGuideParamsSchema,\n SeasonSpectatorSubsessionidsParamsSchema,\n SeasonSpectatorSubsessionidsDetailParamsSchema,\n SeasonList,\n SeasonRaceGuide,\n SeasonSpectatorSubsessionids,\n SeasonSpectatorSubsessionidsDetail,\n};","import type { IRacingClient } from \"../client\";\nimport type { SeasonListParams, SeasonRaceGuideParams, SeasonSpectatorSubsessionidsParams, SeasonSpectatorSubsessionidsDetailParams, SeasonListResponse, SeasonRaceGuideResponse, SeasonSpectatorSubsessionidsResponse, SeasonSpectatorSubsessionidsDetailResponse } from \"./types\";\nimport { SeasonList, SeasonRaceGuide, SeasonSpectatorSubsessionids, SeasonSpectatorSubsessionidsDetail } from \"./types\";\n\nexport class SeasonService {\n constructor(private client: IRacingClient) {}\n\n /**\n * list\n * @see https://members-ng.iracing.com/data/season/list\n * @sample season.list.json\n */\n async list(params: SeasonListParams): Promise<SeasonListResponse> {\n return this.client.get<SeasonListResponse>(\"https://members-ng.iracing.com/data/season/list\", { params, schema: SeasonList });\n }\n\n /**\n * race_guide\n * @see https://members-ng.iracing.com/data/season/race_guide\n * @sample season.race_guide.json\n */\n async raceGuide(params: SeasonRaceGuideParams): Promise<SeasonRaceGuideResponse> {\n return this.client.get<SeasonRaceGuideResponse>(\"https://members-ng.iracing.com/data/season/race_guide\", { params, schema: SeasonRaceGuide });\n }\n\n /**\n * spectator_subsessionids\n * @see https://members-ng.iracing.com/data/season/spectator_subsessionids\n * @sample season.spectator_subsessionids.json\n */\n async spectatorSubsessionids(params: SeasonSpectatorSubsessionidsParams): Promise<SeasonSpectatorSubsessionidsResponse> {\n return this.client.get<SeasonSpectatorSubsessionidsResponse>(\"https://members-ng.iracing.com/data/season/spectator_subsessionids\", { params, schema: SeasonSpectatorSubsessionids });\n }\n\n /**\n * spectator_subsessionids_detail\n * @see https://members-ng.iracing.com/data/season/spectator_subsessionids_detail\n * @sample season.spectator_subsessionids_detail.json\n */\n async spectatorSubsessionidsDetail(params: SeasonSpectatorSubsessionidsDetailParams): Promise<SeasonSpectatorSubsessionidsDetailResponse> {\n return this.client.get<SeasonSpectatorSubsessionidsDetailResponse>(\"https://members-ng.iracing.com/data/season/spectator_subsessionids_detail\", { params, schema: SeasonSpectatorSubsessionidsDetail });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst SeriesAssets = z.record(z.string(), z.object({\n largeImage: z.optional(z.nullable(z.string())),\n logo: z.optional(z.nullable(z.string())),\n seriesCopy: z.optional(z.nullable(z.string())),\n seriesId: z.optional(z.nullable(z.number())),\n smallImage: z.optional(z.nullable(z.string()))\n}));\nconst SeriesGet = z.array(z.object({\n allowedLicenses: z.array(z.object({\n groupName: z.string(),\n licenseGroup: z.number(),\n maxLicenseLevel: z.number(),\n minLicenseLevel: z.number()\n })),\n category: z.string(),\n categoryId: z.number(),\n eligible: z.boolean(),\n firstSeason: z.object({\n seasonYear: z.number(),\n seasonQuarter: z.number()\n}),\n forumUrl: z.optional(z.string()),\n maxStarters: z.number(),\n minStarters: z.number(),\n ovalCautionType: z.number(),\n roadCautionType: z.number(),\n seriesId: z.number(),\n seriesName: z.string(),\n seriesShortName: z.string(),\n searchFilters: z.optional(z.string())\n}));\nconst SeriesPastSeasons = z.object({\n success: z.boolean(),\n series: z.object({\n seriesId: z.number(),\n seriesName: z.string(),\n seriesShortName: z.string(),\n categoryId: z.number(),\n category: z.string(),\n active: z.boolean(),\n official: z.boolean(),\n fixedSetup: z.boolean(),\n searchFilters: z.string(),\n logo: z.string(),\n licenseGroup: z.number(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n allowedLicenses: z.array(z.object({\n groupName: z.string(),\n licenseGroup: z.number(),\n maxLicenseLevel: z.number(),\n minLicenseLevel: z.number(),\n parentId: z.number()\n })),\n seasons: z.array(z.object({\n seasonId: z.number(),\n seriesId: z.number(),\n seasonName: z.string(),\n seasonShortName: z.string(),\n seasonYear: z.number(),\n seasonQuarter: z.number(),\n active: z.boolean(),\n official: z.boolean(),\n driverChanges: z.boolean(),\n fixedSetup: z.boolean(),\n licenseGroup: z.number(),\n hasSupersessions: z.boolean(),\n carSwitching: z.boolean(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n carClasses: z.array(z.object({\n carClassId: z.number(),\n shortName: z.string(),\n name: z.string(),\n relativeSpeed: z.number()\n })),\n raceWeeks: z.array(z.object({\n seasonId: z.number(),\n raceWeekNum: z.number(),\n track: z.object({\n trackId: z.number(),\n trackName: z.string(),\n configName: z.optional(z.string())\n })\n }))\n }))\n }),\n seriesId: z.number()\n});\nconst SeriesSeasons = z.array(z.object({\n seasonId: z.number(),\n seasonName: z.string(),\n active: z.boolean(),\n allowedSeasonMembers: z.nullable(z.string()),\n carClassIds: z.array(z.number()),\n carSwitching: z.boolean(),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n cautionLapsDoNotCount: z.boolean(),\n complete: z.boolean(),\n connectionBlackFlag: z.boolean(),\n consecCautionWithinNlaps: z.number(),\n consecCautionsSingleFile: z.boolean(),\n crossLicense: z.boolean(),\n distributedMatchmaking: z.boolean(),\n driverChangeRule: z.number(),\n driverChanges: z.boolean(),\n drops: z.number(),\n enablePitlaneCollisions: z.boolean(),\n fixedSetup: z.boolean(),\n greenWhiteCheckeredLimit: z.number(),\n gridByClass: z.boolean(),\n hardcoreLevel: z.number(),\n hasSupersessions: z.boolean(),\n ignoreLicenseForPractice: z.boolean(),\n incidentLimit: z.number(),\n incidentWarnMode: z.number(),\n incidentWarnParam1: z.number(),\n incidentWarnParam2: z.number(),\n isHeatRacing: z.boolean(),\n licenseGroup: z.number(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n luckyDog: z.boolean(),\n maxTeamDrivers: z.number(),\n maxWeeks: z.number(),\n minTeamDrivers: z.number(),\n multiclass: z.boolean(),\n mustUseDiffTireTypesInRace: z.boolean(),\n nextRaceSession: z.nullable(z.string()),\n numFastTows: z.number(),\n numOptLaps: z.number(),\n official: z.boolean(),\n opDuration: z.number(),\n openPracticeSessionTypeId: z.number(),\n qualifierMustStartRace: z.boolean(),\n raceWeek: z.number(),\n raceWeekToMakeDivisions: z.number(),\n regUserCount: z.number(),\n regionCompetition: z.boolean(),\n restrictByMember: z.boolean(),\n restrictToCar: z.boolean(),\n restrictViewing: z.boolean(),\n scheduleDescription: z.string(),\n schedules: z.array(z.object({\n seasonId: z.number(),\n raceWeekNum: z.number(),\n carRestrictions: z.array(z.object({\n carId: z.number(),\n maxDryTireSets: z.number(),\n maxPctFuelFill: z.number(),\n powerAdjustPct: z.number(),\n weightPenaltyKg: z.number(),\n raceSetupId: z.optional(z.number()),\n qualSetupId: z.optional(z.number())\n })),\n category: z.string(),\n categoryId: z.number(),\n enablePitlaneCollisions: z.boolean(),\n fullCourseCautions: z.boolean(),\n practiceLength: z.optional(z.number()),\n qualAttached: z.boolean(),\n qualifyLaps: z.optional(z.number()),\n qualifyLength: z.optional(z.number()),\n raceLapLimit: z.nullable(z.number()),\n raceTimeDescriptors: z.array(z.object({\n dayOffset: z.optional(z.array(z.number())),\n firstSessionTime: z.optional(z.string()),\n repeatMinutes: z.optional(z.number()),\n repeating: z.boolean(),\n sessionMinutes: z.number(),\n startDate: z.optional(z.string()),\n superSession: z.boolean(),\n sessionTimes: z.optional(z.array(z.string()))\n })),\n raceTimeLimit: z.nullable(z.number()),\n raceWeekCarClassIds: z.array(z.unknown()),\n raceWeekCars: z.array(z.unknown()),\n restartType: z.string(),\n scheduleName: z.string(),\n seasonName: z.string(),\n seriesId: z.number(),\n seriesName: z.string(),\n shortParadeLap: z.boolean(),\n specialEventType: z.nullable(z.string()),\n startDate: z.string(),\n startType: z.string(),\n startZone: z.boolean(),\n track: z.object({\n category: z.string(),\n categoryId: z.number(),\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n }),\n trackState: z.object({\n leaveMarbles: z.boolean(),\n practiceRubber: z.optional(z.number()),\n raceRubber: z.optional(z.number())\n }),\n warmupLength: z.optional(z.number()),\n weather: z.object({\n allowFog: z.boolean(),\n forecastOptions: z.object({\n allowFog: z.boolean(),\n forecastType: z.number(),\n precipitation: z.number(),\n skies: z.number(),\n stopPrecip: z.number(),\n temperature: z.number(),\n weatherSeed: z.optional(z.number()),\n windDir: z.number(),\n windSpeed: z.number()\n }),\n precipOption: z.number(),\n relHumidity: z.number(),\n simulatedStartTime: z.string(),\n simulatedTimeMultiplier: z.number(),\n simulatedTimeOffsets: z.array(z.number()),\n skies: z.number(),\n tempUnits: z.number(),\n tempValue: z.number(),\n timeOfDay: z.number(),\n trackWater: z.number(),\n version: z.number(),\n weatherSummary: z.object({\n maxPrecipRate: z.number(),\n maxPrecipRateDesc: z.string(),\n precipChance: z.number(),\n skiesHigh: z.number(),\n skiesLow: z.number(),\n tempHigh: z.number(),\n tempLow: z.number(),\n tempUnits: z.number(),\n windDir: z.number(),\n windHigh: z.number(),\n windLow: z.number(),\n windUnits: z.number()\n }),\n weatherUrl: z.string(),\n windDir: z.number(),\n windUnits: z.number(),\n windValue: z.number()\n }),\n weekEndTime: z.string()\n })),\n seasonQuarter: z.number(),\n seasonShortName: z.string(),\n seasonYear: z.number(),\n sendToOpenPractice: z.boolean(),\n seriesId: z.number(),\n shortParadeLap: z.boolean(),\n startDate: z.string(),\n startOnQualTire: z.boolean(),\n startZone: z.boolean(),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n unsportConductRuleMode: z.number(),\n heatSesInfo: z.optional(z.object({\n consolationDeltaMaxFieldSize: z.number(),\n consolationDeltaSessionLaps: z.number(),\n consolationDeltaSessionLengthMinutes: z.number(),\n consolationFirstMaxFieldSize: z.number(),\n consolationFirstSessionLaps: z.number(),\n consolationFirstSessionLengthMinutes: z.number(),\n consolationNumPositionToInvert: z.number(),\n consolationNumToConsolation: z.number(),\n consolationNumToMain: z.number(),\n consolationRunAlways: z.boolean(),\n consolationScoresChampPoints: z.boolean(),\n created: z.string(),\n custId: z.number(),\n description: z.string(),\n heatCautionType: z.number(),\n heatInfoId: z.number(),\n heatInfoName: z.string(),\n heatLaps: z.number(),\n heatLengthMinutes: z.number(),\n heatMaxFieldSize: z.number(),\n heatNumFromEachToMain: z.number(),\n heatNumPositionToInvert: z.number(),\n heatScoresChampPoints: z.boolean(),\n heatSessionMinutesEstimate: z.number(),\n hidden: z.boolean(),\n mainLaps: z.number(),\n mainLengthMinutes: z.number(),\n mainMaxFieldSize: z.number(),\n mainNumPositionToInvert: z.number(),\n maxEntrants: z.number(),\n openPractice: z.boolean(),\n preMainPracticeLengthMinutes: z.number(),\n preQualNumToMain: z.number(),\n preQualPracticeLengthMinutes: z.number(),\n qualCautionType: z.number(),\n qualLaps: z.number(),\n qualLengthMinutes: z.number(),\n qualNumToMain: z.number(),\n qualOpenDelaySeconds: z.number(),\n qualScoresChampPoints: z.boolean(),\n qualScoring: z.number(),\n qualStyle: z.number(),\n raceStyle: z.number()\n})),\n regOpenMinutes: z.optional(z.number())\n}));\nconst SeriesSeasonList = z.object({\n seasons: z.array(z.object({\n seasonId: z.number(),\n seasonName: z.string(),\n active: z.boolean(),\n allowedSeasonMembers: z.nullable(z.string()),\n carClassIds: z.array(z.number()),\n carSwitching: z.boolean(),\n carTypes: z.array(z.object({\n carType: z.string()\n })),\n cautionLapsDoNotCount: z.boolean(),\n complete: z.boolean(),\n connectionBlackFlag: z.boolean(),\n consecCautionWithinNlaps: z.number(),\n consecCautionsSingleFile: z.boolean(),\n crossLicense: z.boolean(),\n currentWeekSched: z.object({\n raceWeekNum: z.number(),\n track: z.object({\n category: z.string(),\n categoryId: z.number(),\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n }),\n carRestrictions: z.array(z.object({\n carId: z.number(),\n maxDryTireSets: z.number(),\n maxPctFuelFill: z.number(),\n powerAdjustPct: z.number(),\n weightPenaltyKg: z.number(),\n raceSetupId: z.optional(z.number()),\n qualSetupId: z.optional(z.number())\n })),\n raceLapLimit: z.nullable(z.number()),\n raceTimeLimit: z.nullable(z.number()),\n precipChance: z.number(),\n startType: z.string(),\n categoryId: z.number()\n }),\n distributedMatchmaking: z.boolean(),\n driverChangeRule: z.number(),\n driverChanges: z.boolean(),\n drops: z.number(),\n elig: z.object({\n ownCar: z.boolean(),\n ownTrack: z.boolean()\n }),\n enablePitlaneCollisions: z.boolean(),\n fixedSetup: z.boolean(),\n greenWhiteCheckeredLimit: z.number(),\n gridByClass: z.boolean(),\n hardcoreLevel: z.number(),\n hasMpr: z.boolean(),\n hasSupersessions: z.boolean(),\n ignoreLicenseForPractice: z.boolean(),\n incidentLimit: z.number(),\n incidentWarnMode: z.number(),\n incidentWarnParam1: z.number(),\n incidentWarnParam2: z.number(),\n isHeatRacing: z.boolean(),\n licenseGroup: z.number(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n luckyDog: z.boolean(),\n maxTeamDrivers: z.number(),\n maxWeeks: z.number(),\n minTeamDrivers: z.number(),\n multiclass: z.boolean(),\n mustUseDiffTireTypesInRace: z.boolean(),\n numFastTows: z.number(),\n numOptLaps: z.number(),\n official: z.boolean(),\n opDuration: z.number(),\n openPracticeSessionTypeId: z.number(),\n qualifierMustStartRace: z.boolean(),\n raceWeek: z.number(),\n raceWeekToMakeDivisions: z.number(),\n regUserCount: z.number(),\n regionCompetition: z.boolean(),\n restrictByMember: z.boolean(),\n restrictToCar: z.boolean(),\n restrictViewing: z.boolean(),\n scheduleDescription: z.string(),\n seasonQuarter: z.number(),\n seasonShortName: z.string(),\n seasonYear: z.number(),\n sendToOpenPractice: z.boolean(),\n seriesId: z.number(),\n shortParadeLap: z.boolean(),\n startDate: z.string(),\n startOnQualTire: z.boolean(),\n startZone: z.boolean(),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n unsportConductRuleMode: z.number(),\n heatSesInfo: z.optional(z.object({\n consolationDeltaMaxFieldSize: z.number(),\n consolationDeltaSessionLaps: z.number(),\n consolationDeltaSessionLengthMinutes: z.number(),\n consolationFirstMaxFieldSize: z.number(),\n consolationFirstSessionLaps: z.number(),\n consolationFirstSessionLengthMinutes: z.number(),\n consolationNumPositionToInvert: z.number(),\n consolationNumToConsolation: z.number(),\n consolationNumToMain: z.number(),\n consolationRunAlways: z.boolean(),\n consolationScoresChampPoints: z.boolean(),\n created: z.string(),\n custId: z.number(),\n description: z.string(),\n heatCautionType: z.number(),\n heatInfoId: z.number(),\n heatInfoName: z.string(),\n heatLaps: z.number(),\n heatLengthMinutes: z.number(),\n heatMaxFieldSize: z.number(),\n heatNumFromEachToMain: z.number(),\n heatNumPositionToInvert: z.number(),\n heatScoresChampPoints: z.boolean(),\n heatSessionMinutesEstimate: z.number(),\n hidden: z.boolean(),\n mainLaps: z.number(),\n mainLengthMinutes: z.number(),\n mainMaxFieldSize: z.number(),\n mainNumPositionToInvert: z.number(),\n maxEntrants: z.number(),\n openPractice: z.boolean(),\n preMainPracticeLengthMinutes: z.number(),\n preQualNumToMain: z.number(),\n preQualPracticeLengthMinutes: z.number(),\n qualCautionType: z.number(),\n qualLaps: z.number(),\n qualLengthMinutes: z.number(),\n qualNumToMain: z.number(),\n qualOpenDelaySeconds: z.number(),\n qualScoresChampPoints: z.boolean(),\n qualScoring: z.number(),\n qualStyle: z.number(),\n raceStyle: z.number()\n })),\n regOpenMinutes: z.optional(z.number())\n }))\n});\nconst SeriesStatsSeries = z.array(z.object({\n seriesId: z.number(),\n seriesName: z.string(),\n seriesShortName: z.string(),\n categoryId: z.number(),\n category: z.string(),\n active: z.boolean(),\n official: z.boolean(),\n fixedSetup: z.boolean(),\n logo: z.nullable(z.string()),\n licenseGroup: z.number(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n allowedLicenses: z.array(z.object({\n groupName: z.string(),\n licenseGroup: z.number(),\n maxLicenseLevel: z.number(),\n minLicenseLevel: z.number(),\n parentId: z.number()\n })),\n seasons: z.array(z.object({\n seasonId: z.number(),\n seriesId: z.number(),\n seasonName: z.string(),\n seasonShortName: z.string(),\n seasonYear: z.number(),\n seasonQuarter: z.number(),\n active: z.boolean(),\n official: z.boolean(),\n driverChanges: z.boolean(),\n fixedSetup: z.boolean(),\n licenseGroup: z.number(),\n hasSupersessions: z.boolean(),\n carSwitching: z.boolean(),\n licenseGroupTypes: z.array(z.object({\n licenseGroupType: z.number()\n })),\n carClasses: z.array(z.object({\n carClassId: z.number(),\n shortName: z.string(),\n name: z.string(),\n relativeSpeed: z.number()\n })),\n raceWeeks: z.array(z.object({\n seasonId: z.number(),\n raceWeekNum: z.number(),\n track: z.object({\n configName: z.optional(z.string()),\n trackId: z.number(),\n trackName: z.string()\n })\n }))\n })),\n searchFilters: z.optional(z.string())\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type SeriesAssetsResponse = z.infer<typeof SeriesAssets>;\nexport type SeriesGetResponse = z.infer<typeof SeriesGet>;\nexport type SeriesPastSeasonsResponse = z.infer<typeof SeriesPastSeasons>;\nexport type SeriesSeasonsResponse = z.infer<typeof SeriesSeasons>;\nexport type SeriesSeasonListResponse = z.infer<typeof SeriesSeasonList>;\nexport type SeriesStatsSeriesResponse = z.infer<typeof SeriesStatsSeries>;\n\n// ---- Parameter Schemas ----\n\nconst SeriesAssetsParamsSchema = z.object({\n});\n\nconst SeriesGetParamsSchema = z.object({\n});\n\nconst SeriesPastSeasonsParamsSchema = z.object({\n seriesId: z.number(), // maps to: series_id\n});\n\nconst SeriesSeasonsParamsSchema = z.object({\n includeSeries: z.optional(z.boolean()), // maps to: include_series\n seasonYear: z.optional(z.number()), // To look up past seasons use both a season_year and season_quarter. Without both, the active seasons are returned. // maps to: season_year\n seasonQuarter: z.optional(z.number()), // To look up past seasons use both a season_year and season_quarter. Without both, the active seasons are returned. // maps to: season_quarter\n});\n\nconst SeriesSeasonListParamsSchema = z.object({\n includeSeries: z.optional(z.boolean()), // maps to: include_series\n seasonYear: z.optional(z.number()), // maps to: season_year\n seasonQuarter: z.optional(z.number()), // maps to: season_quarter\n});\n\nconst SeriesSeasonScheduleParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n});\n\nconst SeriesStatsSeriesParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type SeriesAssetsParams = z.infer<typeof SeriesAssetsParamsSchema>;\nexport type SeriesGetParams = z.infer<typeof SeriesGetParamsSchema>;\nexport type SeriesPastSeasonsParams = z.infer<typeof SeriesPastSeasonsParamsSchema>;\nexport type SeriesSeasonsParams = z.infer<typeof SeriesSeasonsParamsSchema>;\nexport type SeriesSeasonListParams = z.infer<typeof SeriesSeasonListParamsSchema>;\nexport type SeriesSeasonScheduleParams = z.infer<typeof SeriesSeasonScheduleParamsSchema>;\nexport type SeriesStatsSeriesParams = z.infer<typeof SeriesStatsSeriesParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n SeriesAssetsParamsSchema,\n SeriesGetParamsSchema,\n SeriesPastSeasonsParamsSchema,\n SeriesSeasonsParamsSchema,\n SeriesSeasonListParamsSchema,\n SeriesSeasonScheduleParamsSchema,\n SeriesStatsSeriesParamsSchema,\n SeriesAssets,\n SeriesGet,\n SeriesPastSeasons,\n SeriesSeasons,\n SeriesSeasonList,\n SeriesStatsSeries,\n};","import type { IRacingClient } from \"../client\";\nimport type { SeriesPastSeasonsParams, SeriesSeasonsParams, SeriesSeasonListParams, SeriesSeasonScheduleParams, SeriesAssetsResponse, SeriesGetResponse, SeriesPastSeasonsResponse, SeriesSeasonsResponse, SeriesSeasonListResponse, SeriesStatsSeriesResponse } from \"./types\";\nimport { SeriesAssets, SeriesGet, SeriesPastSeasons, SeriesSeasons, SeriesSeasonList, SeriesStatsSeries } from \"./types\";\n\nexport class SeriesService {\n constructor(private client: IRacingClient) {}\n\n /**\n * assets\n * @see https://members-ng.iracing.com/data/series/assets\n * @sample series.assets.json\n */\n async assets(): Promise<SeriesAssetsResponse> {\n return this.client.get<SeriesAssetsResponse>(\"https://members-ng.iracing.com/data/series/assets\", { schema: SeriesAssets });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/series/get\n * @sample series.get.json\n */\n async get(): Promise<SeriesGetResponse> {\n return this.client.get<SeriesGetResponse>(\"https://members-ng.iracing.com/data/series/get\", { schema: SeriesGet });\n }\n\n /**\n * past_seasons\n * @see https://members-ng.iracing.com/data/series/past_seasons\n * @sample series.past_seasons.json\n */\n async pastSeasons(params: SeriesPastSeasonsParams): Promise<SeriesPastSeasonsResponse> {\n return this.client.get<SeriesPastSeasonsResponse>(\"https://members-ng.iracing.com/data/series/past_seasons\", { params, schema: SeriesPastSeasons });\n }\n\n /**\n * seasons\n * @see https://members-ng.iracing.com/data/series/seasons\n * @sample series.seasons.json\n */\n async seasons(params: SeriesSeasonsParams): Promise<SeriesSeasonsResponse> {\n return this.client.get<SeriesSeasonsResponse>(\"https://members-ng.iracing.com/data/series/seasons\", { params, schema: SeriesSeasons });\n }\n\n /**\n * season_list\n * @see https://members-ng.iracing.com/data/series/season_list\n * @sample series.season_list.json\n */\n async seasonList(params: SeriesSeasonListParams): Promise<SeriesSeasonListResponse> {\n return this.client.get<SeriesSeasonListResponse>(\"https://members-ng.iracing.com/data/series/season_list\", { params, schema: SeriesSeasonList });\n }\n\n /**\n * season_schedule\n * @see https://members-ng.iracing.com/data/series/season_schedule\n */\n async seasonSchedule(params: SeriesSeasonScheduleParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/series/season_schedule\", { params });\n }\n\n /**\n * stats_series\n * @see https://members-ng.iracing.com/data/series/stats_series\n * @sample series.stats_series.json\n */\n async statsSeries(): Promise<SeriesStatsSeriesResponse> {\n return this.client.get<SeriesStatsSeriesResponse>(\"https://members-ng.iracing.com/data/series/stats_series\", { schema: SeriesStatsSeries });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst StatsMemberBests = z.object({\n carsDriven: z.array(z.object({\n carId: z.number(),\n carName: z.string()\n })),\n bests: z.array(z.object({\n track: z.object({\n configName: z.string(),\n trackId: z.number(),\n trackName: z.string()\n }),\n eventType: z.string(),\n bestLapTime: z.number(),\n subsessionId: z.number(),\n endTime: z.string(),\n seasonYear: z.number(),\n seasonQuarter: z.number()\n })),\n custId: z.number(),\n carId: z.number()\n});\nconst StatsMemberCareer = z.object({\n stats: z.array(z.object({\n categoryId: z.number(),\n category: z.string(),\n starts: z.number(),\n wins: z.number(),\n top5: z.number(),\n poles: z.number(),\n avgStartPosition: z.number(),\n avgFinishPosition: z.number(),\n laps: z.number(),\n lapsLed: z.number(),\n avgIncidents: z.number(),\n avgPoints: z.number(),\n winPercentage: z.number(),\n top5Percentage: z.number(),\n lapsLedPercentage: z.number(),\n polesPercentage: z.number()\n })),\n custId: z.number()\n});\nconst StatsMemberRecap = z.object({\n year: z.number(),\n stats: z.object({\n starts: z.number(),\n wins: z.number(),\n top5: z.number(),\n avgStartPosition: z.number(),\n avgFinishPosition: z.number(),\n laps: z.number(),\n lapsLed: z.number(),\n favoriteCar: z.nullable(z.object({\n carId: z.number(),\n carName: z.string(),\n carImage: z.string()\n })),\n favoriteTrack: z.nullable(z.object({\n configName: z.string(),\n trackId: z.number(),\n trackLogo: z.string(),\n trackName: z.string()\n }))\n }),\n success: z.boolean(),\n season: z.nullable(z.number()),\n custId: z.number()\n});\nconst StatsMemberRecentRaces = z.object({\n races: z.array(z.object({\n seasonId: z.number(),\n seriesId: z.number(),\n seriesName: z.string(),\n carId: z.number(),\n carClassId: z.number(),\n livery: z.object({\n carId: z.number(),\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string()\n }),\n licenseLevel: z.number(),\n sessionStartTime: z.string(),\n winnerGroupId: z.number(),\n winnerName: z.string(),\n winnerHelmet: z.object({\n pattern: z.number(),\n color1: z.string(),\n color2: z.string(),\n color3: z.string(),\n faceType: z.number(),\n helmetType: z.number()\n }),\n winnerLicenseLevel: z.number(),\n startPosition: z.number(),\n finishPosition: z.number(),\n qualifyingTime: z.number(),\n laps: z.number(),\n lapsLed: z.number(),\n incidents: z.number(),\n points: z.number(),\n strengthOfField: z.number(),\n subsessionId: z.number(),\n oldSubLevel: z.number(),\n newSubLevel: z.number(),\n oldiRating: z.number(),\n newiRating: z.number(),\n track: z.object({\n trackId: z.number(),\n trackName: z.string()\n }),\n dropRace: z.boolean(),\n seasonYear: z.number(),\n seasonQuarter: z.number(),\n raceWeekNum: z.number()\n })),\n custId: z.number()\n});\nconst StatsMemberSummary = z.object({\n thisYear: z.object({\n numOfficialSessions: z.number(),\n numLeagueSessions: z.number(),\n numOfficialWins: z.number(),\n numLeagueWins: z.number()\n }),\n custId: z.number()\n});\nconst StatsMemberYearly = z.object({\n stats: z.array(z.object({\n categoryId: z.number(),\n category: z.string(),\n starts: z.number(),\n wins: z.number(),\n top5: z.number(),\n poles: z.number(),\n avgStartPosition: z.number(),\n avgFinishPosition: z.number(),\n laps: z.number(),\n lapsLed: z.number(),\n avgIncidents: z.number(),\n avgPoints: z.number(),\n winPercentage: z.number(),\n top5Percentage: z.number(),\n lapsLedPercentage: z.number(),\n year: z.number(),\n polesPercentage: z.number()\n })),\n custId: z.number()\n});\nconst StatsWorldRecords = z.object({\n type: z.string(),\n data: z.object({\n success: z.boolean(),\n carId: z.number(),\n trackId: z.number(),\n chunkInfo: z.nullable(z.object({\n chunkSize: z.number(),\n numChunks: z.number(),\n rows: z.number(),\n baseDownloadUrl: z.string(),\n chunkFileNames: z.array(z.string())\n })),\n lastUpdated: z.string(),\n seasonYear: z.optional(z.number()),\n seasonQuarter: z.optional(z.number())\n })\n});\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type StatsMemberBestsResponse = z.infer<typeof StatsMemberBests>;\nexport type StatsMemberCareerResponse = z.infer<typeof StatsMemberCareer>;\nexport type StatsMemberRecapResponse = z.infer<typeof StatsMemberRecap>;\nexport type StatsMemberRecentRacesResponse = z.infer<typeof StatsMemberRecentRaces>;\nexport type StatsMemberSummaryResponse = z.infer<typeof StatsMemberSummary>;\nexport type StatsMemberYearlyResponse = z.infer<typeof StatsMemberYearly>;\nexport type StatsWorldRecordsResponse = z.infer<typeof StatsWorldRecords>;\n\n// ---- Parameter Schemas ----\n\nconst StatsMemberBestsParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n carId: z.optional(z.number()), // First call should exclude car_id; use cars_driven list in return for subsequent calls. // maps to: car_id\n});\n\nconst StatsMemberCareerParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\nconst StatsMemberDivisionParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n eventType: z.number(), // The event type code for the division type: 4 - Time Trial; 5 - Race // maps to: event_type\n});\n\nconst StatsMemberRecapParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n year: z.optional(z.number()), // Season year; if not supplied the current calendar year (UTC) is used.\n season: z.optional(z.number()), // Season (quarter) within the year; if not supplied the recap will be fore the entire year.\n});\n\nconst StatsMemberRecentRacesParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\nconst StatsMemberSummaryParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\nconst StatsMemberYearlyParamsSchema = z.object({\n custId: z.optional(z.number()), // Defaults to the authenticated member. // maps to: cust_id\n});\n\nconst StatsSeasonDriverStandingsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n division: z.optional(z.number()), // Divisions are 0-based: 0 is Division 1, 10 is Rookie. See /data/constants/divisons for more information. Defaults to all.\n raceWeekNum: z.optional(z.number()), // The first race week of a season is 0. // maps to: race_week_num\n});\n\nconst StatsSeasonSupersessionStandingsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n division: z.optional(z.number()), // Divisions are 0-based: 0 is Division 1, 10 is Rookie. See /data/constants/divisons for more information. Defaults to all.\n raceWeekNum: z.optional(z.number()), // The first race week of a season is 0. // maps to: race_week_num\n});\n\nconst StatsSeasonTeamStandingsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n raceWeekNum: z.optional(z.number()), // The first race week of a season is 0. // maps to: race_week_num\n});\n\nconst StatsSeasonTtStandingsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n division: z.optional(z.number()), // Divisions are 0-based: 0 is Division 1, 10 is Rookie. See /data/constants/divisons for more information. Defaults to all.\n raceWeekNum: z.optional(z.number()), // The first race week of a season is 0. // maps to: race_week_num\n});\n\nconst StatsSeasonTtResultsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n raceWeekNum: z.number(), // The first race week of a season is 0. // maps to: race_week_num\n division: z.optional(z.number()), // Divisions are 0-based: 0 is Division 1, 10 is Rookie. See /data/constants/divisons for more information. Defaults to all.\n});\n\nconst StatsSeasonQualifyResultsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n carClassId: z.number(), // maps to: car_class_id\n raceWeekNum: z.number(), // The first race week of a season is 0. // maps to: race_week_num\n division: z.optional(z.number()), // Divisions are 0-based: 0 is Division 1, 10 is Rookie. See /data/constants/divisons for more information. Defaults to all.\n});\n\nconst StatsWorldRecordsParamsSchema = z.object({\n carId: z.number(), // maps to: car_id\n trackId: z.number(), // maps to: track_id\n seasonYear: z.optional(z.number()), // Limit best times to a given year. // maps to: season_year\n seasonQuarter: z.optional(z.number()), // Limit best times to a given quarter; only applicable when year is used. // maps to: season_quarter\n});\n\n// ---- Exported Parameter Types ----\n\nexport type StatsMemberBestsParams = z.infer<typeof StatsMemberBestsParamsSchema>;\nexport type StatsMemberCareerParams = z.infer<typeof StatsMemberCareerParamsSchema>;\nexport type StatsMemberDivisionParams = z.infer<typeof StatsMemberDivisionParamsSchema>;\nexport type StatsMemberRecapParams = z.infer<typeof StatsMemberRecapParamsSchema>;\nexport type StatsMemberRecentRacesParams = z.infer<typeof StatsMemberRecentRacesParamsSchema>;\nexport type StatsMemberSummaryParams = z.infer<typeof StatsMemberSummaryParamsSchema>;\nexport type StatsMemberYearlyParams = z.infer<typeof StatsMemberYearlyParamsSchema>;\nexport type StatsSeasonDriverStandingsParams = z.infer<typeof StatsSeasonDriverStandingsParamsSchema>;\nexport type StatsSeasonSupersessionStandingsParams = z.infer<typeof StatsSeasonSupersessionStandingsParamsSchema>;\nexport type StatsSeasonTeamStandingsParams = z.infer<typeof StatsSeasonTeamStandingsParamsSchema>;\nexport type StatsSeasonTtStandingsParams = z.infer<typeof StatsSeasonTtStandingsParamsSchema>;\nexport type StatsSeasonTtResultsParams = z.infer<typeof StatsSeasonTtResultsParamsSchema>;\nexport type StatsSeasonQualifyResultsParams = z.infer<typeof StatsSeasonQualifyResultsParamsSchema>;\nexport type StatsWorldRecordsParams = z.infer<typeof StatsWorldRecordsParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n StatsMemberBestsParamsSchema,\n StatsMemberCareerParamsSchema,\n StatsMemberDivisionParamsSchema,\n StatsMemberRecapParamsSchema,\n StatsMemberRecentRacesParamsSchema,\n StatsMemberSummaryParamsSchema,\n StatsMemberYearlyParamsSchema,\n StatsSeasonDriverStandingsParamsSchema,\n StatsSeasonSupersessionStandingsParamsSchema,\n StatsSeasonTeamStandingsParamsSchema,\n StatsSeasonTtStandingsParamsSchema,\n StatsSeasonTtResultsParamsSchema,\n StatsSeasonQualifyResultsParamsSchema,\n StatsWorldRecordsParamsSchema,\n StatsMemberBests,\n StatsMemberCareer,\n StatsMemberRecap,\n StatsMemberRecentRaces,\n StatsMemberSummary,\n StatsMemberYearly,\n StatsWorldRecords,\n};","import type { IRacingClient } from \"../client\";\nimport type { StatsMemberBestsParams, StatsMemberCareerParams, StatsMemberDivisionParams, StatsMemberRecapParams, StatsMemberRecentRacesParams, StatsMemberSummaryParams, StatsMemberYearlyParams, StatsSeasonDriverStandingsParams, StatsSeasonSupersessionStandingsParams, StatsSeasonTeamStandingsParams, StatsSeasonTtStandingsParams, StatsSeasonTtResultsParams, StatsSeasonQualifyResultsParams, StatsWorldRecordsParams, StatsMemberBestsResponse, StatsMemberCareerResponse, StatsMemberRecapResponse, StatsMemberRecentRacesResponse, StatsMemberSummaryResponse, StatsMemberYearlyResponse, StatsWorldRecordsResponse } from \"./types\";\nimport { StatsMemberBests, StatsMemberCareer, StatsMemberRecap, StatsMemberRecentRaces, StatsMemberSummary, StatsMemberYearly, StatsWorldRecords } from \"./types\";\n\nexport class StatsService {\n constructor(private client: IRacingClient) {}\n\n /**\n * member_bests\n * @see https://members-ng.iracing.com/data/stats/member_bests\n * @sample stats.member_bests.json\n */\n async memberBests(params: StatsMemberBestsParams): Promise<StatsMemberBestsResponse> {\n return this.client.get<StatsMemberBestsResponse>(\"https://members-ng.iracing.com/data/stats/member_bests\", { params, schema: StatsMemberBests });\n }\n\n /**\n * member_career\n * @see https://members-ng.iracing.com/data/stats/member_career\n * @sample stats.member_career.json\n */\n async memberCareer(params: StatsMemberCareerParams): Promise<StatsMemberCareerResponse> {\n return this.client.get<StatsMemberCareerResponse>(\"https://members-ng.iracing.com/data/stats/member_career\", { params, schema: StatsMemberCareer });\n }\n\n /**\n * member_division\n * @see https://members-ng.iracing.com/data/stats/member_division\n */\n async memberDivision(params: StatsMemberDivisionParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/member_division\", { params });\n }\n\n /**\n * member_recap\n * @see https://members-ng.iracing.com/data/stats/member_recap\n * @sample stats.member_recap.json\n */\n async memberRecap(params: StatsMemberRecapParams): Promise<StatsMemberRecapResponse> {\n return this.client.get<StatsMemberRecapResponse>(\"https://members-ng.iracing.com/data/stats/member_recap\", { params, schema: StatsMemberRecap });\n }\n\n /**\n * member_recent_races\n * @see https://members-ng.iracing.com/data/stats/member_recent_races\n * @sample stats.member_recent_races.json\n */\n async memberRecentRaces(params: StatsMemberRecentRacesParams): Promise<StatsMemberRecentRacesResponse> {\n return this.client.get<StatsMemberRecentRacesResponse>(\"https://members-ng.iracing.com/data/stats/member_recent_races\", { params, schema: StatsMemberRecentRaces });\n }\n\n /**\n * member_summary\n * @see https://members-ng.iracing.com/data/stats/member_summary\n * @sample stats.member_summary.json\n */\n async memberSummary(params: StatsMemberSummaryParams): Promise<StatsMemberSummaryResponse> {\n return this.client.get<StatsMemberSummaryResponse>(\"https://members-ng.iracing.com/data/stats/member_summary\", { params, schema: StatsMemberSummary });\n }\n\n /**\n * member_yearly\n * @see https://members-ng.iracing.com/data/stats/member_yearly\n * @sample stats.member_yearly.json\n */\n async memberYearly(params: StatsMemberYearlyParams): Promise<StatsMemberYearlyResponse> {\n return this.client.get<StatsMemberYearlyResponse>(\"https://members-ng.iracing.com/data/stats/member_yearly\", { params, schema: StatsMemberYearly });\n }\n\n /**\n * season_driver_standings\n * @see https://members-ng.iracing.com/data/stats/season_driver_standings\n */\n async seasonDriverStandings(params: StatsSeasonDriverStandingsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_driver_standings\", { params });\n }\n\n /**\n * season_supersession_standings\n * @see https://members-ng.iracing.com/data/stats/season_supersession_standings\n */\n async seasonSupersessionStandings(params: StatsSeasonSupersessionStandingsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_supersession_standings\", { params });\n }\n\n /**\n * season_team_standings\n * @see https://members-ng.iracing.com/data/stats/season_team_standings\n */\n async seasonTeamStandings(params: StatsSeasonTeamStandingsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_team_standings\", { params });\n }\n\n /**\n * season_tt_standings\n * @see https://members-ng.iracing.com/data/stats/season_tt_standings\n */\n async seasonTtStandings(params: StatsSeasonTtStandingsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_tt_standings\", { params });\n }\n\n /**\n * season_tt_results\n * @see https://members-ng.iracing.com/data/stats/season_tt_results\n */\n async seasonTtResults(params: StatsSeasonTtResultsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_tt_results\", { params });\n }\n\n /**\n * season_qualify_results\n * @see https://members-ng.iracing.com/data/stats/season_qualify_results\n */\n async seasonQualifyResults(params: StatsSeasonQualifyResultsParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/stats/season_qualify_results\", { params });\n }\n\n /**\n * world_records\n * @see https://members-ng.iracing.com/data/stats/world_records\n * @sample stats.world_records.json\n */\n async worldRecords(params: StatsWorldRecordsParams): Promise<StatsWorldRecordsResponse> {\n return this.client.get<StatsWorldRecordsResponse>(\"https://members-ng.iracing.com/data/stats/world_records\", { params, schema: StatsWorldRecords });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst TeamMembership = z.array(z.object({\n teamId: z.number(),\n teamName: z.string(),\n owner: z.boolean(),\n admin: z.boolean(),\n defaultTeam: z.boolean()\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type TeamMembershipResponse = z.infer<typeof TeamMembership>;\n\n// ---- Parameter Schemas ----\n\nconst TeamGetParamsSchema = z.object({\n teamId: z.number(), // maps to: team_id\n includeLicenses: z.optional(z.boolean()), // For faster responses, only request when necessary. // maps to: include_licenses\n});\n\nconst TeamMembershipParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type TeamGetParams = z.infer<typeof TeamGetParamsSchema>;\nexport type TeamMembershipParams = z.infer<typeof TeamMembershipParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n TeamGetParamsSchema,\n TeamMembershipParamsSchema,\n TeamMembership,\n};","import type { IRacingClient } from \"../client\";\nimport type { TeamGetParams, TeamMembershipResponse } from \"./types\";\nimport { TeamMembership } from \"./types\";\n\nexport class TeamService {\n constructor(private client: IRacingClient) {}\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/team/get\n */\n async get(params: TeamGetParams): Promise<unknown> {\n return this.client.get<unknown>(\"https://members-ng.iracing.com/data/team/get\", { params });\n }\n\n /**\n * membership\n * @see https://members-ng.iracing.com/data/team/membership\n * @sample team.membership.json\n */\n async membership(): Promise<TeamMembershipResponse> {\n return this.client.get<TeamMembershipResponse>(\"https://members-ng.iracing.com/data/team/membership\", { schema: TeamMembership });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\nconst TimeAttackMemberSeasonResults = z.array(z.unknown());\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type TimeAttackMemberSeasonResultsResponse = z.infer<typeof TimeAttackMemberSeasonResults>;\n\n// ---- Parameter Schemas ----\n\nconst TimeAttackMemberSeasonResultsParamsSchema = z.object({\n taCompSeasonId: z.number(), // maps to: ta_comp_season_id\n});\n\n// ---- Exported Parameter Types ----\n\nexport type TimeAttackMemberSeasonResultsParams = z.infer<typeof TimeAttackMemberSeasonResultsParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n TimeAttackMemberSeasonResultsParamsSchema,\n TimeAttackMemberSeasonResults,\n};","import type { IRacingClient } from \"../client\";\nimport type { TimeAttackMemberSeasonResultsParams, TimeAttackMemberSeasonResultsResponse } from \"./types\";\nimport { TimeAttackMemberSeasonResults } from \"./types\";\n\nexport class TimeAttackService {\n constructor(private client: IRacingClient) {}\n\n /**\n * member_season_results\n * @see https://members-ng.iracing.com/data/time_attack/member_season_results\n * @sample time_attack.member_season_results.json\n */\n async memberSeasonResults(params: TimeAttackMemberSeasonResultsParams): Promise<TimeAttackMemberSeasonResultsResponse> {\n return this.client.get<TimeAttackMemberSeasonResultsResponse>(\"https://members-ng.iracing.com/data/time_attack/member_season_results\", { params, schema: TimeAttackMemberSeasonResults });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Common Schemas ----\n\nconst TrackMapLayersSchema = z.object({\n background: z.string(),\n inactive: z.string(),\n active: z.string(),\n pitroad: z.string(),\n startFinish: z.string(), // maps from: start-finish\n turns: z.string()\n});\n\n// ---- Response Schemas ----\n\nconst TrackAssets = z.record(z.string(), z.object({\n coordinates: z.optional(z.nullable(z.string())),\n detailCopy: z.optional(z.nullable(z.string())),\n detailTechspecsCopy: z.optional(z.nullable(z.string())),\n detailVideo: z.optional(z.nullable(z.string())),\n folder: z.optional(z.nullable(z.string())),\n galleryImages: z.optional(z.nullable(z.string())),\n galleryPrefix: z.optional(z.nullable(z.string())),\n largeImage: z.optional(z.nullable(z.string())),\n logo: z.optional(z.nullable(z.string())),\n north: z.optional(z.nullable(z.string())),\n numSvgImages: z.optional(z.nullable(z.number())),\n smallImage: z.optional(z.nullable(z.string())),\n trackId: z.optional(z.nullable(z.number())),\n trackMap: z.optional(z.nullable(z.string())),\n trackMapLayers: z.optional(z.nullable(z.object({\n background: z.string(),\n inactive: z.string(),\n active: z.string(),\n pitroad: z.string(),\n startFinish: z.string(),\n turns: z.string()\n })))\n}));\nconst TrackGet = z.array(z.object({\n aiEnabled: z.boolean(),\n allowPitlaneCollisions: z.boolean(),\n allowRollingStart: z.boolean(),\n allowStandingStart: z.boolean(),\n awardExempt: z.boolean(),\n category: z.string(),\n categoryId: z.number(),\n closes: z.string(),\n configName: z.optional(z.string()),\n cornersPerLap: z.number(),\n created: z.string(),\n firstSale: z.string(),\n folder: z.string(),\n freeWithSubscription: z.boolean(),\n fullyLit: z.boolean(),\n gridStalls: z.number(),\n hasOptPath: z.boolean(),\n hasShortParadeLap: z.boolean(),\n hasStartZone: z.boolean(),\n hasSvgMap: z.boolean(),\n isDirt: z.boolean(),\n isOval: z.boolean(),\n isPsPurchasable: z.boolean(),\n lapScoring: z.number(),\n latitude: z.number(),\n location: z.string(),\n logo: z.string(),\n longitude: z.number(),\n maxCars: z.number(),\n nightLighting: z.boolean(),\n numberPitstalls: z.number(),\n opens: z.string(),\n packageId: z.number(),\n pitRoadSpeedLimit: z.optional(z.number()),\n price: z.number(),\n priority: z.number(),\n purchasable: z.boolean(),\n qualifyLaps: z.number(),\n rainEnabled: z.boolean(),\n restartOnLeft: z.boolean(),\n retired: z.boolean(),\n searchFilters: z.string(),\n siteUrl: z.optional(z.string()),\n sku: z.number(),\n smallImage: z.string(),\n soloLaps: z.number(),\n startOnLeft: z.boolean(),\n supportsGripCompound: z.boolean(),\n techTrack: z.boolean(),\n timeZone: z.string(),\n trackConfigLength: z.number(),\n trackDirpath: z.string(),\n trackId: z.number(),\n trackName: z.string(),\n trackType: z.number(),\n trackTypeText: z.string(),\n trackTypes: z.array(z.object({\n trackType: z.string()\n })),\n priceDisplay: z.optional(z.string()),\n nominalLapTime: z.optional(z.number()),\n banking: z.optional(z.string())\n}));\n\n// ---- Response Types (inferred from schemas) ----\n\nexport type TrackAssetsResponse = z.infer<typeof TrackAssets>;\nexport type TrackGetResponse = z.infer<typeof TrackGet>;\n\n// ---- Parameter Schemas ----\n\nconst TrackAssetsParamsSchema = z.object({\n});\n\nconst TrackGetParamsSchema = z.object({\n});\n\n// ---- Exported Parameter Types ----\n\nexport type TrackAssetsParams = z.infer<typeof TrackAssetsParamsSchema>;\nexport type TrackGetParams = z.infer<typeof TrackGetParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n TrackAssetsParamsSchema,\n TrackGetParamsSchema,\n TrackAssets,\n TrackGet,\n};","import type { IRacingClient } from \"../client\";\nimport type { TrackAssetsResponse, TrackGetResponse } from \"./types\";\nimport { TrackAssets, TrackGet } from \"./types\";\n\nexport class TrackService {\n constructor(private client: IRacingClient) {}\n\n /**\n * assets\n * @see https://members-ng.iracing.com/data/track/assets\n * @sample track.assets.json\n */\n async assets(): Promise<TrackAssetsResponse> {\n return this.client.get<TrackAssetsResponse>(\"https://members-ng.iracing.com/data/track/assets\", { schema: TrackAssets });\n }\n\n /**\n * get\n * @see https://members-ng.iracing.com/data/track/get\n * @sample track.get.json\n */\n async get(): Promise<TrackGetResponse> {\n return this.client.get<TrackGetResponse>(\"https://members-ng.iracing.com/data/track/get\", { schema: TrackGet });\n }\n\n}","import * as z from \"zod/mini\";\n\n// ---- Response Schemas ----\n\n\n// ---- Response Types (inferred from schemas) ----\n\n\n// ---- Parameter Schemas ----\n\nconst ResultsGetParamsSchema = z.object({\n subsessionId: z.number(), // maps to: subsession_id\n includeLicenses: z.optional(z.boolean()), // maps to: include_licenses\n});\n\nconst ResultsEventLogParamsSchema = z.object({\n subsessionId: z.number(), // maps to: subsession_id\n simsessionNumber: z.number(), // The main event is 0; the preceding event is -1, and so on. // maps to: simsession_number\n});\n\nconst ResultsLapChartDataParamsSchema = z.object({\n subsessionId: z.number(), // maps to: subsession_id\n simsessionNumber: z.number(), // The main event is 0; the preceding event is -1, and so on. // maps to: simsession_number\n});\n\nconst ResultsLapDataParamsSchema = z.object({\n subsessionId: z.number(), // maps to: subsession_id\n simsessionNumber: z.number(), // The main event is 0; the preceding event is -1, and so on. // maps to: simsession_number\n custId: z.optional(z.number()), // Required if the subsession was a single-driver event. Optional for team events. If omitted for a team event then the laps driven by all the team's drivers will be included. // maps to: cust_id\n teamId: z.optional(z.number()), // Required if the subsession was a team event. // maps to: team_id\n});\n\nconst ResultsSearchHostedParamsSchema = z.object({\n startRangeBegin: z.optional(z.string()), // Session start times. ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". // maps to: start_range_begin\n startRangeEnd: z.optional(z.string()), // ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". Exclusive. May be omitted if start_range_begin is less than 90 days in the past. // maps to: start_range_end\n finishRangeBegin: z.optional(z.string()), // Session finish times. ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". // maps to: finish_range_begin\n finishRangeEnd: z.optional(z.string()), // ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". Exclusive. May be omitted if finish_range_begin is less than 90 days in the past. // maps to: finish_range_end\n custId: z.optional(z.number()), // The participant's customer ID. Ignored if team_id is supplied. // maps to: cust_id\n teamId: z.optional(z.number()), // The team ID to search for. Takes priority over cust_id if both are supplied. // maps to: team_id\n hostCustId: z.optional(z.number()), // The host's customer ID. // maps to: host_cust_id\n sessionName: z.optional(z.string()), // Part or all of the session's name. // maps to: session_name\n leagueId: z.optional(z.number()), // Include only results for the league with this ID. // maps to: league_id\n leagueSeasonId: z.optional(z.number()), // Include only results for the league season with this ID. // maps to: league_season_id\n carId: z.optional(z.number()), // One of the cars used by the session. // maps to: car_id\n trackId: z.optional(z.number()), // The ID of the track used by the session. // maps to: track_id\n categoryIds: z.optional(z.array(z.number())), // Track categories to include in the search. Defaults to all. ?category_ids=1,2,3,4 // maps to: category_ids\n});\n\nconst ResultsSearchSeriesParamsSchema = z.object({\n seasonYear: z.optional(z.number()), // Required when using season_quarter. // maps to: season_year\n seasonQuarter: z.optional(z.number()), // Required when using season_year. // maps to: season_quarter\n startRangeBegin: z.optional(z.string()), // Session start times. ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". // maps to: start_range_begin\n startRangeEnd: z.optional(z.string()), // ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". Exclusive. May be omitted if start_range_begin is less than 90 days in the past. // maps to: start_range_end\n finishRangeBegin: z.optional(z.string()), // Session finish times. ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". // maps to: finish_range_begin\n finishRangeEnd: z.optional(z.string()), // ISO-8601 UTC time zero offset: \"2022-04-01T15:45Z\". Exclusive. May be omitted if finish_range_begin is less than 90 days in the past. // maps to: finish_range_end\n custId: z.optional(z.number()), // Include only sessions in which this customer participated. Ignored if team_id is supplied. // maps to: cust_id\n teamId: z.optional(z.number()), // Include only sessions in which this team participated. Takes priority over cust_id if both are supplied. // maps to: team_id\n seriesId: z.optional(z.number()), // Include only sessions for series with this ID. // maps to: series_id\n raceWeekNum: z.optional(z.number()), // Include only sessions with this race week number. // maps to: race_week_num\n officialOnly: z.optional(z.boolean()), // If true, include only sessions earning championship points. Defaults to all. // maps to: official_only\n eventTypes: z.optional(z.array(z.number())), // Types of events to include in the search. Defaults to all. ?event_types=2,3,4,5 // maps to: event_types\n categoryIds: z.optional(z.array(z.number())), // License categories to include in the search. Defaults to all. ?category_ids=1,2,3,4 // maps to: category_ids\n});\n\nconst ResultsSeasonResultsParamsSchema = z.object({\n seasonId: z.number(), // maps to: season_id\n eventType: z.optional(z.number()), // Retrict to one event type: 2 - Practice; 3 - Qualify; 4 - Time Trial; 5 - Race // maps to: event_type\n raceWeekNum: z.optional(z.number()), // The first race week of a season is 0. // maps to: race_week_num\n});\n\n// ---- Exported Parameter Types ----\n\nexport type ResultsGetParams = z.infer<typeof ResultsGetParamsSchema>;\nexport type ResultsEventLogParams = z.infer<typeof ResultsEventLogParamsSchema>;\nexport type ResultsLapChartDataParams = z.infer<typeof ResultsLapChartDataParamsSchema>;\nexport type ResultsLapDataParams = z.infer<typeof ResultsLapDataParamsSchema>;\nexport type ResultsSearchHostedParams = z.infer<typeof ResultsSearchHostedParamsSchema>;\nexport type ResultsSearchSeriesParams = z.infer<typeof ResultsSearchSeriesParamsSchema>;\nexport type ResultsSeasonResultsParams = z.infer<typeof ResultsSeasonResultsParamsSchema>;\n\n// ---- Exported Schemas ----\n\nexport {\n ResultsGetParamsSchema,\n ResultsEventLogParamsSchema,\n ResultsLapChartDataParamsSchema,\n ResultsLapDataParamsSchema,\n ResultsSearchHostedParamsSchema,\n ResultsSearchSeriesParamsSchema,\n ResultsSeasonResultsParamsSchema,\n};","/* AUTO-GENERATED — do not edit */\n\nimport { IRacingClient, IRacingError, type IRacingClientOptions } from \"./client\";\nimport { CarService } from \"./car/service\";\nimport { CarclassService } from \"./carclass/service\";\nimport { ConstantsService } from \"./constants/service\";\nimport { DriverStatsByCategoryService } from \"./driver-stats-by-category/service\";\nimport { HostedService } from \"./hosted/service\";\nimport { LeagueService } from \"./league/service\";\nimport { LookupService } from \"./lookup/service\";\nimport { MemberService } from \"./member/service\";\nimport { ResultsService } from \"./results/service\";\nimport { SeasonService } from \"./season/service\";\nimport { SeriesService } from \"./series/service\";\nimport { StatsService } from \"./stats/service\";\nimport { TeamService } from \"./team/service\";\nimport { TimeAttackService } from \"./time-attack/service\";\nimport { TrackService } from \"./track/service\";\n\nexport { IRacingClient, IRacingError, type IRacingClientOptions };\n\nexport * from \"./car/types\";\nexport * from \"./carclass/types\";\nexport * from \"./constants/types\";\nexport * from \"./driver-stats-by-category/types\";\nexport * from \"./hosted/types\";\nexport * from \"./league/types\";\nexport * from \"./lookup/types\";\nexport * from \"./member/types\";\nexport * from \"./results/types\";\nexport * from \"./season/types\";\nexport * from \"./series/types\";\nexport * from \"./stats/types\";\nexport * from \"./team/types\";\nexport * from \"./time-attack/types\";\nexport * from \"./track/types\";\n\nexport class IRacingDataClient {\n private client: IRacingClient;\n\n public car: CarService;\n public carclass: CarclassService;\n public constants: ConstantsService;\n public driverStatsByCategory: DriverStatsByCategoryService;\n public hosted: HostedService;\n public league: LeagueService;\n public lookup: LookupService;\n public member: MemberService;\n public results: ResultsService;\n public season: SeasonService;\n public series: SeriesService;\n public stats: StatsService;\n public team: TeamService;\n public timeAttack: TimeAttackService;\n public track: TrackService;\n\n constructor(opts: IRacingClientOptions = {}) {\n this.client = new IRacingClient(opts);\n\n this.car = new CarService(this.client);\n this.carclass = new CarclassService(this.client);\n this.constants = new ConstantsService(this.client);\n this.driverStatsByCategory = new DriverStatsByCategoryService(this.client);\n this.hosted = new HostedService(this.client);\n this.league = new LeagueService(this.client);\n this.lookup = new LookupService(this.client);\n this.member = new MemberService(this.client);\n this.results = new ResultsService(this.client);\n this.season = new SeasonService(this.client);\n this.series = new SeriesService(this.client);\n this.stats = new StatsService(this.client);\n this.team = new TeamService(this.client);\n this.timeAttack = new TimeAttackService(this.client);\n this.track = new TrackService(this.client);\n }\n}"]}