pub mod check;
pub mod staleness;
pub mod structural;
use crate::model::{Edge, Metadata, PROVENANCE_KEY};
pub(crate) fn short_hash(hash: &str) -> &str {
&hash[..hash.len().min(13)]
}
pub(crate) fn provenance(metadata: &Metadata) -> Vec<String> {
metadata
.get(PROVENANCE_KEY)
.and_then(|v| v.as_array())
.map(|entries| {
entries
.iter()
.filter_map(|e| e.as_str().map(String::from))
.collect()
})
.unwrap_or_default()
}
pub(crate) fn edge_provenance(edge: &Edge) -> Vec<String> {
provenance(&edge.metadata)
}