UNPKG

@zikeji/hypixel

Version:

With IntelliSense support & test coverage, this is an unopinionated async/await API wrapper for Hypixel's Public API. It is developed in TypeScript complete with documentation, typed interfaces for all API responses, built-in rate-limit handling, flexible

157 lines (156 loc) 7.06 kB
/** * This file contains references to the generated types from api.ts as well as extensions to supplement their data. */ import type { Paths } from "./api"; import type { Guild } from "./Augmented/Guild"; import type { Player } from "./Augmented/Player"; import type { ElectionCurrent, ElectionMayor } from "./Augmented/Resources/SkyBlock/Election"; import type { SkyBlockAuction } from "./Augmented/SkyBlock/Auction"; import type { SkyBlockProfile } from "./Augmented/SkyBlock/Profile"; export type BoostersResponse = Paths.V2Boosters.Get.Responses.$200 & Record<string, unknown>; export type CountsResponse = Paths.V2Counts.Get.Responses.$200 & Record<string, unknown>; export type GuildResponse = Paths.V2Guild.Get.Responses.$200 & Record<string, unknown> & { guild: Guild | null; }; export type LeaderboardsResponse = Paths.V2Leaderboards.Get.Responses.$200 & Record<string, unknown>; export type PlayerResponse = Paths.V2Player.Get.Responses.$200 & Record<string, unknown> & { player: Player | null; }; export type PunishmentStatsResponse = Paths.V2Punishmentstats.Get.Responses.$200 & Record<string, unknown>; export type RecentGamesResponse = Paths.V2Recentgames.Get.Responses.$200 & Record<string, unknown>; export type StatusResponse = Paths.V2Status.Get.Responses.$200 & Record<string, unknown>; export type ResourcesGamesResponse = Paths.V2ResourcesGames.Get.Responses.$200 & Record<string, unknown>; export type ResourcesAchievementsResponse = Paths.V2ResourcesAchievements.Get.Responses.$200 & Record<string, unknown>; export type ResourcesChallengesResponse = Paths.V2ResourcesChallenges.Get.Responses.$200 & Record<string, unknown>; export type ResourcesQuestsResponse = Paths.V2ResourcesQuests.Get.Responses.$200 & Record<string, unknown>; export type ResourcesGuildsAchievementsResponse = Paths.V2ResourcesAchievements.Get.Responses.$200 & Record<string, unknown>; export type ResourcesVanityCompanionsResponse = Paths.V2ResourcesVanityCompanions.Get.Responses.$200 & Record<string, unknown>; export type ResourcesVanityPetsResponse = Paths.V2ResourcesVanityPets.Get.Responses.$200 & Record<string, unknown>; export type ResourcesSkyblockBingoResponse = Paths.V2ResourcesSkyblockBingo.Get.Responses.$200 & Record<string, unknown>; export type ResourcesSkyblockCollectionsResponse = Paths.V2ResourcesSkyblockCollections.Get.Responses.$200 & Record<string, unknown> & { collections: { [key in "FARMING" | "MINING" | "COMBAT" | "FORAGING" | "FISHING" | "RIFT"]: { name: string; items: { [key: string]: { name: string; maxTiers: number; tiers: { tier: number; amountRequired: number; unlocks: string[]; }[]; }; }; }; } & { [key: string]: { name: string; items: { [key: string]: { name: string; maxTiers: number; tiers: { tier: number; amountRequired: number; unlocks: string[]; }[]; }; }; } | undefined; }; }; export type ResourcesSkyblockElectionResponse = Paths.V2ResourcesSkyblockElection.Get.Responses.$200 & Record<string, unknown> & { mayor: ElectionMayor; current: ElectionCurrent | null; }; export type ResourcesSkyblockItemsResponse = Paths.V2ResourcesSkyblockItems.Get.Responses.$200 & Record<string, unknown>; export type ResourcesSkyblockSkillsResponse = Paths.V2ResourcesSkyblockSkills.Get.Responses.$200 & Record<string, unknown> & { skills: { [key: string]: { name: string; description: string; maxLevel: number; levels: { level: number; totalExpRequired: number; unlocks: string[]; }[]; }; }; }; export type SkyblockNewsResponse = Paths.V2SkyblockNews.Get.Responses.$200 & Record<string, unknown> & { items: { item: { material: string; }; link: string; text: string; title: string; }[]; }; export type SkyblockAuctionResponse = Omit<Paths.V2SkyblockAuction.Get.Responses.$200, "auctions"> & { auctions?: SkyBlockAuction[]; } & Record<string, unknown>; export type SkyblockAuctionsResponse = Omit<Paths.V2SkyblockAuctions.Get.Responses.$200, "auctions"> & { auctions?: SkyBlockAuction[]; } & Record<string, unknown>; export type SkyblockAuctionsEndedResponse = Paths.V2SkyblockAuctionsEnded.Get.Responses.$200 & Record<string, unknown> & { auctions: { auction_id: string; seller: string; seller_profile: string; buyer: string; buyer_profile: string; timestamp: number; price: number; bin: boolean; item_bytes: string; }[]; }; export type SkyblockBazaarResponse = Paths.V2SkyblockBazaar.Get.Responses.$200 & Record<string, unknown> & { products: { /** the key is the product id, e.g. CHILI_PEPPER */ [product_id: string]: { product_id: string; sell_summary: { amount: number; pricePerUnit: number; orders: number; }[]; buy_summary: { amount: number; pricePerUnit: number; orders: number; }[]; quick_status: { productId: string; sellPrice: number; sellVolume: number; sellMovingWeek: number; sellOrders: number; buyPrice: number; buyVolume: number; buyMovingWeek: number; buyOrders: number; }; }; }; }; export type SkyblockProfileResponse = Omit<Paths.V2SkyblockProfile.Get.Responses.$200, "profile"> & Record<string, unknown> & { profile: SkyBlockProfile; }; export type SkyblockProfilesResponse = Omit<Paths.V2SkyblockProfiles.Get.Responses.$200, "profiles"> & Record<string, unknown> & { profiles: SkyBlockProfile[]; }; export type SkyblockMuseumResponse = Paths.V2SkyblockMuseum.Get.Responses.$200 & Record<string, unknown>; export type SkyblockGardenResponse = Paths.V2SkyblockGarden.Get.Responses.$200 & Record<string, unknown>; export type SkyblockBingoResponse = Paths.V2SkyblockBingo.Get.Responses.$200 & Record<string, unknown>; export type SkyblockFiresalesResponse = Paths.V2SkyblockFiresales.Get.Responses.$200 & Record<string, unknown>; export type HousingActiveResponse = Paths.V2HousingActive.Get.Responses.$200; export type HousingHouseResponse = Paths.V2HousingHouse.Get.Responses.$200 & Record<string, unknown>; export type HousingHousesResponse = Paths.V2HousingHouses.Get.Responses.$200; export type MinecraftInventoryData = { type: number; data: string; };