use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct PackageRow {
pub repo: String,
pub ecosystem: String,
pub name: String,
pub publishes: bool,
pub version: Option<String>,
pub locked: Option<String>,
pub manifest: String,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InternalDep {
pub ecosystem: String,
pub name: String,
pub publisher: String,
pub published: Option<String>,
pub consumer: String,
pub requirement: Option<String>,
pub locked: Option<String>,
}
impl InternalDep {
pub fn skewed(&self) -> bool {
matches!((&self.locked, &self.published), (Some(l), Some(p)) if l != p)
}
}