Nominating Presidential Muppets
Miss any of our Open RFC calls?Watch the recordings here! »

pull-combine-latest

1.1.2 • Public • Published

pull combine latest Build Status

Combine the latest values from many streams. The algorithm waits until every stream has emitted a value, then emits a new array whenever one of the streams has more data.

install

$ npm install pull-combine-latest

example

var S = require('pull-stream')
var combineLatest = require('pull-combine-latest')
 
S(
    // pass an array of streams
    combineLatest([S.values([1,2,3]), S.values(['a','b','c'])]),
    S.log()
)
 
S(
    // or pass streams as arguments
    combineLatest(S.values([1,2,3]), S.values(['a','b','c'])),
    S.log()
)
 
/*
output:
 
    [1,'a']
    [2,'a']
    [2,'b']
    [3,'b']
    [3,'c']
 
*/
 
 
// new data is emitted as soon as it is received, so sync data will always
// be emitted before async data
S(
    combineLatest(S.values([1,2,3]), asyncValues(['a','b','c'])),
    S.log()
)
/*
    [1,'a']
    [2,'a']
    [3,'a']
    [3,'b']
    [3,'c']
*/
 
 
// object map
S(
    combineLatest({
        a: S.values([1,2,3]),
        b: S.values([1,2,3])
    }),
    S.log()
)
/*
    { a: 1, b: 1 }
    { a: 2, b: 1 }
    { a: 2, b: 2 }
    { a: 3, b: 2 }
    { a: 3, b: 3 }
*/

Install

npm i pull-combine-latest

DownloadsWeekly Downloads

19

Version

1.1.2

License

ISC

Last publish

Collaborators

  • avatar