Current section
Files
Jump to
Current section
Files
lib/transforms/identity.ex
defmodule Paradigm.Transform.Identity do
@moduledoc """
The trivial transform.
"""
@behaviour Paradigm.Transform
@impl true
def transform(source_graph, target_graph, _opts) do
source_graph
|> Paradigm.Graph.get_all_nodes()
|> Enum.reduce({:ok, target_graph}, fn node_id, {:ok, acc} ->
case Paradigm.Graph.get_node(source_graph, node_id) do
nil -> {:error, "Node #{node_id} not found"}
node -> {:ok, Paradigm.Graph.insert_node(acc, node_id, node.class, node.data)}
end
end)
end
end