UNPKG

guilded.ts

Version:

A powerful NPM module that allows you to easily interact with the Guilded API.

43 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserManager = void 0; const BaseManager_1 = require("./BaseManager"); const User_1 = require("../structures/User"); const collection_1 = require("@discordjs/collection"); const Server_1 = require("../structures/server/Server"); /** * The manager of users that belong to the client. * @example new UserManager(client); */ class UserManager extends BaseManager_1.BaseManager { /** @param client The client the users belong to. */ constructor(client) { super(client, client.options.maxUserCache); } fetch(arg1, arg2) { if (arg2) return this.fetchSingle(arg1, arg2); return this.fetchMany(arg1); } /** @ignore */ async fetchSingle(server, user) { user = user instanceof User_1.User ? user.id : user; const cached = this.cache.get(user); if (cached) return cached; server = server instanceof Server_1.Server ? server : await this.client.servers.fetch(server); const member = await server.members.fetch(user); return member.user; } /** @ignore */ async fetchMany(server) { server = server instanceof Server_1.Server ? server : await this.client.servers.fetch(server); const members = await server.members.fetch(); const users = new collection_1.Collection(); for (const { user } of members.values()) users.set(user.id, user); return users; } } exports.UserManager = UserManager; //# sourceMappingURL=UserManager.js.map