UNPKG

codecrucible-synth

Version:

Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability

69 lines 1.6 kB
/** * TypeScript Strict Mode Error Utilities * Provides type-safe error handling helpers */ /** * Type guard to check if an unknown value is an Error */ export function isError(error) { return error instanceof Error; } /** * Type guard to check if an unknown value has a message property */ export function hasMessage(error) { return (typeof error === 'object' && error !== null && 'message' in error && typeof error.message === 'string'); } /** * Safely get error message from unknown error type */ export function getErrorMessage(error) { if (isError(error)) { return error.message; } if (hasMessage(error)) { return error.message; } if (typeof error === 'string') { return error; } return 'An unknown error occurred'; } /** * Safely get error stack from unknown error type */ export function getErrorStack(error) { if (isError(error)) { return error.stack; } return undefined; } /** * Convert unknown error to Error instance */ export function toError(error) { if (isError(error)) { return error; } if (hasMessage(error)) { return new Error(error.message); } if (typeof error === 'string') { return new Error(error); } return new Error('An unknown error occurred'); } /** * Type-safe error handler for catch blocks */ export function handleError(error, context) { const err = toError(error); if (context) { err.message = `${context}: ${err.message}`; } return err; } //# sourceMappingURL=error-utils.js.map