UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

27 lines (26 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.create = void 0; const stackTrace_1 = require("./stackTrace"); const logger_1 = require("../../logger"); function getLogger(origin) { return (0, logger_1.get)(`commands.handler.next:${origin}`); } const nextHandler = (origin, ...handlers) => async (command) => { getLogger(origin).trace(`next:${origin}: preparing handlers`); const commandHandlers = []; for (const handler of handlers) { // eslint-disable-next-line no-await-in-loop commandHandlers.push(await handler(command)); } return async (...args) => { getLogger(origin).trace(`next:${origin}: processing handlers`); for (const handler of commandHandlers) { // eslint-disable-next-line no-await-in-loop await handler(...args); } }; }; const create = (origin, ...handlers) => (0, stackTrace_1.create)(nextHandler(origin, ...handlers)); exports.create = create; /* jscpd:ignore-end */