Hire SuperPipe for your complex reactive javascript application
The easiest way to install SuperPipe is with npm
npm install superpipe
var SuperPipe = require('superpipe');
var sp = new SuperPipe();
Below is a description of exposed public API
SuperPipe constructor can take 1 parameter:
- injector - instance of insider
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe()
or
var insider = require('insider')
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe(insider)
Return a new pipeline. Listen to the event of emitter and create a new pipeline to handle the emitted events.
The listenTo
can take 2 parameters:
- eventEmitter - instance of EventEmitter. Optional parameter. If you not provide eventEmitter, will be used instaoce of
superpipe
- eventName - name of event for listen. For example
superpipe.listenTo('login')
Return a new pipeline instance
The autoBind
can take 1 parameter. Paramater is boolean.The .autoBind()
controls if we should automatically bind the function dependency
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe()
var loginPipeline = superpipe
.pipeline()
.autoBind(true)
.pipe(...)
.pipe(...)
.toPipe()
The setDep
can take 3 parameters.
name
- Required {String} Name of the dependency to set or prefix if props is present.dep
- Required {String,Object,Array,Number,Boolean,Function}props
- Optional {String} Name(s) of properties to set as dependencies or shortcuts. You can set props in 3 ways :- '*' - set all the properties of the object as dependencies.
- '*^' - set all the function properties of the object as dependencies.
- '*$' - set all non-function properties of the object as dependencies.
Example without props
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe()
var secret = 'secret-key'
var x = 5
superpipe
.setDep('secret',secret)
.setDep('y',x) // you can make another name of dep then your variable or function
Example with 'props'
// For example we have a module that does math operations
// name of file math.js
module.exports = {
add: function(x,y,setDep){
...
},
sub: function(x,y,setDep){
...
},
z: 10
}
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe()
var math = require('./math')
superpipe
.setDep('math1',math,'*') // you can get add,sub,z
.setDep('math2',math,'*^') // you can get just add and sub (func)
.setDep('math3',math,'*$') // you can get just z (non-func)
The getDep
can take 1 parameter
name
- Required {String} Name of the dependency
var SuperPipe = require('superpipe')
var superpipe = new SuperPipe()
var x = 5
superpipe
.setDep('x',x)
var z = superpipe.getDep('x') // z = 5