Sha256: 74502372f3e457ae4d05546c47b4fd88c8df6ed8eb6166b6feb8bec1798ec6dc

Contents?: true

Size: 894 Bytes

Versions: 36

Compression:

Stored size: 894 Bytes

Contents

'use strict';
const {PassThrough: PassThroughStream} = require('stream');

module.exports = options => {
	options = {...options};

	const {array} = options;
	let {encoding} = options;
	const isBuffer = encoding === 'buffer';
	let objectMode = false;

	if (array) {
		objectMode = !(encoding || isBuffer);
	} else {
		encoding = encoding || 'utf8';
	}

	if (isBuffer) {
		encoding = null;
	}

	const stream = new PassThroughStream({objectMode});

	if (encoding) {
		stream.setEncoding(encoding);
	}

	let length = 0;
	const chunks = [];

	stream.on('data', chunk => {
		chunks.push(chunk);

		if (objectMode) {
			length = chunks.length;
		} else {
			length += chunk.length;
		}
	});

	stream.getBufferedValue = () => {
		if (array) {
			return chunks;
		}

		return isBuffer ? Buffer.concat(chunks, length) : chunks.join('');
	};

	stream.getBufferedLength = () => length;

	return stream;
};

Version data entries

36 entries across 36 versions & 3 rubygems

Version Path
immosquare-cleaner-0.1.26 node_modules/get-stream/buffer-stream.js
immosquare-cleaner-0.1.25 node_modules/get-stream/buffer-stream.js
immosquare-cleaner-0.1.24 node_modules/get-stream/buffer-stream.js
immosquare-cleaner-0.1.23 node_modules/get-stream/buffer-stream.js
decidim-0.27.1 packages/webpacker/node_modules/get-stream/buffer-stream.js
decidim-0.26.4 packages/webpacker/node_modules/get-stream/buffer-stream.js
decidim-0.27.0 packages/webpacker/node_modules/get-stream/buffer-stream.js
decidim-0.26.3 packages/webpacker/node_modules/get-stream/buffer-stream.js
decidim-0.27.0.rc2 packages/webpacker/node_modules/get-stream/buffer-stream.js
decidim-0.27.0.rc1 packages/webpacker/node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.5 node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.4 node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.3 node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.2 node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.1 node_modules/get-stream/buffer-stream.js
isomorfeus-puppetmaster-0.5.0 node_modules/get-stream/buffer-stream.js