sandwich-stream

A readable stream that concatenates multiple streams with optional head, tail & join buffers

npm install sandwich-stream
1 downloads in the last day
23 downloads in the last week
47 downloads in the last month

SandwichStream

Travis CI Test Status

While I'm not overjoyed about how performant the internals will operate, I wanted a readable stream that was ACTUALLY A READABLE STREAM. Not a streams1 stream masquerading as streams2. As soon as somebody writes a better concat stream as a readable stream with a nice simple API, this baby is going to develop some serious abandonment issues.

Installation

npm install sandwich-stream

Usage

var sandwichStream = require('sandwich-stream');
var ss = sandwichStream({
  head: 'Thing at the top\n',
  tail: '\nThing at the bottom',
  separator: '\n ---- \n'
});
ss.add(aStreamIPreparedEarlier);
ss.add(anotherStreamIPreparedEarlier);
ss.add(aFurtherStreamIPreparedEarlier);
ss.pipe(process.stdout);

// The thing at the top
//  ---- 
// Stream1
//  ---- 
// Stream2
//  ---- 
// Stream3
// The thing at the bottom

The head option takes a string/buffer and pushes the string before all other content

The foot option takes a string/buffer and pushes the string after all other data has been pushed

The separator option pushes a string/buffer between each stream

Too add a stream use the .add method: ss.add(streamVariable);

npm loves you