relay-knowledge 1.1.9

Graph-database-based knowledge graph project.
Documentation
use crate::domain::{CodeRetrievalHit, StalenessHint};

pub(in crate::application::code_repository) fn annotate_query_result_staleness(
    results: &mut [CodeRetrievalHit],
    freshness: &crate::api::CodeRepositoryFreshnessDiagnostics,
) {
    let hint = if freshness.pending.active_matches_request && freshness.direct_source_read_required
    {
        StalenessHint::PendingIndex {}
    } else if freshness.direct_source_read_required {
        StalenessHint::Stale {}
    } else {
        StalenessHint::Fresh
    };
    let requires_source_verification = hint.requires_source_verification();
    for hit in results {
        if requires_source_verification {
            hit.stale = true;
        }
        if hint.should_replace(hit.staleness_hint.as_ref()) {
            hit.staleness_hint = Some(hint.clone());
        }
    }
}