@deliverr/serverless-offline-step-functions
Version:
Serverless Offline Plugin to Support Step Functions for Local Development
31 lines (30 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StateTypeExecutorFactory = void 0;
const StateType_1 = require("./StateType");
const TaskExecutor_1 = require("./executors/TaskExecutor");
const PassExecutor_1 = require("./executors/PassExecutor");
const WaitExecutor_1 = require("./executors/WaitExecutor");
const ChoiceExecutor_1 = require("./executors/ChoiceExecutor");
const FailExecutor_1 = require("./executors/FailExecutor");
const SucceedExecutor_1 = require("./executors/SucceedExecutor");
const MapExecutor_1 = require("./executors/MapExecutor");
class StateTypeExecutorFactory {
static getExecutor(type) {
const stateTypeExecutor = this.STATE_TYPE_MAP.get(type);
if (!stateTypeExecutor) {
throw new Error(`State of Type "${type}" is not supported yet.`);
}
return stateTypeExecutor;
}
}
exports.StateTypeExecutorFactory = StateTypeExecutorFactory;
StateTypeExecutorFactory.STATE_TYPE_MAP = new Map([
[StateType_1.StateType.Task, new TaskExecutor_1.TaskExecutor()],
[StateType_1.StateType.Pass, new PassExecutor_1.PassExecutor()],
[StateType_1.StateType.Wait, new WaitExecutor_1.WaitExecutor()],
[StateType_1.StateType.Choice, new ChoiceExecutor_1.ChoiceExecutor()],
[StateType_1.StateType.Fail, new FailExecutor_1.FailExecutor()],
[StateType_1.StateType.Succeed, new SucceedExecutor_1.SucceedExecutor()],
[StateType_1.StateType.Map, new MapExecutor_1.MapExecutor()],
]);