use allow_core::{Finding, FindingKind, Selector, normalize_path};
pub(crate) fn selector_from_finding(finding: &Finding) -> Selector {
Selector {
ast_kind: Some(finding.identity.ast_kind.clone()),
container: finding.identity.container.clone(),
callee: finding.identity.callee.clone(),
macro_name: finding.identity.macro_name.clone(),
lint: finding.identity.lint.clone(),
symbol: finding.identity.symbol.clone(),
receiver_fingerprint: finding.identity.receiver_fingerprint.clone(),
target_fingerprint: finding.identity.target_fingerprint.clone(),
normalized_snippet_hash: finding.identity.normalized_snippet_hash.clone(),
line_hint: finding.span.as_ref().map(|s| s.line),
glob: matches!(
finding.kind,
FindingKind::NonRustFile | FindingKind::GeneratedCode
)
.then(|| normalize_path(&finding.path)),
}
}