summaryrefslogtreecommitdiff
path: root/lib/stream/promises.js
blob: 986db2e1f8db8ae6a2fd18e8ab6864e2c9aa63c7 (plain)
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
'use strict';

const {
  Promise,
} = primordials;

let pl;
let eos;

function pipeline(...streams) {
  if (!pl) pl = require('internal/streams/pipeline');
  return new Promise((resolve, reject) => {
    pl(...streams, (err, value) => {
      if (err) {
        reject(err);
      } else {
        resolve(value);
      }
    });
  });
}

function finished(stream, opts) {
  if (!eos) eos = require('internal/streams/end-of-stream');
  return new Promise((resolve, reject) => {
    eos(stream, opts, (err) => {
      if (err) {
        reject(err);
      } else {
        resolve();
      }
    });
  });
}

module.exports = {
  finished,
  pipeline,
};