use-middleware
v2.0.0
Published
A middleware provider for any function call
Downloads
2
Maintainers
Readme
use-middleware
Allows middleware to be added to any function call.
Example
Api
use
Use-middleware exposed one api :
use(argsObject: { [key: string]: any }, middlewareArray: MiddlewareFunc[], handlerFunc: HandlerFunc): Promise
Use will call each middleware in order, passing it the args and finally resolve the promise with the return value from the handler func. To handle errors in middlware you can pass the error to the next
function and the promise will reject with the error.
Params
argsObject: { [key: string]: any }
The arguments object will be passed to each middleware and finally the handler.
middlewareArray: MiddlewareFunc[]
An array of middleware functions which will be called in order before the handler.
handlerFunc: HandlerFunc
The handler function will be called after the middleware functions.
Types
MiddlewareFunc = (argsObject, next: NextFunc, previous) => void
Middleware functions will be called with three paramaters.
The argsObject
, the next
function in the pipeline
and the value with which the previous
function was called.
Middleware functions can do their work and then add properties
to the argsObject
. Once complete call the next
function
with any data to pass which will be received as the previous
param.
HandlerFunc = (argsObject, previous: any) => any
The handler function will be called at the end of the middleware chain
with the argsObject
and and values passed to next
from the last middleware.
nextFunc = (err: Error | string, data: any) => void
The next function is passed to each middleware and called there to move control to the next middleware. It takes two arguments, the first is any errors from the middleware, the second any data you would like to pass to the following function.