Skip to content

stavalfi/jstream

Repository files navigation

JStream

Represent graphs, differently

Build Status Netlify Status CircleCI GitHub commit activity

Table of Contents

  1. Install
  2. Introduction
  3. Concepts
  4. Contributing

Install

The redux extension:

yarn add @jstream/flower

For library creators who develops above the parser:

yarn add @jstream/parser

Introduction

Parser

Representing big simple graphs with a single entry-point using minimal syntax. The output of the parser is a matrix-like representation of the graph: for every node, there will be an array for children and parent indexes (and much more).

Checkout the live-editor

Flower

Representing the state of complex flows using graphs and redux. By defining each flow as a finite automaton, you will build testable small functions that will be reused in other flows.

Goals:

  • Guid you to write as much as predicatible small functions as possible.
  • You won't marry with this library. Minimal interaction with our API will let you upgrade your code to a different one that suits your needs better - fast and easly.
  • Keeping the implementstion frameworkless aware.

Concepts

Flow

Simple directed graph with a single entry-point.

A graph can represent anything.

Under the flower project, a graph will represent the state of a complex scenario using automaton:

do side-effect/something-else, then go to the appropriate node:

(current_node, state) => next_node

You will specify what to do after reaching a node and where to go next.

Contributing

  • Documentation deeply describes the internal API for each package.

This project is in an early stage.

We are looking for:

  1. Proposals about new features
  2. Faster algorithms
  3. Defining best practices

Core Team


Stav Alfi

Core


Founder