byteor_pipeline_spec/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2#![deny(missing_docs)]
3#![deny(unreachable_pub, rust_2018_idioms)]
4#![forbid(unsafe_code)]
5
6//! ByteOr pipeline specification (contract + validation).
7//!
8//! This crate is the stable, deterministic representation of pipeline intent
9//! that executors can validate and run.
10
11#[cfg(feature = "alloc")]
12extern crate alloc;
13
14#[cfg(feature = "alloc")]
15mod builder;
16#[cfg(feature = "alloc")]
17mod canonical;
18
19#[cfg(feature = "alloc")]
20mod describe;
21#[cfg(feature = "alloc")]
22mod dot;
23mod error;
24#[cfg(feature = "alloc")]
25mod kv;
26mod types;
27#[cfg(feature = "alloc")]
28mod validate;
29
30#[cfg(feature = "alloc")]
31pub use builder::{single_ring_chain, SingleRingBuilder};
32#[cfg(feature = "alloc")]
33pub use canonical::{
34    canonical_encode_kv_v1, canonical_spec_sha256_hex_v1, canonicalize_spec_kv_v1, canonicalize_v1,
35};
36pub use error::SpecError;
37pub use types::*;
38
39#[cfg(feature = "alloc")]
40pub use describe::describe_v1;
41
42#[cfg(feature = "alloc")]
43pub use dot::{dot_lane_graph_v1, dot_v1};
44
45#[cfg(feature = "alloc")]
46pub use kv::{decode_kv_v1, encode_kv_v1};
47
48#[cfg(feature = "alloc")]
49pub use validate::validate_v1;
50
51#[cfg(test)]
52mod tests;