0.1.1 • Published 7 years ago
pull-map v0.1.1
pull-map
Create sync, async, or through maps in pull-streams
var map = require('pull-map')
pull(
pull.values([1, 2, 3, 4, 5]),
// Sync map
map(num => num * 3),
// Async map
map((num, done) => {
hash(num, done)
}),
pull.log()
)
The map
function is like pull.map
and pull.asyncMap
combined, by sync or async depending if the done
callback is provided. There is also map.through
, which passes data on undefined
.
Installation
$ npm install --save pull-map
Usage
map(fn)
A through stream that maps values with map(x => ...)
or async map with map((x, cb) => ...)
. Async map's callback takes cb(err, data)
. One function for all your pull-stream mapping needs!
// A sync map
var foo = map(source => source.toLowerCase())
// An async map
var bar = map((source, done) => {
fs.readFile(source, done)
})
map.through(fn)
The same sync/async functionality as map
, except passes on data if it receives undefined
. Useful when you only want to replace some of the data in the pipeline.
pull(
pull.values([1, 2.5, 3, 4.5, 5])
map.through(function (num) {
if (num !== Math.floor(num)) return -num
})
pull.collect(function (err, nums) {
console.log(nums)
// => [1, -2.5, 3, -4.5, 5]
})
)
The sync and async map methods behind map
.
pull(
count(),
map.sync(x => x * 3)
map.async(function (x, done) {
hash(x, done)
}),
pull.log()
)
License
MIT © Jamen Marz