wowlab_docgen_cli/context/collectors/
cargo.rs1use serde::Serialize;
2
3use super::{ContextEntry, to_value};
4use crate::RenderCtx;
5
6#[derive(Debug, Serialize)]
8pub struct Bin {
9 pub name: String,
10 pub required_features: Vec<String>,
11}
12
13#[must_use]
15pub fn collect(ctx: &RenderCtx<'_>) -> Vec<ContextEntry> {
16 let meta = ctx.metadata;
17 let mut entries = Vec::new();
18
19 let bins: Vec<Bin> = meta
20 .bins
21 .iter()
22 .map(|b| Bin {
23 name: b.name.clone(),
24 required_features: b.required_features.clone(),
25 })
26 .collect();
27
28 entries.push(("bins", to_value(&bins)));
29 entries.push(("tests", to_value(&meta.tests)));
30 entries.push(("benches", to_value(&meta.benches)));
31 entries.push(("examples", to_value(&meta.examples)));
32
33 entries
34}