img_optimize/magic.rs
1pub fn detect_file_type_with_magic_number<'a>(bytes: &[u8]) -> Result<&'a str, ()> {
2 match bytes {
3 [0x89, 0x50, 0x4E, 0x47, ..] => Ok("png"),
4 [0xFF, 0xD8, ..] => Ok("jpeg"),
5 [0x52, 0x49, 0x46, 0x46, _, _, _, _, 0x57, 0x45, 0x42, 0x50, ..] => Ok("webp"),
6 [0x49, 0x49, 0xBC, ..] => Ok("jxr"),
7 [0xFF, 0x0A, ..] => Ok("jxl"),
8 [0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A, ..] => Ok("jxl"),
9 _ => Err(()),
10 }
11}