2.0.0 • Published 6 years ago

mkware v2.0.0

Weekly downloads
8
License
LGPL-3.0
Repository
github
Last release
6 years ago

mkware NPM Version Badge Node Version BadgeBuild Status Badge]Travis CICoverage Badge]Coverage

Make you a middleware pipe!

Installation

npm install --save mkware

or

yarn add mkware

Usage (normal)

var mkware = require('mkware');

var execute = mkware(
  function(object, next) {
    object.value += 1;
    next();
  },
  function(object, next) {
    object.value *= 2;
    next();
  },
  function(object, next) {
    object.value += 5;
    next();
  },
  function(value) {
    console.log(value);
  }
);

execute({ value: 5 }); // last middleware outputs 17

Usage (promise)

var mkware = require('mkware/promise');

var execute = mkware(
  function(object, next) {
    object.value += 1;
    next();
  },
  function(object, next) {
    object.value *= 2;
    next();
  },
  function(object, next) {
    object.value += 5;
    next();
  }
);

execute({ value: 5 }).then(function(object) {
  console.log(object.value); // 17
});

Builder

Need a more conventional way to set up your middleware? Try mkware-builder;

var mkware = require('mkware-builder');

var ware = mkware();

ware.use(function(object, next) {
    object.value += 1;
    next();
});

ware.use(function(object, next) {
    object.value *= 2;
    next();
});

ware.use(function(object, next) {
    object.value += 5;
    next();
});

ware.use(function(object) {
  console.log(object.value);
});

ware({ value: 5 }); // last middleware outputs 17

There is also a promise-based variant at mkware-builder/promise;

var mkware = require('mkware-builder/promise');

var ware = mkware();

ware.use(function(value, next) {
  next(value, value + 1);
});

ware.use(function(originalValue, value, next) {
  next(originalValue, value * 2);
});

ware.use(function(originalValue, value, next) {
  next(originalValue + value);
});

ware(5).then(function(value) {
  console.log(value); // 17
});