worktree-tool
Version:
A command-line tool for managing Git worktrees with integrated tmux/shell session management
33 lines • 1.04 kB
JavaScript
import { ConfigError, GitError, isWorktreeError, ValidationError, WorktreeToolError, } from "./errors.js";
/**
* Extract error message from any error type
* Consolidates error message extraction logic
*/
export function getErrorMessage(error) {
// Handle WorktreeError types first (most specific)
if (isWorktreeError(error)) {
return error.message;
}
// Handle standard Error types
if (error instanceof Error) {
return error.message;
}
// Handle primitives and other types
return String(error);
}
export function handleCommandError(error, logger) {
if (error instanceof ValidationError ||
error instanceof GitError ||
error instanceof ConfigError ||
error instanceof WorktreeToolError) {
logger.error(error.message);
if ("hint" in error && error.hint) {
logger.info(`Hint: ${error.hint}`);
}
}
else {
logger.error(getErrorMessage(error));
}
process.exit(1);
}
//# sourceMappingURL=error-handler.js.map