variable / @typed/fx/RefGraph

updateEdge

Update an edge’s data.

Package version
2.0.0-beta.7
Category
State updates
Since
1.18.0

Import

import { updateEdge } from "@typed/fx/RefGraph";

Signatures

export declare const updateEdge: {
    <E>(edgeIndex: Graph.EdgeIndex, f: (data: E) => E): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
    <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, edgeIndex: Graph.EdgeIndex, f: (data: E) => E): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
};

Why

Keeps update edge atomic with respect to competing RefSubject writes instead of splitting the read and replacement into separate effects.

Ownership and lifetime

Running update edge performs one serialized graph transition and resolves with its committed value. It acquires no resource; failures and services remain those of the source ref.

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source