Skip to content
Flowbject is a library that allows you to describe state machines with objects.
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.gitignore
.travis.yml
LICENSE.md
README.md
package-lock.json
package.json
tsconfig.json

README.md

Flowbject

Build Status

npm version

Flowbject is a high-level library whose aim is to help with writing state-machine flows. The concept is based on Amazon-State-Language.

It provides a more convenient way to write and manipulate states. The state-machine JSON extraction is encapsulated in hydrators and allows the integration of multiple API languages such as AWS-StepFunctions.

Installation

npm install flowbject

Usage

Here is an example how to build a state-machine and extract the language-specifications to AWS-StepFunctions.

import { StateMachine, Pass, AWSStepFunctionsHydratorManager } from "flowbject";

const stateMachine = new StateMachine({
    autoLink: true,
    comment: 'A Hello World example of the Amazon States Language using a Pass state'
});

const helloWorld = (new Pass('HelloWorld')).result.set('Hello World!')

stateMachine.states.add(helloWorld);

const manager = new AWSStepFunctionsHydratorManager();

const result = manager.extractStateMachine(stateMachine);

Results:

{
    "Comment": "A Hello Worldexample of the Amazon States Language using a Pass state",
    "StartAt": "HelloWorld",
    "States": {
        "HelloWorld": {
            "Result": "Hello World!",
            "End": true,
            "Type": "Pass"
        }
    }
}
You can’t perform that action at this time.