2021-08-23 13:25:02 +02:00
|
|
|
module os
|
|
|
|
|
|
|
|
$if js_node {
|
2021-08-26 14:20:54 +02:00
|
|
|
#global.$ENV = $process.env
|
2021-08-23 13:25:02 +02:00
|
|
|
} $else {
|
2021-12-20 14:18:21 +01:00
|
|
|
#const global = $global;
|
2021-08-26 14:20:54 +02:00
|
|
|
#global.$ENV = {}
|
2021-08-23 13:25:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// setenv sets the value of an environment variable with `name` to `value`.
|
|
|
|
pub fn setenv(key string, val string, overwrite bool) {
|
|
|
|
#if ($ENV[key] && !(overwrite.valueOf())) return;
|
|
|
|
#$ENV[key] = val + '';
|
|
|
|
}
|
|
|
|
|
|
|
|
// `getenv` returns the value of the environment variable named by the key.
|
|
|
|
pub fn getenv(key string) string {
|
|
|
|
mut res := ''
|
2021-09-08 19:30:46 +02:00
|
|
|
#if ($ENV[key]) res = new string($ENV[key])
|
2021-08-23 13:25:02 +02:00
|
|
|
|
|
|
|
return res
|
|
|
|
}
|
|
|
|
|
2021-11-21 19:53:42 +01:00
|
|
|
// `getenv_opt` returns the value of the environment variable named by the key.
|
|
|
|
// If such an environment variable does not exist, then it returns `none`.
|
|
|
|
pub fn getenv_opt(key string) ?string {
|
|
|
|
#if (!$ENV[key]) return none__;
|
|
|
|
|
|
|
|
mut res := ''
|
|
|
|
#if ($ENV[key]) res = new string($ENV[key]);
|
|
|
|
|
|
|
|
return res
|
|
|
|
}
|
|
|
|
|
2021-08-23 13:25:02 +02:00
|
|
|
// unsetenv clears an environment variable with `name`.
|
|
|
|
pub fn unsetenv(name string) int {
|
|
|
|
#$ENV[name] = ""
|
|
|
|
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn environ() map[string]string {
|
|
|
|
mut res := map[string]string{}
|
|
|
|
#for (const key in $ENV) {
|
|
|
|
#res.map.set(key,$ENV[key])
|
|
|
|
#}
|
|
|
|
|
|
|
|
return res
|
|
|
|
}
|