aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/minipass-collect
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/minipass-collect')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/minipass-collect/LICENSE15
-rw-r--r--sandbox/testAppNevena/Front/node_modules/minipass-collect/README.md48
-rw-r--r--sandbox/testAppNevena/Front/node_modules/minipass-collect/index.js71
-rw-r--r--sandbox/testAppNevena/Front/node_modules/minipass-collect/package.json29
4 files changed, 163 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/minipass-collect/LICENSE b/sandbox/testAppNevena/Front/node_modules/minipass-collect/LICENSE
new file mode 100644
index 00000000..19129e31
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/minipass-collect/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/sandbox/testAppNevena/Front/node_modules/minipass-collect/README.md b/sandbox/testAppNevena/Front/node_modules/minipass-collect/README.md
new file mode 100644
index 00000000..ae1c3dac
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/minipass-collect/README.md
@@ -0,0 +1,48 @@
+# minipass-collect
+
+A Minipass stream that collects all the data into a single chunk
+
+Note that this buffers ALL data written to it, so it's only good for
+situations where you are sure the entire stream fits in memory.
+
+Note: this is primarily useful for the `Collect.PassThrough` class, since
+Minipass streams already have a `.collect()` method which returns a promise
+that resolves to the array of chunks, and a `.concat()` method that returns
+the data concatenated into a single Buffer or String.
+
+## USAGE
+
+```js
+const Collect = require('minipass-collect')
+
+const collector = new Collect()
+collector.on('data', allTheData => {
+ console.log('all the data!', allTheData)
+})
+
+someSourceOfData.pipe(collector)
+
+// note that you can also simply do:
+someSourceOfData.pipe(new Minipass()).concat().then(data => ...)
+// or even, if someSourceOfData is a Minipass:
+someSourceOfData.concat().then(data => ...)
+// but you might prefer to have it stream-shaped rather than
+// Promise-shaped in some scenarios.
+```
+
+If you want to collect the data, but _also_ act as a passthrough stream,
+then use `Collect.PassThrough` instead (for example to memoize streaming
+responses), and listen on the `collect` event.
+
+```js
+const Collect = require('minipass-collect')
+
+const collector = new Collect.PassThrough()
+collector.on('collect', allTheData => {
+ console.log('all the data!', allTheData)
+})
+
+someSourceOfData.pipe(collector).pipe(someOtherStream)
+```
+
+All [minipass options](http://npm.im/minipass) are supported.
diff --git a/sandbox/testAppNevena/Front/node_modules/minipass-collect/index.js b/sandbox/testAppNevena/Front/node_modules/minipass-collect/index.js
new file mode 100644
index 00000000..2fe68c0b
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/minipass-collect/index.js
@@ -0,0 +1,71 @@
+const Minipass = require('minipass')
+const _data = Symbol('_data')
+const _length = Symbol('_length')
+class Collect extends Minipass {
+ constructor (options) {
+ super(options)
+ this[_data] = []
+ this[_length] = 0
+ }
+ write (chunk, encoding, cb) {
+ if (typeof encoding === 'function')
+ cb = encoding, encoding = 'utf8'
+
+ if (!encoding)
+ encoding = 'utf8'
+
+ const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding)
+ this[_data].push(c)
+ this[_length] += c.length
+ if (cb)
+ cb()
+ return true
+ }
+ end (chunk, encoding, cb) {
+ if (typeof chunk === 'function')
+ cb = chunk, chunk = null
+ if (typeof encoding === 'function')
+ cb = encoding, encoding = 'utf8'
+ if (chunk)
+ this.write(chunk, encoding)
+ const result = Buffer.concat(this[_data], this[_length])
+ super.write(result)
+ return super.end(cb)
+ }
+}
+module.exports = Collect
+
+// it would be possible to DRY this a bit by doing something like
+// this.collector = new Collect() and listening on its data event,
+// but it's not much code, and we may as well save the extra obj
+class CollectPassThrough extends Minipass {
+ constructor (options) {
+ super(options)
+ this[_data] = []
+ this[_length] = 0
+ }
+ write (chunk, encoding, cb) {
+ if (typeof encoding === 'function')
+ cb = encoding, encoding = 'utf8'
+
+ if (!encoding)
+ encoding = 'utf8'
+
+ const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding)
+ this[_data].push(c)
+ this[_length] += c.length
+ return super.write(chunk, encoding, cb)
+ }
+ end (chunk, encoding, cb) {
+ if (typeof chunk === 'function')
+ cb = chunk, chunk = null
+ if (typeof encoding === 'function')
+ cb = encoding, encoding = 'utf8'
+ if (chunk)
+ this.write(chunk, encoding)
+ const result = Buffer.concat(this[_data], this[_length])
+ this.emit('collect', result)
+ return super.end(cb)
+ }
+}
+module.exports.PassThrough = CollectPassThrough
diff --git a/sandbox/testAppNevena/Front/node_modules/minipass-collect/package.json b/sandbox/testAppNevena/Front/node_modules/minipass-collect/package.json
new file mode 100644
index 00000000..54d87ac2
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/minipass-collect/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "minipass-collect",
+ "version": "1.0.2",
+ "description": "A Minipass stream that collects all the data into a single chunk",
+ "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "license": "ISC",
+ "scripts": {
+ "test": "tap",
+ "snap": "tap",
+ "preversion": "npm test",
+ "postversion": "npm publish",
+ "postpublish": "git push origin --follow-tags"
+ },
+ "tap": {
+ "check-coverage": true
+ },
+ "devDependencies": {
+ "tap": "^14.6.9"
+ },
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "engines": {
+ "node": ">= 8"
+ }
+}