use crate::constants::*;
use crate::result::{Error, Result};
use std::fs;
use std::path::{Path, PathBuf};
pub fn canonicalize_path<P: AsRef<Path>>(path: P) -> Result<PathBuf> {
match fs::canonicalize(path) {
Ok(path) => Ok(path),
Err(err) => Err(Error::from(err)),
}
}
pub fn thot_dir_of(path: &Path) -> PathBuf {
path.join(THOT_DIR)
}
pub fn project_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(PROJECT_FILE)
}
pub fn project_settings_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(PROJECT_SETTINGS_FILE)
}
pub fn container_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(CONTAINER_FILE)
}
pub fn container_settings_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(CONTAINER_SETTINGS_FILE)
}
pub fn assets_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(ASSETS_FILE)
}
pub fn scripts_file_of(path: &Path) -> PathBuf {
thot_dir_of(path).join(SCRIPTS_FILE)
}
#[cfg(test)]
#[path = "./common_test.rs"]
mod common_test;