summaryrefslogtreecommitdiff
path: root/crates/vcs/src/data/sheet.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-09-26 11:08:47 +0800
committer魏曹先生 <1992414357@qq.com>2025-09-26 11:08:47 +0800
commite366cade07b5408f95a0e6c268ee123e014e261c (patch)
tree5843009b3fb9df7694aa5172314011c5a3441dd5 /crates/vcs/src/data/sheet.rs
parent47e56cc4a912c5bd7d1685f49b8ab2161f58daf0 (diff)
refactor: convert InputPackage from tuple to named struct
- Replace tuple-based InputPackage with named struct for better type safety - Add proper field names and documentation - Fix typo in InputRelativePathBuf type name - Update add_input and remove_input methods to work with new struct - Maintain serialization compatibility with derive attributes
Diffstat (limited to 'crates/vcs/src/data/sheet.rs')
-rw-r--r--crates/vcs/src/data/sheet.rs20
1 files changed, 15 insertions, 5 deletions
diff --git a/crates/vcs/src/data/sheet.rs b/crates/vcs/src/data/sheet.rs
index 3acc8ff..17a0981 100644
--- a/crates/vcs/src/data/sheet.rs
+++ b/crates/vcs/src/data/sheet.rs
@@ -14,8 +14,15 @@ use crate::{
pub type SheetName = String;
pub type SheetPathBuf = PathBuf;
pub type InputName = String;
-pub type InputPackage = (InputName, Vec<(InputRaltivePathBuf, VirtualFileId)>);
-pub type InputRaltivePathBuf = PathBuf;
+pub type InputRelativePathBuf = PathBuf;
+
+#[derive(Debug, Clone, Serialize, Deserialize)]
+pub struct InputPackage {
+ /// Name of the input package
+ pub name: InputName,
+ /// Files in this input package with their relative paths and virtual file IDs
+ pub files: Vec<(InputRelativePathBuf, VirtualFileId)>,
+}
const SHEET_NAME: &str = "{sheet-name}";
@@ -62,9 +69,12 @@ impl<'a> Sheet<'a> {
pub fn add_input(
&mut self,
input_name: InputName,
- files: Vec<(InputRaltivePathBuf, VirtualFileId)>,
+ files: Vec<(InputRelativePathBuf, VirtualFileId)>,
) {
- self.data.inputs.push((input_name, files));
+ self.data.inputs.push(InputPackage {
+ name: input_name,
+ files,
+ });
}
/// Remove an input package from the sheet
@@ -72,7 +82,7 @@ impl<'a> Sheet<'a> {
self.data
.inputs
.iter()
- .position(|(name, _)| name == input_name)
+ .position(|input| input.name == *input_name)
.map(|pos| self.data.inputs.remove(pos))
}