diff --git a/packages/core/src/features/command/repository/CommandRepository.ts b/packages/core/src/features/command/repository/CommandRepository.ts index c9ec9c31..9dbcee6d 100644 --- a/packages/core/src/features/command/repository/CommandRepository.ts +++ b/packages/core/src/features/command/repository/CommandRepository.ts @@ -210,4 +210,7 @@ export interface CommandRepository /** Returns an iterator of all [ID, {@link TopLevelCommand}] pairs. */ entries(): IterableIterator<[string, TopLevelCommand]>; + + /** Removes all stored commands. */ + clear(): void; } diff --git a/packages/core/src/features/command/repository/ReadonlyCommandRepository.ts b/packages/core/src/features/command/repository/ReadonlyCommandRepository.ts index d83d1788..7913a689 100644 --- a/packages/core/src/features/command/repository/ReadonlyCommandRepository.ts +++ b/packages/core/src/features/command/repository/ReadonlyCommandRepository.ts @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Amgelo563 + * Copyright (c) 2024 Amgelo563 * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,4 +26,4 @@ import type { CommandRepository } from './CommandRepository.js'; /** Type of immutable {@link CommandRepository}. */ export interface ReadonlyCommandRepository - extends Omit {} + extends Omit {} diff --git a/packages/framework/src/features/command/repository/DefaultCommandRepository.ts b/packages/framework/src/features/command/repository/DefaultCommandRepository.ts index f7f83591..5f05fdcd 100644 --- a/packages/framework/src/features/command/repository/DefaultCommandRepository.ts +++ b/packages/framework/src/features/command/repository/DefaultCommandRepository.ts @@ -171,6 +171,10 @@ export class DefaultCommandRepository implements CommandRepository { return this.commands; } + public clear() { + this.commands.clear(); + } + public *entries(): IterableIterator<[string, TopLevelCommand]> { yield* this.commands.entries(); }