icydb_schema/node/
value.rs1use crate::prelude::*;
2
3#[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}