lets_expect_macro 0.5.2

lets_expect! macro. This crate is internal to the lets_expect crate and should not be used directly.
Documentation
#![warn(
    clippy::use_self,
    clippy::cognitive_complexity,
    clippy::cloned_instead_of_copied,
    clippy::derive_partial_eq_without_eq,
    clippy::equatable_if_let,
    clippy::explicit_into_iter_loop,
    clippy::format_push_string,
    clippy::get_unwrap,
    clippy::match_same_arms,
    clippy::needless_for_each,
    clippy::todo
)]

extern crate proc_macro;

use lets_expect_core::core::{context::Context, runtime::Runtime};
use proc_macro::TokenStream;
use proc_macro2::Span;
use quote::quote;
use syn::parse_macro_input;

#[proc_macro]
pub fn lets_expect(input: TokenStream) -> TokenStream {
    lets_expect_macro(input)
}

fn lets_expect_macro(input: TokenStream) -> TokenStream {
    let main_context = parse_macro_input!(input as Context);
    let tests = main_context.to_tokens(&Span::call_site(), &Runtime::default());

    quote! {
        use lets_expect::*;

        #tests
    }
    .into()
}