{"ast":null,"code":"'use strict';\n\nimport Platform from \"../../../exports/Platform\";\nimport RCTDeviceEventEmitter from \"./RCTDeviceEventEmitter\";\nimport invariant from 'fbjs/lib/invariant';\nexport default class NativeEventEmitter {\n  constructor(nativeModule) {\n    if (Platform.OS === 'ios') {\n      invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n      this._nativeModule = nativeModule;\n    }\n  }\n  addListener(eventType, listener, context) {\n    var _this$_nativeModule;\n    (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n    var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n    return {\n      remove: () => {\n        if (subscription != null) {\n          var _this$_nativeModule2;\n          (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n          subscription.remove();\n          subscription = null;\n        }\n      }\n    };\n  }\n  removeListener(eventType, listener) {\n    var _this$_nativeModule3;\n    (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n    RCTDeviceEventEmitter.removeListener(eventType, listener);\n  }\n  emit(eventType) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n    RCTDeviceEventEmitter.emit(eventType, ...args);\n  }\n  removeAllListeners(eventType) {\n    var _this$_nativeModule4;\n    invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n    (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n    RCTDeviceEventEmitter.removeAllListeners(eventType);\n  }\n  listenerCount(eventType) {\n    return RCTDeviceEventEmitter.listenerCount(eventType);\n  }\n}","map":{"version":3,"names":["Platform","RCTDeviceEventEmitter","invariant","NativeEventEmitter","constructor","nativeModule","OS","_nativeModule","addListener","eventType","listener","context","_this$_nativeModule","subscription","remove","_this$_nativeModule2","removeListeners","removeListener","_this$_nativeModule3","emit","_len","arguments","length","args","Array","_key","removeAllListeners","_this$_nativeModule4","listenerCount"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter {\n  constructor(nativeModule) {\n    if (Platform.OS === 'ios') {\n      invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n      this._nativeModule = nativeModule;\n    }\n  }\n  addListener(eventType, listener, context) {\n    var _this$_nativeModule;\n    (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n    var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n    return {\n      remove: () => {\n        if (subscription != null) {\n          var _this$_nativeModule2;\n          (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n          // $FlowFixMe[incompatible-use]\n          subscription.remove();\n          subscription = null;\n        }\n      }\n    };\n  }\n\n  /**\n   * @deprecated Use `remove` on the EventSubscription from `addListener`.\n   */\n  removeListener(eventType, listener) {\n    var _this$_nativeModule3;\n    (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n    // NOTE: This will report a deprecation notice via `console.error`.\n    // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n    RCTDeviceEventEmitter.removeListener(eventType, listener);\n  }\n  emit(eventType) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n    // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n    // included for completeness.\n    RCTDeviceEventEmitter.emit(eventType, ...args);\n  }\n  removeAllListeners(eventType) {\n    var _this$_nativeModule4;\n    invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n    (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n    RCTDeviceEventEmitter.removeAllListeners(eventType);\n  }\n  listenerCount(eventType) {\n    return RCTDeviceEventEmitter.listenerCount(eventType);\n  }\n}"],"mappings":"AAUA,YAAY;;AAEZ,OAAOA,QAAQ;AACf,OAAOC,qBAAqB;AAC5B,OAAOC,SAAS,MAAM,oBAAoB;AAW1C,eAAe,MAAMC,kBAAkB,CAAC;EACtCC,WAAWA,CAACC,YAAY,EAAE;IACxB,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE;MACzBJ,SAAS,CAACG,YAAY,IAAI,IAAI,EAAE,0DAA0D,CAAC;MAC3F,IAAI,CAACE,aAAa,GAAGF,YAAY;IACnC;EACF;EACAG,WAAWA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IACxC,IAAIC,mBAAmB;IACvB,CAACA,mBAAmB,GAAG,IAAI,CAACL,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGK,mBAAmB,CAACJ,WAAW,CAACC,SAAS,CAAC;IACxG,IAAII,YAAY,GAAGZ,qBAAqB,CAACO,WAAW,CAACC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,CAAC;IAClF,OAAO;MACLG,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAID,YAAY,IAAI,IAAI,EAAE;UACxB,IAAIE,oBAAoB;UACxB,CAACA,oBAAoB,GAAG,IAAI,CAACR,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGQ,oBAAoB,CAACC,eAAe,CAAC,CAAC,CAAC;UAEtGH,YAAY,CAACC,MAAM,CAAC,CAAC;UACrBD,YAAY,GAAG,IAAI;QACrB;MACF;IACF,CAAC;EACH;EAKAI,cAAcA,CAACR,SAAS,EAAEC,QAAQ,EAAE;IAClC,IAAIQ,oBAAoB;IACxB,CAACA,oBAAoB,GAAG,IAAI,CAACX,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGW,oBAAoB,CAACF,eAAe,CAAC,CAAC,CAAC;IAGtGf,qBAAqB,CAACgB,cAAc,CAACR,SAAS,EAAEC,QAAQ,CAAC;EAC3D;EACAS,IAAIA,CAACV,SAAS,EAAE;IACd,KAAK,IAAIW,IAAI,GAAGC,SAAS,CAACC,MAAM,EAAEC,IAAI,GAAG,IAAIC,KAAK,CAACJ,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEK,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGL,IAAI,EAAEK,IAAI,EAAE,EAAE;MAC1GF,IAAI,CAACE,IAAI,GAAG,CAAC,CAAC,GAAGJ,SAAS,CAACI,IAAI,CAAC;IAClC;IAGAxB,qBAAqB,CAACkB,IAAI,CAACV,SAAS,EAAE,GAAGc,IAAI,CAAC;EAChD;EACAG,kBAAkBA,CAACjB,SAAS,EAAE;IAC5B,IAAIkB,oBAAoB;IACxBzB,SAAS,CAACO,SAAS,IAAI,IAAI,EAAE,wEAAwE,CAAC;IACtG,CAACkB,oBAAoB,GAAG,IAAI,CAACpB,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGoB,oBAAoB,CAACX,eAAe,CAAC,IAAI,CAACY,aAAa,CAACnB,SAAS,CAAC,CAAC;IAClIR,qBAAqB,CAACyB,kBAAkB,CAACjB,SAAS,CAAC;EACrD;EACAmB,aAAaA,CAACnB,SAAS,EAAE;IACvB,OAAOR,qBAAqB,CAAC2B,aAAa,CAACnB,SAAS,CAAC;EACvD;AACF","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}