Current section

Files

Jump to
json_canvas src json_canvas@internal@encode@json_object.erl
Raw

src/json_canvas@internal@encode@json_object.erl

-module(json_canvas@internal@encode@json_object).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([json_object/2]).
-spec json_object(
list({binary(), gleam@json:json()}),
list({binary(), gleam@option:option(gleam@json:json())})
) -> gleam@json:json().
json_object(Required_entries, Optional_entries) ->
Optional_entries@1 = begin
_pipe = Optional_entries,
_pipe@1 = gleam@list:map(
_pipe,
fun(Entry) ->
{Field_name, Field_value} = Entry,
gleam@option:then(
Field_value,
fun(Field_value@1) ->
{some, {Field_name, Field_value@1}}
end
)
end
),
gleam@option:values(_pipe@1)
end,
Entries = lists:append(Required_entries, Optional_entries@1),
gleam@json:object(Entries).