You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
572 B

use envy::{from_env, Result as EnvResult};
use serde::{de::DeserializeOwned, Deserialize};
#[derive(Deserialize)]
pub struct DefaultEnv {
#[serde(default = "default_host")]
pub u_server: String,
}
pub fn load_env<E: DeserializeOwned>() -> EnvResult<E> {
dot();
from_env()
}
pub fn load_env_default() -> EnvResult<DefaultEnv> {
dot();
from_env()
}
fn dot() {
let envs = [".env", ".env.private"];
for envfile in &envs {
dotenv::from_filename(envfile).ok();
}
}
pub fn default_host() -> String {
"ortem.xyz".to_string()
}