summaryrefslogtreecommitdiffstats
path: root/middleware/node_modules/unpipe
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/node_modules/unpipe')
-rw-r--r--middleware/node_modules/unpipe/HISTORY.md4
-rw-r--r--middleware/node_modules/unpipe/LICENSE22
-rw-r--r--middleware/node_modules/unpipe/README.md43
-rw-r--r--middleware/node_modules/unpipe/index.js69
-rw-r--r--middleware/node_modules/unpipe/package.json27
5 files changed, 165 insertions, 0 deletions
diff --git a/middleware/node_modules/unpipe/HISTORY.md b/middleware/node_modules/unpipe/HISTORY.md
new file mode 100644
index 0000000..85e0f8d
--- /dev/null
+++ b/middleware/node_modules/unpipe/HISTORY.md
@@ -0,0 +1,4 @@
+1.0.0 / 2015-06-14
+==================
+
+ * Initial release
diff --git a/middleware/node_modules/unpipe/LICENSE b/middleware/node_modules/unpipe/LICENSE
new file mode 100644
index 0000000..aed0138
--- /dev/null
+++ b/middleware/node_modules/unpipe/LICENSE
@@ -0,0 +1,22 @@
+(The MIT License)
+
+Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com>
+
+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/middleware/node_modules/unpipe/README.md b/middleware/node_modules/unpipe/README.md
new file mode 100644
index 0000000..e536ad2
--- /dev/null
+++ b/middleware/node_modules/unpipe/README.md
@@ -0,0 +1,43 @@
+# unpipe
+
+[![NPM Version][npm-image]][npm-url]
+[![NPM Downloads][downloads-image]][downloads-url]
+[![Node.js Version][node-image]][node-url]
+[![Build Status][travis-image]][travis-url]
+[![Test Coverage][coveralls-image]][coveralls-url]
+
+Unpipe a stream from all destinations.
+
+## Installation
+
+```sh
+$ npm install unpipe
+```
+
+## API
+
+```js
+var unpipe = require('unpipe')
+```
+
+### unpipe(stream)
+
+Unpipes all destinations from a given stream. With stream 2+, this is
+equivalent to `stream.unpipe()`. When used with streams 1 style streams
+(typically Node.js 0.8 and below), this module attempts to undo the
+actions done in `stream.pipe(dest)`.
+
+## License
+
+[MIT](LICENSE)
+
+[npm-image]: https://img.shields.io/npm/v/unpipe.svg
+[npm-url]: https://npmjs.org/package/unpipe
+[node-image]: https://img.shields.io/node/v/unpipe.svg
+[node-url]: http://nodejs.org/download/
+[travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg
+[travis-url]: https://travis-ci.org/stream-utils/unpipe
+[coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg
+[coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master
+[downloads-image]: https://img.shields.io/npm/dm/unpipe.svg
+[downloads-url]: https://npmjs.org/package/unpipe
diff --git a/middleware/node_modules/unpipe/index.js b/middleware/node_modules/unpipe/index.js
new file mode 100644
index 0000000..15c3d97
--- /dev/null
+++ b/middleware/node_modules/unpipe/index.js
@@ -0,0 +1,69 @@
+/*!
+ * unpipe
+ * Copyright(c) 2015 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+'use strict'
+
+/**
+ * Module exports.
+ * @public
+ */
+
+module.exports = unpipe
+
+/**
+ * Determine if there are Node.js pipe-like data listeners.
+ * @private
+ */
+
+function hasPipeDataListeners(stream) {
+ var listeners = stream.listeners('data')
+
+ for (var i = 0; i < listeners.length; i++) {
+ if (listeners[i].name === 'ondata') {
+ return true
+ }
+ }
+
+ return false
+}
+
+/**
+ * Unpipe a stream from all destinations.
+ *
+ * @param {object} stream
+ * @public
+ */
+
+function unpipe(stream) {
+ if (!stream) {
+ throw new TypeError('argument stream is required')
+ }
+
+ if (typeof stream.unpipe === 'function') {
+ // new-style
+ stream.unpipe()
+ return
+ }
+
+ // Node.js 0.8 hack
+ if (!hasPipeDataListeners(stream)) {
+ return
+ }
+
+ var listener
+ var listeners = stream.listeners('close')
+
+ for (var i = 0; i < listeners.length; i++) {
+ listener = listeners[i]
+
+ if (listener.name !== 'cleanup' && listener.name !== 'onclose') {
+ continue
+ }
+
+ // invoke the listener
+ listener.call(stream)
+ }
+}
diff --git a/middleware/node_modules/unpipe/package.json b/middleware/node_modules/unpipe/package.json
new file mode 100644
index 0000000..a2b7358
--- /dev/null
+++ b/middleware/node_modules/unpipe/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "unpipe",
+ "description": "Unpipe a stream from all destinations",
+ "version": "1.0.0",
+ "author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
+ "license": "MIT",
+ "repository": "stream-utils/unpipe",
+ "devDependencies": {
+ "istanbul": "0.3.15",
+ "mocha": "2.2.5",
+ "readable-stream": "1.1.13"
+ },
+ "files": [
+ "HISTORY.md",
+ "LICENSE",
+ "README.md",
+ "index.js"
+ ],
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "scripts": {
+ "test": "mocha --reporter spec --bail --check-leaks test/",
+ "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
+ "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
+ }
+}