UNPKG

@deliverr/serverless-offline-step-functions

Version:

Serverless Offline Plugin to Support Step Functions for Local Development

31 lines (30 loc) 1.5 kB
"use strict"; 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()], ]);