cfe5d77a104afd4ea16fd2d5d16e1d8224b4f268
Graph with Reflection and Rewrite Nodes
This project provides a minimal directed graph implementation that supports two special node types:
- ReflectionNode – passes its input unchanged to its output.
- RewriteNode – transforms its input using a user‑supplied function.
Installation
npm install
Usage
import { Graph, ReflectionNode, RewriteNode } from './src/index.js';
const graph = new Graph();
// Create nodes
const start = new ReflectionNode('start');
const rewrite = new RewriteNode('rewrite', (x) => x * 2);
// Add nodes to graph
graph.addNode(start);
graph.addNode(rewrite);
// Connect nodes
graph.addEdge('start', 'rewrite');
// Evaluate graph
const result = graph.evaluate();
console.log(result); // { start: undefined, rewrite: 0 } (example)
Running Tests
A simple test script (test.js) can be added to validate functionality. Run:
npm test
License
MIT
Languages
Python
51.9%
JavaScript
39.3%
TypeScript
8.8%