UNPKG

@gameye/sdk

Version:
46 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const stream_1 = require("stream"); const util_1 = require("util"); exports.whenFinished = util_1.promisify(stream_1.finished); async function writeAll(stream, data) { if (data) stream.end(data); else stream.end(); await exports.whenFinished(stream); } exports.writeAll = writeAll; async function readAll(stream) { let data = ""; stream.on("readable", () => { let chunk; while (Boolean(chunk = stream.read())) { data += String(chunk); } }); await exports.whenFinished(stream); return data; } exports.readAll = readAll; function streamify(streamPromise) { const pass = new stream_1.PassThrough({ objectMode: true, }); streamPromise.then(stream => stream_1.pipeline(stream, pass, error => { if (error) pass.emit("error", error); }), error => pass.emit("error", error)); return pass; } exports.streamify = streamify; exports.timeoutToken = Symbol(); async function withTimeout(promise, timeout = 100) { const result = await Promise.race([ promise, new Promise(resolve => setTimeout(resolve, timeout)).then(() => exports.timeoutToken), ]); return result; } exports.withTimeout = withTimeout; //# sourceMappingURL=stream-utils.js.map