|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
-
-
- 'use strict'
-
-
-
- module.exports = unpipe
-
-
-
- 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
- }
-
-
-
- function unpipe(stream) {
- if (!stream) {
- throw new TypeError('argument stream is required')
- }
-
- if (typeof stream.unpipe === 'function') {
-
- stream.unpipe()
- return
- }
-
-
- 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
- }
-
-
- listener.call(stream)
- }
- }
|