https://github.com/maurerkrisztian/command-pattern-queue
command pattern
https://github.com/maurerkrisztian/command-pattern-queue
design-patterns
Last synced: 2 months ago
JSON representation
command pattern
- Host: GitHub
- URL: https://github.com/maurerkrisztian/command-pattern-queue
- Owner: MaurerKrisztian
- Created: 2021-03-30T17:13:56.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-18T12:21:04.000Z (about 3 years ago)
- Last Synced: 2025-01-12T18:52:08.598Z (4 months ago)
- Topics: design-patterns
- Language: TypeScript
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)
[](https://sonarcloud.io/summary/new_code?id=MaurerKrisztian_command-pattern-queue)# command-pattern-queue [](https://badge.fury.io/js/command-pattern-queue)
### Basic implementation of command-pattern queue
## Usage:
```
npm i command-pattern-queue
``````typescript
// command interface
export interface ICommand {
execute(): void
unexecute(): void
}const commandQueue = new CommandQueue(); // create queue
// execute ICommand-s
await commandQueue.executeCommand(Command1);
await commandQueue.executeCommand(Command2);await commandQueue.executeCommands([Command3, Command4, Command5, Command6]);
// undo command
await commandQueue.undoCommand() // undo 1 command
await commandQueue.undoCommand(3) // undo 3 command// redo commands
await commandQueue.redoCommand(); // redo 1 command
await commandQueue.redoCommand(2); // redo 2 command
```