-module(refrakt@cli@project). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/refrakt/cli/project.gleam"). -export([app_name/0, detect_db/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. -file("src/refrakt/cli/project.gleam", 9). ?DOC(" Read the project name from gleam.toml in the current directory.\n"). -spec app_name() -> binary(). app_name() -> Content@1 = case simplifile:read(<<"gleam.toml"/utf8>>) of {ok, Content} -> Content; _assert_fail -> erlang:error(#{gleam_error => let_assert, message => <<"Pattern match failed, no pattern matched the value."/utf8>>, file => <>, module => <<"refrakt/cli/project"/utf8>>, function => <<"app_name"/utf8>>, line => 10, value => _assert_fail, start => 302, 'end' => 356, pattern_start => 313, pattern_end => 324}) end, Parsed@1 = case tom:parse(Content@1) of {ok, Parsed} -> Parsed; _assert_fail@1 -> erlang:error(#{gleam_error => let_assert, message => <<"Pattern match failed, no pattern matched the value."/utf8>>, file => <>, module => <<"refrakt/cli/project"/utf8>>, function => <<"app_name"/utf8>>, line => 11, value => _assert_fail@1, start => 359, 'end' => 401, pattern_start => 370, pattern_end => 380}) end, Name@1 = case tom:get_string(Parsed@1, [<<"name"/utf8>>]) of {ok, Name} -> Name; _assert_fail@2 -> erlang:error(#{gleam_error => let_assert, message => <<"Pattern match failed, no pattern matched the value."/utf8>>, file => <>, module => <<"refrakt/cli/project"/utf8>>, function => <<"app_name"/utf8>>, line => 12, value => _assert_fail@2, start => 404, 'end' => 458, pattern_start => 415, pattern_end => 423}) end, Name@1. -file("src/refrakt/cli/project.gleam", 17). ?DOC(" Detect DB choice from gleam.toml dependencies.\n"). -spec detect_db() -> refrakt@cli@types:db_choice(). detect_db() -> Content@1 = case simplifile:read(<<"gleam.toml"/utf8>>) of {ok, Content} -> Content; _assert_fail -> erlang:error(#{gleam_error => let_assert, message => <<"Pattern match failed, no pattern matched the value."/utf8>>, file => <>, module => <<"refrakt/cli/project"/utf8>>, function => <<"detect_db"/utf8>>, line => 18, value => _assert_fail, start => 555, 'end' => 609, pattern_start => 566, pattern_end => 577}) end, case gleam_stdlib:contains_string(Content@1, <<"pog"/utf8>>) of true -> postgres; false -> case gleam_stdlib:contains_string(Content@1, <<"sqlight"/utf8>>) of true -> sqlite; false -> no_db end end.