1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/os/environment.js.v

50 lines
1.1 KiB
V
Raw Normal View History

module os
$if js_node {
#global.$ENV = $process.env
} $else {
#const global = $global;
#global.$ENV = {}
}
// 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 := ''
#if ($ENV[key]) res = new string($ENV[key])
return res
}
// `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
}
// 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
}