https://github.com/maxerbox/parallel-handle-fisherman
A parallel middleware handler, usign async
https://github.com/maxerbox/parallel-handle-fisherman
command discord fisherman framework middleware parallel
Last synced: about 1 month ago
JSON representation
A parallel middleware handler, usign async
- Host: GitHub
- URL: https://github.com/maxerbox/parallel-handle-fisherman
- Owner: maxerbox
- License: isc
- Created: 2017-08-01T13:46:27.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-01T17:47:27.000Z (almost 9 years ago)
- Last Synced: 2025-10-18T16:58:06.443Z (8 months ago)
- Topics: command, discord, fisherman, framework, middleware, parallel
- Language: JavaScript
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Parallel Handler Fisherman
> Execute the middlewares in parallel, not in chain.
> Copyright © 2017, Simon Sassi
The Parallel Handler can be useful for async stuff that can run in parallel
## Usage
Same as fisherman.use
```javascript
const fisherman = require("fisherman-discord.js")
var bot = new fisherman.Fisherman({ prefixes: ['test!'] })
const ParallelHandling = require("./lib/index")
var parallelHandling = new ParallelHandling()
parallelHandling.use({parallelHandle: function(router, callback){
if(router.req.isCommand) console.log(router.req)
callback()
}})
bot.use(parallelHandling)
```
## Creating a middleware compatible with the Parallel Handler
You have to add a function named `parallelHandle` inside your middleware class/object
`parallelHandle` is called with two arguments :
| Argument | Description |
| ---- | ---- |
| router | A router object (see doc below) |
| callback | an async callback (see doc below) |
### router
A simple object, with two properties:
* `req` : The fisherman request
* `res` : The fisherman response
### callback
A function that call back, where you can pass an error with `callback(err)`. You can of course pass `true` if you want to just block the middleware chain and don't trigger any fishercode
### setUp() handling (^1.0.3)
Since the 1.0.3 version, the setUp handling is available. It's almost same as the Fisherman default setUp handler, but for reference reason, the client is inside a `container`
Example
```javascript
setUp(container, next) {
var client = container.client
console.log(client)
next()
next(new Error('throwing an error')) // you can also pass an error
}
```
### The callback as to be trigerred, else, the middleware loop will be blocked
## Api
### parallelHandling.use(middleware)
Append a middleware to the Parallel Handler
## Badge
It's a simple badge to show that your middleware is compatible with the Parallel Handler
