Current section
Files
Jump to
Current section
Files
src/gladvent@internal@input.erl
-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>>.