Combine into a single impl for FlakeLock

This commit is contained in:
Luc Perkins 2023-06-21 14:12:34 -07:00
parent 92c4775227
commit 4336c8d394
No known key found for this signature in database
GPG Key ID: 4F102D0C16E232F2

View File

@ -114,6 +114,14 @@ impl FlakeLock {
let flake_lock: FlakeLock = serde_json::from_str(&flake_lock_file)?;
Ok(flake_lock)
}
fn nixpkgs_deps(&self) -> HashMap<String, Node> {
self.nodes
.iter()
.filter(|(k, v)| matches!(v, Node::Repo(_)) && k == &"nixpkgs")
.map(|(k, v)| (k.clone(), v.clone()))
.collect()
}
}
impl<'de> Deserialize<'de> for FlakeLock {
@ -195,17 +203,6 @@ impl<'de> Deserialize<'de> for FlakeLock {
}
}
impl FlakeLock {
fn nixpkgs_deps(&self) -> HashMap<String, Node> {
// TODO: make this more robust for real-world use cases
self.nodes
.iter()
.filter(|(k, v)| matches!(v, Node::Repo(_)) && k == &"nixpkgs")
.map(|(k, v)| (k.clone(), v.clone()))
.collect()
}
}
#[derive(Clone, Deserialize)]
#[serde(untagged)]
enum Node {