curseforge-v2
Version:
CurseForge V2 API Library
40 lines (39 loc) • 2.04 kB
TypeScript
import * as cfv2 from './curseforge-api-v2';
export interface HttpResult<T> {
statusCode: number;
data?: T;
message?: string;
}
export interface CFV2ClientConfig {
apiKey: string;
headers?: {
[key: string]: string;
};
apiUrl?: string;
httpTimeoutMs?: number;
}
export declare class CFV2Client {
private _apiKey;
private _apiUrl;
private _headers?;
private _httpTimeoutMs;
constructor(config: CFV2ClientConfig);
getGames(index?: number, pageSize?: number): Promise<HttpResult<cfv2.CF2GetModDescriptionResponse>>;
getGame(gameId: number): Promise<HttpResult<cfv2.CF2GetGameResponse>>;
getGameVersions(gameId: number): Promise<HttpResult<cfv2.CF2GetVersionsResponse>>;
getGameVersionTypes(gameId: number): Promise<HttpResult<cfv2.CF2GetVersionTypesResponse>>;
getMod(modId: number): Promise<HttpResult<cfv2.CF2GetAddonResponse>>;
getMods(req: cfv2.CF2GetModsRequest): Promise<HttpResult<cfv2.CF2GetModsResponse>>;
getModDescription(modId: number): Promise<HttpResult<cfv2.CF2GetModDescriptionResponse>>;
getFeaturedMods(req: cfv2.CF2GetFeaturedModsRequest): Promise<HttpResult<cfv2.CF2GetFeaturedModsResponse>>;
searchMods(params: cfv2.CF2SearchModsParams): Promise<HttpResult<cfv2.CF2SearchModsResponse>>;
getModFile(modId: number, fileId: number): Promise<HttpResult<cfv2.CF2GetModFileResponse>>;
getModFiles(req: cfv2.CF2GetModFilesRequest): Promise<HttpResult<cfv2.CF2GetModFilesResponse>>;
getFiles(pRequest: cfv2.CF2GetModFilesRequestBody): Promise<HttpResult<cfv2.CF2GetFilesResponse>>;
getModFileChangelog(modId: number, fileId: number): Promise<HttpResult<cfv2.CF2GetModFileChangelogResponse>>;
getModFileDownloadUrl(modId: number, fileId: number): Promise<HttpResult<cfv2.CF2GetModFileDownloadUrlResponse>>;
getFingerprintMatches(pRequest: cfv2.CF2GetFingerprintMatchesRequest): Promise<HttpResult<cfv2.CF2GetFingerprintMatchesResponse>>;
private cfGet;
private cfPost;
private getAuthHeaders;
}