Buckets:
| /*! | |
| * unpipe | |
| * Copyright(c) 2015 Douglas Christopher Wilson | |
| * MIT Licensed | |
| */ | |
| /** | |
| * 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) | |
| } | |
| } | |
Xet Storage Details
- Size:
- 1.12 kB
- Xet hash:
- 8ab3f0297fff836b6c4129dc944f8fe6c0edb0eeac2054176803c381b2e66f67
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.