Current section

Files

Jump to
vec src vec@vec4@decode.erl
Raw

src/vec@vec4@decode.erl

-module(vec@vec4@decode).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-define(FILEPATH, "src/vec/vec4/decode.gleam").
-export([vec4_decoder/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/vec/vec4/decode.gleam", 5).
?DOC(" A decoder that decodes 4D vectors where all elements are decoded with a given decoder.\n").
-spec vec4_decoder(gleam@dynamic@decode:decoder(ICW)) -> gleam@dynamic@decode:decoder(vec@vec4:vec4(ICW)).
vec4_decoder(Inner) ->
gleam@dynamic@decode:field(
<<"x"/utf8>>,
Inner,
fun(X) ->
gleam@dynamic@decode:field(
<<"y"/utf8>>,
Inner,
fun(Y) ->
gleam@dynamic@decode:field(
<<"z"/utf8>>,
Inner,
fun(Z) ->
gleam@dynamic@decode:field(
<<"w"/utf8>>,
Inner,
fun(W) ->
gleam@dynamic@decode:success(
{vec4, X, Y, Z, W}
)
end
)
end
)
end
)
end
).