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

Latest commit

 

History

History
124 lines (83 loc) · 4.76 KB

File metadata and controls

124 lines (83 loc) · 4.76 KB

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