Packages
gleam_stdlib
0.16.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/src/gleam@os.erl
-module(gleam@os).
-compile(no_auto_import).
-export([get_env/0, insert_env/2, delete_env/1, system_time/1, erlang_timestamp/0]).
-export_type([char_list/0, time_unit/0]).
-type char_list() :: any().
-type time_unit() :: second | millisecond | microsecond | nanosecond.
-spec get_env() -> gleam@map:map_(binary(), binary()).
get_env() ->
gleam@map:from_list(
gleam@list:map(
os:getenv(),
fun(Char_list) ->
{ok, Value@1} = case gleam@string:split_once(
unicode:characters_to_binary(Char_list),
<<"="/utf8>>
) of
{ok, Value} -> {ok, Value};
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/os"/utf8>>,
function => <<"get_env"/utf8>>,
line => 30})
end,
Value@1
end
)
).
-spec insert_env(binary(), binary()) -> nil.
insert_env(Key, Value) ->
os:putenv(
unicode:characters_to_list(Key),
unicode:characters_to_list(Value)
),
nil.
-spec delete_env(binary()) -> nil.
delete_env(Key) ->
os:unsetenv(unicode:characters_to_list(Key)),
nil.
-spec system_time(time_unit()) -> integer().
system_time(A) ->
os:system_time(A).
-spec erlang_timestamp() -> {integer(), integer(), integer()}.
erlang_timestamp() ->
os:timestamp().