@tokens-studio/graph-engine
TypeScript icon, indicating that this package has built-in type declarations

0.17.5 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i @tokens-studio/graph-engine

Weekly Downloads

176

Version

0.17.5

License

MIT

Unpacked Size

729 kB

Total Files

701

Last publish

Collaborators

  • lukefinch
  • andrewattokensstudio
  • jorenbroekema
  • popdrazvan
  • six7