@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
18 lines (17 loc) • 672 B
JavaScript
import { get } from "../../logger/index.js";
import { create as createStackTraceHandler } from "./stackTrace.js";
const errorHandler = (errorMessage, handler) => async (command) => {
const commandHandler = await handler(command);
return async (...args) => {
try {
await commandHandler(...args);
}
catch (err) {
const { error } = get("commands.handler.error");
error(errorMessage, err);
throw new Error(`handler failed: ${errorMessage}`);
}
};
};
export const create = (errorMessage, handler) => createStackTraceHandler(errorHandler(errorMessage, handler));
/* jscpd:ignore-end */