From fca4577c0f35c3bff69296f18419f6089e064ec5 Mon Sep 17 00:00:00 2001 From: electria Date: Fri, 31 Jul 2026 00:24:39 -0700 Subject: [PATCH] refactor(kra): factor out error mapping --- src/kra.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/kra.rs b/src/kra.rs index 5e3d626..3642370 100644 --- a/src/kra.rs +++ b/src/kra.rs @@ -15,19 +15,9 @@ pub fn register() -> bool { } fn hook<'a>(reader: GenericReader<'a>) -> ImageResult> { - let mut zip = ZipArchive::new(reader).map_err(|e| { - ImageError::Decoding(DecodingError::new( - image::error::ImageFormatHint::PathExtension("kra".into()), - e, - )) - })?; + let mut zip = ZipArchive::new(reader).map_err(to_image_error)?; - let mut reader = zip.by_name("mergedimage.png").map_err(|e| { - ImageError::Decoding(DecodingError::new( - image::error::ImageFormatHint::PathExtension("kra".into()), - e, - )) - })?; + let mut reader = zip.by_name("mergedimage.png").map_err(to_image_error)?; // reading it all and wrapping it with a Cursor // is the only way I know to give it Seek @@ -39,3 +29,12 @@ fn hook<'a>(reader: GenericReader<'a>) -> ImageResult Ok(Box::new(image_reader.into_decoder()?)) } + +fn to_image_error( + e: impl Into>, +) -> ImageError { + ImageError::Decoding(DecodingError::new( + image::error::ImageFormatHint::PathExtension("kra".into()), + e, + )) +}