UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

41 lines (39 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatadogDefaultEventEmitter = void 0; var _reactNative = require("react-native"); var _DatadogBatchedBridgeEventEmitter = require("./DatadogBatchedBridgeEventEmitter"); var _DatadogNativeEventEmitter = require("./DatadogNativeEventEmitter"); /* * 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 DatadogDefaultEventEmitter { get isNewArchitecture() { return global.RN$Bridgeless; } constructor(errorHandler) { try { const ddSdkModule = _reactNative.NativeModules.DdSdk || // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires require('../../specs/NativeDdSdk').default; this.eventEmitter = this.isNewArchitecture ? new _DatadogNativeEventEmitter.DatadogNativeEventEmitter(ddSdkModule, errorHandler) : new _DatadogBatchedBridgeEventEmitter.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); } } exports.DatadogDefaultEventEmitter = DatadogDefaultEventEmitter; //# sourceMappingURL=DatadogDefaultEventEmitter.js.map