Skip to content
This repository has been archived by the owner on Jan 9, 2020. It is now read-only.

Kronos-Integration/kronos-flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

styled with prettier Build Status codecov.io Coverage Status Known Vulnerabilities Commitizen friendly npm Greenkeeper semantic-release License minified size downloads GitHub Issues

kronos-flow

A flow is a bunch of steps and the connection between the steps. So a flow is a directed graph. The edges are the connections between the steps. The vertex is the step. A flow has inbound and outbound steps and processing steps. A flow must fulfill the following requirements:

  • It must have a name.
  • It must have a description.
  • It must have at least one inbound step.
  • All the steps must have at least one connection.
  • All steps must be reachable from the inbound steps.

A Flow may also have endpoints which could be connected to the steps. So it is possible to bundle steps in a flow. From the outside the flows acts as a single step.

API

Table of Contents

Flow

Extends Step

This is the flow implementation. It holds all the steps. Declares the following properties: -steps -autostart

Parameters

  • config Object the definition used to create the flow
  • owner Object owner of the flow

endpointFor

Find endpoint for given expression

Parameters

  • expression string
  • wait boolean for endpoint to become present (deliver a promise)
  • problems string

Returns Endpoint found endpoint

connectEndpoints

set the target endpoints

Parameters

  • stepDefinition

connectRootEndpoints

A flow has only endpoint proxies. These will be replaced by the original endpoints of the sub steps get the original endpoints for the Flow.

name

Returns string 'kronos-flow'

FlowProviderMixin

mixin to create a Flow owner. Also incorporates Step and Interceptor ownership

Parameters

  • superclass class

Returns class with flow ownership support

willBeUnregistered

Deletes a flow from the stored flow definitions. If the flow is currently running, it will be stopped first. After it is stopped, it will be deleted.

Parameters

  • flow

Returns Promise returns a promise that is fullfilled when the flow is removed or one that rejects if there is no flow for the given flowName

install

With npm do:

npm install kronos-flow

license

BSD-2-Clause