envl 0.10.1

load .envl and .envlconf
Documentation
use envl_utils::variable::Value;
use proc_macro2::TokenStream;
use std::io::Error;

use crate::{generator::rust::var::value::gen_value, VarData};

pub mod array;
pub mod gen_struct;
pub mod value;

pub fn parse_var(
    name: String,
    var: VarData,
    structs: &mut Vec<TokenStream>,
) -> Result<String, Error> {
    match var.value {
        Value::Null => {
            match gen_value(
                name,
                var.v_type.to_owned(),
                var.default_value.to_owned(),
                structs,
            ) {
                Ok(r) => Ok(r.to_string()),
                Err(err) => Err(err),
            }
        }
        _ => match gen_value(name, var.v_type.to_owned(), var.value.to_owned(), structs) {
            Ok(r) => Ok(r.to_string()),
            Err(err) => Err(err),
        },
    }
}