@qatadaazzeh/atcoder-api
Version:
Unofficial AtCoder API client for fetching contest and user data
45 lines (38 loc) • 1.25 kB
TypeScript
interface Contest {
contestName: string;
isRated: boolean;
contestTime: string;
contestDuration: string;
contestType: string;
contestUrl: string;
contestId: string;
}
type ContestType = 'upcoming' | 'recent';
declare function fetchContestList(type?: ContestType): Promise<Contest[]>;
declare function fetchUpcomingContests(): Promise<Contest[]>;
declare function fetchRecentContests(): Promise<Contest[]>;
interface UserContest {
userRank: number;
userOldRating: number;
userNewRating: number;
userRatingChange: number;
contestName: string;
userPerformance: number;
contestEndTime: string;
isRated: boolean;
contestId: string;
}
interface User {
userName: string;
currentRank: string;
userAvatar: string;
userRank: number;
userRating: number;
userMaxRating: number;
userLastCompeted: string;
userContestCount: number;
userContests: UserContest[];
}
declare function fetchUserInfo(userId: string): Promise<User>;
declare function fetchUserContestList(userId: string): Promise<UserContest[]>;
export { type Contest, type User, type UserContest, fetchContestList, fetchRecentContests, fetchUpcomingContests, fetchUserContestList, fetchUserInfo };