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

/chain_links/

    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