UNPKG

steamapi

Version:
176 lines (175 loc) 5.18 kB
export default class GameDetails { /** Type of app. Usually "game" */ type: string; /** Display name of the app */ name: string; /** App ID for this game */ id: number; /** Age restriction for purchasing */ requiredAge: number; /** If this game is free */ isFree: boolean; /** * Enum indicating level of support. E.G. "full" * NOTE: I'm not sure what the possible values are */ controllerSupport: string; /** List of DLC app IDs for this game */ dlc: number[]; /** * Detailed HTML from main body of the store page * NOTE: This appears to be the same as aboutTheGame */ detailedDescription: string; /** * Detailed HTML from main body of the store page * NOTE: This appears to be the same as detailedDescription */ aboutTheGame: string; /** Short description of the game under the game banner on the store page */ shortDescription: string; /** Supported languages in game */ supportedLanguages: string; /** URL to the header image */ headerImage: string; /** URL to the capsule image 231x87px */ capsuleImage: string; /** URL to the capsule image 184x69px */ capsuleImagev5: string; /** URL to the game's website */ website: string; /** HTML specs for minimum and recommended PC hardware */ pcRequirements: { minimum: string; recommended: string; }; /** HTML specs for minimum and recommended Mac hardware */ macRequirements: { minimum: string; recommended: string; }; /** HTML specs for minimum and recommended Linux hardware */ linuxRequirements: { minimum: string; recommended: string; }; /** Legal notice for the game */ legalNotice: string; /** Array of developer names */ developers: string[]; /** Array of publisher names */ publishers: string[]; /** Price overview including discounts. Calculated in the given currency when requesting app details */ priceOverview: { currency: string; initial: number; final: number; discountPercent: number; initialFormatted: string; finalFormatted: string; }; /** Array of IDs for the purchasing options of the game */ packages: number[]; /** Array of package groups containing purchase details for each package */ packageGroups: { name: string; title: string; description: string; selectionText: string; saveText: string; displayType: number; isRecurringSubscription: string; subs: { packageid: number; percentSavingsText: string; percentSavings: number; optionText: string; optionDescription: string; canGetFreeLicense: string; isFreeLicense: boolean; priceInCentsWithDiscount: number; }[]; }[]; /** Supported platforms */ platforms: { windows: boolean; mac: boolean; linux: boolean; }; /** Metacritic score and website URL */ metacritic: { score: number; url: string; }; /** Array of Steam categories with IDs and short descriptions */ categories: { id: number; description: string; }[]; /** * Array of Steam genres with IDs and short descriptions * NOTE: ID is a string for genres rather than a number like most other ID in Steam */ genres: { id: string; description: string; }[]; /** Array of screenshot thumbnail and full path URLs */ screenshots: { id: number; path_thumbnail: string; path_full: string; }[]; /** Array of movie information including thumbnail and video URLs */ movies: { id: number; name: string; thumbnail: string; webm: { '480': string; max: string; }; mp4: { '480': string; max: string; }; highlight: boolean; }[]; /** Number of positive reviews */ recommendations: { total: number; }; /** Number of achievements and array of achievements from the right column of the store page */ achievements: { total: number; highlighted: { name: string; path: string; }[]; }; /** Release date information */ releaseDate: { coming_soon: boolean; date: string; }; /** Support information including URL and email */ supportInfo: { url: string; email: string; }; /** Background image URL scaled for store page */ background: string; /** Raw background image URL */ backgroundRaw: string; /** Unsure what this is. It has always been an empty array of ids and null notes for games tested */ contentDescriptors: { ids: number[]; notes: string | null; }; /** * Ratings for different rating systems * NOTE: These appear to have a different object structure based on the game */ ratings: any; constructor(data: any); }