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