UNPKG

@dynatrace/react-native-plugin

Version:

This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.

43 lines (42 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynatraceRootAction = void 0; const StringUtils_1 = require("./util/StringUtils"); const DynatraceBridge_1 = require("./DynatraceBridge"); const DynatraceAction_1 = require("./DynatraceAction"); const NullAction_1 = require("./NullAction"); const DynatraceInternal_1 = require("./DynatraceInternal"); const ConfigurationHandler_1 = require("./configuration/ConfigurationHandler"); const ConsoleLogger_1 = require("./logging/ConsoleLogger"); class DynatraceRootAction extends DynatraceAction_1.DynatraceAction { constructor(key, name) { super(key, name, true); this.logger = new ConsoleLogger_1.ConsoleLogger('DynatraceRootAction'); } enterAction(name, platform) { if (this.closed) { this.logger.debug(`enterAction(${name}): Action was closed already!`); return new NullAction_1.NullAction(); } let childKey; if (ConfigurationHandler_1.ConfigurationHandler.getBundleName() != null) { childKey = ConfigurationHandler_1.ConfigurationHandler.getBundleName() + '_' + DynatraceInternal_1.DynatraceInternal.getCounter(); } else { childKey = 'DEFAULT_' + DynatraceInternal_1.DynatraceInternal.getCounter(); } if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(name)) { this.logger.debug(`enterAction(${name})`); DynatraceBridge_1.DynatraceNative.enterManualActionWithParent(name, childKey, this.key, platform === null || platform === void 0 ? void 0 : platform.toString()); return new DynatraceAction_1.DynatraceAction(childKey, name, true); } else { this.logger.debug(`enterAction(${name}): Action Name was empty or null! Action will have no effect.`); return new NullAction_1.NullAction(); } } } exports.DynatraceRootAction = DynatraceRootAction;