icydb_model/base/types/bytes.rs
1//! Module: base::types::bytes
2//!
3//! Responsibility: base domain type declarations.
4//! Does not own: runtime storage, query execution, or validator implementation internals.
5//! Boundary: declares macro-modeled domain wrappers and records for downstream schemas.
6
7use crate::prelude::*;
8
9///
10/// Utf8
11///
12
13#[newtype(
14 source_key = "crates/icydb/src/base/types/bytes.rs::newtype::1",
15 primitive = "Blob",
16 item(prim = "Blob", unbounded),
17 traits(remove(ValidateCustom))
18)]
19pub struct Utf8;
20
21impl ValidateCustom for Utf8 {
22 fn validate_custom(&self, ctx: &mut dyn VisitorContext) {
23 base::validator::bytes::Utf8.validate(self.0.as_bytes(), ctx);
24 }
25}