{"version":3,"file":"@algolia-CK0l5pPc.js","sources":["../../../node_modules/@algolia/events/events.js"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\n// EventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n"],"names":["EventEmitter","events","n","isNumber","type","er","handler","len","args","i","listeners","isObject","err","isUndefined","isFunction","listener","m","fired","g","list","position","length","key","ret","evlistener","emitter","arg"],"mappings":"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","x_google_ignoreList":[0]}