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 finite;
23mod impls;
24mod macros;
25mod meta;
26mod size;
27mod traits;
28mod value;
29
30pub use self::annotated::*;
31pub use self::condition::RuleCondition;
32pub use self::finite::*;
33pub use self::impls::*;
34pub use self::meta::*;
35pub use self::size::*;
36pub use self::traits::*;
37pub use self::value::*;
38
39#[cfg(feature = "derive")]
40pub use relay_protocol_derive::{Empty, FromValue, IntoValue};