next_web_ai/util/
key_name.rs

1use crate::util::key_value::NoneKeyValue;
2
3use super::key_value::KeyValue;
4
5#[derive(Clone)]
6pub struct KeyName(pub String);
7
8impl KeyName {
9    pub fn merge<I>(key_names: I) -> Vec<Self>
10    where
11        I: IntoIterator<Item = Vec<Self>>,
12        Self: Sized,
13    {
14        key_names.into_iter().flatten().collect()
15    }
16
17    pub fn with_value(&self, value: impl Into<String>) -> impl KeyValue {
18        NoneKeyValue::of_immutable(self.as_string(), value.into())
19    }
20
21    pub fn as_string(&self) -> String {
22        self.0.clone()
23    }
24
25    pub fn is_required(&self) -> bool {
26        true
27    }
28}