1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! # Veritate
//!
//! One serialization format that is actually all three things at once:
//!
//! - **Zero-copy**: every field read is a bounds-checked indexed load straight
//! from the message buffer. Strings and bytes come back as `&str` / `&[u8]`
//! borrowing the buffer. No parse step, no allocation on the read path.
//! - **Self-describing**: every message carries the 128-bit content hash of its
//! writer schema, and can carry the full schema inline. A message plus
//! nothing else is fully interpretable — see [`dump_json`].
//! - **Schema-evolvable**: fields are identified by stable numeric IDs.
//! Readers resolve (writer schema, reader schema) once into a cached
//! [`Resolver`] access plan; added fields read as `None` for old readers'
//! data, unknown fields cost nothing, renames are free, integer widening is
//! converted on load.
//!
//! The trick that resolves the classic pick-two trilemma: the indirection that
//! evolution needs is paid **once per schema pair**, not per message (protobuf
//! tags, JSON keys) and not at build time (FlatBuffers codegen). See the architecture docs
//! for the wire format.
// The library contains no `unsafe`, by design (memory safety on untrusted bytes
// rests on it) — enforced by the compiler, not just convention.
pub use ;
pub use VeritType;
pub use dump_json;
pub use ;
pub use ;
pub use ;
pub use SchemaRegistry;
pub use Resolver;
pub use ;
pub use Value;