blueprint_core/
lib.rs

1#![doc(
2    html_logo_url = "https://cdn.prod.website-files.com/6494562b44a28080aafcbad4/65aaf8b0818b1d504cbdf81b_Tnt%20Logo.png"
3)]
4#![no_std]
5
6extern crate alloc;
7
8#[macro_use]
9pub(crate) mod macros;
10
11#[doc(hidden)]
12pub mod __private {
13    pub use tracing;
14}
15
16pub mod error;
17pub mod ext_traits;
18pub mod extensions;
19pub mod extract;
20pub mod job;
21pub mod metadata;
22
23pub use bytes::Bytes;
24pub use error::Error;
25pub use ext_traits::job::{JobCallExt, JobCallPartsExt};
26pub use extract::{FromJobCall, FromJobCallParts};
27pub use job::call::JobCall;
28pub use job::result::{IntoJobResult, IntoJobResultParts, JobResult};
29pub use job::{Job, JobId};
30
31// Feature-gated tracing macros, used by the entire SDK
32macro_rules! tracing_macros {
33    ($d:tt $($name:ident),*) => {
34        $(
35            #[doc(hidden)]
36            #[cfg(feature = "tracing")]
37            pub use tracing::$name;
38
39            #[doc(hidden)]
40            #[cfg(not(feature = "tracing"))]
41            #[macro_export]
42            macro_rules! $name {
43                ($d($d tt:tt)*) => {
44                    if false {
45                        let _ = $crate::__private::tracing::$name!($d($d tt)*);
46                    }
47                };
48            }
49        )*
50    }
51}
52
53tracing_macros!($
54    info,
55    warn,
56    error,
57    debug,
58    trace
59);