Current section
Files
Jump to
Current section
Files
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, TCS} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, TCS} | {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((TDE, TDF, TDG, TDH, TDI, TDJ, TDK, TDL, TDM, TDN, TDO) -> TDP),
fun((gleam@dynamic:dynamic_()) -> {ok, TDE} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDF} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDG} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDH} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDI} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDJ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDK} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDL} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDM} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDN} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TDO} |
{error, list(gleam@dynamic:decode_error())})
) -> fun((gleam@dynamic:dynamic_()) -> {ok, TDP} |
{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((TEC, TED, TEE, TEF, TEG, TEH, TEI, TEJ, TEK, TEL, TEM, TEN, TEO, TEP) -> TEQ),
fun((gleam@dynamic:dynamic_()) -> {ok, TEC} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TED} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEE} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEF} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEG} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEH} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEI} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEJ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEK} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEL} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEM} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEN} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEO} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TEP} |
{error, list(gleam@dynamic:decode_error())})
) -> fun((gleam@dynamic:dynamic_()) -> {ok, TEQ} |
{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((TFL, TFM, TFN, TFO, TFP, TFQ, TFR, TFS, TFT, TFU, TFV, TFW, TFX, TFY, TFZ, TGA, TGB, TGC, TGD, TGE) -> TGF),
fun((gleam@dynamic:dynamic_()) -> {ok, TFL} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFM} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFN} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFO} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFP} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFQ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFR} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFS} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFT} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFU} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFV} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFW} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFX} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFY} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TFZ} |
{error, list(gleam@dynamic:decode_error())}),
fun((gleam@dynamic:dynamic_()) -> {ok, TGA} |
{error, list(gleam@dynamic:decode_error())}),
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())}).
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.