effect-io-ai

Package: effect
Module: Graph

Graph.addEdge

Adds a new edge to a mutable graph and returns its index.

When to use

Use to connect two existing nodes in a mutable graph while storing edge data and receiving the new edge identifier.

Details

Creates an Edge with the source, target, and data at the next edge index, updates adjacency indexes, and increments the graph’s next edge index. Undirected graphs register the same edge for both endpoints.

Gotchas

The source and target nodes must already exist in the mutable graph; missing endpoints throw a GraphError.

Example (Adding edges)

import { Graph } from "effect"

const result = Graph.mutate(Graph.directed<string, number>(), (mutable) => {
  const nodeA = Graph.addNode(mutable, "Node A")
  const nodeB = Graph.addNode(mutable, "Node B")
  const edge = Graph.addEdge(mutable, nodeA, nodeB, 42)
  console.log(edge) // EdgeIndex with value 0
})

See

Signature

declare const addEdge: <N, E, T extends Kind = "directed">(mutable: MutableGraph<N, E, T>, source: NodeIndex, target: NodeIndex, data: E) => EdgeIndex

Source

Since v3.18.0