relay_protocol/
lib.rs

1//! Types and traits for building JSON-based protocols and schemas
2//!
3//! This crate provides the types and aliases that are used for the meta part of the protocol. This
4//! is the core annotation system as well as the dynamic value parts and the metadata that goes with
5//! it.
6//!
7//! # Test Utilities
8//!
9//! When the `test` feature is enabled, this crate exposes the additional
10//! `assert_annotated_snapshot` macro. This can be used with `insta` to render and compare snapshots
11//! of annotated data with meta data.
12
13#![warn(missing_docs)]
14#![doc(
15    html_logo_url = "https://raw.githubusercontent.com/getsentry/relay/master/artwork/relay-icon.png",
16    html_favicon_url = "https://raw.githubusercontent.com/getsentry/relay/master/artwork/relay-icon.png"
17)]
18
19pub mod condition;
20
21mod annotated;
22mod impls;
23mod macros;
24mod meta;
25mod size;
26mod traits;
27mod value;
28
29pub use self::annotated::*;
30pub use self::condition::RuleCondition;
31pub use self::impls::*;
32pub use self::meta::*;
33pub use self::size::*;
34pub use self::traits::*;
35pub use self::value::*;
36
37#[cfg(feature = "derive")]
38pub use relay_protocol_derive::{Empty, FromValue, IntoValue};