Enum tauri::api::path::BaseDirectory
source · #[repr(u16)]
#[non_exhaustive]
pub enum BaseDirectory {
Show 20 variants
Audio,
Cache,
Config,
Data,
LocalData,
Desktop,
Document,
Download,
Executable,
Font,
Home,
Picture,
Public,
Runtime,
Template,
Video,
Resource,
App,
Log,
Temp,
}
Expand description
A base directory to be used in resolve_path
.
The base directory is the optional root of a file system operation. If informed by the API call, all paths will be relative to the path of the given directory.
For more information, check the dirs_next
documentation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Audio
The Audio directory.
Cache
The Cache directory.
Config
The Config directory.
Data
The Data directory.
LocalData
The LocalData directory.
Desktop
The Desktop directory.
Document
The Document directory.
Download
The Download directory.
Executable
The Executable directory.
Font
The Font directory.
Home
The Home directory.
Picture
The Picture directory.
Public
The Public directory.
Runtime
The Runtime directory.
Template
The Template directory.
Video
The Video directory.
Resource
The Resource directory.
App
The default App config directory.
Resolves to BaseDirectory::Config
.
Log
The Log directory.
Resolves to BaseDirectory::Home/Library/Logs/{bundle_identifier}
on macOS
and BaseDirectory::Config/{bundle_identifier}/logs
on linux and windows.
Temp
A temporary directory.
Resolves to temp_dir
.
Implementations§
source§impl BaseDirectory
impl BaseDirectory
sourcepub fn variable(self) -> &'static str
pub fn variable(self) -> &'static str
Gets the variable that represents this BaseDirectory
for string paths.
sourcepub fn from_variable(variable: &str) -> Option<Self>
pub fn from_variable(variable: &str) -> Option<Self>
Gets the BaseDirectory
associated with the given variable, or None
if the variable doesn’t match any.
Examples found in repository?
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
pub fn parse<P: AsRef<Path>>(
config: &Config,
package_info: &PackageInfo,
env: &Env,
path: P,
) -> crate::api::Result<PathBuf> {
let mut p = PathBuf::new();
let mut components = path.as_ref().components();
match components.next() {
Some(Component::Normal(str)) => {
if let Some(base_directory) = BaseDirectory::from_variable(&str.to_string_lossy()) {
p.push(resolve_path(
config,
package_info,
env,
"",
Some(base_directory),
)?);
} else {
p.push(str);
}
}
Some(component) => p.push(component),
None => (),
}
for component in components {
if let Component::ParentDir = component {
continue;
}
p.push(component);
}
Ok(p)
}
Trait Implementations§
source§impl Clone for BaseDirectory
impl Clone for BaseDirectory
source§fn clone(&self) -> BaseDirectory
fn clone(&self) -> BaseDirectory
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more