1.0.0 • Published 8 years ago
pull-scan v1.0.0
pull scan
Scan algorithm for pull streams. It's like reduce, but emits intermediate values. So it's more like map but with an accumulator argument.
example
var test = require('tape')
var S = require('pull-stream')
var scan = require('../')
test('works given initial state', function (t) {
t.plan(1)
S(
S.values([1,2,3]),
scan(function (acc, n) {
return acc + n
}, 10),
S.collect(function (err, data) {
t.deepEqual(data, [11,13,16], 'should use init state argument')
})
)
})
test('use default init state', function (t) {
t.plan(1)
S(
S.values([1,2,3]),
scan(function (acc, n) {
return acc + n
}),
S.collect(function (err, data) {
t.deepEqual(data, [1,3,6],
'should use first val as default state')
})
)
})