UNPKG

@bigmi/core

Version:

TypeScript library for Bitcoin apps.

55 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseError = void 0; exports.setErrorConfig = setErrorConfig; const version_js_1 = require("../version.js"); let errorConfig = { version: `bigmi@${version_js_1.version}`, }; function setErrorConfig(config) { errorConfig = config; } class BaseError extends Error { constructor(shortMessage, args = {}) { const details = (() => { if (args.cause instanceof BaseError) { return args.cause.details; } if (args.cause?.message) { return args.cause.message; } return args.details; })(); const message = [ shortMessage || 'An error occurred.', '', ...(args.metaMessages ? [...args.metaMessages, ''] : []), ...(details ? [`Details: ${details}`] : []), ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []), ].join('\n'); super(message, args.cause ? { cause: args.cause } : undefined); this.name = 'BaseError'; this.details = details; this.metaMessages = args.metaMessages; this.name = args.name ?? this.name; this.shortMessage = shortMessage; this.version = version_js_1.version; } walk(fn) { return walk(this, fn); } } exports.BaseError = BaseError; function walk(err, fn) { if (fn?.(err)) { return err; } if (err && typeof err === 'object' && 'cause' in err && err.cause !== undefined) { return walk(err.cause, fn); } return fn ? null : err; } //# sourceMappingURL=base.js.map