sandwich-stream
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

SandwichStream

npm npm Travis CI codecov Codacy Badge Dependencies Known Vulnerabilities Maintainability

About

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 --save

note: this code was made using it TypeScript, and its typings are linked in package.json, so there's no need of installing @types/sandwich-stream or anything related.

Usage

import { SandwichStream } from 'sandwich-stream';
// OR EVEN:
// const SandwichStream = require('sandwich-stream');
 
const sandwich = SandwichStream({
    head: 'Thing at the top\n',
    tail: '\nThing at the bottom',
    separator: '\n ---- \n'
});
 
sandwich.add(aStreamIPreparedEarlier)
        .add(anotherStreamIPreparedEarlier)
        .add(aFurtherStreamIPreparedEarlier)
        .pipe(process.stdout);
 
// The thing at the top
//  ---- 
// Stream1
//  ---- 
// Stream2
//  ---- 
// Stream3
// The thing at the bottom

Configuration Options

  • head option takes a string/buffer and pushes the string before all other content
  • foot option takes a string/buffer and pushes the string after all other data has been pushed
  • separator option pushes a string/buffer between each stream
  • Readable Options can also be passed through.

API

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

More

Wanna known more about Node Streams? Read this.

Dependents (26)

Package Sidebar

Install

npm i sandwich-stream

Weekly Downloads

38,772

Version

2.0.2

License

Apache-2.0

Unpacked Size

24.3 kB

Total Files

9

Last publish

Collaborators

  • connrs