-module(dotenv_gleam). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([config_with/1, config/0]). -export_type([dot_env_error/0]). -type dot_env_error() :: {error_reading_env_file, simplifile:file_error()}. -file("/Users/grubba/Desktop/personal/gleam_dotenv/src/dotenv_gleam.gleam", 52). -spec config_with(binary()) -> {ok, nil} | {error, dot_env_error()}. config_with(File) -> gleam@result:map( begin _pipe = simplifile:read(File), gleam@result:map_error( _pipe, fun(Field@0) -> {error_reading_env_file, Field@0} end ) end, fun(Env_file) -> _pipe@1 = gleam@string:split(Env_file, <<"\n"/utf8>>), _pipe@2 = gleam@list:filter( _pipe@1, fun(Line) -> Line /= <<""/utf8>> end ), gleam@list:each( _pipe@2, fun(Line@1) -> Splited_line = gleam@string:split(Line@1, <<"="/utf8>>), Key = begin _pipe@3 = gleam@list:first(Splited_line), _pipe@4 = gleam@result:unwrap(_pipe@3, <<""/utf8>>), gleam@string:trim(_pipe@4) end, Value = begin _pipe@5 = gleam@list:drop(Splited_line, 1), _pipe@6 = gleam@string:join(_pipe@5, <<"="/utf8>>), gleam@string:trim(_pipe@6) end, envoy_ffi:set(Key, Value) end ) end ). -file("/Users/grubba/Desktop/personal/gleam_dotenv/src/dotenv_gleam.gleam", 30). -spec config() -> {ok, nil} | {error, dot_env_error()}. config() -> config_with(<<".env"/utf8>>).