From 00bae4fe6b9ecf18a87ea622f6a2c646031daca7 Mon Sep 17 00:00:00 2001 From: 1Computer1 <22125769+1Computer1@users.noreply.github.com> Date: Sat, 31 Jul 2021 07:08:59 -0400 Subject: [PATCH] refactor: remove extended collection (#6246) Co-authored-by: iCrawl --- package-lock.json | 14 +++++++------- package.json | 2 +- src/client/Client.js | 2 +- src/client/actions/MessageDeleteBulk.js | 2 +- src/client/actions/ThreadListSync.js | 2 +- src/client/websocket/WebSocketManager.js | 2 +- .../websocket/handlers/GUILD_MEMBERS_CHUNK.js | 2 +- src/index.js | 2 +- src/managers/ApplicationCommandManager.js | 2 +- .../ApplicationCommandPermissionsManager.js | 2 +- src/managers/GuildBanManager.js | 2 +- src/managers/GuildChannelManager.js | 2 +- src/managers/GuildEmojiManager.js | 2 +- src/managers/GuildEmojiRoleManager.js | 2 +- src/managers/GuildInviteManager.js | 2 +- src/managers/GuildManager.js | 2 +- src/managers/GuildMemberManager.js | 2 +- src/managers/GuildMemberRoleManager.js | 2 +- src/managers/GuildStickerManager.js | 2 +- src/managers/MessageManager.js | 2 +- src/managers/PermissionOverwriteManager.js | 2 +- src/managers/ReactionUserManager.js | 2 +- src/managers/RoleManager.js | 2 +- src/managers/ThreadManager.js | 2 +- src/managers/ThreadMemberManager.js | 2 +- src/rest/RESTManager.js | 2 +- src/sharding/ShardingManager.js | 2 +- src/structures/BaseGuildVoiceChannel.js | 2 +- src/structures/Guild.js | 2 +- src/structures/GuildAuditLogs.js | 2 +- src/structures/GuildChannel.js | 2 +- src/structures/GuildPreview.js | 2 +- src/structures/InteractionCollector.js | 2 +- src/structures/InviteStageInstance.js | 2 +- src/structures/Message.js | 2 +- src/structures/MessageMentions.js | 2 +- src/structures/ReactionCollector.js | 2 +- src/structures/StickerPack.js | 2 +- src/structures/Team.js | 2 +- src/structures/TextChannel.js | 2 +- src/structures/WelcomeScreen.js | 2 +- src/structures/Widget.js | 2 +- src/structures/interfaces/Collector.js | 2 +- src/structures/interfaces/TextBasedChannel.js | 2 +- src/util/Collection.js | 17 ----------------- src/util/LimitedCollection.js | 2 +- src/util/Options.js | 4 ++-- src/util/SweptCollection.js | 2 +- typings/index.d.ts | 6 ++---- 49 files changed, 56 insertions(+), 75 deletions(-) delete mode 100644 src/util/Collection.js diff --git a/package-lock.json b/package-lock.json index 94cdeed158c0..8caecf330675 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "license": "Apache-2.0", "dependencies": { "@discordjs/builders": "^0.2.0", - "@discordjs/collection": "^0.2.0", + "@discordjs/collection": "^0.2.1", "@discordjs/form-data": "^3.0.1", "@sapphire/async-queue": "^1.1.4", "@types/ws": "^7.4.5", @@ -1008,9 +1008,9 @@ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" }, "node_modules/@discordjs/collection": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.0.tgz", - "integrity": "sha512-ZSiyfQsQmJq5EDgTocUg6n7IOft64MH/53RC8q3+Z5Ltipgc6eH1lLyDMJz2fcY/xq5zrILd9LyqFgEdragDNA==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz", + "integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==", "engines": { "node": ">=14.0.0" } @@ -12234,9 +12234,9 @@ } }, "@discordjs/collection": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.0.tgz", - "integrity": "sha512-ZSiyfQsQmJq5EDgTocUg6n7IOft64MH/53RC8q3+Z5Ltipgc6eH1lLyDMJz2fcY/xq5zrILd9LyqFgEdragDNA==" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz", + "integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==" }, "@discordjs/docgen": { "version": "0.10.0", diff --git a/package.json b/package.json index 34eed27a7ee1..0bd8c3b62a08 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "homepage": "https://github.com/discordjs/discord.js#readme", "dependencies": { "@discordjs/builders": "^0.2.0", - "@discordjs/collection": "^0.2.0", + "@discordjs/collection": "^0.2.1", "@discordjs/form-data": "^3.0.1", "@sapphire/async-queue": "^1.1.4", "@types/ws": "^7.4.5", diff --git a/src/client/Client.js b/src/client/Client.js index 3cd87612341a..3e0decee3422 100644 --- a/src/client/Client.js +++ b/src/client/Client.js @@ -1,5 +1,6 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const BaseClient = require('./BaseClient'); const ActionsManager = require('./actions/ActionsManager'); const ClientVoiceManager = require('./voice/ClientVoiceManager'); @@ -19,7 +20,6 @@ const StickerPack = require('../structures/StickerPack'); const VoiceRegion = require('../structures/VoiceRegion'); const Webhook = require('../structures/Webhook'); const Widget = require('../structures/Widget'); -const Collection = require('../util/Collection'); const { Events, InviteScopes, Status } = require('../util/Constants'); const DataResolver = require('../util/DataResolver'); const Intents = require('../util/Intents'); diff --git a/src/client/actions/MessageDeleteBulk.js b/src/client/actions/MessageDeleteBulk.js index 4fa7f6dfadff..8bda69511c37 100644 --- a/src/client/actions/MessageDeleteBulk.js +++ b/src/client/actions/MessageDeleteBulk.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Action = require('./Action'); -const Collection = require('../../util/Collection'); const { Events } = require('../../util/Constants'); class MessageDeleteBulkAction extends Action { diff --git a/src/client/actions/ThreadListSync.js b/src/client/actions/ThreadListSync.js index fa12540788d1..1ffa7d513618 100644 --- a/src/client/actions/ThreadListSync.js +++ b/src/client/actions/ThreadListSync.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Action = require('./Action'); -const Collection = require('../../util/Collection'); const { Events } = require('../../util/Constants'); class ThreadListSyncAction extends Action { diff --git a/src/client/websocket/WebSocketManager.js b/src/client/websocket/WebSocketManager.js index ff0268a705c5..60c10078946c 100644 --- a/src/client/websocket/WebSocketManager.js +++ b/src/client/websocket/WebSocketManager.js @@ -1,10 +1,10 @@ 'use strict'; const EventEmitter = require('events'); +const { Collection } = require('@discordjs/collection'); const WebSocketShard = require('./WebSocketShard'); const PacketHandlers = require('./handlers'); const { Error } = require('../../errors'); -const Collection = require('../../util/Collection'); const { Events, ShardEvents, Status, WSCodes, WSEvents } = require('../../util/Constants'); const Util = require('../../util/Util'); diff --git a/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js b/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js index 1e4c3e267a33..48cddea4f9ee 100644 --- a/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +++ b/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js @@ -1,6 +1,6 @@ 'use strict'; -const Collection = require('../../../util/Collection'); +const { Collection } = require('@discordjs/collection'); const { Events } = require('../../../util/Constants'); module.exports = (client, { d: data }) => { diff --git a/src/index.js b/src/index.js index d23b2e9838c1..eca7628dae8a 100644 --- a/src/index.js +++ b/src/index.js @@ -14,7 +14,7 @@ module.exports = { ApplicationFlags: require('./util/ApplicationFlags'), BaseManager: require('./managers/BaseManager'), BitField: require('./util/BitField'), - Collection: require('./util/Collection'), + Collection: require('@discordjs/collection').Collection, Constants: require('./util/Constants'), DataResolver: require('./util/DataResolver'), DiscordAPIError: require('./rest/DiscordAPIError'), diff --git a/src/managers/ApplicationCommandManager.js b/src/managers/ApplicationCommandManager.js index 6195c2fadc3e..77dd16b6f6da 100644 --- a/src/managers/ApplicationCommandManager.js +++ b/src/managers/ApplicationCommandManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const ApplicationCommandPermissionsManager = require('./ApplicationCommandPermissionsManager'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const ApplicationCommand = require('../structures/ApplicationCommand'); -const Collection = require('../util/Collection'); /** * Manages API methods for application commands and stores their cache. diff --git a/src/managers/ApplicationCommandPermissionsManager.js b/src/managers/ApplicationCommandPermissionsManager.js index bcf09c4e0e44..4f9a4b8c0b8a 100644 --- a/src/managers/ApplicationCommandPermissionsManager.js +++ b/src/managers/ApplicationCommandPermissionsManager.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const BaseManager = require('./BaseManager'); const { Error, TypeError } = require('../errors'); -const Collection = require('../util/Collection'); const { ApplicationCommandPermissionTypes, APIErrors } = require('../util/Constants'); /** diff --git a/src/managers/GuildBanManager.js b/src/managers/GuildBanManager.js index fcedc71fe5b6..5bed33d7da75 100644 --- a/src/managers/GuildBanManager.js +++ b/src/managers/GuildBanManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError, Error } = require('../errors'); const GuildBan = require('../structures/GuildBan'); const GuildMember = require('../structures/GuildMember'); -const Collection = require('../util/Collection'); /** * Manages API methods for GuildBans and stores their cache. diff --git a/src/managers/GuildChannelManager.js b/src/managers/GuildChannelManager.js index c2a077f79619..c154ae646083 100644 --- a/src/managers/GuildChannelManager.js +++ b/src/managers/GuildChannelManager.js @@ -1,11 +1,11 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { Error } = require('../errors'); const GuildChannel = require('../structures/GuildChannel'); const PermissionOverwrites = require('../structures/PermissionOverwrites'); const ThreadChannel = require('../structures/ThreadChannel'); -const Collection = require('../util/Collection'); const { ChannelTypes, ThreadChannelTypes } = require('../util/Constants'); /** diff --git a/src/managers/GuildEmojiManager.js b/src/managers/GuildEmojiManager.js index bffb09ef8e16..6be10c7237d1 100644 --- a/src/managers/GuildEmojiManager.js +++ b/src/managers/GuildEmojiManager.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const BaseGuildEmojiManager = require('./BaseGuildEmojiManager'); const { TypeError } = require('../errors'); -const Collection = require('../util/Collection'); const DataResolver = require('../util/DataResolver'); /** diff --git a/src/managers/GuildEmojiRoleManager.js b/src/managers/GuildEmojiRoleManager.js index 73ec4bc9a2b7..937485740331 100644 --- a/src/managers/GuildEmojiRoleManager.js +++ b/src/managers/GuildEmojiRoleManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const DataManager = require('./DataManager'); const { TypeError } = require('../errors'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); /** * Manages API methods for roles belonging to emojis and stores their cache. diff --git a/src/managers/GuildInviteManager.js b/src/managers/GuildInviteManager.js index 741feb378147..2e5d2babdf4e 100644 --- a/src/managers/GuildInviteManager.js +++ b/src/managers/GuildInviteManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { Error } = require('../errors'); const Invite = require('../structures/Invite'); -const Collection = require('../util/Collection'); const DataResolver = require('../util/DataResolver'); /** diff --git a/src/managers/GuildManager.js b/src/managers/GuildManager.js index 79f4b2b72245..7d8535da7702 100644 --- a/src/managers/GuildManager.js +++ b/src/managers/GuildManager.js @@ -1,5 +1,6 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const Guild = require('../structures/Guild'); const GuildChannel = require('../structures/GuildChannel'); @@ -8,7 +9,6 @@ const GuildMember = require('../structures/GuildMember'); const Invite = require('../structures/Invite'); const OAuth2Guild = require('../structures/OAuth2Guild'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); const { ChannelTypes, Events, diff --git a/src/managers/GuildMemberManager.js b/src/managers/GuildMemberManager.js index 227b7317ba68..9c63c7246cb1 100644 --- a/src/managers/GuildMemberManager.js +++ b/src/managers/GuildMemberManager.js @@ -1,11 +1,11 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { Error, TypeError, RangeError } = require('../errors'); const BaseGuildVoiceChannel = require('../structures/BaseGuildVoiceChannel'); const GuildMember = require('../structures/GuildMember'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); const { Events, Opcodes } = require('../util/Constants'); const SnowflakeUtil = require('../util/SnowflakeUtil'); diff --git a/src/managers/GuildMemberRoleManager.js b/src/managers/GuildMemberRoleManager.js index ed5f5601770e..e9304e323fc9 100644 --- a/src/managers/GuildMemberRoleManager.js +++ b/src/managers/GuildMemberRoleManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const DataManager = require('./DataManager'); const { TypeError } = require('../errors'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); /** * Manages API methods for roles of a GuildMember and stores their cache. diff --git a/src/managers/GuildStickerManager.js b/src/managers/GuildStickerManager.js index d3576594e513..b8c15517dd30 100644 --- a/src/managers/GuildStickerManager.js +++ b/src/managers/GuildStickerManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const MessagePayload = require('../structures/MessagePayload'); const Sticker = require('../structures/Sticker'); -const Collection = require('../util/Collection'); /** * Manages API methods for Guild Stickers and stores their cache. diff --git a/src/managers/MessageManager.js b/src/managers/MessageManager.js index e36de7c9d9dc..4f61ab1516dc 100644 --- a/src/managers/MessageManager.js +++ b/src/managers/MessageManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const Message = require('../structures/Message'); const MessagePayload = require('../structures/MessagePayload'); -const Collection = require('../util/Collection'); /** * Manages API methods for Messages and holds their cache. diff --git a/src/managers/PermissionOverwriteManager.js b/src/managers/PermissionOverwriteManager.js index 87902e7460a5..4bd4337195b6 100644 --- a/src/managers/PermissionOverwriteManager.js +++ b/src/managers/PermissionOverwriteManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const PermissionOverwrites = require('../structures/PermissionOverwrites'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); const { OverwriteTypes } = require('../util/Constants'); /** diff --git a/src/managers/ReactionUserManager.js b/src/managers/ReactionUserManager.js index 403c1df42239..625aff2a5b42 100644 --- a/src/managers/ReactionUserManager.js +++ b/src/managers/ReactionUserManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { Error } = require('../errors'); const User = require('../structures/User'); -const Collection = require('../util/Collection'); /** * Manages API methods for users who reacted to a reaction and stores their cache. diff --git a/src/managers/RoleManager.js b/src/managers/RoleManager.js index a92cbb33438c..65b675278853 100644 --- a/src/managers/RoleManager.js +++ b/src/managers/RoleManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const Role = require('../structures/Role'); -const Collection = require('../util/Collection'); const Permissions = require('../util/Permissions'); const { resolveColor, setPosition } = require('../util/Util'); diff --git a/src/managers/ThreadManager.js b/src/managers/ThreadManager.js index 43141f1bd420..d947e4fa3502 100644 --- a/src/managers/ThreadManager.js +++ b/src/managers/ThreadManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const ThreadChannel = require('../structures/ThreadChannel'); -const Collection = require('../util/Collection'); const { ChannelTypes } = require('../util/Constants'); /** diff --git a/src/managers/ThreadMemberManager.js b/src/managers/ThreadMemberManager.js index 7a2f1491f721..a8b6498286f6 100644 --- a/src/managers/ThreadMemberManager.js +++ b/src/managers/ThreadMemberManager.js @@ -1,9 +1,9 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const CachedManager = require('./CachedManager'); const { TypeError } = require('../errors'); const ThreadMember = require('../structures/ThreadMember'); -const Collection = require('../util/Collection'); /** * Manages API methods for GuildMembers and stores their cache. diff --git a/src/rest/RESTManager.js b/src/rest/RESTManager.js index 8d919f575d0c..61fef747cbf6 100644 --- a/src/rest/RESTManager.js +++ b/src/rest/RESTManager.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const APIRequest = require('./APIRequest'); const routeBuilder = require('./APIRouter'); const RequestHandler = require('./RequestHandler'); const { Error } = require('../errors'); -const Collection = require('../util/Collection'); const { Endpoints } = require('../util/Constants'); class RESTManager { diff --git a/src/sharding/ShardingManager.js b/src/sharding/ShardingManager.js index 2142109f0eb1..44bd41875922 100644 --- a/src/sharding/ShardingManager.js +++ b/src/sharding/ShardingManager.js @@ -3,9 +3,9 @@ const EventEmitter = require('events'); const fs = require('fs'); const path = require('path'); +const { Collection } = require('@discordjs/collection'); const Shard = require('./Shard'); const { Error, TypeError, RangeError } = require('../errors'); -const Collection = require('../util/Collection'); const Util = require('../util/Util'); /** diff --git a/src/structures/BaseGuildVoiceChannel.js b/src/structures/BaseGuildVoiceChannel.js index 311f6576fcd8..31893b109d85 100644 --- a/src/structures/BaseGuildVoiceChannel.js +++ b/src/structures/BaseGuildVoiceChannel.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const GuildChannel = require('./GuildChannel'); -const Collection = require('../util/Collection'); const Permissions = require('../util/Permissions'); /** diff --git a/src/structures/Guild.js b/src/structures/Guild.js index 8e4e84242529..758bd92e3755 100644 --- a/src/structures/Guild.js +++ b/src/structures/Guild.js @@ -1,5 +1,6 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const AnonymousGuild = require('./AnonymousGuild'); const GuildAuditLogs = require('./GuildAuditLogs'); const GuildPreview = require('./GuildPreview'); @@ -19,7 +20,6 @@ const PresenceManager = require('../managers/PresenceManager'); const RoleManager = require('../managers/RoleManager'); const StageInstanceManager = require('../managers/StageInstanceManager'); const VoiceStateManager = require('../managers/VoiceStateManager'); -const Collection = require('../util/Collection'); const { ChannelTypes, DefaultMessageNotificationLevels, diff --git a/src/structures/GuildAuditLogs.js b/src/structures/GuildAuditLogs.js index 605450e7a8c4..f4f097f873e4 100644 --- a/src/structures/GuildAuditLogs.js +++ b/src/structures/GuildAuditLogs.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Integration = require('./Integration'); const StageInstance = require('./StageInstance'); const Sticker = require('./Sticker'); const Webhook = require('./Webhook'); -const Collection = require('../util/Collection'); const { OverwriteTypes, PartialTypes } = require('../util/Constants'); const Permissions = require('../util/Permissions'); const SnowflakeUtil = require('../util/SnowflakeUtil'); diff --git a/src/structures/GuildChannel.js b/src/structures/GuildChannel.js index 9906d18c238f..0d711de258a1 100644 --- a/src/structures/GuildChannel.js +++ b/src/structures/GuildChannel.js @@ -1,10 +1,10 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Channel = require('./Channel'); const PermissionOverwrites = require('./PermissionOverwrites'); const { Error } = require('../errors'); const PermissionOverwriteManager = require('../managers/PermissionOverwriteManager'); -const Collection = require('../util/Collection'); const { ChannelTypes, VoiceBasedChannelTypes } = require('../util/Constants'); const Permissions = require('../util/Permissions'); const Util = require('../util/Util'); diff --git a/src/structures/GuildPreview.js b/src/structures/GuildPreview.js index 5a32e40a7bdb..09a206176922 100644 --- a/src/structures/GuildPreview.js +++ b/src/structures/GuildPreview.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const GuildPreviewEmoji = require('./GuildPreviewEmoji'); -const Collection = require('../util/Collection'); const SnowflakeUtil = require('../util/SnowflakeUtil'); /** diff --git a/src/structures/InteractionCollector.js b/src/structures/InteractionCollector.js index 72e714fbb4d7..9c8ecf66af73 100644 --- a/src/structures/InteractionCollector.js +++ b/src/structures/InteractionCollector.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Collector = require('./interfaces/Collector'); -const Collection = require('../util/Collection'); const { Events } = require('../util/Constants'); const { InteractionTypes, MessageComponentTypes } = require('../util/Constants'); diff --git a/src/structures/InviteStageInstance.js b/src/structures/InviteStageInstance.js index 6787e6fee8bc..6356ba28bf80 100644 --- a/src/structures/InviteStageInstance.js +++ b/src/structures/InviteStageInstance.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); -const Collection = require('../util/Collection'); /** * Represents the data about a public {@link StageInstance} in an {@link Invite}. diff --git a/src/structures/Message.js b/src/structures/Message.js index 118cd680ab04..f462eb23930f 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -1,5 +1,6 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const BaseMessageComponent = require('./BaseMessageComponent'); const ClientApplication = require('./ClientApplication'); @@ -12,7 +13,6 @@ const ReactionCollector = require('./ReactionCollector'); const Sticker = require('./Sticker'); const { Error } = require('../errors'); const ReactionManager = require('../managers/ReactionManager'); -const Collection = require('../util/Collection'); const { InteractionTypes, MessageTypes, SystemMessageTypes } = require('../util/Constants'); const MessageFlags = require('../util/MessageFlags'); const Permissions = require('../util/Permissions'); diff --git a/src/structures/MessageMentions.js b/src/structures/MessageMentions.js index 4c291cab7d82..cd2c697d596d 100644 --- a/src/structures/MessageMentions.js +++ b/src/structures/MessageMentions.js @@ -1,6 +1,6 @@ 'use strict'; -const Collection = require('../util/Collection'); +const { Collection } = require('@discordjs/collection'); const { ChannelTypes } = require('../util/Constants'); const Util = require('../util/Util'); diff --git a/src/structures/ReactionCollector.js b/src/structures/ReactionCollector.js index ceb19ab54464..3c0588d5e634 100644 --- a/src/structures/ReactionCollector.js +++ b/src/structures/ReactionCollector.js @@ -1,7 +1,7 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Collector = require('./interfaces/Collector'); -const Collection = require('../util/Collection'); const { Events } = require('../util/Constants'); /** diff --git a/src/structures/StickerPack.js b/src/structures/StickerPack.js index 08e669899979..1cfaa3e1b7c9 100644 --- a/src/structures/StickerPack.js +++ b/src/structures/StickerPack.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const Sticker = require('./Sticker'); -const Collection = require('../util/Collection'); const SnowflakeUtil = require('../util/SnowflakeUtil'); /** diff --git a/src/structures/Team.js b/src/structures/Team.js index 7a26d33a4da7..9207478a07e8 100644 --- a/src/structures/Team.js +++ b/src/structures/Team.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const TeamMember = require('./TeamMember'); -const Collection = require('../util/Collection'); const SnowflakeUtil = require('../util/SnowflakeUtil'); /** diff --git a/src/structures/TextChannel.js b/src/structures/TextChannel.js index 510f9c76f61e..f88060b24fb4 100644 --- a/src/structures/TextChannel.js +++ b/src/structures/TextChannel.js @@ -1,11 +1,11 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const GuildChannel = require('./GuildChannel'); const Webhook = require('./Webhook'); const TextBasedChannel = require('./interfaces/TextBasedChannel'); const MessageManager = require('../managers/MessageManager'); const ThreadManager = require('../managers/ThreadManager'); -const Collection = require('../util/Collection'); const DataResolver = require('../util/DataResolver'); /** diff --git a/src/structures/WelcomeScreen.js b/src/structures/WelcomeScreen.js index 16ad56404eb2..b4b7449a6338 100644 --- a/src/structures/WelcomeScreen.js +++ b/src/structures/WelcomeScreen.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const WelcomeChannel = require('./WelcomeChannel'); -const Collection = require('../util/Collection'); /** * Represents a welcome screen. diff --git a/src/structures/Widget.js b/src/structures/Widget.js index 05e3bd442a39..773ea821a0c8 100644 --- a/src/structures/Widget.js +++ b/src/structures/Widget.js @@ -1,8 +1,8 @@ 'use strict'; +const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); const WidgetMember = require('./WidgetMember'); -const Collection = require('../util/Collection'); /** * Represents a Widget. diff --git a/src/structures/interfaces/Collector.js b/src/structures/interfaces/Collector.js index 29229489b8f2..4742227c034b 100644 --- a/src/structures/interfaces/Collector.js +++ b/src/structures/interfaces/Collector.js @@ -1,8 +1,8 @@ 'use strict'; const EventEmitter = require('events'); +const { Collection } = require('@discordjs/collection'); const { TypeError } = require('../../errors'); -const Collection = require('../../util/Collection'); const Util = require('../../util/Util'); /** diff --git a/src/structures/interfaces/TextBasedChannel.js b/src/structures/interfaces/TextBasedChannel.js index 805cd3a4087a..de4d2bc24f73 100644 --- a/src/structures/interfaces/TextBasedChannel.js +++ b/src/structures/interfaces/TextBasedChannel.js @@ -4,7 +4,7 @@ const MessageCollector = require('../MessageCollector'); const MessagePayload = require('../MessagePayload'); const SnowflakeUtil = require('../../util/SnowflakeUtil'); -const Collection = require('../../util/Collection'); +const { Collection } = require('@discordjs/collection'); const { InteractionTypes } = require('../../util/Constants'); const { TypeError, Error } = require('../../errors'); const InteractionCollector = require('../InteractionCollector'); diff --git a/src/util/Collection.js b/src/util/Collection.js deleted file mode 100644 index 79428a9ad368..000000000000 --- a/src/util/Collection.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const { Collection: BaseCollection } = require('@discordjs/collection'); -const Util = require('./Util'); - -class Collection extends BaseCollection { - toJSON() { - return this.map(e => (typeof e?.toJSON === 'function' ? e.toJSON() : Util.flatten(e))); - } -} - -module.exports = Collection; - -/** - * @external Collection - * @see {@link https://discord.js.org/#/docs/collection/master/class/Collection} - */ diff --git a/src/util/LimitedCollection.js b/src/util/LimitedCollection.js index 0f6ea6c52939..17a3e77fb46c 100644 --- a/src/util/LimitedCollection.js +++ b/src/util/LimitedCollection.js @@ -1,6 +1,6 @@ 'use strict'; -const Collection = require('./Collection.js'); +const { Collection } = require('@discordjs/collection'); /** * A Collection which holds a max amount of entries. The first key is deleted if the Collection has diff --git a/src/util/Options.js b/src/util/Options.js index c86ef6696954..1f461b10f425 100644 --- a/src/util/Options.js +++ b/src/util/Options.js @@ -173,7 +173,7 @@ class Options extends null { * }); */ static cacheWithLimits(settings = {}) { - const Collection = require('./Collection'); + const { Collection } = require('@discordjs/collection'); const LimitedCollection = require('./LimitedCollection'); const SweptCollection = require('./SweptCollection'); @@ -197,7 +197,7 @@ class Options extends null { * @returns {CacheFactory} */ static cacheEverything() { - const Collection = require('./Collection'); + const { Collection } = require('@discordjs/collection'); return () => new Collection(); } } diff --git a/src/util/SweptCollection.js b/src/util/SweptCollection.js index 793a17df7e23..ebac68fb5490 100644 --- a/src/util/SweptCollection.js +++ b/src/util/SweptCollection.js @@ -1,6 +1,6 @@ 'use strict'; -const Collection = require('./Collection.js'); +const { Collection } = require('@discordjs/collection'); const { _cleanupSymbol } = require('./Constants.js'); const { TypeError } = require('../errors/DJSError.js'); diff --git a/typings/index.d.ts b/typings/index.d.ts index dcc4e9662a9f..ade7a0caf85c 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -13,7 +13,7 @@ import { TimestampStylesString, underscore, } from '@discordjs/builders'; -import BaseCollection from '@discordjs/collection'; +import { Collection } from '@discordjs/collection'; import { ChildProcess } from 'child_process'; import { APIActionRowComponent, @@ -368,9 +368,7 @@ export class ClientVoiceManager { public adapters: Map; } -export class Collection extends BaseCollection { - public toJSON(): unknown; -} +export { Collection } from '@discordjs/collection'; export abstract class Collector extends EventEmitter { public constructor(client: Client, options?: CollectorOptions<[V, ...F]>);