Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,9 @@ class ApplicationCommandManager extends CachedManager {
* .catch(console.error)
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

if (typeof options === 'string') return this._fetchSingle({ id: options });

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class ApplicationEmojiManager extends CachedManager {
* .catch(console.error);
*/
async fetch(id, { cache = true, force = false } = {}) {
if (id) {
if (id !== undefined) {
if (!force) {
const existing = this.cache.get(id);
if (existing) return existing;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,10 @@ class AutoModerationRuleManager extends CachedManager {
* .catch(console.error)
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { autoModerationRule, cache, force } = options;
const resolvedAutoModerationRule = this.resolveId(autoModerationRule ?? options);
if (resolvedAutoModerationRule) {
Expand Down
8 changes: 5 additions & 3 deletions packages/discord.js/src/managers/EntitlementManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,13 @@ class EntitlementManager extends CachedManager {
* @returns {Promise<Entitlement|Collection<Snowflake, Entitlement>>}
*/
async fetch(options) {
if (!options) return this._fetchMany(options);
if (options === undefined) {
return this._fetchMany(options);
}

const { entitlement, cache, force } = options;
const resolvedEntitlement = this.resolveId(entitlement ?? options);

if (resolvedEntitlement) {
if (resolvedEntitlement !== null) {
return this._fetchSingle({ entitlement: resolvedEntitlement, cache, force });
}

Expand Down
9 changes: 7 additions & 2 deletions packages/discord.js/src/managers/GuildBanManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,15 @@ class GuildBanManager extends CachedManager {
* .catch(console.error);
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { user, cache, force, limit, before, after } = options;
const resolvedUser = this.client.users.resolveId(user ?? options);
if (resolvedUser) return this._fetchSingle({ user: resolvedUser, cache, force });
if (resolvedUser !== null) {
return this._fetchSingle({ user: resolvedUser, cache, force });
}

if (!before && !after && !limit && cache === undefined) {
throw new DiscordjsError(ErrorCodes.FetchBanResolveId);
Expand Down
4 changes: 2 additions & 2 deletions packages/discord.js/src/managers/GuildChannelManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -418,12 +418,12 @@ class GuildChannelManager extends CachedManager {
* .catch(console.error);
*/
async fetch(id, { cache = true, force = false } = {}) {
if (id && !force) {
if (id !== undefined && !force) {
const existing = this.cache.get(id);
if (existing) return existing;
}

if (id) {
if (id !== undefined) {
const innerData = await this.client.rest.get(Routes.channel(id));
// Since this is the guild manager, throw if on a different guild
if (this.guild.id !== innerData.guild_id) throw new DiscordjsError(ErrorCodes.GuildChannelUnowned);
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/managers/GuildEmojiManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ class GuildEmojiManager extends CachedManager {
* .catch(console.error);
*/
async fetch(id, { cache = true, force = false } = {}) {
if (id) {
if (id !== undefined) {
if (!force) {
const existing = this.cache.get(id);
if (existing) return existing;
Expand Down
5 changes: 4 additions & 1 deletion packages/discord.js/src/managers/GuildInviteManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,10 @@ class GuildInviteManager extends CachedManager {
* .catch(console.error);
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

if (typeof options === 'string') {
const code = resolveInviteCode(options);
if (!code) throw new DiscordjsError(ErrorCodes.InviteResolveCode);
Expand Down
10 changes: 8 additions & 2 deletions packages/discord.js/src/managers/GuildMemberManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,10 +217,16 @@ class GuildMemberManager extends CachedManager {
* .catch(console.error);
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { user: users, limit, withPresences, cache, force } = options;
const resolvedUser = this.client.users.resolveId(users ?? options);
if (resolvedUser && !limit && !withPresences) return this._fetchSingle({ user: resolvedUser, cache, force });
if (resolvedUser !== null && !limit && !withPresences) {
return this._fetchSingle({ user: resolvedUser, cache, force });
}

const resolvedUsers = users?.map?.(user => this.client.users.resolveId(user)) ?? resolvedUser ?? undefined;
return this._fetchMany({ ...options, users: resolvedUsers });
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,16 @@ class GuildSoundboardSoundManager extends CachedManager {
* .catch(console.error);
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { cache, force, soundboardSound } = options;
const resolvedSoundboardSound = this.resolveId(soundboardSound ?? options);
if (resolvedSoundboardSound) return this._fetchSingle({ cache, force, soundboardSound: resolvedSoundboardSound });
if (resolvedSoundboardSound !== null) {
return this._fetchSingle({ cache, force, soundboardSound: resolvedSoundboardSound });
}

return this._fetchMany({ cache });
}

Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/managers/GuildStickerManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ class GuildStickerManager extends CachedManager {
* .catch(console.error);
*/
async fetch(id, { cache = true, force = false } = {}) {
if (id) {
if (id !== undefined) {
if (!force) {
const existing = this.cache.get(id);
if (existing) return existing;
Expand Down
10 changes: 8 additions & 2 deletions packages/discord.js/src/managers/MessageManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,16 @@ class MessageManager extends CachedManager {
* .catch(console.error);
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { message, cache, force } = options;
const resolvedMessage = this.resolveId(message ?? options);
if (resolvedMessage) return this._fetchSingle({ message: resolvedMessage, cache, force });
if (resolvedMessage !== null) {
return this._fetchSingle({ message: resolvedMessage, cache, force });
}

return this._fetchMany(options);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/managers/RoleManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class RoleManager extends CachedManager {
* .catch(console.error);
*/
async fetch(id, { cache = true, force = false } = {}) {
if (!id) {
if (id === undefined) {
const innerData = await this.client.rest.get(Routes.guildRoles(this.guild.id));
const roles = new Collection();
for (const role of innerData) roles.set(role.id, this._add(role, cache));
Expand Down
10 changes: 8 additions & 2 deletions packages/discord.js/src/managers/ThreadMemberManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,16 @@ class ThreadMemberManager extends CachedManager {
* @returns {Promise<ThreadMember|Collection<Snowflake, ThreadMember>>}
*/
async fetch(options) {
if (!options) return this._fetchMany();
if (options === undefined) {
return this._fetchMany();
}

const { member, withMember, cache, force } = options;
const resolvedMember = this.resolveId(member ?? options);
if (resolvedMember) return this._fetchSingle({ member: resolvedMember, withMember, cache, force });
if (resolvedMember !== null) {
return this._fetchSingle({ member: resolvedMember, withMember, cache, force });
}

return this._fetchMany(options);
}

Expand Down