-module(gluple). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([is_tuple/1, tuple_to_list/1, list_to_tuple/1, tuple_size/1, tuple_element/2, append1/2, append2/2, append3/2, append4/2, append5/2, append6/2, append7/2, append8/2, append9/2, replace_last1/2, replace_last2/2, replace_last3/2, replace_last4/2, replace_last5/2, replace_last6/2, replace_last7/2, replace_last8/2, replace_last9/2]). -spec is_tuple(any()) -> boolean(). is_tuple(Maybe_tuple) -> erlang:is_tuple(Maybe_tuple). -spec tuple_to_list(any()) -> {ok, list(gleam@dynamic:dynamic_())} | {error, list(gleam@dynamic:decode_error())}. tuple_to_list(Tuple) -> case erlang:is_tuple(Tuple) of true -> {ok, erlang:tuple_to_list(Tuple)}; false -> {error, [{decode_error, <<"Tuple"/utf8>>, gleam@string:inspect(Tuple), []}]} end. -spec list_to_tuple(list(any())) -> gleam@dynamic:dynamic_(). list_to_tuple(List) -> erlang:list_to_tuple(List). -spec tuple_size(any()) -> {ok, integer()} | {error, list(gleam@dynamic:decode_error())}. tuple_size(Tuple) -> case erlang:is_tuple(Tuple) of true -> {ok, erlang:tuple_size(Tuple)}; false -> {error, [{decode_error, <<"Tuple"/utf8>>, gleam@string:inspect(Tuple), []}]} end. -spec tuple_element(any(), integer()) -> {ok, gleam@dynamic:dynamic_()} | {error, list(gleam@dynamic:decode_error())}. tuple_element(Tuple, Index) -> case erlang:is_tuple(Tuple) of true -> Tuple_size = erlang:tuple_size(Tuple), case (Index >= 0) andalso (Index < Tuple_size) of true -> {ok, erlang:element(Index + 1, Tuple)}; false -> {error, [{decode_error, <<"Tuple size "/utf8, (gleam@int:to_string(Tuple_size))/binary>>, <<"Desired index "/utf8, (gleam@int:to_string(Index))/binary>>, []}]} end; false -> {error, [{decode_error, <<"Tuple"/utf8>>, gleam@string:inspect(Tuple), []}]} end. -spec append1({JJF}, JJG) -> {JJF, JJG}. append1(Tuple, Data) -> {erlang:element(1, Tuple), Data}. -spec append2({JJH, JJI}, JJJ) -> {JJH, JJI, JJJ}. append2(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), Data}. -spec append3({JJK, JJL, JJM}, JJN) -> {JJK, JJL, JJM, JJN}. append3(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), Data}. -spec append4({JJO, JJP, JJQ, JJR}, JJS) -> {JJO, JJP, JJQ, JJR, JJS}. append4(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), Data}. -spec append5({JJT, JJU, JJV, JJW, JJX}, JJY) -> {JJT, JJU, JJV, JJW, JJX, JJY}. append5(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), Data}. -spec append6({JJZ, JKA, JKB, JKC, JKD, JKE}, JKF) -> {JJZ, JKA, JKB, JKC, JKD, JKE, JKF}. append6(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), Data}. -spec append7({JKG, JKH, JKI, JKJ, JKK, JKL, JKM}, JKN) -> {JKG, JKH, JKI, JKJ, JKK, JKL, JKM, JKN}. append7(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), erlang:element(7, Tuple), Data}. -spec append8({JKO, JKP, JKQ, JKR, JKS, JKT, JKU, JKV}, JKW) -> {JKO, JKP, JKQ, JKR, JKS, JKT, JKU, JKV, JKW}. append8(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), erlang:element(7, Tuple), erlang:element(8, Tuple), Data}. -spec append9({JKX, JKY, JKZ, JLA, JLB, JLC, JLD, JLE, JLF}, JLG) -> {JKX, JKY, JKZ, JLA, JLB, JLC, JLD, JLE, JLF, JLG}. append9(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), erlang:element(7, Tuple), erlang:element(8, Tuple), erlang:element(9, Tuple), Data}. -spec replace_last1({any()}, JLI) -> {JLI}. replace_last1(_, Data) -> {Data}. -spec replace_last2({JLJ, any()}, JLL) -> {JLJ, JLL}. replace_last2(Tuple, Data) -> {erlang:element(1, Tuple), Data}. -spec replace_last3({JLM, JLN, any()}, JLP) -> {JLM, JLN, JLP}. replace_last3(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), Data}. -spec replace_last4({JLQ, JLR, JLS, any()}, JLU) -> {JLQ, JLR, JLS, JLU}. replace_last4(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), Data}. -spec replace_last5({JLV, JLW, JLX, JLY, any()}, JMA) -> {JLV, JLW, JLX, JLY, JMA}. replace_last5(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), Data}. -spec replace_last6({JMB, JMC, JMD, JME, JMF, any()}, JMH) -> {JMB, JMC, JMD, JME, JMF, JMH}. replace_last6(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), Data}. -spec replace_last7({JMI, JMJ, JMK, JML, JMM, JMN, any()}, JMP) -> {JMI, JMJ, JMK, JML, JMM, JMN, JMP}. replace_last7(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), Data}. -spec replace_last8({JMQ, JMR, JMS, JMT, JMU, JMV, JMW, any()}, JMY) -> {JMQ, JMR, JMS, JMT, JMU, JMV, JMW, JMY}. replace_last8(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), erlang:element(7, Tuple), Data}. -spec replace_last9({JMZ, JNA, JNB, JNC, JND, JNE, JNF, JNG, any()}, JNI) -> {JMZ, JNA, JNB, JNC, JND, JNE, JNF, JNG, JNI}. replace_last9(Tuple, Data) -> {erlang:element(1, Tuple), erlang:element(2, Tuple), erlang:element(3, Tuple), erlang:element(4, Tuple), erlang:element(5, Tuple), erlang:element(6, Tuple), erlang:element(7, Tuple), erlang:element(8, Tuple), Data}.