From 923e1752662ed381fabc0012f3d9078832a8c7c4 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 14 Mar 2026 16:05:22 +0800 Subject: Simplify SheetData RWData implementation --- systems/sheet/src/sheet.rs | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) (limited to 'systems/sheet') diff --git a/systems/sheet/src/sheet.rs b/systems/sheet/src/sheet.rs index cca2450..7bdc532 100644 --- a/systems/sheet/src/sheet.rs +++ b/systems/sheet/src/sheet.rs @@ -5,7 +5,7 @@ use std::{ path::{Path, PathBuf}, }; -use asset_system::{RWDataTest, rw::RWData}; +use asset_system::{RWDataTest, error::DataReadError, rw::RWData}; use memmap2::Mmap; use serde::{Deserialize, Serialize}; use tokio::fs; @@ -553,34 +553,20 @@ impl TryFrom<&[u8]> for SheetData { impl RWData for SheetData { async fn read(path: &PathBuf) -> Result { - let read_data = SheetData::full_read(&mut SheetData::empty(), path).await; - match read_data { - Ok(_) => { - let data = SheetData::full_read(&mut SheetData::empty(), path).await; - match data { - Ok(_) => Ok(SheetData::empty()), - Err(e) => Err(asset_system::error::DataReadError::IoError( - std::io::Error::new(std::io::ErrorKind::Other, e.to_string()), - )), - } - } - Err(e) => Err(asset_system::error::DataReadError::IoError( - std::io::Error::new(std::io::ErrorKind::Other, e.to_string()), - )), - } + let mut data = SheetData::empty(); + data.full_read(path).await.map_err(|e| match e { + ReadSheetDataError::IOErr(error) => DataReadError::IoError(error), + })?; + Ok(data) } async fn write( data: SheetData, path: &PathBuf, ) -> Result<(), asset_system::error::DataWriteError> { - let write_data = tokio::fs::write(path, data.as_bytes()).await; - match write_data { - Ok(_) => Ok(()), - Err(e) => Err(asset_system::error::DataWriteError::IoError( - std::io::Error::new(std::io::ErrorKind::Other, e.to_string()), - )), - } + tokio::fs::write(path, data.as_bytes()) + .await + .map_err(|e| asset_system::error::DataWriteError::IoError(e.into())) } fn test_data() -> SheetData { -- cgit