UNPKG

@deliverr/serverless-offline-step-functions

Version:

Serverless Offline Plugin to Support Step Functions for Local Development

44 lines (43 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExecutionContext = void 0; const uuid_1 = require("uuid"); class ExecutionContext { constructor(_id, _input, _name, _roleArn, _startTime) { this._id = _id; this._input = _input; this._name = _name; this._roleArn = _roleArn; this._startTime = _startTime; } static create(stateMachineContext, input) { const executionName = 'randomExecutionName' + uuid_1.v4(); const id = this.createStateMachineExecutionArn(stateMachineContext, executionName); const roleArn = 'randomExecutionRoleArn' + uuid_1.v4(); return new ExecutionContext(id, input, executionName, roleArn, new Date().toISOString()); } static createStateMachineExecutionArn(stateMachineContext, executionName) { const stateMachineArn = stateMachineContext.Id; const stateMachineExecutionArn = stateMachineArn.split(':').slice(0, 5); stateMachineExecutionArn.push('execution'); stateMachineExecutionArn.push(stateMachineContext.Name); stateMachineExecutionArn.push(executionName); return stateMachineExecutionArn.join(':'); } get Id() { return this._id; } get Input() { return this._input; } get Name() { return this._name; } get RoleArn() { return this._roleArn; } get StartTime() { return this._startTime; } } exports.ExecutionContext = ExecutionContext;