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);
}
}
}
Trait Implementations§
source§impl PartialEq<Type> for Type
impl PartialEq<Type> for Type
impl Copy for Type
Auto Trait Implementations§
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnwindSafe for Type
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more