@tokens-studio/graph-engine

Graph Execution Engine

NPM version badge License badge

This project is currently in ALPHA

This is the graph execution engine used for resolvers and generators within Tokens Studio. It relies on an internal system of nodes and edges to execute graph definitions.

Installation

With NPM:

npm install @tokens-studio/graph-engine

Example

import {
execute,
nodes,
MinimizedFlowGraph,
} from "@tokens-studio/graph-engine";

const output = await execute({
graph: myGraph,
inputValues: {
foo: "bar",
},
nodes,
});

Examples

Provide token sets as part of your input

import {
execute,
nodes,
MinimizedFlowGraph,
} from "@tokens-studio/graph-engine";

//Note that the references are not resolved automatically. The graph is responsible for resolving if it wants to.
const tokens = {
dimension: {
scale: {
value: "2",
type: "dimension",
},
xs: {
value: "4",
type: "dimension",
},
sm: {
value: "{dimension.xs} * {dimension.scale}",
type: "dimension",
},
md: {
value: "{dimension.sm} * {dimension.scale}",
type: "dimension",
},
lg: {
value: "{dimension.md} * {dimension.scale}",
type: "dimension",
},
xl: {
value: "{dimension.lg} * {dimension.scale}",
type: "dimension",
},
},
};

const output = await execute({
graph: myGraph,
inputValues: {
myTokens: {
name: "My tokens",
tokens,
},
},
nodes,
});

Documentation

See our documentation site here

Generated using TypeDoc