Skip to main content

citum_engine/values/
identifier.rs

1/*
2SPDX-License-Identifier: MIT OR Apache-2.0
3SPDX-FileCopyrightText: © 2023-2026 Bruce D'Arcus and Citum contributors
4*/
5
6//! Rendering for supplementary standardized identifiers.
7
8use crate::reference::Reference;
9use crate::values::{ComponentValues, ProcHints, ProcValues, RenderOptions};
10use citum_schema::template::TemplateIdentifier;
11
12impl ComponentValues for TemplateIdentifier {
13    fn values<F: crate::render::format::OutputFormat<Output = String>>(
14        &self,
15        reference: &Reference,
16        _hints: &ProcHints,
17        _options: &RenderOptions<'_>,
18    ) -> Option<ProcValues<F::Output>> {
19        reference
20            .identifier(self.identifier.as_str())
21            .filter(|value| !value.trim().is_empty())
22            .map(|value| ProcValues {
23                value: value.to_string(),
24                pre_formatted: false,
25                ..Default::default()
26            })
27    }
28}