/
home
/
infinitibizsol
/
insurcrm.infinitibizsol.com
/
node_modules
/
duplexer
/
File Upload :
llllll
Current File: /home/infinitibizsol/insurcrm.infinitibizsol.com/node_modules/duplexer/index.js
var Stream = require("stream") , writeMethods = ["write", "end", "destroy"] , readMethods = ["resume", "pause"] , readEvents = ["data", "close"] , slice = Array.prototype.slice module.exports = duplex function duplex(writer, reader) { var stream = new Stream() , ended = false writeMethods.forEach(proxyWriter) readMethods.forEach(proxyReader) readEvents.forEach(proxyStream) reader.on("end", handleEnd) writer.on("drain", function() { stream.emit("drain") }) writer.on("error", reemit) reader.on("error", reemit) stream.writable = writer.writable stream.readable = reader.readable return stream function proxyWriter(methodName) { stream[methodName] = method function method() { return writer[methodName].apply(writer, arguments) } } function proxyReader(methodName) { stream[methodName] = method function method() { stream.emit(methodName) var func = reader[methodName] if (func) { return func.apply(reader, arguments) } reader.emit(methodName) } } function proxyStream(methodName) { reader.on(methodName, reemit) function reemit() { var args = slice.call(arguments) args.unshift(methodName) stream.emit.apply(stream, args) } } function handleEnd() { if (ended) { return } ended = true var args = slice.call(arguments) args.unshift("end") stream.emit.apply(stream, args) } function reemit(err) { stream.emit("error", err) } }
Copyright ©2k19 -
Hexid
|
Tex7ure