#![warn(missing_docs)]
#![deny(warnings)]
extern crate proc_macro;
pub mod component;
pub mod errors;
pub mod generator;
mod utils_impl;
pub use utils_impl::Either;
pub use utils_impl::Required;
pub mod utils {
pub use crate::utils_impl::component_or_expression;
}
use proc_macro::TokenStream;
use syn::parse_macro_input;
pub fn brisk_it(
input: proc_macro::TokenStream,
generator_manager: &generator::Manager,
) -> TokenStream {
let input = parse_macro_input!(input as component::ComponentInput);
let output = generator_manager.generate(input).either();
output.into()
}