333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**!
 * 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);
  }
};