bunsen_firehose/lib.rs
1#![warn(missing_docs)]
2#![warn(clippy::missing_docs_in_private_items)]
3//!# bunsen-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
22/// namespace path.
23///
24/// # Arguments
25///
26/// * `$name`: The final path name of the ID to define; the rest of the name
27/// will be taken from the module context.
28///
29/// # Example
30/// ```
31/// // In module "foo::bar"
32/// bunsen_firehose::define_self_referential_id!(ID);
33/// // pub static ID: &str = "foo::bar::ID";
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}