Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceHandlers/Configuration/
EnvironmentGet.rs

1//! Wire method: `environment:get`.
2
3use std::sync::Arc;
4
5use serde_json::{Value, json};
6
7use crate::{RunTime::ApplicationRunTime::ApplicationRunTime, dev_log};
8
9pub async fn Fn(RunTime:Arc<ApplicationRunTime>, Arguments:Vec<Value>) -> Result<Value, String> {
10	let key = Arguments
11		.get(0)
12		.ok_or("Missing environment key".to_string())?
13		.as_str()
14		.ok_or("Environment key must be a string".to_string())?;
15
16	let value = std::env::var(key).map_err(|Error| format!("Failed to get environment variable: {}", Error))?;
17
18	dev_log!("config", "env_get: {}", key);
19
20	Ok(json!(value))
21}