summaryrefslogtreecommitdiff
path: root/lib/events.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/events.js')
-rw-r--r--lib/events.js36
1 files changed, 19 insertions, 17 deletions
diff --git a/lib/events.js b/lib/events.js
index b69dc8f20f..0e5e85f962 100644
--- a/lib/events.js
+++ b/lib/events.js
@@ -20,6 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
var domain;
+var util = require('util');
exports.usingDomains = false;
@@ -49,7 +50,7 @@ EventEmitter.defaultMaxListeners = 10;
// Obviously not all Emitters should be limited to 10. This function allows
// that to be increased. Set to zero for unlimited.
EventEmitter.prototype.setMaxListeners = function(n) {
- if (!IS_NUMBER(n) || n < 0)
+ if (!util.isNumber(n) || n < 0)
throw TypeError('n must be a positive number');
this._maxListeners = n;
return this;
@@ -64,7 +65,7 @@ EventEmitter.prototype.emit = function(type) {
// If there is no 'error' event listener then throw.
if (type === 'error') {
if (!this._events.error ||
- (IS_OBJECT(this._events.error) && !this._events.error.length)) {
+ (util.isObject(this._events.error) && !this._events.error.length)) {
er = arguments[1];
if (this.domain) {
if (!er) er = new TypeError('Uncaught, unspecified "error" event.');
@@ -83,13 +84,13 @@ EventEmitter.prototype.emit = function(type) {
handler = this._events[type];
- if (IS_UNDEFINED(handler))
+ if (util.isUndefined(handler))
return false;
if (this.domain && this !== process)
this.domain.enter();
- if (IS_FUNCTION(handler)) {
+ if (util.isFunction(handler)) {
switch (arguments.length) {
// fast cases
case 1:
@@ -109,7 +110,7 @@ EventEmitter.prototype.emit = function(type) {
args[i - 1] = arguments[i];
handler.apply(this, args);
}
- } else if (IS_OBJECT(handler)) {
+ } else if (util.isObject(handler)) {
len = arguments.length;
args = new Array(len - 1);
for (i = 1; i < len; i++)
@@ -130,7 +131,7 @@ EventEmitter.prototype.emit = function(type) {
EventEmitter.prototype.addListener = function(type, listener) {
var m;
- if (!IS_FUNCTION(listener))
+ if (!util.isFunction(listener))
throw TypeError('listener must be a function');
if (!this._events)
@@ -140,12 +141,13 @@ EventEmitter.prototype.addListener = function(type, listener) {
// adding it to the listeners, first emit "newListener".
if (this._events.newListener)
this.emit('newListener', type,
- IS_FUNCTION(listener.listener) ? listener.listener : listener);
+ util.isFunction(listener.listener) ?
+ listener.listener : listener);
if (!this._events[type])
// Optimize the case of one listener. Don't need the extra array object.
this._events[type] = listener;
- else if (IS_OBJECT(this._events[type]))
+ else if (util.isObject(this._events[type]))
// If we've already got an array, just append.
this._events[type].push(listener);
else
@@ -153,9 +155,9 @@ EventEmitter.prototype.addListener = function(type, listener) {
this._events[type] = [this._events[type], listener];
// Check for listener leak
- if (IS_OBJECT(this._events[type]) && !this._events[type].warned) {
+ if (util.isObject(this._events[type]) && !this._events[type].warned) {
var m;
- if (!IS_UNDEFINED(this._maxListeners)) {
+ if (!util.isUndefined(this._maxListeners)) {
m = this._maxListeners;
} else {
m = EventEmitter.defaultMaxListeners;
@@ -177,7 +179,7 @@ EventEmitter.prototype.addListener = function(type, listener) {
EventEmitter.prototype.on = EventEmitter.prototype.addListener;
EventEmitter.prototype.once = function(type, listener) {
- if (!IS_FUNCTION(listener))
+ if (!util.isFunction(listener))
throw TypeError('listener must be a function');
function g() {
@@ -195,7 +197,7 @@ EventEmitter.prototype.once = function(type, listener) {
EventEmitter.prototype.removeListener = function(type, listener) {
var list, position, length, i;
- if (!IS_FUNCTION(listener))
+ if (!util.isFunction(listener))
throw TypeError('listener must be a function');
if (!this._events || !this._events[type])
@@ -206,12 +208,12 @@ EventEmitter.prototype.removeListener = function(type, listener) {
position = -1;
if (list === listener ||
- (IS_FUNCTION(list.listener) && list.listener === listener)) {
+ (util.isFunction(list.listener) && list.listener === listener)) {
this._events[type] = undefined;
if (this._events.removeListener)
this.emit('removeListener', type, listener);
- } else if (IS_OBJECT(list)) {
+ } else if (util.isObject(list)) {
for (i = length; i-- > 0;) {
if (list[i] === listener ||
(list[i].listener && list[i].listener === listener)) {
@@ -265,7 +267,7 @@ EventEmitter.prototype.removeAllListeners = function(type) {
listeners = this._events[type];
- if (IS_FUNCTION(listeners)) {
+ if (util.isFunction(listeners)) {
this.removeListener(type, listeners);
} else {
// LIFO order
@@ -281,7 +283,7 @@ EventEmitter.prototype.listeners = function(type) {
var ret;
if (!this._events || !this._events[type])
ret = [];
- else if (IS_FUNCTION(this._events[type]))
+ else if (util.isFunction(this._events[type]))
ret = [this._events[type]];
else
ret = this._events[type].slice();
@@ -292,7 +294,7 @@ EventEmitter.listenerCount = function(emitter, type) {
var ret;
if (!emitter._events || !emitter._events[type])
ret = 0;
- else if (IS_FUNCTION(emitter._events[type]))
+ else if (util.isFunction(emitter._events[type]))
ret = 1;
else
ret = emitter._events[type].length;