chain_links

1.0.3 • Public • Published

Chain links

Installation

Using npm

$ npm i --save chain_links

Using in Node.js

var Chains = require('chain_links');

// initialize class
var chains = new Chains();

chains.createChain('newTasks')
// connect chain to middlewares
.next(require('./middleware/validateTasks'))
.next(require('path to middleware'))
.next(require('path to middleware'))
// declare env variables
.env({
    db
})
.on('start/switch/end', callback);

// Start new chain
chains.getChain('newTasks').start({initialTaskProps});

In middleware

function validateTask(props, actions) {

    if(!await isTaskNotYetProcessed(props.env.db, props.initialTaskProps)) {
        // switch used to execute middlewares links in other chain. It also end current chain
        actions.switch('taskDismissed', {error: 'TASK_ALREADY_PROCESSED'});
    } else {
        // new props required in next middleware
        actions.next({validated: true})
    }

}

module.exports = validateTask;

This package allows to create code execution chains.

inspired by express.js

Readme

Keywords

none

Package Sidebar

Install

npm i chain_links

Weekly Downloads

0

Version

1.0.3

License

ISC

Unpacked Size

4.91 kB

Total Files

3

Last publish

Collaborators

  • mishatre