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}