UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

33 lines 1.39 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 { NativeModules } from 'react-native'; import { DatadogBatchedBridgeEventEmitter } from './DatadogBatchedBridgeEventEmitter'; import { DatadogNativeEventEmitter } from './DatadogNativeEventEmitter'; export class DatadogDefaultEventEmitter { get isNewArchitecture() { return global.RN$Bridgeless; } constructor(errorHandler) { try { const ddSdkModule = NativeModules.DdSdk || // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires require('../../specs/NativeDdSdk').default; this.eventEmitter = this.isNewArchitecture ? new DatadogNativeEventEmitter(ddSdkModule, errorHandler) : new DatadogBatchedBridgeEventEmitter(errorHandler); } catch (err) { errorHandler(`ERROR: failed to initialize DatadogDefaultEventEmitter: ${err}`); } } initialize() { return this.eventEmitter?.initialize() ?? false; } addListener(eventName, callback) { this.eventEmitter?.addListener(eventName, callback); } removeAllListeners(eventName) { this.eventEmitter?.removeAllListeners(eventName); } } //# sourceMappingURL=DatadogDefaultEventEmitter.js.map