@trycourier/courier-react-native
Version:
Inbox, Push Notifications, and Preferences for React Native
32 lines (30 loc) • 950 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
var _Modules = require("./Modules");
class Broadcaster {
constructor(module) {
this.emitter = new _reactNative.NativeEventEmitter(module);
}
/**
* Creates an event listener for the native function
* @param key Key for the listener
* @param callback Value returned for the listener callback
* @returns Subscription
*/
async addListener(id, callback) {
await _Modules.Modules.Shared.attachEmitter(id);
if (_reactNative.Platform.OS === 'android') {
return _reactNative.DeviceEventEmitter.addListener(id, event => callback(event));
}
if (_reactNative.Platform.OS === 'ios') {
return this.emitter.addListener(id, event => callback(event));
}
return undefined;
}
}
exports.default = Broadcaster;
//# sourceMappingURL=Broadcaster.js.map