better function test in addEventListener
authorMichaeljohn Clement <inimino@inimino.org>
Tue, 20 Apr 2010 17:07:55 +0000 (13:07 -0400)
committerRyan Dahl <ry@tinyclouds.org>
Tue, 20 Apr 2010 19:32:18 +0000 (12:32 -0700)
src/node.js

index 6c90088..3f88036 100644 (file)
@@ -110,8 +110,8 @@ var eventsModule = createInternalModule('events', function (exports) {
   // process.EventEmitter is defined in src/node_events.cc
   // process.EventEmitter.prototype.emit() is also defined there.
   process.EventEmitter.prototype.addListener = function (type, listener) {
-    if (!(listener instanceof Function)) {
-      throw new Error('addListener only takes instances of Function');
+    if (typeof listener != 'function') {
+      throw new Error('addListener only takes functions');
     }
 
     if (!this._events) this._events = {};
@@ -135,8 +135,8 @@ var eventsModule = createInternalModule('events', function (exports) {
   };
 
   process.EventEmitter.prototype.removeListener = function (type, listener) {
-    if (!(listener instanceof Function)) {
-      throw new Error('removeListener only takes instances of Function');
+    if (typeof listener != 'function') {
+      throw new Error('removeListener only takes functions');
     }
 
     // does not use listeners(), so no side effect of creating _events[type]