@react-native-tapsell-mediation/tapsell
Version:
Tapsell Mediation package
38 lines (37 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TapsellEventEmitter = void 0;
var _reactNative = require("react-native");
class TapsellEventEmitter {
subscriptions = new Map();
constructor(nativeModule) {
try {
this.emitter = new _reactNative.NativeEventEmitter(nativeModule);
} catch (e) {
console.error('Failed to initialize native event emitter:', e);
}
}
addListener(eventType, listener) {
if (this.emitter) {
const subscription = this.emitter.addListener(eventType, listener);
this.subscriptions.set(eventType, subscription);
} else {
console.warn('Native event emitter is not available. Listener not added.');
}
}
removeListener(eventType) {
const subscription = this.subscriptions.get(eventType);
if (subscription) {
subscription.remove();
this.subscriptions.delete(eventType);
}
}
removeAllListeners() {
this.subscriptions.forEach(subscription => subscription.remove());
this.subscriptions.clear();
}
}
exports.TapsellEventEmitter = TapsellEventEmitter;
//# sourceMappingURL=TapsellEventEmitter.js.map