@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
JavaScript
;
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;