summaryrefslogtreecommitdiff
path: root/systems/_asset
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-20 21:54:29 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-20 21:57:49 +0800
commit9a60751a901f568bdeb154c4115235d4f3a0f8b9 (patch)
tree65df323f6478bae51473a3d6471df39a596ce9c5 /systems/_asset
parenta9e5c086584d3e697188be7003f564e7e2137135 (diff)
Apply clippy suggestions and improve code quality
Diffstat (limited to 'systems/_asset')
-rw-r--r--systems/_asset/src/asset.rs37
-rw-r--r--systems/_asset/src/rw.rs16
-rw-r--r--systems/_asset/test/src/lib.rs12
3 files changed, 29 insertions, 36 deletions
diff --git a/systems/_asset/src/asset.rs b/systems/_asset/src/asset.rs
index c2b75e6..f452e2b 100644
--- a/systems/_asset/src/asset.rs
+++ b/systems/_asset/src/asset.rs
@@ -99,21 +99,17 @@ where
.open(&lock_path)
.await
{
- Ok(_) => {
- return Ok(Handle {
- _data_type: PhantomData,
- writed: false,
- asset_path: self.path.clone(),
- lock_path,
- temp_path,
- });
- }
+ Ok(_) => Ok(Handle {
+ _data_type: PhantomData,
+ writed: false,
+ asset_path: self.path.clone(),
+ lock_path,
+ temp_path,
+ }),
Err(e) if e.kind() == std::io::ErrorKind::AlreadyExists => {
- return Err(HandleLockError::AssetLocked);
- }
- Err(e) => {
- return Err(HandleLockError::IoError(e));
+ Err(HandleLockError::AssetLocked)
}
+ Err(e) => Err(HandleLockError::IoError(e)),
}
}
@@ -231,7 +227,7 @@ where
if self.writed {
tokio::fs::rename(&from, &to)
.await
- .map_err(|e| DataApplyError::IoError(e))?;
+ .map_err(DataApplyError::IoError)?;
}
Ok(())
}
@@ -350,18 +346,15 @@ async fn check_asset_path<D>(handle: &Handle<D>) -> Result<(), PrecheckFailed>
where
D: RWData<D>,
{
- if let Some(file_name) = handle.asset_path.file_name() {
- if check_path(file_name).is_ok() {
- return Ok(());
- }
+ if let Some(file_name) = handle.asset_path.file_name()
+ && check_path(file_name).is_ok()
+ {
+ return Ok(());
}
Err(PrecheckFailed::AssetPathInvalid)
}
-async fn check_handle_is_cross_directory(
- from: &PathBuf,
- to: &PathBuf,
-) -> Result<(), PrecheckFailed> {
+async fn check_handle_is_cross_directory(from: &Path, to: &Path) -> Result<(), PrecheckFailed> {
let from_parent = from.parent();
let to_parent = to.parent();
diff --git a/systems/_asset/src/rw.rs b/systems/_asset/src/rw.rs
index 9a46144..7595138 100644
--- a/systems/_asset/src/rw.rs
+++ b/systems/_asset/src/rw.rs
@@ -1,17 +1,17 @@
-use std::path::PathBuf;
+use std::path::Path;
use crate::error::{DataReadError, DataWriteError};
pub trait RWData<DataType> {
/// Implement read logic
/// Given a path, return the specific data
- fn read(path: &PathBuf) -> impl Future<Output = Result<DataType, DataReadError>> + Send + Sync;
+ fn read(path: &Path) -> impl Future<Output = Result<DataType, DataReadError>> + Send + Sync;
/// Implement write logic
/// Given data and a path, write to the filesystem
fn write(
data: DataType,
- path: &PathBuf,
+ path: &Path,
) -> impl Future<Output = Result<(), DataWriteError>> + Send + Sync;
/// Provide test data
@@ -42,10 +42,10 @@ pub struct FooData {
}
impl RWData<FooData> for FooData {
- async fn read(path: &PathBuf) -> Result<FooData, DataReadError> {
+ async fn read(path: &Path) -> Result<FooData, DataReadError> {
let content = tokio::fs::read_to_string(path)
.await
- .map_err(|e| DataReadError::IoError(e))?;
+ .map_err(DataReadError::IoError)?;
let parts: Vec<&str> = content.split('=').collect();
if parts.len() != 2 {
return Err(DataReadError::ParseError("Invalid format".to_string()));
@@ -57,11 +57,11 @@ impl RWData<FooData> for FooData {
Ok(FooData { age, name })
}
- async fn write(data: FooData, path: &PathBuf) -> Result<(), DataWriteError> {
+ async fn write(data: FooData, path: &Path) -> Result<(), DataWriteError> {
let content = format!("{}={}", data.name, data.age);
tokio::fs::write(path, content)
.await
- .map_err(|e| DataWriteError::IoError(e))?;
+ .map_err(DataWriteError::IoError)?;
Ok(())
}
@@ -75,6 +75,6 @@ impl RWData<FooData> for FooData {
fn verify_data(data_a: FooData, data_b: FooData) -> bool {
crate::ensure_eq!(data_a.age, data_b.age);
crate::ensure_eq!(data_a.name, data_b.name);
- return true;
+ true
}
}
diff --git a/systems/_asset/test/src/lib.rs b/systems/_asset/test/src/lib.rs
index 4b62028..d7bf653 100644
--- a/systems/_asset/test/src/lib.rs
+++ b/systems/_asset/test/src/lib.rs
@@ -1,4 +1,4 @@
-use std::path::PathBuf;
+use std::path::Path;
use asset_system::{
RWDataTest, ensure_eq,
@@ -13,10 +13,10 @@ pub struct FooData {
}
impl RWData<FooData> for FooData {
- async fn read(path: &PathBuf) -> Result<FooData, DataReadError> {
+ async fn read(path: &Path) -> Result<FooData, DataReadError> {
let content = tokio::fs::read_to_string(path)
.await
- .map_err(|e| DataReadError::IoError(e))?;
+ .map_err(DataReadError::IoError)?;
let parts: Vec<&str> = content.split('=').collect();
if parts.len() != 2 {
return Err(DataReadError::ParseError("Invalid format".to_string()));
@@ -28,11 +28,11 @@ impl RWData<FooData> for FooData {
Ok(FooData { age, name })
}
- async fn write(data: FooData, path: &PathBuf) -> Result<(), DataWriteError> {
+ async fn write(data: FooData, path: &Path) -> Result<(), DataWriteError> {
let content = format!("{}={}", data.name, data.age);
tokio::fs::write(path, content)
.await
- .map_err(|e| DataWriteError::IoError(e))?;
+ .map_err(DataWriteError::IoError)?;
Ok(())
}
@@ -46,6 +46,6 @@ impl RWData<FooData> for FooData {
fn verify_data(data_a: FooData, data_b: FooData) -> bool {
ensure_eq!(data_a.age, data_b.age);
ensure_eq!(data_a.name, data_b.name);
- return true;
+ true
}
}