Run series of operations in a dependency driven, maximumly concurrent way.
npm install --save maxconconstRx=require('rx');constconfig={a: {process: ()=>Rx.Observable.just('value a'),},b: {process: ()=>Rx.Observable.just('value b'),},c: {// `process` will be called with observables returned from task a and bdependsOn: ['a','b'],process: (upstream)=>Rx.Observable.zip(upstream.a,upstream.b),},};constmaxcon=newMaxcon(config);// Calling `connect` will do three things:// 1. invoke all `process` functions once.// 2. invoke `share` method of observables returned from `process` functions.// 3. observables that are not depended on (no downstream) will be merged// and converted to a ConnectableObservable (by calling `publish`) and// then connected (by calling `connect`).maxcon.connect();