diff --git a/src/Node/Stream.js b/src/Node/Stream.js index 27a62f2..e7448a3 100644 --- a/src/Node/Stream.js +++ b/src/Node/Stream.js @@ -39,6 +39,14 @@ exports.onDataEitherImpl = function (readChunk) { }; }; +exports.onceDrain = function (s) { + return function (f) { + return function () { + s.once("drain", f); + }; + }; +}; + exports.onEnd = function (s) { return function (f) { return function () { diff --git a/src/Node/Stream.purs b/src/Node/Stream.purs index 49d4f87..e40975d 100644 --- a/src/Node/Stream.purs +++ b/src/Node/Stream.purs @@ -192,6 +192,13 @@ foreign import onReadable -> Effect Unit -> Effect Unit +-- | Listen for `drain` event only once. +foreign import onceDrain + :: forall w + . Readable w + -> Effect Unit + -> Effect Unit + -- | Listen for `end` events. foreign import onEnd :: forall w