UNPKG

@metamask/multichain-account-service

Version:
32 lines 1.38 kB
"use strict"; 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