dop-stick
Version:
Source control tooling for versionable-upgradeable smart contracts
42 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatStackTrace = exports.extractErrorDetails = void 0;
function extractErrorDetails(error) {
if (error instanceof Error) {
return {
message: error.message,
stack: error.stack,
code: error.code,
data: error.data,
moduleName: error.moduleName,
transactionHash: error.transactionHash
};
}
if (typeof error === 'string') {
return {
message: error,
stack: new Error(error).stack
};
}
// Handle other error types
return {
message: 'Unknown error occurred',
stack: new Error('Unknown error').stack,
data: error
};
}
exports.extractErrorDetails = extractErrorDetails;
function formatStackTrace(stack) {
if (!stack)
return '';
// Remove first line as it contains the error message
const lines = stack.split('\n').slice(1);
// Format each line
return lines
.map(line => line.trim())
.filter(line => line.startsWith('at '))
.map(line => ' ' + line)
.join('\n');
}
exports.formatStackTrace = formatStackTrace;
//# sourceMappingURL=errors.js.map