£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! var eos = require('end-of-stream') var shift = require('stream-shift') module.exports = each function each (stream, fn, cb) { var want = true var error = null var ended = false var running = false var calling = false stream.on('readable', onreadable) onreadable() if (cb) eos(stream, {readable: true, writable: false}, done) return stream function done (err) { if (!error) error = err ended = true if (!running) cb(error) } function onreadable () { if (want) read() } function afterRead (err) { running = false if (err) { error = err if (ended) return cb(error) stream.destroy(err) return } if (ended) return cb(error) if (!calling) read() } function read () { while (!running && !ended) { want = false var data = shift(stream) if (data === null) { want = true return } running = true calling = true fn(data, afterRead) calling = false } } }