From 3bc4cbcc0266038cff8bdabcd87ad8369946fdb2 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 24 Oct 2025 14:47:02 +0100 Subject: [PATCH] template macro: return rendered samples --- crates/templates/src/macros.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/templates/src/macros.rs b/crates/templates/src/macros.rs index e0b203735..00aa9bd41 100644 --- a/crates/templates/src/macros.rs +++ b/crates/templates/src/macros.rs @@ -78,19 +78,21 @@ macro_rules! register_templates { pub(crate) fn $name $(< $( $lt $( : $clt $(+ $dlt )* + TemplateContext )? ),+ >)? (templates: &Templates, now: chrono::DateTime, rng: &mut impl rand::Rng) - -> anyhow::Result<()> { + -> anyhow::Result> { let locales = templates.translator().available_locales(); let samples: Vec< $param > = TemplateContext::sample(now, rng, &locales); let name = $template; - for sample in samples { + let mut out = Vec::new(); + for (idx, sample) in samples.into_iter().enumerate() { let context = serde_json::to_value(&sample)?; ::tracing::info!(name, %context, "Rendering template"); - templates. $name (&sample) - .with_context(|| format!("Failed to render template {:?} with context {}", name, context))?; + let rendered = templates. $name (&sample) + .with_context(|| format!("Failed to render sample template {name:?}-{idx} with context {context}"))?; + out.push(rendered); } - Ok(()) + Ok(out) } )* }