about summary refs log tree commit diff
path: root/tvix/nix-compat/src/nixhash.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/nix-compat/src/nixhash.rs')
-rw-r--r--tvix/nix-compat/src/nixhash.rs40
1 files changed, 2 insertions, 38 deletions
diff --git a/tvix/nix-compat/src/nixhash.rs b/tvix/nix-compat/src/nixhash.rs
index 69ed98ff96..0c7637c60a 100644
--- a/tvix/nix-compat/src/nixhash.rs
+++ b/tvix/nix-compat/src/nixhash.rs
@@ -1,10 +1,8 @@
+use crate::nixbase32;
 use data_encoding::{BASE64, BASE64_NOPAD, HEXLOWER};
-use serde::{Deserialize, Serialize};
-use std::fmt::Display;
 use thiserror::Error;
 
-use crate::nixbase32;
-
+pub use crate::nixhash_algos::HashAlgo;
 pub use crate::nixhash_with_mode::NixHashWithMode;
 
 /// Nix allows specifying hashes in various encodings, and magically just
@@ -29,40 +27,6 @@ impl NixHash {
     }
 }
 
-/// This are the hash algorithms supported by cppnix.
-#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
-pub enum HashAlgo {
-    Md5,
-    Sha1,
-    Sha256,
-    Sha512,
-}
-
-impl Display for HashAlgo {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        match &self {
-            HashAlgo::Md5 => write!(f, "md5"),
-            HashAlgo::Sha1 => write!(f, "sha1"),
-            HashAlgo::Sha256 => write!(f, "sha256"),
-            HashAlgo::Sha512 => write!(f, "sha512"),
-        }
-    }
-}
-
-impl TryFrom<&str> for HashAlgo {
-    type Error = Error;
-
-    fn try_from(algo_str: &str) -> Result<Self, Self::Error> {
-        match algo_str {
-            "md5" => Ok(Self::Md5),
-            "sha1" => Ok(Self::Sha1),
-            "sha256" => Ok(Self::Sha256),
-            "sha512" => Ok(Self::Sha512),
-            _ => Err(Error::InvalidAlgo(algo_str.to_string())),
-        }
-    }
-}
-
 /// Errors related to NixHash construction.
 #[derive(Debug, Error)]
 pub enum Error {