UNPKG

@rudderstack/workflow-engine

Version:
37 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoopStepExecutor = void 0; const errors_1 = require("../../../errors"); const composable_1 = require("./composable"); class LoopStepExecutor extends composable_1.ComposableStepExecutor { async executeForInputElement(element, executionBindings) { try { return await super.execute(element, executionBindings); } catch (error) { const stepExecutionError = errors_1.ErrorUtils.createStepExecutionError(error, this.getStepName()); return { error: { message: stepExecutionError.message, status: stepExecutionError.status, error: stepExecutionError, originalError: stepExecutionError.originalError, }, }; } } async execute(input, executionBindings) { if (!Array.isArray(input)) { throw new errors_1.StepExecutionError('loopOverInput requires array input', 400, { stepName: this.getStepName(), }); } const promises = new Array(input.length); for (let i = 0; i < input.length; i += 1) { promises[i] = this.executeForInputElement(input[i], executionBindings); } return { output: await Promise.all(promises) }; } } exports.LoopStepExecutor = LoopStepExecutor; //# sourceMappingURL=loop.js.map