UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

35 lines 1.25 kB
/* * 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. */ import { NativeEventEmitter, Platform } from 'react-native'; export class DatadogNativeEventEmitter { constructor(nativeModule, errorHandler) { this.nativeModule = nativeModule; this.errorHandler = errorHandler; } initialize() { try { if (Platform.OS === 'ios') { if (!this.nativeModule) { this.errorHandler('ERROR: Initializing iOS Native Event Emitter with undefined NativeModule.'); } this.nativeEventEmitter = new NativeEventEmitter(this.nativeModule); } else { this.nativeEventEmitter = new 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); } } //# sourceMappingURL=DatadogNativeEventEmitter.js.map