Home

Awesome

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"
        }
    }
}