UNPKG

1.17 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3/**
4 * Returns a stream {Promise} which returns a {Buffer} of the stream contents
5 *
6 * @param stream
7 *
8 * @returns {Promise}
9 */
10const Promise = require("bluebird");
11exports.streamPromise = (stream) => new Promise((resolve, reject) => {
12 const buffer = [];
13 stream.on("data", data => {
14 buffer.push(data);
15 });
16 stream.on("end", () => {
17 resolve(Buffer.concat(buffer));
18 });
19 stream.on("error", err => {
20 reject(err);
21 });
22});
23/**
24 * Returns a given resource as a Buffer (promise)
25 *
26 * @param {Stream|Buffer|String} resource
27 *
28 * @returns {Promise}
29 */
30function getResourceBufferPromise(resource) {
31 // might be a string
32 if (typeof resource === "string") {
33 return Promise.resolve(new Buffer(resource));
34 }
35 // might already be a Buffer
36 if (resource instanceof Buffer) {
37 return Promise.resolve(resource);
38 }
39 // probably a stream
40 // @TODO npe/type check
41 // @ts-ignore
42 return this.streamPromise(resource);
43}
44exports.getResourceBufferPromise = getResourceBufferPromise;
45//# sourceMappingURL=util.js.map
\No newline at end of file