diff options
Diffstat (limited to 'deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each')
15 files changed, 485 insertions, 0 deletions
diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.npmignore b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.npmignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.travis.yml b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.travis.yml new file mode 100644 index 0000000000..aa89858a8a --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - '0.10' + - '0.12' + - 'stable' diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/LICENSE b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/LICENSE new file mode 100644 index 0000000000..66a4d2a149 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/README.md b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/README.md new file mode 100644 index 0000000000..e0832d55bd --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/README.md @@ -0,0 +1,41 @@ +# stream-each + +Iterate all the data in a stream + +``` +npm install stream-each +``` + +[![build status](http://img.shields.io/travis/mafintosh/stream-each.svg?style=flat)](http://travis-ci.org/mafintosh/stream-each) + +## Usage + +``` js +var each = require('stream-each') + +each(stream, function (data, next) { + console.log('data from stream', data) + // when ready to consume next chunk + next() +}, function (err) { + console.log('no more data') +}) +``` + +## API + +#### `each(stream, iterator, cb)` + +Iterate the data in the stream by calling the iterator function with `(data, next)` +where data is a data chunk and next is a callback. Call next when you are ready to +consume the next chunk. Optionally you can call next with an error to destroy the stream + +When the stream ends/errors the callback is called if provided + +## License + +MIT + +## Related + +`stream-each` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/collaborators.md b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/collaborators.md new file mode 100644 index 0000000000..fc16de25f9 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/collaborators.md @@ -0,0 +1,7 @@ +## Collaborators + +stream-each is only possible due to the excellent work of the following collaborators: + +<table><tbody><tr><th align="left">maxogden</th><td><a href="https://github.com/maxogden">GitHub/maxogden</a></td></tr> +<tr><th align="left">mafintosh</th><td><a href="https://github.com/mafintosh">GitHub/mafintosh</a></td></tr> +</tbody></table> diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/index.js b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/index.js new file mode 100644 index 0000000000..7e67f7337a --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/index.js @@ -0,0 +1,58 @@ +var eos = require('end-of-stream') +var shift = require('stream-shift') + +module.exports = each + +function each (stream, fn, cb) { + var want = true + var error = null + var ended = false + var running = false + var calling = false + + stream.on('readable', onreadable) + onreadable() + + if (cb) eos(stream, {readable: true, writable: false}, done) + return stream + + function done (err) { + if (!error) error = err + ended = true + if (!running) cb(error) + } + + function onreadable () { + if (want) read() + } + + function afterRead (err) { + running = false + + if (err) { + error = err + if (ended) return cb(error) + stream.destroy(err) + return + } + if (ended) return cb(error) + if (!calling) read() + } + + function read () { + while (!running && !ended) { + want = false + + var data = shift(stream) + if (data === null) { + want = true + return + } + + running = true + calling = true + fn(data, afterRead) + calling = false + } + } +} diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.npmignore b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.npmignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.travis.yml b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.travis.yml new file mode 100644 index 0000000000..ecd4193f60 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "0.10" + - "0.12" + - "4" + - "6" diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/LICENSE b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/LICENSE new file mode 100644 index 0000000000..bae9da7bfa --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/README.md b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/README.md new file mode 100644 index 0000000000..d9cc2d945f --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/README.md @@ -0,0 +1,25 @@ +# stream-shift + +Returns the next buffer/object in a stream's readable queue + +``` +npm install stream-shift +``` + +[![build status](http://img.shields.io/travis/mafintosh/stream-shift.svg?style=flat)](http://travis-ci.org/mafintosh/stream-shift) + +## Usage + +``` js +var shift = require('stream-shift') + +console.log(shift(someStream)) // first item in its buffer +``` + +## Credit + +Thanks [@dignifiedquire](https://github.com/dignifiedquire) for making this work on node 6 + +## License + +MIT diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/index.js b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/index.js new file mode 100644 index 0000000000..c4b18b9c2a --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/index.js @@ -0,0 +1,20 @@ +module.exports = shift + +function shift (stream) { + var rs = stream._readableState + if (!rs) return null + return rs.objectMode ? stream.read() : stream.read(getStateLength(rs)) +} + +function getStateLength (state) { + if (state.buffer.length) { + // Since node 6.3.0 state.buffer is a BufferList not an array + if (state.buffer.head) { + return state.buffer.head.data.length + } + + return state.buffer[0].length + } + + return state.length +} diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/package.json b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/package.json new file mode 100644 index 0000000000..6ae1937fa1 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/package.json @@ -0,0 +1,53 @@ +{ + "_from": "stream-shift@^1.0.0", + "_id": "stream-shift@1.0.0", + "_inBundle": false, + "_integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "_location": "/cacache/mississippi/stream-each/stream-shift", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "stream-shift@^1.0.0", + "name": "stream-shift", + "escapedName": "stream-shift", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/cacache/mississippi/stream-each" + ], + "_resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "_shasum": "d5c752825e5367e786f78e18e445ea223a155952", + "_spec": "stream-shift@^1.0.0", + "_where": "/Users/zkat/Documents/code/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each", + "author": { + "name": "Mathias Buus", + "url": "@mafintosh" + }, + "bugs": { + "url": "https://github.com/mafintosh/stream-shift/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Returns the next buffer/object in a stream's readable queue", + "devDependencies": { + "standard": "^7.1.2", + "tape": "^4.6.0", + "through2": "^2.0.1" + }, + "homepage": "https://github.com/mafintosh/stream-shift", + "license": "MIT", + "main": "index.js", + "name": "stream-shift", + "repository": { + "type": "git", + "url": "git+https://github.com/mafintosh/stream-shift.git" + }, + "scripts": { + "test": "standard && tape test.js" + }, + "version": "1.0.0" +} diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/test.js b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/test.js new file mode 100644 index 0000000000..c0222c37d5 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/node_modules/stream-shift/test.js @@ -0,0 +1,48 @@ +var tape = require('tape') +var through = require('through2') +var stream = require('stream') +var shift = require('./') + +tape('shifts next', function (t) { + var passthrough = through() + + passthrough.write('hello') + passthrough.write('world') + + t.same(shift(passthrough), Buffer('hello')) + t.same(shift(passthrough), Buffer('world')) + t.end() +}) + +tape('shifts next with core', function (t) { + var passthrough = stream.PassThrough() + + passthrough.write('hello') + passthrough.write('world') + + t.same(shift(passthrough), Buffer('hello')) + t.same(shift(passthrough), Buffer('world')) + t.end() +}) + +tape('shifts next with object mode', function (t) { + var passthrough = through({objectMode: true}) + + passthrough.write({hello: 1}) + passthrough.write({world: 1}) + + t.same(shift(passthrough), {hello: 1}) + t.same(shift(passthrough), {world: 1}) + t.end() +}) + +tape('shifts next with object mode with core', function (t) { + var passthrough = stream.PassThrough({objectMode: true}) + + passthrough.write({hello: 1}) + passthrough.write({world: 1}) + + t.same(shift(passthrough), {hello: 1}) + t.same(shift(passthrough), {world: 1}) + t.end() +}) diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/package.json b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/package.json new file mode 100644 index 0000000000..2dbe92f79b --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/package.json @@ -0,0 +1,56 @@ +{ + "_from": "stream-each@^1.1.0", + "_id": "stream-each@1.2.2", + "_inBundle": false, + "_integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "_location": "/cacache/mississippi/stream-each", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "stream-each@^1.1.0", + "name": "stream-each", + "escapedName": "stream-each", + "rawSpec": "^1.1.0", + "saveSpec": null, + "fetchSpec": "^1.1.0" + }, + "_requiredBy": [ + "/cacache/mississippi" + ], + "_resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "_shasum": "8e8c463f91da8991778765873fe4d960d8f616bd", + "_spec": "stream-each@^1.1.0", + "_where": "/Users/zkat/Documents/code/npm/node_modules/cacache/node_modules/mississippi", + "author": { + "name": "Mathias Buus", + "url": "@mafintosh" + }, + "bugs": { + "url": "https://github.com/mafintosh/stream-each/issues" + }, + "bundleDependencies": false, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + }, + "deprecated": false, + "description": "Iterate all the data in a stream", + "devDependencies": { + "standard": "^5.3.1", + "tape": "^4.2.1", + "through2": "^2.0.0" + }, + "homepage": "https://github.com/mafintosh/stream-each", + "license": "MIT", + "main": "index.js", + "name": "stream-each", + "repository": { + "type": "git", + "url": "git+https://github.com/mafintosh/stream-each.git" + }, + "scripts": { + "test": "standard && tape test.js" + }, + "version": "1.2.2" +} diff --git a/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/test.js b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/test.js new file mode 100644 index 0000000000..277634cd05 --- /dev/null +++ b/deps/npm/node_modules/cacache/node_modules/mississippi/node_modules/stream-each/test.js @@ -0,0 +1,122 @@ +var tape = require('tape') +var through = require('through2') +var each = require('./') + +tape('each', function (t) { + var s = through.obj() + s.write('a') + s.write('b') + s.write('c') + s.end() + + s.on('end', function () { + t.end() + }) + + var expected = ['a', 'b', 'c'] + each(s, function (data, next) { + t.same(data, expected.shift()) + next() + }) +}) + +tape('each and callback', function (t) { + var s = through.obj() + s.write('a') + s.write('b') + s.write('c') + s.end() + + var expected = ['a', 'b', 'c'] + each(s, function (data, next) { + t.same(data, expected.shift()) + next() + }, function () { + t.end() + }) +}) + +tape('each (write after)', function (t) { + var s = through.obj() + s.on('end', function () { + t.end() + }) + + var expected = ['a', 'b', 'c'] + each(s, function (data, next) { + t.same(data, expected.shift()) + next() + }) + + setTimeout(function () { + s.write('a') + s.write('b') + s.write('c') + s.end() + }, 100) +}) + +tape('each error', function (t) { + var s = through.obj() + s.write('hello') + s.on('error', function (err) { + t.same(err.message, 'stop') + t.end() + }) + + each(s, function (data, next) { + next(new Error('stop')) + }) +}) + +tape('each error and callback', function (t) { + var s = through.obj() + s.write('hello') + + each(s, function (data, next) { + next(new Error('stop')) + }, function (err) { + t.same(err.message, 'stop') + t.end() + }) +}) + +tape('each with falsey values', function (t) { + var s = through.obj() + s.write(0) + s.write(false) + s.write(undefined) + s.end() + + s.on('end', function () { + t.end() + }) + + var expected = [0, false] + var count = 0 + each(s, function (data, next) { + count++ + t.same(data, expected.shift()) + next() + }, function () { + t.same(count, 2) + }) +}) + +tape('huge stack', function (t) { + var s = through.obj() + + for (var i = 0; i < 5000; i++) { + s.write('foo') + } + + s.end() + + each(s, function (data, cb) { + if (data !== 'foo') t.fail('bad data') + cb() + }, function (err) { + t.error(err, 'no error') + t.end() + }) +}) |