UNPKG

@dynatrace/react-native-plugin

Version:

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

47 lines (46 loc) 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynatraceInternal = void 0; const react_native_1 = require("react-native"); const Dynatrace_1 = require("../next/Dynatrace"); const DynatraceBridge_1 = require("./DynatraceBridge"); const StringUtils_1 = require("./util/StringUtils"); const ConsoleLogger_1 = require("./logging/ConsoleLogger"); let counter = 0; const logger = new ConsoleLogger_1.ConsoleLogger('DyntraceInt'); exports.DynatraceInternal = { reportErrorFromHandler: (isFatal, errorName, reason, stacktrace, isReportFatalErrorAsCrash, platform) => { if (isFatal && isReportFatalErrorAsCrash) { if (react_native_1.Platform.OS === 'ios') { logger.debug(`storeCrash(${errorName}, ${reason}, ${stacktrace})`); DynatraceBridge_1.DynatraceNative.storeCrash(errorName, reason, stacktrace); } else { logger.debug(`reportCrash(${errorName}, ${reason}, ${stacktrace})`); DynatraceBridge_1.DynatraceNative.reportCrash(errorName, reason, stacktrace, true, platform === null || platform === void 0 ? void 0 : platform.toString()); } Dynatrace_1.Dynatrace.reportCrash({ name: errorName, message: reason, stack: stacktrace, }, false, isFatal); } else { if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(stacktrace)) { logger.debug(`reportError(${errorName}, ${reason}, ${stacktrace})`); DynatraceBridge_1.DynatraceNative.reportError(errorName, '-', reason, stacktrace, platform === null || platform === void 0 ? void 0 : platform.toString()); Dynatrace_1.Dynatrace.reportError({ name: errorName, message: reason, stack: stacktrace, }, false); } else { logger.debug(`reportError(${errorName})`); DynatraceBridge_1.DynatraceNative.reportErrorWithoutStacktrace(errorName, -1); Dynatrace_1.Dynatrace.reportErrorCode(errorName, -1, false); } } }, getCounter: () => counter++, };