Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mimamch/cmd
Powerful and Lightweight Command Processing Library for Interactive Applications
https://github.com/mimamch/cmd
command-based-interaction command-dispatching command-driven-application command-event-handling command-execution command-handler command-parsing command-processor
Last synced: 13 days ago
JSON representation
Powerful and Lightweight Command Processing Library for Interactive Applications
- Host: GitHub
- URL: https://github.com/mimamch/cmd
- Owner: mimamch
- License: mit
- Created: 2023-06-22T08:01:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-30T13:05:48.000Z (over 1 year ago)
- Last Synced: 2024-10-06T12:41:51.409Z (3 months ago)
- Topics: command-based-interaction, command-dispatching, command-driven-application, command-event-handling, command-execution, command-handler, command-parsing, command-processor
- Language: TypeScript
- Homepage:
- Size: 21.5 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# @mimamch/cmd - Powerful and Lightweight Command Processing Library for Interactive Applications
`@mimamch/cmd` is a library for processing and handling commands in text-based applications. This library provides an efficient way to manage and execute commands provided by users.
## Key Features
- **Command Processing**: The library allows you to process commands provided by users easily and efficiently.
- **Command Handling**: You can define handlers for each command that will be executed when the command is called.
- **Defined Arguments and Types**: The library supports the definition of command arguments and corresponding data types for each command, ensuring clarity and validity of the received arguments.
- **Flexible Execution**: You can execute commands by providing arguments that match the command definition, ensuring accurate command execution.
- **Defined Return Messages**: Each command can produce a return value according to the specified data type, allowing you to provide appropriate responses to users.## Installation
You can install `@mimamch/cmd` using npm, the package manager for Node.js. Run the following command:
```
npm install @mimamch/cmd
```## Usage
To use `@mimamch/cmd`, follow these steps:
1. Define your custom commands and their corresponding handlers.
2. Create an instance of the `CommandProcessor` class and pass your commands to it.
3. Use the `parseCommand` method to execute commands with the specified arguments.Here's an example of how to use `@mimamch/cmd`:
```javascript
const { CommandProcessor } = require("@mimamch/cmd");// For JS module import
// import CommandProcessor from "@mimamch/cmd";// Define custom commands and their handlers
const commands = {
"/sayhello": function (name) {
return `Hello ${name} welcome to the club 🥳`;
},
};// Create a CommandProcessor instance with the defined commands
const commandProcessor = new CommandProcessor(commands);// Execute the "/sayhello" command with the argument "mimamch"
const sayHelloResult = commandProcessor.parse("/sayhello", "mimamch");
console.log(sayHelloResult);
```For more examples and usage scenarios, you can refer to the [`examples`](examples/javascript) file in the examples directory.
## Documentation
For detailed documentation, including guides and API references, please visit the [official documentation](https://github.com/mimamch/cmd).
## Contributing
Contributions are welcome! Please follow the guidelines outlined in the [CONTRIBUTING.md](https://github.com/mimamch/cmd/blob/main/CONTRIBUTING.md) file.
## License
This library is licensed under the [MIT License](https://github.com/mimamch/cmd/blob/main/LICENSE).