pub struct Type { /* private fields */ }
Expand description
Generic information for a type
Implementations§
source§impl Type
impl Type
sourcepub fn new(
matcher_type: MatcherType,
mime_type: &'static str,
extension: &'static str,
matcher: Matcher
) -> Self
pub fn new( matcher_type: MatcherType, mime_type: &'static str, extension: &'static str, matcher: Matcher ) -> Self
Returns a new Type
with matcher and extension.
sourcepub const fn matcher_type(&self) -> MatcherType
pub const fn matcher_type(&self) -> MatcherType
Returns the type of matcher
Examples
let info = infer::Infer::new();
let buf = [0xFF, 0xD8, 0xFF, 0xAA];
let kind = info.get(&buf).expect("file type is known");
assert_eq!(kind.matcher_type(), infer::MatcherType::Image);
sourcepub const fn mime_type(&self) -> &'static str
pub const fn mime_type(&self) -> &'static str
Returns the mime type
Examples found in repository?
examples/file.rs (line 17)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let mut args = args();
let path = match args.nth(1) {
Some(path) => path,
None => {
eprintln!("Please specify the file path");
exit(1);
}
};
match infer::get_from_path(path) {
Ok(Some(info)) => {
println!("Through the arcane magic of this crate we determined the file type to be");
println!("mime type: {}", info.mime_type());
println!("extension: {}", info.extension());
}
Ok(None) => {
eprintln!("Unknown file type 😞");
eprintln!("If you think infer should be able to recognize this file type open an issue on GitHub!");
exit(1);
}
Err(e) => {
eprintln!("Looks like something went wrong 😔");
eprintln!("{}", e);
exit(1);
}
}
}
sourcepub const fn extension(&self) -> &'static str
pub const fn extension(&self) -> &'static str
Returns the file extension
Examples found in repository?
examples/file.rs (line 18)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let mut args = args();
let path = match args.nth(1) {
Some(path) => path,
None => {
eprintln!("Please specify the file path");
exit(1);
}
};
match infer::get_from_path(path) {
Ok(Some(info)) => {
println!("Through the arcane magic of this crate we determined the file type to be");
println!("mime type: {}", info.mime_type());
println!("extension: {}", info.extension());
}
Ok(None) => {
eprintln!("Unknown file type 😞");
eprintln!("If you think infer should be able to recognize this file type open an issue on GitHub!");
exit(1);
}
Err(e) => {
eprintln!("Looks like something went wrong 😔");
eprintln!("{}", e);
exit(1);
}
}
}