bimm_firehose/
lib.rs

1#![warn(missing_docs)]
2#![warn(clippy::missing_docs_in_private_items)]
3//!# bimm-firehose - Burn-based Data Pipeline
4
5/// New Data Table module.
6pub mod core;
7
8/// Namespace of common operators.
9pub mod ops;
10
11/// Burn Integration Module.
12pub mod burn;
13pub mod utility;
14
15/// Experimental Data Pipeline module; non-public.
16#[allow(dead_code)]
17mod pipeline;
18
19/// Define a self-referential ID.
20///
21/// The id will be defined as a static string constant that refers to its own namespace path.
22///
23/// # Arguments
24///
25/// * `$name`: The final path name of the ID to define;
26///   the rest of the name will be taken from the module context.
27///
28/// # Example
29/// ```
30/// // In module "foo::bar"
31/// bimm_firehose::define_self_referential_id!(ID);
32/// // pub static ID: &str = "foo::bar::ID";
33/// ```
34///
35#[macro_export]
36macro_rules! define_self_referential_id {
37    ($name:ident) => {
38        /// Self-referential ID.
39        pub static $name: &str = concat!(module_path!(), "::", stringify!($name),);
40    };
41    ($schema:literal, $name:ident) => {
42        #[doc = concat!("Self-referential '", $schema, "' ID.")]
43        pub static $name: &str = concat!($schema, "://", module_path!(), "::", stringify!($name),);
44    };
45}