-module(gladvent@internal@input). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gladvent/internal/input.gleam"). -export([root/0, dir/1, get_file_path/3]). -export_type([kind/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -type kind() :: example | puzzle. -file("src/gladvent/internal/input.gleam", 18). ?DOC(false). -spec root() -> binary(). root() -> filepath:join(gladvent@internal@cmd:root(), <<"input"/utf8>>). -file("src/gladvent/internal/input.gleam", 22). ?DOC(false). -spec dir(integer()) -> binary(). dir(Year) -> filepath:join(root(), erlang:integer_to_binary(Year)). -file("src/gladvent/internal/input.gleam", 10). ?DOC(false). -spec get_file_path(integer(), integer(), kind()) -> binary(). get_file_path(Year, Day, Input_kind) -> <<(filepath:join(dir(Year), erlang:integer_to_binary(Day)))/binary, (case Input_kind of example -> <<".example.txt"/utf8>>; puzzle -> <<".txt"/utf8>> end)/binary>>.