import type { CommandModule } from '../../types/module'; import type { Processed } from '../../types/handler'; import { ApplicationCommandType, ComponentType } from './enums'; /** * @since 2.0.0 * Storing all command modules * This dependency is usually injected into ModuleManager */ export class ModuleStore { readonly BothCommands = new Map>(); readonly ApplicationCommands = { [ApplicationCommandType.User]: new Map>(), [ApplicationCommandType.Message]: new Map>(), [ApplicationCommandType.ChatInput]: new Map>(), }; readonly ModalSubmit = new Map>(); readonly TextCommands = new Map>(); readonly InteractionHandlers = { [ComponentType.Button]: new Map>(), [ComponentType.StringSelect]: new Map>(), [ComponentType.ChannelSelect]: new Map>(), [ComponentType.MentionableSelect]: new Map>(), [ComponentType.RoleSelect]: new Map>(), [ComponentType.UserSelect]: new Map>(), }; }