@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
37 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatError = void 0;
const formatError = (error) => {
if (!error || typeof error !== 'object') {
return `Unknown error: ${String(error)}`;
}
const baseError = error;
const lines = [];
lines.push(`Name: ${baseError.name ?? 'Unknown'}`);
if (baseError.message) {
lines.push(`Message: ${baseError.message}`);
}
Object.entries(baseError)
.filter(([key, _]) => !['name', 'message', 'stack', 'errors'].includes(key))
.forEach(([key, value]) => {
try {
lines.push(`${key}: ${JSON.stringify(value)}`);
}
catch {
lines.push(`${key}: unable to stringify`);
}
});
if (baseError.stack) {
lines.push('Stacktrace:');
lines.push(baseError.stack);
}
if (baseError.errors && Array.isArray(baseError.errors)) {
baseError.errors.forEach((subError, index) => {
lines.push(`-- Error ${index + 1} --`);
lines.push((0, exports.formatError)(subError));
});
}
return lines.join('\n');
};
exports.formatError = formatError;
//# sourceMappingURL=format-error.js.map