From: Raynos Date: Mon, 13 May 2013 19:04:06 +0000 (-0600) Subject: events: have events module exports EventEmitter X-Git-Tag: v0.11.6~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ed861dd7feea33224d1cac8e64010b45974ae51;p=platform%2Fupstream%2Fnodejs.git events: have events module exports EventEmitter This change is 100% backwards compatible. This change will make using `EventEmitter` slightly simpler / nicer and adheres to the best practice set forth by substack. ```js var EventEmitter = require("events") var emitter = new EventEmitter() ``` The only difference is that we now have to set `EventEmitter` as a property of `EventEmitter` for backwards compatibility like we do with [`Stream`][1] We have also set the `usingDomains` property on the `EventEmitter` constructor itself because that aligns with it's current usage of `require("events").usingDomains = true` There are other internals that would benefit from this change as well like `StringDecoder` --- diff --git a/lib/events.js b/lib/events.js index 7298008..e2e39fd 100644 --- a/lib/events.js +++ b/lib/events.js @@ -22,11 +22,9 @@ var domain; var util = require('util'); -exports.usingDomains = false; - function EventEmitter() { this.domain = null; - if (exports.usingDomains) { + if (EventEmitter.usingDomains) { // if there is an active domain, then attach to it. domain = domain || require('domain'); if (domain.active && !(this instanceof domain.Domain)) { @@ -36,7 +34,12 @@ function EventEmitter() { this._events = this._events || {}; this._maxListeners = this._maxListeners || undefined; } -exports.EventEmitter = EventEmitter; +module.exports = EventEmitter; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.usingDomains = false; EventEmitter.prototype.domain = undefined; EventEmitter.prototype._events = undefined;