{"ast":null,"code":"/*\nWildEmitter.js is a slim little event emitter by @henrikjoreteg largely based\non @visionmedia's Emitter from UI Kit.\n\nWhy? I wanted it standalone.\n\nI also wanted support for wildcard emitters like this:\n\nemitter.on('*', function (eventName, other, event, payloads) {\n\n});\n\nemitter.on('somenamespace*', function (eventName, payloads) {\n\n});\n\nPlease note that callbacks triggered by wildcard registered events also get\nthe event name as the first argument.\n*/\n\nmodule.exports = WildEmitter;\nfunction WildEmitter() {}\nWildEmitter.mixin = function (constructor) {\n  var prototype = constructor.prototype || constructor;\n  prototype.isWildEmitter = true;\n\n  // Listen on the given `event` with `fn`. Store a group name if present.\n  prototype.on = function (event, groupName, fn) {\n    this.callbacks = this.callbacks || {};\n    var hasGroup = arguments.length === 3,\n      group = hasGroup ? arguments[1] : undefined,\n      func = hasGroup ? arguments[2] : arguments[1];\n    func._groupName = group;\n    (this.callbacks[event] = this.callbacks[event] || []).push(func);\n    return this;\n  };\n\n  // Adds an `event` listener that will be invoked a single\n  // time then automatically removed.\n  prototype.once = function (event, groupName, fn) {\n    var self = this,\n      hasGroup = arguments.length === 3,\n      group = hasGroup ? arguments[1] : undefined,\n      func = hasGroup ? arguments[2] : arguments[1];\n    function on() {\n      self.off(event, on);\n      func.apply(this, arguments);\n    }\n    this.on(event, group, on);\n    return this;\n  };\n\n  // Unbinds an entire group\n  prototype.releaseGroup = function (groupName) {\n    this.callbacks = this.callbacks || {};\n    var item, i, len, handlers;\n    for (item in this.callbacks) {\n      handlers = this.callbacks[item];\n      for (i = 0, len = handlers.length; i < len; i++) {\n        if (handlers[i]._groupName === groupName) {\n          //console.log('removing');\n          // remove it and shorten the array we're looping through\n          handlers.splice(i, 1);\n          i--;\n          len--;\n        }\n      }\n    }\n    return this;\n  };\n\n  // Remove the given callback for `event` or all\n  // registered callbacks.\n  prototype.off = function (event, fn) {\n    this.callbacks = this.callbacks || {};\n    var callbacks = this.callbacks[event],\n      i;\n    if (!callbacks) return this;\n\n    // remove all handlers\n    if (arguments.length === 1) {\n      delete this.callbacks[event];\n      return this;\n    }\n\n    // remove specific handler\n    i = callbacks.indexOf(fn);\n    if (i !== -1) {\n      callbacks.splice(i, 1);\n      if (callbacks.length === 0) {\n        delete this.callbacks[event];\n      }\n    }\n    return this;\n  };\n\n  /// Emit `event` with the given args.\n  // also calls any `*` handlers\n  prototype.emit = function (event) {\n    this.callbacks = this.callbacks || {};\n    var args = [].slice.call(arguments, 1),\n      callbacks = this.callbacks[event],\n      specialCallbacks = this.getWildcardCallbacks(event),\n      i,\n      len,\n      item,\n      listeners;\n    if (callbacks) {\n      listeners = callbacks.slice();\n      for (i = 0, len = listeners.length; i < len; ++i) {\n        if (!listeners[i]) {\n          break;\n        }\n        listeners[i].apply(this, args);\n      }\n    }\n    if (specialCallbacks) {\n      len = specialCallbacks.length;\n      listeners = specialCallbacks.slice();\n      for (i = 0, len = listeners.length; i < len; ++i) {\n        if (!listeners[i]) {\n          break;\n        }\n        listeners[i].apply(this, [event].concat(args));\n      }\n    }\n    return this;\n  };\n\n  // Helper for for finding special wildcard event handlers that match the event\n  prototype.getWildcardCallbacks = function (eventName) {\n    this.callbacks = this.callbacks || {};\n    var item,\n      split,\n      result = [];\n    for (item in this.callbacks) {\n      split = item.split('*');\n      if (item === '*' || split.length === 2 && eventName.slice(0, split[0].length) === split[0]) {\n        result = result.concat(this.callbacks[item]);\n      }\n    }\n    return result;\n  };\n};\nWildEmitter.mixin(WildEmitter);","map":{"version":3,"names":["module","exports","WildEmitter","mixin","constructor","prototype","isWildEmitter","on","event","groupName","fn","callbacks","hasGroup","arguments","length","group","undefined","func","_groupName","push","once","self","off","apply","releaseGroup","item","i","len","handlers","splice","indexOf","emit","args","slice","call","specialCallbacks","getWildcardCallbacks","listeners","concat","eventName","split","result"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/node_modules/wildemitter/wildemitter.js"],"sourcesContent":["/*\nWildEmitter.js is a slim little event emitter by @henrikjoreteg largely based\non @visionmedia's Emitter from UI Kit.\n\nWhy? I wanted it standalone.\n\nI also wanted support for wildcard emitters like this:\n\nemitter.on('*', function (eventName, other, event, payloads) {\n\n});\n\nemitter.on('somenamespace*', function (eventName, payloads) {\n\n});\n\nPlease note that callbacks triggered by wildcard registered events also get\nthe event name as the first argument.\n*/\n\nmodule.exports = WildEmitter;\n\nfunction WildEmitter() { }\n\nWildEmitter.mixin = function (constructor) {\n    var prototype = constructor.prototype || constructor;\n\n    prototype.isWildEmitter= true;\n\n    // Listen on the given `event` with `fn`. Store a group name if present.\n    prototype.on = function (event, groupName, fn) {\n        this.callbacks = this.callbacks || {};\n        var hasGroup = (arguments.length === 3),\n            group = hasGroup ? arguments[1] : undefined,\n            func = hasGroup ? arguments[2] : arguments[1];\n        func._groupName = group;\n        (this.callbacks[event] = this.callbacks[event] || []).push(func);\n        return this;\n    };\n\n    // Adds an `event` listener that will be invoked a single\n    // time then automatically removed.\n    prototype.once = function (event, groupName, fn) {\n        var self = this,\n            hasGroup = (arguments.length === 3),\n            group = hasGroup ? arguments[1] : undefined,\n            func = hasGroup ? arguments[2] : arguments[1];\n        function on() {\n            self.off(event, on);\n            func.apply(this, arguments);\n        }\n        this.on(event, group, on);\n        return this;\n    };\n\n    // Unbinds an entire group\n    prototype.releaseGroup = function (groupName) {\n        this.callbacks = this.callbacks || {};\n        var item, i, len, handlers;\n        for (item in this.callbacks) {\n            handlers = this.callbacks[item];\n            for (i = 0, len = handlers.length; i < len; i++) {\n                if (handlers[i]._groupName === groupName) {\n                    //console.log('removing');\n                    // remove it and shorten the array we're looping through\n                    handlers.splice(i, 1);\n                    i--;\n                    len--;\n                }\n            }\n        }\n        return this;\n    };\n\n    // Remove the given callback for `event` or all\n    // registered callbacks.\n    prototype.off = function (event, fn) {\n        this.callbacks = this.callbacks || {};\n        var callbacks = this.callbacks[event],\n            i;\n\n        if (!callbacks) return this;\n\n        // remove all handlers\n        if (arguments.length === 1) {\n            delete this.callbacks[event];\n            return this;\n        }\n\n        // remove specific handler\n        i = callbacks.indexOf(fn);\n        if (i !== -1) {\n            callbacks.splice(i, 1);\n            if (callbacks.length === 0) {\n                delete this.callbacks[event];\n            }\n        }\n        return this;\n    };\n\n    /// Emit `event` with the given args.\n    // also calls any `*` handlers\n    prototype.emit = function (event) {\n        this.callbacks = this.callbacks || {};\n        var args = [].slice.call(arguments, 1),\n            callbacks = this.callbacks[event],\n            specialCallbacks = this.getWildcardCallbacks(event),\n            i,\n            len,\n            item,\n            listeners;\n\n        if (callbacks) {\n            listeners = callbacks.slice();\n            for (i = 0, len = listeners.length; i < len; ++i) {\n                if (!listeners[i]) {\n                    break;\n                }\n                listeners[i].apply(this, args);\n            }\n        }\n\n        if (specialCallbacks) {\n            len = specialCallbacks.length;\n            listeners = specialCallbacks.slice();\n            for (i = 0, len = listeners.length; i < len; ++i) {\n                if (!listeners[i]) {\n                    break;\n                }\n                listeners[i].apply(this, [event].concat(args));\n            }\n        }\n\n        return this;\n    };\n\n    // Helper for for finding special wildcard event handlers that match the event\n    prototype.getWildcardCallbacks = function (eventName) {\n        this.callbacks = this.callbacks || {};\n        var item,\n            split,\n            result = [];\n\n        for (item in this.callbacks) {\n            split = item.split('*');\n            if (item === '*' || (split.length === 2 && eventName.slice(0, split[0].length) === split[0])) {\n                result = result.concat(this.callbacks[item]);\n            }\n        }\n        return result;\n    };\n\n};\n\nWildEmitter.mixin(WildEmitter);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}