UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

43 lines (41 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatadogNativeEventEmitter = void 0; var _reactNative = require("react-native"); /* * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0. * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2016-Present Datadog, Inc. */ class DatadogNativeEventEmitter { constructor(nativeModule, errorHandler) { this.nativeModule = nativeModule; this.errorHandler = errorHandler; } initialize() { try { if (_reactNative.Platform.OS === 'ios') { if (!this.nativeModule) { this.errorHandler('ERROR: Initializing iOS Native Event Emitter with undefined NativeModule.'); } this.nativeEventEmitter = new _reactNative.NativeEventEmitter(this.nativeModule); } else { this.nativeEventEmitter = new _reactNative.NativeEventEmitter(); } return true; } catch (err) { this.errorHandler(`ERROR: cannot initialize NativeEventEmitter: ${err}`); return false; } } addListener(eventName, callback) { this.nativeEventEmitter?.addListener(eventName, callback); } removeAllListeners(eventName) { this.nativeEventEmitter?.removeAllListeners(eventName); } } exports.DatadogNativeEventEmitter = DatadogNativeEventEmitter; //# sourceMappingURL=DatadogNativeEventEmitter.js.map