{"ast":null,"code":"/**\r\n * Expose `Emitter`.\r\n */\nif (typeof module !== 'undefined') {\n  module.exports = Emitter;\n}\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\n\n\nfunction Emitter(obj) {\n  if (obj) return mixin(obj);\n}\n\n;\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\n\nfunction mixin(obj) {\n  for (var key in Emitter.prototype) {\n    obj[key] = Emitter.prototype[key];\n  }\n\n  return obj;\n}\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\n\n\nEmitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {\n  this._callbacks = this._callbacks || {};\n  (this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn);\n  return this;\n};\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\n\n\nEmitter.prototype.once = function (event, fn) {\n  function on() {\n    this.off(event, on);\n    fn.apply(this, arguments);\n  }\n\n  on.fn = fn;\n  this.on(event, on);\n  return this;\n};\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\n\n\nEmitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) {\n  this._callbacks = this._callbacks || {}; // all\n\n  if (0 == arguments.length) {\n    this._callbacks = {};\n    return this;\n  } // specific event\n\n\n  var callbacks = this._callbacks['$' + event];\n  if (!callbacks) return this; // remove all handlers\n\n  if (1 == arguments.length) {\n    delete this._callbacks['$' + event];\n    return this;\n  } // remove specific handler\n\n\n  var cb;\n\n  for (var i = 0; i < callbacks.length; i++) {\n    cb = callbacks[i];\n\n    if (cb === fn || cb.fn === fn) {\n      callbacks.splice(i, 1);\n      break;\n    }\n  } // Remove event specific arrays for event types that no\n  // one is subscribed for to avoid memory leak.\n\n\n  if (callbacks.length === 0) {\n    delete this._callbacks['$' + event];\n  }\n\n  return this;\n};\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\n\n\nEmitter.prototype.emit = function (event) {\n  this._callbacks = this._callbacks || {};\n  var args = new Array(arguments.length - 1),\n      callbacks = this._callbacks['$' + event];\n\n  for (var i = 1; i < arguments.length; i++) {\n    args[i - 1] = arguments[i];\n  }\n\n  if (callbacks) {\n    callbacks = callbacks.slice(0);\n\n    for (var i = 0, len = callbacks.length; i < len; ++i) {\n      callbacks[i].apply(this, args);\n    }\n  }\n\n  return this;\n};\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\n\n\nEmitter.prototype.listeners = function (event) {\n  this._callbacks = this._callbacks || {};\n  return this._callbacks['$' + event] || [];\n};\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\n\n\nEmitter.prototype.hasListeners = function (event) {\n  return !!this.listeners(event).length;\n};","map":{"version":3,"sources":["C:/laragon/www/itokin/DriverOPCDA/frontend/node_modules/component-emitter/index.js"],"names":["module","exports","Emitter","obj","mixin","key","prototype","on","addEventListener","event","fn","_callbacks","push","once","off","apply","arguments","removeListener","removeAllListeners","removeEventListener","length","callbacks","cb","i","splice","emit","args","Array","slice","len","listeners","hasListeners"],"mappings":"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","sourcesContent":["\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n  module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n  if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n  for (var key in Emitter.prototype) {\r\n    obj[key] = Emitter.prototype[key];\r\n  }\r\n  return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n  this._callbacks = this._callbacks || {};\r\n  (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n    .push(fn);\r\n  return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n  function on() {\r\n    this.off(event, on);\r\n    fn.apply(this, arguments);\r\n  }\r\n\r\n  on.fn = fn;\r\n  this.on(event, on);\r\n  return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n  this._callbacks = this._callbacks || {};\r\n\r\n  // all\r\n  if (0 == arguments.length) {\r\n    this._callbacks = {};\r\n    return this;\r\n  }\r\n\r\n  // specific event\r\n  var callbacks = this._callbacks['$' + event];\r\n  if (!callbacks) return this;\r\n\r\n  // remove all handlers\r\n  if (1 == arguments.length) {\r\n    delete this._callbacks['$' + event];\r\n    return this;\r\n  }\r\n\r\n  // remove specific handler\r\n  var cb;\r\n  for (var i = 0; i < callbacks.length; i++) {\r\n    cb = callbacks[i];\r\n    if (cb === fn || cb.fn === fn) {\r\n      callbacks.splice(i, 1);\r\n      break;\r\n    }\r\n  }\r\n\r\n  // Remove event specific arrays for event types that no\r\n  // one is subscribed for to avoid memory leak.\r\n  if (callbacks.length === 0) {\r\n    delete this._callbacks['$' + event];\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n  this._callbacks = this._callbacks || {};\r\n\r\n  var args = new Array(arguments.length - 1)\r\n    , callbacks = this._callbacks['$' + event];\r\n\r\n  for (var i = 1; i < arguments.length; i++) {\r\n    args[i - 1] = arguments[i];\r\n  }\r\n\r\n  if (callbacks) {\r\n    callbacks = callbacks.slice(0);\r\n    for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n      callbacks[i].apply(this, args);\r\n    }\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n  this._callbacks = this._callbacks || {};\r\n  return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n  return !! this.listeners(event).length;\r\n};\r\n"]},"metadata":{},"sourceType":"script"}