@rudderstack/workflow-engine
Version:
A generic workflow execution engine
29 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseStepUtils = void 0;
const path_1 = require("path");
const common_1 = require("../../common");
const utils_1 = require("../../common/utils");
const errors_1 = require("../../errors");
const utils_2 = require("../../workflow/utils");
class BaseStepUtils {
static async prepareWorkflowStep(step, options) {
let newStep = step;
if (step.workflowStepPath) {
const workflowStepPath = (0, path_1.join)(options.rootPath, step.workflowStepPath);
const workflowStepFromPath = await utils_2.WorkflowUtils.createFromFilePath(workflowStepPath);
newStep = { ...workflowStepFromPath, ...step };
}
BaseStepUtils.validateWorkflowStep(newStep);
return newStep;
}
static validateWorkflowStep(workflowStep) {
if (!workflowStep.steps?.length) {
throw new errors_1.StepCreationError('Invalid workflow step configuration', workflowStep.name);
}
utils_1.StepUtils.populateSteps(workflowStep.steps);
utils_1.StepUtils.validateSteps(workflowStep.steps, [common_1.StepType.Workflow]);
}
}
exports.BaseStepUtils = BaseStepUtils;
//# sourceMappingURL=utils.js.map