@metamask/multichain-account-service
Version:
Service to manage multichain accounts
32 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.reportError = void 0;
const logger_1 = require("./logger.cjs");
const utils_1 = require("./providers/utils.cjs");
const utils_2 = require("./utils.cjs");
/**
* Reports an error by logging it and optionally capturing it in Sentry.
*
* Timeout errors are treated as warnings (not reported to Sentry). All other
* errors are logged as errors and captured via `captureException`.
*
* @param messenger - Object with an optional `captureException` method.
* @param messenger.captureException - Optional method to capture exceptions in Sentry.
* @param message - The static message describing what failed.
* @param error - The caught error.
* @param context - Optional context to attach to the Sentry error.
*/
function reportError(messenger, message, error, context) {
if ((0, utils_1.isTimeoutError)(error) || (0, utils_1.isKeyringControllerLockedError)(error)) {
(0, logger_1.logErrorAs)('warn', message, error);
console.warn(message, error);
}
else {
(0, logger_1.logErrorAs)('error', message, error);
console.error(message, error);
const sentryError = (0, utils_2.createSentryError)(message, error, context);
messenger.captureException?.(sentryError);
}
}
exports.reportError = reportError;
//# sourceMappingURL=errors.cjs.map