@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
22 lines (21 loc) • 781 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
const logger_1 = require("../../logger");
const stackTrace_1 = require("./stackTrace");
const errorHandler = (errorMessage, handler) => async (command) => {
const commandHandler = await handler(command);
return async (...args) => {
try {
await commandHandler(...args);
}
catch (err) {
const { error } = (0, logger_1.get)("commands.handler.error");
error(errorMessage, err);
throw new Error(`handler failed: ${errorMessage}`);
}
};
};
const create = (errorMessage, handler) => (0, stackTrace_1.create)(errorHandler(errorMessage, handler));
exports.create = create;
/* jscpd:ignore-end */