'use strict' var prop = require('../util/prop') module.exports = function map (mapper) { if(!mapper) return id mapper = prop(mapper) return function (read) { return function (abort, cb) { read(abort, function (end, data) { try { data = !end ? mapper(data) : null } catch (err) { return read(err, function () { return cb(err) }) } cb(end, data) }) } } }