diff options
Diffstat (limited to 'node_modules/vinyl-fs/lib/sink.js')
| -rw-r--r-- | node_modules/vinyl-fs/lib/sink.js | 53 | 
1 files changed, 0 insertions, 53 deletions
diff --git a/node_modules/vinyl-fs/lib/sink.js b/node_modules/vinyl-fs/lib/sink.js deleted file mode 100644 index cfab46980..000000000 --- a/node_modules/vinyl-fs/lib/sink.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var Writable = require('readable-stream/writable'); - -function listenerCount(stream, evt) { -  return stream.listeners(evt).length; -} - -function hasListeners(stream) { -  return !!(listenerCount(stream, 'readable') || listenerCount(stream, 'data')); -} - -function sink(stream) { -  var sinkAdded = false; -  var sinkStream = new Writable({ -    objectMode: true, -    write: function(file, enc, cb) { -      cb(); -    }, -  }); - -  function addSink() { -    if (sinkAdded) { -      return; -    } - -    if (hasListeners(stream)) { -      return; -    } - -    sinkAdded = true; -    stream.pipe(sinkStream); -  } - -  function removeSink(evt) { -    if (evt !== 'readable' && evt !== 'data') { -      return; -    } - -    if (hasListeners(stream)) { -      sinkAdded = false; -      stream.unpipe(sinkStream); -    } -  } - -  stream.on('newListener', removeSink); -  stream.on('removeListener', removeSink); -  stream.on('removeListener', addSink); - -  return addSink; -} - -module.exports = sink;  | 
