@omni-door/cli
Version:
A tool set for set up the standard JS project
24 lines (23 loc) • 925 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handlerFactory = exports.getHandlers = void 0;
var utils_1 = require("@omni-door/utils");
function getHandlers(plugins, stage) {
var handlers = {};
for (var i = 0; i < plugins.length; i++) {
var plugin = plugins[i];
plugin.stage === stage && (handlers[plugin.name] = exports.handlerFactory(plugin.handler, "The \"" + plugin.name + "\" execution failed; will skip the remaining operations."));
}
return handlers;
}
exports.getHandlers = getHandlers;
exports.handlerFactory = function (handler, errMsg) { return function (config, options) {
try {
return Promise.resolve(handler(config, options));
}
catch (err) {
utils_1.logWarn(err);
utils_1.logWarn(errMsg || 'The plugin execution failed; will skip the remaining operations.');
}
return Promise.resolve({});
}; };