Current section
Files
Jump to
Current section
Files
src/json_canvas.erl
-module(json_canvas).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([decode/1, to_json/1, to_string/1, to_string_builder/1]).
-spec decode(binary()) -> {ok, json_canvas@types:canvas()} |
{error, gleam@json:decode_error()}.
decode(Json_canvas) ->
_pipe = Json_canvas,
gleam@json:decode(_pipe, fun json_canvas@decode@canvas:decode_canvas/1).
-spec to_json(json_canvas@types:canvas()) -> gleam@json:json().
to_json(Canvas) ->
gleam@json:object(
[{<<"nodes"/utf8>>,
gleam@json:array(
erlang:element(2, Canvas),
fun json_canvas@encode@node:encode_node/1
)},
{<<"edges"/utf8>>,
gleam@json:array(
erlang:element(3, Canvas),
fun json_canvas@encode@edge:encode_edge/1
)}]
).
-spec to_string(json_canvas@types:canvas()) -> binary().
to_string(Canvas) ->
_pipe = to_json(Canvas),
gleam@json:to_string(_pipe).
-spec to_string_builder(json_canvas@types:canvas()) -> gleam@string_builder:string_builder().
to_string_builder(Canvas) ->
_pipe = to_json(Canvas),
gleam@json:to_string_builder(_pipe).