parallel-handle-fisherman

1.0.3 • Public • Published

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

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

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

badge

Package Sidebar

Install

npm i parallel-handle-fisherman

Weekly Downloads

0

Version

1.0.3

License

ISC

Last publish

Collaborators

  • maxerbox