aonyx/graph/node
Types
Values
pub fn get_neighbors(node: Node(key, value)) -> set.Set(key)
Returns a set union of keys of all direct neighbors of a given node in both directions.
Examples
let node = new("A")
|> with_outgoing(["B", "C"])
|> with_incoming(["D"])
get_neighbors(node)
// -> Set(["B", "C", "D"])
pub fn get_neighbors_in(node: Node(key, value)) -> set.Set(key)
Returns a set of keys of all direct neighbors of a given node via incoming edges.
Examples
let node = new("A")
|> with_outgoing(["B", "C"])
|> with_incoming(["D", "E"])
get_neighbors_in(node)
// -> Set(["D", "E"])
pub fn get_neighbors_out(node: Node(key, value)) -> set.Set(key)
Returns a set of keys of all direct neighbors of a given node via outgoing edges.
Examples
let node = new("A")
|> with_outgoing(["B", "C"])
|> with_incoming(["D"])
get_neighbors_out(node)
// -> Set(["B", "C"])
pub fn new(key: key, value: value) -> Node(key, value)
Creates a node with the given key, without a value.
Examples
new("A", "Node A")
// -> Node(key: "A", value: "Node A", outgoing: Set([]), incoming: Set([]))
pub fn replace_value(
node: Node(key, value),
value: value,
) -> Node(key, value)
Sets the value of a node.
Examples
let node = new("A")
with_value(node, "Node A")
// -> Node(key: "A", value: Some("Node A"), outgoing: Set([]), incoming: Set([]))
pub fn with_incoming(
node: Node(key, value),
incoming: List(key),
) -> Node(key, value)
Sets the incoming edges of a node.
Examples
let node = new("A")
with_incoming(node, ["B", "C"])
// -> Node(key: "A", value: None, outgoing: Set([]), incoming: Set(["B", "C"]))