Socket
Socket
Sign inDemoInstall

merge-stream

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

merge-stream - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

.jshintrc

46

index.js

@@ -1,37 +0,31 @@

var Stream = require('stream');
'use strict'
var through = require('through2')
module.exports = function (/*streams...*/) {
var sources = [];
var stream = new Stream();
var firstTick = true;
var sources = []
var output = through.obj()
stream.writable = stream.readable = true;
output.setMaxListeners(0)
[].slice.call(arguments).forEach(addStream);
output.add = add
stream.add = addStream;
output.on('unpipe', remove)
stream.write = function (data) {
this.emit('data', data)
}
Array.prototype.slice.call(arguments).forEach(add)
stream.destroy = function () {
sources.forEach(function (e) {
if (e.destroy) e.destroy()
})
return output
function add (source) {
sources.push(source)
source.once('end', remove.bind(null, source))
source.pipe(output, {end: false})
return source
}
return stream
function addStream(e) {
sources.push(e);
e.pipe(stream, {end: false})
var ended = false
e.on('end', function () {
if (ended) return
ended = true
sources = sources.filter(function (it) { return it !== e })
if (!sources.length) stream.emit('end')
})
return e;
function remove (source) {
sources = sources.filter(function (it) { return it !== source })
if (!sources.length && output.readable) { output.emit('end') }
}
}
{
"name": "merge-stream",
"version": "0.1.1",
"version": "0.1.2",
"description": "Create a stream that emits events from multiple other streams",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "istanbul cover test.js && istanbul check-cover --statements 100 --branches 100"
},
"repository": "grncdr/merge-stream",
"author": "Stephen Sugden <me@stephensugden.com>",
"license": "MIT"
"license": "MIT",
"dependencies": {
"through2": "^0.5.1"
},
"devDependencies": {
"from2": "0.0.0",
"istanbul": "^0.2.12"
}
}
# merge-stream
Merge (interleave) a bunch of streams.
[![build status](https://secure.travis-ci.org/grncdr/merge-stream.svg?branch=master)](http://travis-ci.org/grncdr/merge-stream)
## Synopsis

@@ -4,0 +8,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc