next_web_ai/util/
key_name.rs1use 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}