EventEmitter._emit = EventEmitter._dispatchEvent = function()

in packages/osd-ace/src/ace/modes/x_json/worker/x_json.ace.worker.js [348:400]


  EventEmitter._emit = EventEmitter._dispatchEvent = function(eventName, e) {
    this._eventRegistry || (this._eventRegistry = {}), this._defaultHandlers || (this._defaultHandlers = {});
    var listeners = this._eventRegistry[eventName] || [],
      defaultHandler = this._defaultHandlers[eventName];
    if (listeners.length || defaultHandler) {
      "object" == typeof e && e || (e = {}), e.type || (e.type = eventName), e.stopPropagation || (e.stopPropagation = stopPropagation), e.preventDefault || (e.preventDefault = preventDefault), listeners = listeners.slice();
      for (var i = 0; listeners.length > i && (listeners[i](e, this), !e.propagationStopped); i++);
      return defaultHandler && !e.defaultPrevented ? defaultHandler(e, this) : void 0
    }
  }, EventEmitter._signal = function(eventName, e) {
    var listeners = (this._eventRegistry || {})[eventName];
    if (listeners) {
      listeners = listeners.slice();
      for (var i = 0; listeners.length > i; i++) listeners[i](e, this)
    }
  }, EventEmitter.once = function(eventName, callback) {
    var _self = this;
    callback && this.addEventListener(eventName, function newCallback() {
      _self.removeEventListener(eventName, newCallback), callback.apply(null, arguments)
    })
  }, EventEmitter.setDefaultHandler = function(eventName, callback) {
    var handlers = this._defaultHandlers;
    if (handlers || (handlers = this._defaultHandlers = {
        _disabled_: {}
      }), handlers[eventName]) {
      var old = handlers[eventName],
        disabled = handlers._disabled_[eventName];
      disabled || (handlers._disabled_[eventName] = disabled = []), disabled.push(old);
      var i = disabled.indexOf(callback); - 1 != i && disabled.splice(i, 1)
    }
    handlers[eventName] = callback
  }, EventEmitter.removeDefaultHandler = function(eventName, callback) {
    var handlers = this._defaultHandlers;
    if (handlers) {
      var disabled = handlers._disabled_[eventName];
      if (handlers[eventName] == callback) handlers[eventName], disabled && this.setDefaultHandler(eventName, disabled.pop());
      else if (disabled) {
        var i = disabled.indexOf(callback); - 1 != i && disabled.splice(i, 1)
      }
    }
  }, EventEmitter.on = EventEmitter.addEventListener = function(eventName, callback, capturing) {
    this._eventRegistry = this._eventRegistry || {};
    var listeners = this._eventRegistry[eventName];
    return listeners || (listeners = this._eventRegistry[eventName] = []), -1 == listeners.indexOf(callback) && listeners[capturing ? "unshift" : "push"](callback), callback
  }, EventEmitter.off = EventEmitter.removeListener = EventEmitter.removeEventListener = function(eventName, callback) {
    this._eventRegistry = this._eventRegistry || {};
    var listeners = this._eventRegistry[eventName];
    if (listeners) {
      var index = listeners.indexOf(callback); - 1 !== index && listeners.splice(index, 1)
    }
  }, EventEmitter.removeAllListeners = function(eventName) {
    this._eventRegistry && (this._eventRegistry[eventName] = [])
  }, exports.EventEmitter = EventEmitter