lib/pipe.js
function (chain) {
        if (chain.previousChain) {
            chain.previousChain.unpipe(chain);
            chain.previousChain.pipe(this);

            chain.previousChain.nextChain = this;

        }
        if (this.autoEnhance) {
            this.enhanceForeignStream(chain);
        }

        this.pipe(chain);
        chain.previousChain = this;
        this.nextChain = chain;
        return this;
    }
function (chain) {
        if (chain.previousChain) {
            chain.previousChain.unpipe(chain);
            chain.previousChain.pipe(this);

            chain.previousChain.nextChain = this;

        }
        if (this.autoEnhance) {
            this.enhanceForeignStream(chain);
        }

        this.pipe(chain);
        chain.previousChain = this;
        this.nextChain = chain;
        return this;
    }
function ( chain ) { if ( chain . previousChain ) { chain . previousChain . unpipe ( chain ) ; chain . previousChain . pipe ( this ) ; chain . previousChain . nextChain = this ; } if ( this . autoEnhance ) { this . enhanceForeignStream ( chain ) ; } this . pipe ( chain ) ; chain . previousChain = this ; this . nextChain = chain ; return this ; }
Chain this chain before the stream given as parameter
@param {stream.Writable|stream.Transform|stream.Duplex} chain - Next stream
@returns {Pipe.Chain}
Chain this chain before the stream given as parameter