@dynatrace/react-native-plugin
Version:
This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.
31 lines (30 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppStartObserver = void 0;
const EventCreator_1 = require("../events/EventCreator");
const ConsoleLogger_1 = require("../../core/logging/ConsoleLogger");
const EventPipeline_1 = require("../events/EventPipeline");
const DynatraceEventBus_1 = require("../DynatraceEventBus");
class AppStartObserverImpl {
constructor() {
this.EMIT_APP_START = 'dynatraceAppStartMeasurements';
this.logger = new ConsoleLogger_1.ConsoleLogger('AppStartObserver');
this.setupNativeEventEmitter();
}
call() {
}
setupNativeEventEmitter() {
const emitter = (0, DynatraceEventBus_1.createEmitterNativeOnly)();
emitter.addListener(this.EMIT_APP_START, (data) => {
this.logger.debug(`emitter(${JSON.stringify(data)}})`);
const appStartEvent = (0, EventCreator_1.createAppStartEvent)(data);
if (appStartEvent != null) {
EventPipeline_1.EventPipeline.insertEvent(Object.assign({}, appStartEvent));
}
else {
this.logger.debug(`emitter(${JSON.stringify(data)}}): App Start event ignored!`);
}
});
}
}
exports.AppStartObserver = new AppStartObserverImpl();