|                                       |  | /**! * end-or-error - index.js * * Copyright(c) stream-utils and other contributors. * MIT Licensed * * Authors: *   fengmk2 <m@fengmk2.com> (http://fengmk2.com)
 */
'use strict';
/** * Module dependencies. */
module.exports = function eoe(stream, cb) {  if (!stream.readable) {    return cb();  }
  stream.on('error', onerror);  stream.on('end', onend);
  function onerror(err) {    cleanup();    cb(err);  }
  function onend(data) {    cleanup();    cb(null, data);  }
  function cleanup() {    stream.removeListener('error', onerror);    stream.removeListener('end', onend);  }};
 |