react / react-0.13.3 / examples / basic-commonjs / node_modules / browserify / node_modules / domain-browser / index.js
80708 views/*global define:false require:false */1module.exports = (function(){2// Import Events3var events = require('events')45// Export Domain6var domain = {}7domain.createDomain = domain.create = function(){8var d = new events.EventEmitter()910function emitError(e) {11d.emit('error', e)12}1314d.add = function(emitter){15emitter.on('error', emitError)16}17d.remove = function(emitter){18emitter.removeListener('error', emitError)19}20d.bind = function(fn){21return function(){22var args = Array.prototype.slice.call(arguments)23try {24fn.apply(null, args)25}26catch (err){27emitError(err)28}29}30}31d.intercept = function(fn){32return function(err){33if ( err ) {34emitError(err)35}36else {37var args = Array.prototype.slice.call(arguments, 1)38try {39fn.apply(null, args)40}41catch (err){42emitError(err)43}44}45}46}47d.run = function(fn){48try {49fn()50}51catch (err) {52emitError(err)53}54return this55};56d.dispose = function(){57this.removeAllListeners()58return this59};60d.enter = d.exit = function(){61return this62}63return d64};65return domain66}).call(this)6768