summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/get-stream/buffer-stream.js
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2018-04-20 18:26:37 -0700
committerMichaël Zasso <targos@protonmail.com>2018-05-25 14:03:01 +0200
commitd0cdcb61fe3a237be7d905cecc9ff1b95dbfdfa3 (patch)
tree9100e1f9c144368752be8c448d65bcd2bc8001a5 /deps/npm/node_modules/get-stream/buffer-stream.js
parent1f3eb1cc1ec74b514f6e54fa88537818472bcb4d (diff)
downloadnode-new-d0cdcb61fe3a237be7d905cecc9ff1b95dbfdfa3.tar.gz
deps: upgrade npm to 6.1.0
PR-URL: https://github.com/nodejs/node/pull/20190 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Diffstat (limited to 'deps/npm/node_modules/get-stream/buffer-stream.js')
-rw-r--r--deps/npm/node_modules/get-stream/buffer-stream.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/deps/npm/node_modules/get-stream/buffer-stream.js b/deps/npm/node_modules/get-stream/buffer-stream.js
new file mode 100644
index 0000000000..ae45d3d9e7
--- /dev/null
+++ b/deps/npm/node_modules/get-stream/buffer-stream.js
@@ -0,0 +1,51 @@
+'use strict';
+const PassThrough = require('stream').PassThrough;
+
+module.exports = opts => {
+ opts = Object.assign({}, opts);
+
+ const array = opts.array;
+ let encoding = opts.encoding;
+ const buffer = encoding === 'buffer';
+ let objectMode = false;
+
+ if (array) {
+ objectMode = !(encoding || buffer);
+ } else {
+ encoding = encoding || 'utf8';
+ }
+
+ if (buffer) {
+ encoding = null;
+ }
+
+ let len = 0;
+ const ret = [];
+ const stream = new PassThrough({objectMode});
+
+ if (encoding) {
+ stream.setEncoding(encoding);
+ }
+
+ stream.on('data', chunk => {
+ ret.push(chunk);
+
+ if (objectMode) {
+ len = ret.length;
+ } else {
+ len += chunk.length;
+ }
+ });
+
+ stream.getBufferedValue = () => {
+ if (array) {
+ return ret;
+ }
+
+ return buffer ? Buffer.concat(ret, len) : ret.join('');
+ };
+
+ stream.getBufferedLength = () => len;
+
+ return stream;
+};