async-listener
Advanced tools
Comparing version 0.6.0 to 0.6.1
42
index.js
@@ -68,2 +68,3 @@ 'use strict'; | ||
if (this._handle) { | ||
this._originalOnread = this._handle.onread; | ||
this._handle.onread = wrapCallback(this._handle.onread); | ||
@@ -75,2 +76,17 @@ } | ||
var http = require('http'); | ||
wrap(http.Agent.prototype, 'addRequest', function (original) { | ||
return function (req, options) { | ||
var onSocket = req.onSocket; | ||
req.onSocket = wrapCallback(function (socket) { | ||
if (socket._originalOnread) { | ||
socket._handle.onread = wrapCallback(socket._originalOnread); | ||
} | ||
return onSocket.call(this, socket); | ||
}); | ||
return original.call(this, req, options); | ||
}; | ||
}); | ||
var childProcess = require('child_process'); | ||
@@ -377,3 +393,5 @@ | ||
wrap(Promise.prototype, 'then', wrapThen); | ||
wrap(Promise.prototype, 'chain', wrapThen); | ||
if (Promise.prototype.chain) { | ||
wrap(Promise.prototype, 'chain', wrapThen); | ||
} | ||
@@ -449,7 +467,12 @@ var PromiseMethods = ['accept', 'all', 'defer', 'race', 'reject', 'resolve']; | ||
var fallback = function () { | ||
var index = arguments.length - 1; | ||
if (typeof arguments[index] === "function") { | ||
arguments[index] = wrapCallback(arguments[index]); | ||
var args; | ||
var cbIdx = arguments.length - 1; | ||
if (typeof arguments[cbIdx] === "function") { | ||
args = Array(arguments.length) | ||
for (var i = 0; i < arguments.length - 1; i++) { | ||
args[i] = arguments[i]; | ||
} | ||
args[cbIdx] = wrapCallback(arguments[cbIdx]); | ||
} | ||
return fn.apply(this, arguments); | ||
return fn.apply(this, args || arguments); | ||
}; | ||
@@ -502,6 +525,11 @@ // Preserve function length for small arg count functions. | ||
var fallback = function () { | ||
var args; | ||
if (typeof arguments[0] === "function") { | ||
arguments[0] = wrapCallback(arguments[0]); | ||
args = Array(arguments.length) | ||
args[0] = wrapCallback(arguments[0]); | ||
for (var i = 1; i < arguments.length; i++) { | ||
args[i] = arguments[i]; | ||
} | ||
} | ||
return fn.apply(this, arguments); | ||
return fn.apply(this, args || arguments); | ||
}; | ||
@@ -508,0 +536,0 @@ // Preserve function length for small arg count functions. |
{ | ||
"name": "async-listener", | ||
"version": "0.6.0", | ||
"version": "0.6.1", | ||
"description": "Polyfill exporting trevnorris's 0.11+ asyncListener API.", | ||
@@ -5,0 +5,0 @@ "author": "Forrest L Norvell <ogd@aoaioxxysz.net>", |
144940
37
4667
21