UNPKG

biketag

Version:

The Javascript client API for BikeTag Games

117 lines (116 loc) 7.3 kB
import { ClientKey, ImgurCredentials, AWSCredentials, SanityCredentials, Credentials, BikeTagCredentials, BikeTagConfiguration, gameLongestTimeBetweenTagsData, PlayerStreakData, StreakData, GameHighestNumberTagsPerNumberDaysData, PlayerHighestNumberTagsPerDayData } from './types'; import { default as TinyCache } from 'tinycache'; import { Tag, Game, Player, Ambassador, Setting, Achievement, Stat } from './schema'; import { ApiAvailability } from './enums'; export declare const putCacheIfExists: (key: string, value: any, cache?: typeof TinyCache) => void; export declare const getCacheIfExists: (key: string, cache?: typeof TinyCache) => any; export declare const hasClientToken: (arg: unknown) => arg is ClientKey; export declare const hasClientKey: (arg: unknown) => arg is ClientKey; export declare const constructTagNumberSlug: (number: number, game?: string) => string; export declare const isImgurCredentials: (credentials: ImgurCredentials) => boolean; export declare const isImgurApiReady: (credentials: ImgurCredentials) => ApiAvailability; export declare const isSanityCredentials: (credentials: SanityCredentials) => boolean; export declare const isAWSCredentials: (credentials: AWSCredentials) => boolean; export declare const isAWSApiReady: (credentials: AWSCredentials) => ApiAvailability; export declare const isSanityApiReady: (credentials: SanityCredentials) => ApiAvailability; export declare const isBikeTagCredentials: (credentials: BikeTagCredentials | Credentials) => boolean; export declare const isBikeTagApiReady: (credentials: BikeTagCredentials | Credentials) => ApiAvailability; export declare const isBikeTagConfiguration: (credentials: BikeTagConfiguration) => boolean; export declare const createImgurCredentials: (credentials: Partial<ImgurCredentials>, defaults?: Partial<ImgurCredentials>) => ImgurCredentials; export declare const assignImgurCredentials: (credentials: ImgurCredentials, defaults?: Partial<ImgurCredentials>) => ImgurCredentials; export declare const createSanityCredentials: (credentials: Partial<SanityCredentials>, defaults?: Partial<SanityCredentials>) => SanityCredentials; export declare const assignSanityCredentials: (credentials: SanityCredentials, defaults?: Partial<SanityCredentials>) => SanityCredentials; export declare const createAWSCredentials: (credentials: Partial<AWSCredentials>, defaults?: Partial<AWSCredentials>) => AWSCredentials; export declare const assignAWSCredentials: (credentials: AWSCredentials, defaults?: Partial<AWSCredentials>) => AWSCredentials; export declare const createBikeTagCredentials: (credentials: Partial<BikeTagCredentials>, defaults?: Partial<BikeTagCredentials>) => BikeTagCredentials; export declare const assignBikeTagCredentials: (credentials: Credentials, defaults?: Partial<Credentials>) => BikeTagCredentials; export declare const assignBikeTagConfiguration: (config: BikeTagConfiguration, defaults?: Partial<BikeTagConfiguration>) => BikeTagConfiguration; export declare const isBikeTagData: (biketag: Partial<Tag>) => boolean; export declare const isGameData: (ambassador: Partial<Game>) => boolean; export declare const isPlayerData: (player: Partial<Player>) => boolean; export declare const isAmbassadorData: (ambassador: Partial<Ambassador>) => boolean; export declare const isSettingData: (setting: Partial<Setting>) => boolean; export declare const isAchievementData: (achievement: Partial<Achievement>) => boolean; export declare const sortTags: (tags: Tag[], sort?: string, limit?: number, time?: string) => Tag[]; export declare const sortPlayers: (players: Player[], sort?: string, limit?: number) => Player[]; export declare const sortAmbassadors: (ambassadors: Ambassador[], sort?: string, limit?: number) => Ambassador[]; export declare const sortSettings: (settings: Setting[], sort?: string, limit?: number) => Setting[]; export declare const sortStats: (stats: Stat[], sort?: string, limit?: number) => Stat[]; export declare const sortAchievements: (achievements: Achievement[], sort?: string, limit?: number) => Achievement[]; export declare const getGameAlbumFromCache: (gameAlbumHash: string, cache?: typeof TinyCache, fallback?: any, useCache?: boolean) => Promise<any>; export declare const getTagDate: (time: number) => Date; export declare const getTagDateISOPlusOffset: (time: number, offset?: string) => string; export declare const convertMiliseconds: (miliseconds: number, format: string) => number | { d: number; h: number; m: number; s: number; }; /** * Get the longest time between tags * @param tags The array of tags * @returns Time between tags data */ export declare const getLongestTimeBetweenTags: (tags: Tag[]) => gameLongestTimeBetweenTagsData; /** * Get the players data with the longest daily tag streak * @param players The array of players * @returns Array of players data with longest streak of days tagged */ export declare const getPlayersWithLongestDailyTagStreakData: (players: Player[]) => PlayerStreakData[]; /** * Get the longest daily tag streak data * @param tags Tags to get longest streak of days with a tag data * @returns StreakData */ export declare const getTagLongestDailyStreakData: (tags: Tag[]) => StreakData; /** * Get the unique tag dates * @param tags Tags to get unique tag dates * @returns Array of unique tag dates */ export declare const getUniqueTagDates: (tags: Tag[]) => Date[]; /** * Check if two date objects are on the same date * @param d1 Date 1 * @param d2 Date 2 * @returns True if dates are the same */ export declare const getIsSameDay: (d1: Date, d2: Date) => boolean; /** * Get difference in days between two Dates * @param d1 Date 1 * @param d2 Date 2 * @returns Number of days betwteen two dates */ export declare const getDaysDifference: (d1: Date, d2: Date) => number; /** * Check if two Dates are within a range of days * @param d1 Date 1 * @param d2 Date 2 * @param days Number of days to check for range * @returns Number of days betwteen two dates */ export declare const getIsWithinDaysRange: (d1: Date, d2: Date, days: number) => boolean; /** * Get game highest number of tags in specified number of days * @param tags Tags to get highest number of tags in days data * @param days Number of days * @returns Highest number of tags per number of days data */ export declare const getGameHighestNumberTagsPerNumberDaysData: (tags: Tag[], days?: number) => GameHighestNumberTagsPerNumberDaysData; /** * Get player's highest number of tags in one day data * @param player Player to get highest number of tags in one day data * @returns Highest number of tags per day data */ export declare const getPlayerHighestNumberTagsPerDayData: (player: Player) => PlayerHighestNumberTagsPerDayData; /** * Get the players with the highest number of tags in one day data * @param players Players to get highest number of tags in one day data * @returns Count for highest number of tags in one day */ export declare const getPlayersWithHighestNumberTagsPerDayData: (players: Player[]) => PlayerHighestNumberTagsPerDayData[]; export declare const getExtensionFromUrl: (url: string) => string | undefined; export declare const getImageExtension: (contentType: any) => any; export declare const getContentTypeFromExtension: (ext: string) => string;