This repository has been archived by the owner on Dec 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
36 changed files
with
807 additions
and
399 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import Status from '../structures/APIStatus.js'; | ||
import Rss from 'rss-parser'; | ||
const Parser = new Rss(); | ||
export default async function (options: any) { | ||
const parsed = await Parser.parseURL('https://status.hypixel.net/history.rss'); | ||
if (options && options.raw) return parsed; | ||
return new Status(parsed); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import Achievements from '../structures/Static/Achievements'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/resources/achievements'); | ||
if (res.raw) return res; | ||
return new Achievements(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import Booster from '../structures/Boosters/Booster'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/boosters'); | ||
if (res.raw) return res; | ||
return res.boosters.length ? res.boosters.map((b: any) => new Booster(b)).reverse() : []; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import Challenges from '../structures/Static/Challenges'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/resources/challenges'); | ||
if (res.raw) return res; | ||
return new Challenges(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import GameCounts from '../structures/GameCounts'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/counts'); | ||
if (res.raw) return res; | ||
return new GameCounts(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { GuildSearchParameter } from '../typings'; | ||
import Guild from '../structures/Guild/Guild'; | ||
import isGuildID from '../utils/isGuildID'; | ||
import toUuid from '../utils/toUuid'; | ||
import Errors from '../Errors'; | ||
export default async function (this: any, searchParameter: GuildSearchParameter, query: string) { | ||
if (!query) throw new Error(Errors.NO_GUILD_QUERY); | ||
if ('id' === searchParameter && !isGuildID(query)) throw new Error(Errors.INVALID_GUILD_ID); | ||
const isPlayerQuery = 'player' === searchParameter; | ||
if (isPlayerQuery) query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
if (!['id', 'name', 'player'].includes(searchParameter)) throw new Error(Errors.INVALID_GUILD_SEARCH_PARAMETER); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/guild?${searchParameter}=${encodeURI(query)}`); | ||
if (res.raw) return res; | ||
if (!res.guild && 'player' !== searchParameter) { | ||
throw new Error(Errors.GUILD_DOES_NOT_EXIST); | ||
} | ||
|
||
return res.guild ? new Guild(res.guild, isPlayerQuery ? query : undefined) : null; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import GuildAchievements from '../structures/Static/GuildAchievements'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/resources/guilds/achievements'); | ||
if (res.raw) return res; | ||
return new GuildAchievements(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import Leaderboard from '../structures/Leaderboard'; | ||
import Constants from '../utils/Constants'; | ||
import Errors from '../Errors'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/leaderboards'); | ||
if (res.raw) return res; | ||
if (!res.leaderboards) throw new Error(Errors.SOMETHING_WENT_WRONG.replace(/{cause}/, 'Try again.')); | ||
const lbnames = Object.create(Constants.leaderboardNames); | ||
for (const name in lbnames) { | ||
lbnames[name] = res.leaderboards[lbnames[name]].length | ||
? res.leaderboards[lbnames[name]].map((lb: any) => new Leaderboard(lb)) | ||
: []; | ||
} | ||
return lbnames; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import Errors from '../Errors'; | ||
import toUuid from '../utils/toUuid'; | ||
import getGuild from './getGuild'; | ||
import getRecentGames from './getRecentGames'; | ||
import Player from '../structures/Player'; | ||
export default async function (this: any, query: string, options = { guild: false, recentGames: false }) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/player?uuid=${query}`); | ||
if (res.raw) return res; | ||
if (query && !res.player) throw new Error(Errors.PLAYER_HAS_NEVER_LOGGED); | ||
let guild = null; | ||
let recentGames = null; | ||
if (options.guild) { | ||
guild = getGuild.call(this, 'player', query); | ||
} | ||
if (options.recentGames) { | ||
recentGames = getRecentGames.call(this, query); | ||
} | ||
[guild, recentGames] = await Promise.all([guild, recentGames]); | ||
return new Player(res.player, { guild, recentGames }); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import Quests from '../structures/Static/Quests'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/resources/quests'); | ||
if (res.raw) return res; | ||
return new Quests(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
import RecentGame from '../structures/RecentGame'; | ||
import toUuid from '../utils/toUuid'; | ||
import Errors from '../Errors'; | ||
export default async function (this: any, query: string) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/recentgames?uuid=${query}`); | ||
if (res.raw) return res; | ||
if (0 === res.games.length) { | ||
return []; | ||
} | ||
return res.games.map((x: any) => new RecentGame(x)); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import Status from '../structures/Status'; | ||
import toUuid from '../utils/toUuid'; | ||
export default async function (this: any, query: string) { | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/status?uuid=${query}`); | ||
if (res.raw) return res; | ||
return new Status(res.session); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import WatchdogStats from '../structures/Watchdog/Stats'; | ||
|
||
export default async function (this:any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/punishmentstats'); | ||
if (res.raw) return res; | ||
return new WatchdogStats(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import House from '../../structures/House'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/housing/active'); | ||
if (res.raw) return res; | ||
return res.length ? res.map((b: any) => new House(b)) : []; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import House from '../../structures/House'; | ||
import Errors from '../../Errors'; | ||
export default async function (this: any, query: string) { | ||
if (!query) throw new Error(Errors.NO_UUID); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/housing/house?house=${query}`); | ||
if (res.raw) return res; | ||
return new House(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import House from '../../structures/House'; | ||
import toUuid from '../../utils/toUuid'; | ||
import Errors from '../../Errors'; | ||
export default async function (this: any, query: string) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/housing/houses?player=${query}`); | ||
if (res.raw) return res; | ||
return res.length ? res.map((h: any) => new House(h)) : []; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
import getAchievements from './getAchievements'; | ||
import getAPIStatus from './getAPIStatus'; | ||
import getBoosters from './getBoosters'; | ||
import getChallenges from './getChallenges'; | ||
import getGameCounts from './getGameCounts'; | ||
import getGuild from './getGuild'; | ||
import getGuildAchievements from './getGuildAchievements'; | ||
import getLeaderboards from './getLeaderboards'; | ||
import getPlayer from './getPlayer'; | ||
import getQuests from './getQuests'; | ||
import getRecentGames from './getRecentGames'; | ||
import getStatus from './getStatus'; | ||
import getWatchdogStats from './getWatchdogStats'; | ||
|
||
import getSkyblockAuction from './skyblock/getAuction'; | ||
import getSkyblockAuctions from './skyblock/getAuctions'; | ||
import getSkyblockAuctionsByPlayer from './skyblock/getAuctionsByPlayer'; | ||
import getSkyblockBazaar from './skyblock/getBazaar'; | ||
import getSkyblockBingo from './skyblock/getBingo'; | ||
import getSkyblockBingoByPlayer from './skyblock/getBingoByPlayer'; | ||
import getSkyblockEndedAuctions from './skyblock/getEndedAuctions'; | ||
import getSkyblockFireSales from './skyblock/getFireSales'; | ||
import getSkyblockGarden from './skyblock/getGarden'; | ||
import getSkyblockGovernment from './skyblock/getGovernment'; | ||
import getSkyblockMember from './skyblock/getMember'; | ||
import getSkyblockMuseum from './skyblock/getMuseum'; | ||
import getSkyblockNews from './skyblock/getNews'; | ||
import getSkyblockProfiles from './skyblock/getProfiles'; | ||
|
||
import getActiveHouses from './housing/getActiveHouses'; | ||
import getPlayerHouses from './housing/getPlayerHouses'; | ||
import getHouse from './housing/getHouse'; | ||
|
||
export default { | ||
getAchievements, | ||
getAPIStatus, | ||
getBoosters, | ||
getChallenges, | ||
getGameCounts, | ||
getGuild, | ||
getGuildAchievements, | ||
getLeaderboards, | ||
getPlayer, | ||
getQuests, | ||
getRecentGames, | ||
getStatus, | ||
getWatchdogStats, | ||
|
||
getSkyblockAuction, | ||
getSkyblockAuctions, | ||
getSkyblockAuctionsByPlayer, | ||
getSkyblockBazaar, | ||
getSkyblockBingo, | ||
getSkyblockBingoByPlayer, | ||
getSkyblockEndedAuctions, | ||
getSkyblockFireSales, | ||
getSkyblockGarden, | ||
getSkyblockGovernment, | ||
getSkyblockMember, | ||
getSkyblockMuseum, | ||
getSkyblockNews, | ||
getSkyblockProfiles, | ||
|
||
getActiveHouses, | ||
getPlayerHouses, | ||
getHouse | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import Auction from '../../structures/SkyBlock/Auctions/Auction'; | ||
import { ActionFilterType } from '../../typings'; | ||
import toUuid from '../../utils/toUuid'; | ||
import Errors from '../../Errors'; | ||
|
||
export default async function (this: any, type: ActionFilterType, query: string, includeItemBytes = false) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
let filter; | ||
if ('PROFILE' === type) { | ||
filter = 'profile'; | ||
} else if ('PLAYER' === type) { | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
filter = 'player'; | ||
} else if ('AUCTION' === type) { | ||
filter = 'uuid'; | ||
} else { | ||
throw new Error(Errors.BAD_AUCTION_FILTER); | ||
} | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/skyblock/auction?${filter}=${query}`); | ||
if (res.raw) return res; | ||
return res.auctions.length ? res.auctions.map((a: any) => new Auction(a, includeItemBytes)) : []; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
import AuctionInfo from '../../structures/SkyBlock/Auctions/AuctionInfo'; | ||
import Auction from '../../structures/SkyBlock/Auctions/Auction'; | ||
import Errors from '../../Errors'; | ||
async function getPage(this: any, page: any = 0, options: any = {}) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const content = await this._makeRequest(`/skyblock/auctions?page=${page}`, false); | ||
const result: any = {}; | ||
if (!options.noInfo) result.info = new AuctionInfo(content); | ||
if (options.raw) result.auctions = content.auctions; | ||
else if (options.noAuctions) result.auctions = []; | ||
else result.auctions = content.auctions.map((x: any) => new Auction(x, options.includeItemBytes)); | ||
return result; | ||
} | ||
async function noReject(promise: any, args: any = [], retries: any = 3, cooldown: any = 100) { | ||
try { | ||
const result = await promise.call(null, ...args); | ||
return result; | ||
} catch { | ||
if (retries) { | ||
await new Promise((resolve) => setTimeout(resolve, cooldown)); | ||
return await noReject(promise, args, retries - 1, cooldown); | ||
} | ||
return null; | ||
} | ||
} | ||
|
||
export default async function (range: any, options: any = {}) { | ||
options.retries ||= 3; | ||
options.cooldown ||= 100; | ||
if (null === range || '*' === range) range = [0, (await getPage(0, { noAuctions: true })).info.totalPages]; | ||
if (!Array.isArray(range)) range = [parseInt(range), parseInt(range)]; | ||
if (isNaN(range[0])) throw new Error(Errors.PAGE_INDEX_ERROR); | ||
if (parseInt(options.retries) !== options.retries || 10 < options.retries || 0 > options.retries) { | ||
throw new Error(Errors.INVALID_OPTION_VALUE); | ||
} | ||
if (parseInt(options.cooldown) !== options.cooldown || 3000 < options.cooldown || 0 > options.cooldown) { | ||
throw new Error(Errors.INVALID_OPTION_VALUE); | ||
} | ||
range = range.sort(); | ||
const result: any = { auctions: [] }; | ||
const fetches = []; | ||
const failedPages = []; | ||
if (options.noAuctions) return { info: options.noInfo ? null : (await getPage(range[1], { noAuctions: true })).info }; | ||
for (let i = range[0]; i <= range[1]; i++) { | ||
if (options.race) { | ||
fetches.push(noReject(getPage, [i, options], options.retries, options.cooldown)); | ||
} else { | ||
const resp = await noReject(getPage, [i, options], options.retries, options.cooldown); | ||
if (resp) { | ||
result.auctions = result.auctions.concat(resp.auctions); | ||
if (resp.info) result.info = resp.info; | ||
} else { | ||
failedPages.push(i); | ||
} | ||
} | ||
} | ||
if (fetches.length) { | ||
result.auctions = (await Promise.all(fetches)).reduce((pV, cV, index) => { | ||
if (!cV) { | ||
failedPages.push(index + range[0]); | ||
return pV; | ||
} | ||
if (cV.info) result.info = cV.info; | ||
if (cV.auctions.length) return pV.concat(cV.auctions); | ||
return pV; | ||
}, []); | ||
} | ||
// eslint-disable-next-line no-underscore-dangle | ||
result.info = result.info ? result.info._extend('failedPages', failedPages) : { failedPages }; | ||
return result; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import Auction from '../../structures/SkyBlock/Auctions/Auction'; | ||
import toUuid from '../../utils/toUuid'; | ||
import Errors from '../../Errors'; | ||
export default async function (this: any, query: string, includeItemBytes = false) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/skyblock/auction?player=${query}`); | ||
if (res.raw) return res; | ||
return res.auctions.length ? res.auctions.map((a: any) => new Auction(a, includeItemBytes)) : []; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import Product from '../../structures/SkyBlock/Bazzar/Product'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/skyblock/bazaar'); | ||
if (res.raw) return res; | ||
const productsKeys = Object.keys(res.products); | ||
return productsKeys.map((x) => new Product(res.products[x])); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import BingoData from '../../structures/SkyBlock/Static/BingoData'; | ||
export default async function (this: any) { | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest('/resources/skyblock/bingo'); | ||
if (res.raw) return res; | ||
return new BingoData(res); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
import PlayerBingo from '../../structures/SkyBlock/PlayerBingo'; | ||
import toUuid from '../../utils/toUuid'; | ||
import getBingo from './getBingo'; | ||
import Errors from '../../Errors'; | ||
export default async function (this: any, query: string, { fetchBingoData = false }) { | ||
if (!query) throw new Error(Errors.NO_NICKNAME_UUID); | ||
query = await toUuid(query, this.options.mojangCacheTime, this.options.useThirdPartyAPI); | ||
// eslint-disable-next-line no-underscore-dangle | ||
const res = await this._makeRequest(`/skyblock/uuid?player=${query}`); | ||
if (res.raw) return res; | ||
let bingoData = null; | ||
if (fetchBingoData) bingoData = await getBingo.call(this); | ||
return new PlayerBingo(res, bingoData); | ||
} |
Oops, something went wrong.