Skip to main content

icydb_schema/node/
value.rs

1use crate::prelude::*;
2
3///
4/// Value
5///
6
7#[derive(Clone, Debug, Serialize)]
8pub struct Value {
9    cardinality: Cardinality,
10    item: Item,
11}
12
13impl Value {
14    #[must_use]
15    pub const fn new(cardinality: Cardinality, item: Item) -> Self {
16        Self { cardinality, item }
17    }
18
19    #[must_use]
20    pub const fn cardinality(&self) -> Cardinality {
21        self.cardinality
22    }
23
24    #[must_use]
25    pub const fn item(&self) -> &Item {
26        &self.item
27    }
28}
29
30impl ValidateNode for Value {}
31
32impl VisitableNode for Value {
33    fn drive<V: Visitor>(&self, v: &mut V) {
34        self.item().accept(v);
35    }
36}