refactor(tvix/store): implement rename for node::Node
This returns a node with a new name. Change-Id: Iebcab537f8dd63d826b9841d4d0181fcb941afdd Reviewed-on: https://cl.tvl.fyi/c/depot/+/9211 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
1e9d262ad5
commit
116a137be0
2 changed files with 13 additions and 16 deletions
|
|
@ -203,6 +203,17 @@ impl NamedNode for node::Node {
|
|||
}
|
||||
}
|
||||
|
||||
impl node::Node {
|
||||
/// Returns the node with a new name.
|
||||
pub fn rename(self, name: bytes::Bytes) -> Self {
|
||||
match self {
|
||||
node::Node::Directory(n) => node::Node::Directory(DirectoryNode { name, ..n }),
|
||||
node::Node::File(n) => node::Node::File(FileNode { name, ..n }),
|
||||
node::Node::Symlink(n) => node::Node::Symlink(SymlinkNode { name, ..n }),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Accepts a name, and a mutable reference to the previous name.
|
||||
/// If the passed name is larger than the previous one, the reference is updated.
|
||||
/// If it's not, an error is returned.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue