UNPKG

stromjs

Version:

Dependency-free streams utils for Node.js

32 lines (31 loc) 1.01 kB
"use strict"; exports.__esModule = true; exports.duplex = void 0; var stream_1 = require("stream"); function duplex(writable, readable) { var wrapper = new stream_1.Duplex({ readableObjectMode: true, writableObjectMode: true, read: function () { readable.resume(); }, write: function (chunk, encoding, callback) { return writable.write(chunk, encoding, callback); }, final: function (callback) { writable.end(callback); } }); readable .on("data", function (chunk) { if (!wrapper.push(chunk)) { readable.pause(); } }) .on("error", function (err) { return wrapper.emit("error", err); }) .on("end", function () { return wrapper.push(null); }); writable.on("drain", function () { return wrapper.emit("drain"); }); writable.on("error", function (err) { return wrapper.emit("error", err); }); return wrapper; } exports.duplex = duplex;