UNPKG

@dioxide-js/silas

Version:

RPC utility for Silas

1 lines 10.6 kB
{"version":3,"file":"combined_stream.mjs","sources":["../../../../../node_modules/combined-stream/lib/combined_stream.js"],"sourcesContent":["var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n"],"names":["require$$0","require$$1","require$$2"],"mappings":"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","x_google_ignoreList":[0]}