Current section
Files
Jump to
Current section
Files
src/json_canvas.gleam
import gleam/dynamic as dyn
import json_canvas/edge.{type Edge, decode_edge}
import json_canvas/node.{type Node, decode_node}
pub type Canvas {
Canvas(nodes: List(Node), edges: List(Edge))
}
pub fn decode_canvas(dyn: dyn.Dynamic) -> Result(Canvas, List(dyn.DecodeError)) {
dyn
|> dyn.decode2(
Canvas,
dyn.field("nodes", dyn.list(decode_node)),
dyn.field("edges", dyn.list(decode_edge)),
)
}