Current section

Files

Jump to
glitch src glitch@extended@dynamic_ext.erl
Raw

src/glitch@extended@dynamic_ext.erl

-module(glitch@extended@dynamic_ext).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([uri/1, decode_bool_field/2, decode_int_field/2, decode_string_field/2, decode_uri_field/2, decode11/12, decode14/15, decode20/21]).
-spec uri(gleam@dynamic:dynamic_()) -> {ok, gleam@uri:uri()} |
{error, list(gleam@dynamic:decode_error())}.
uri(Dyn) ->
gleam@result:'try'(gleam@dynamic:string(Dyn), fun(Str) -> _pipe = Str,
_pipe@1 = gleam@uri:parse(_pipe),
gleam@result:replace_error(
_pipe@1,
[{decode_error, <<"Uri"/utf8>>, <<"String"/utf8>>, []}]
) end).
-spec decode_field(
gleam@dynamic:dynamic_(),
fun((gleam@dynamic:dynamic_()) -> {ok, TFP} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, TFP} | {error, list(gleam@dynamic:decode_error())}.
decode_field(Dyn, Decoder) ->
Decoder(Dyn).
-spec decode_bool_field(gleam@dynamic:dynamic_(), binary()) -> {ok, boolean()} |
{error, list(gleam@dynamic:decode_error())}.
decode_bool_field(Dyn, Field_name) ->
decode_field(Dyn, gleam@dynamic:field(Field_name, fun gleam@dynamic:bool/1)).
-spec decode_int_field(gleam@dynamic:dynamic_(), binary()) -> {ok, integer()} |
{error, list(gleam@dynamic:decode_error())}.
decode_int_field(Dyn, Field_name) ->
decode_field(Dyn, gleam@dynamic:field(Field_name, fun gleam@dynamic:int/1)).
-spec decode_string_field(gleam@dynamic:dynamic_(), binary()) -> {ok, binary()} |
{error, list(gleam@dynamic:decode_error())}.
decode_string_field(Dyn, Field_name) ->
decode_field(
Dyn,
gleam@dynamic:field(Field_name, fun gleam@dynamic:string/1)
).
-spec decode_uri_field(gleam@dynamic:dynamic_(), binary()) -> {ok,
gleam@uri:uri()} |
{error, list(gleam@dynamic:decode_error())}.
decode_uri_field(Dyn, Field_name) ->
gleam@result:'try'(
decode_string_field(Dyn, Field_name),
fun(Str) -> _pipe = Str,
_pipe@1 = gleam@uri:parse(_pipe),
gleam@result:replace_error(
_pipe@1,
[{decode_error, <<"Uri"/utf8>>, <<"String"/utf8>>, [Field_name]}]
) end
).
-spec all_errors({ok, any()} | {error, list(gleam@dynamic:decode_error())}) -> list(gleam@dynamic:decode_error()).
all_errors(Result) ->
case Result of
{ok, _} ->
[];
{error, Errors} ->
Errors
end.
-spec decode11(
fun((TGB, TGC, TGD, TGE, TGF, TGG, TGH, TGI, TGJ, TGK, TGL) -> TGM),
fun((gleam@dynamic:dynamic_()) -> {ok, TGB} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGC} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGD} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGE} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGF} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGG} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGH} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGI} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGJ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGK} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGL} |
{error, list(gleam@dynamic:decode_error())})
) -> fun((gleam@dynamic:dynamic_()) -> {ok, TGM} |
{error, list(gleam@dynamic:decode_error())}).
decode11(Constructor, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ->
fun(X) ->
case {T1(X),
T2(X),
T3(X),
T4(X),
T5(X),
T6(X),
T7(X),
T8(X),
T9(X),
T10(X),
T11(X)} of
{{ok, A},
{ok, B},
{ok, C},
{ok, D},
{ok, E},
{ok, F},
{ok, G},
{ok, H},
{ok, I},
{ok, J},
{ok, K}} ->
{ok, Constructor(A, B, C, D, E, F, G, H, I, J, K)};
{A@1, B@1, C@1, D@1, E@1, F@1, G@1, H@1, I@1, J@1, K@1} ->
{error,
gleam@list:concat(
[all_errors(A@1),
all_errors(B@1),
all_errors(C@1),
all_errors(D@1),
all_errors(E@1),
all_errors(F@1),
all_errors(G@1),
all_errors(H@1),
all_errors(I@1),
all_errors(J@1),
all_errors(K@1)]
)}
end
end.
-spec decode14(
fun((TGZ, THA, THB, THC, THD, THE, THF, THG, THH, THI, THJ, THK, THL, THM) -> THN),
fun((gleam@dynamic:dynamic_()) -> {ok, TGZ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THA} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THB} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THC} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THD} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THE} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THF} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THG} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THH} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THI} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THJ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THK} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THL} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, THM} |
{error, list(gleam@dynamic:decode_error())})
) -> fun((gleam@dynamic:dynamic_()) -> {ok, THN} |
{error, list(gleam@dynamic:decode_error())}).
decode14(
Constructor,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14
) ->
fun(X) ->
case {T1(X),
T2(X),
T3(X),
T4(X),
T5(X),
T6(X),
T7(X),
T8(X),
T9(X),
T10(X),
T11(X),
T12(X),
T13(X),
T14(X)} of
{{ok, A},
{ok, B},
{ok, C},
{ok, D},
{ok, E},
{ok, F},
{ok, G},
{ok, H},
{ok, I},
{ok, J},
{ok, K},
{ok, L},
{ok, M},
{ok, N}} ->
{ok, Constructor(A, B, C, D, E, F, G, H, I, J, K, L, M, N)};
{A@1,
B@1,
C@1,
D@1,
E@1,
F@1,
G@1,
H@1,
I@1,
J@1,
K@1,
L@1,
M@1,
N@1} ->
{error,
gleam@list:concat(
[all_errors(A@1),
all_errors(B@1),
all_errors(C@1),
all_errors(D@1),
all_errors(E@1),
all_errors(F@1),
all_errors(G@1),
all_errors(H@1),
all_errors(I@1),
all_errors(J@1),
all_errors(K@1),
all_errors(L@1),
all_errors(M@1),
all_errors(N@1)]
)}
end
end.
-spec decode20(
fun((TII, TIJ, TIK, TIL, TIM, TIN, TIO, TIP, TIQ, TIR, TIS, TIT, TIU, TIV, TIW, TIX, TIY, TIZ, TJA, TJB) -> TJC),
fun((gleam@dynamic:dynamic_()) -> {ok, TII} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIJ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIK} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIL} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIM} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIN} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIO} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIP} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIQ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIR} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIS} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIT} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIU} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIV} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIW} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIX} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIY} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TIZ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TJA} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TJB} |
{error, list(gleam@dynamic:decode_error())})
) -> fun((gleam@dynamic:dynamic_()) -> {ok, TJC} |
{error, list(gleam@dynamic:decode_error())}).
decode20(
Constructor,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20
) ->
fun(X) ->
case {T1(X),
T2(X),
T3(X),
T4(X),
T5(X),
T6(X),
T7(X),
T8(X),
T9(X),
T10(X),
T11(X),
T12(X),
T13(X),
T14(X),
T15(X),
T16(X),
T17(X),
T18(X),
T19(X),
T20(X)} of
{{ok, A},
{ok, B},
{ok, C},
{ok, D},
{ok, E},
{ok, F},
{ok, G},
{ok, H},
{ok, I},
{ok, J},
{ok, K},
{ok, L},
{ok, M},
{ok, N},
{ok, O},
{ok, P},
{ok, Q},
{ok, R},
{ok, S},
{ok, T}} ->
{ok,
Constructor(
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T
)};
{A@1,
B@1,
C@1,
D@1,
E@1,
F@1,
G@1,
H@1,
I@1,
J@1,
K@1,
L@1,
M@1,
N@1,
O@1,
P@1,
Q@1,
R@1,
S@1,
T@1} ->
{error,
gleam@list:concat(
[all_errors(A@1),
all_errors(B@1),
all_errors(C@1),
all_errors(D@1),
all_errors(E@1),
all_errors(F@1),
all_errors(G@1),
all_errors(H@1),
all_errors(I@1),
all_errors(J@1),
all_errors(K@1),
all_errors(L@1),
all_errors(M@1),
all_errors(N@1),
all_errors(O@1),
all_errors(P@1),
all_errors(Q@1),
all_errors(R@1),
all_errors(S@1),
all_errors(T@1)]
)}
end
end.