index.js 466 B

123456789101112131415161718192021222324252627
  1. /**
  2. * Module dependencies.
  3. */
  4. var read = require('co-read');
  5. /**
  6. * Create a co generator stream from a node stream.
  7. *
  8. * @param {Stream} stream
  9. * @return {GeneratorFunction}
  10. * @api public
  11. */
  12. module.exports = function(stream){
  13. return function*(end){
  14. if (end) {
  15. if (stream.end) stream.end();
  16. else if (stream.close) stream.close();
  17. else if (stream.destroy) stream.destroy();
  18. return;
  19. }
  20. return yield read(stream);
  21. };
  22. };