diff options
author | edef <edef@edef.eu> | 2023-10-27T11·35+0000 |
---|---|---|
committer | edef <edef@edef.eu> | 2023-10-27T13·56+0000 |
commit | 7f7c1ae7be97a54e8a52bda29e6d2c22f2efb822 (patch) | |
tree | c05a0fa85a32a1561c85c44e3ee51e561a60081a /tvix/nix-compat | |
parent | 36f2b69de59ddd9f64c1f37c9ef1422661643245 (diff) |
refactor(nix-compat/store_path): make digest and name private r/6888
Change-Id: I62cbe883afcf3dd0c8d4de0e3b845069eb750c97 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9855 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/nix-compat')
-rw-r--r-- | tvix/nix-compat/src/store_path/mod.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tvix/nix-compat/src/store_path/mod.rs b/tvix/nix-compat/src/store_path/mod.rs index c1df442adc89..93b1d80bbfe3 100644 --- a/tvix/nix-compat/src/store_path/mod.rs +++ b/tvix/nix-compat/src/store_path/mod.rs @@ -52,8 +52,18 @@ pub enum Error { /// path. #[derive(Clone, Debug, PartialEq, Eq, Hash)] pub struct StorePath { - pub digest: [u8; DIGEST_SIZE], - pub name: String, + digest: [u8; DIGEST_SIZE], + name: String, +} + +impl StorePath { + pub fn digest(&self) -> &[u8; DIGEST_SIZE] { + &self.digest + } + + pub fn name(&self) -> &str { + self.name.as_ref() + } } impl PartialOrd for StorePath { @@ -187,14 +197,6 @@ pub(crate) fn validate_name(s: &[u8]) -> Result<String, Error> { Ok(String::from_utf8(s.to_vec()).unwrap()) } -/// Ensures the StorePath fulfils the requirements for store paths. -/// Useful when populating the struct manually instead of parsing. -pub fn validate(s: &StorePath) -> Result<(), Error> { - validate_name(s.name.as_bytes())?; - - Ok(()) -} - impl fmt::Display for StorePath { /// The string representation of a store path starts with a digest (20 /// bytes), [crate::nixbase32]-encoded, followed by a `-`, |