1.0.3 • Published 6 years ago

chain_links v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

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

1.0.3

6 years ago

1.0.2

6 years ago

1.0.0

6 years ago