-module(json_canvas). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([decode_canvas/1]). -export_type([canvas/0]). -type canvas() :: {canvas, list(json_canvas@node:node_()), list(json_canvas@edge:edge())}. -spec decode_canvas(gleam@dynamic:dynamic_()) -> {ok, canvas()} | {error, list(gleam@dynamic:decode_error())}. decode_canvas(Dyn) -> _pipe = Dyn, (gleam@dynamic:decode2( fun(Field@0, Field@1) -> {canvas, Field@0, Field@1} end, gleam@dynamic:field( <<"nodes"/utf8>>, gleam@dynamic:list(fun json_canvas@node:decode_node/1) ), gleam@dynamic:field( <<"edges"/utf8>>, gleam@dynamic:list(fun json_canvas@edge:decode_edge/1) ) ))(_pipe).