HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/add-stream/index.js
'use strict';

var PassThrough = require('stream').PassThrough;
var Writable = require('stream').Writable;
var util = require('util');

util.inherits(Appendee, PassThrough);
util.inherits(Appender, Writable);

function Appendee(factory, opts) {
	PassThrough.call(this, opts);
	this.factory = factory;
	this.opts = opts;
}

//noinspection JSUnusedGlobalSymbols
Appendee.prototype._flush = function (end) {
	var stream = this.factory();
	stream.pipe(new Appender(this, this.opts))
		.on('finish', end);
	stream.resume();
};

function Appender(target, opts) {
	Writable.call(this, opts);
	this.target = target;
}

//noinspection JSUnusedGlobalSymbols
Appender.prototype._write = function (chunk, enc, cb) {
	this.target.push(chunk);
	cb();
};

function addStream(stream, opts) {
	opts = opts || {};
	var factory;
	if (typeof stream === 'function') {
		factory = stream;
	}
	else {
		stream.pause();
		factory = function () {
			return stream;
		};
	}
	return new Appendee(factory, opts);
}

addStream.obj = function (stream, opts) {
	opts = opts || {};
	opts.objectMode = true;
	return addStream(stream, opts);
};

module.exports = addStream;