Current section

Files

Jump to
deriv src deriv@example@unnested.erl
Raw

src/deriv@example@unnested.erl

-module(deriv@example@unnested).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([decoder_unnested_unnested/0, decoder_unnested/0, encode_unnested/1]).
-export_type([unnested/0]).
-type unnested() :: {unnested, integer()}.
-file("/home/bosco/dev/gleam/deriv/src/deriv/example/unnested.gleam", 14).
-spec decoder_unnested_unnested() -> decode:decoder(unnested()).
decoder_unnested_unnested() ->
_pipe = decode:into(
(decode:parameter(fun(Unnested) -> {unnested, Unnested} end))
),
decode:subfield(
_pipe,
[<<"foo"/utf8>>, <<"bar"/utf8>>, <<"baz"/utf8>>],
{decoder, fun gleam@dynamic:int/1}
).
-file("/home/bosco/dev/gleam/deriv/src/deriv/example/unnested.gleam", 10).
-spec decoder_unnested() -> decode:decoder(unnested()).
decoder_unnested() ->
decode:one_of([decoder_unnested_unnested()]).
-file("/home/bosco/dev/gleam/deriv/src/deriv/example/unnested.gleam", 22).
-spec encode_unnested(unnested()) -> gleam@json:json().
encode_unnested(Value) ->
case Value of
{unnested, _} = Value@1 ->
gleam@json:object(
[{<<"foo"/utf8>>,
gleam@json:object(
[{<<"bar"/utf8>>,
gleam@json:object(
[{<<"baz"/utf8>>,
gleam@json:int(
erlang:element(2, Value@1)
)}]
)}]
)}]
)
end.