ichika-macros 0.1.0

A helper library for automatically constructing a thread pool that communicates via message pipes.
Documentation
use proc_macro2::TokenStream;
use syn::{Expr, Ident, TypePath};

#[derive(Debug, Clone)]
pub struct ClosureMacrosFlatten {
    pub id: Ident,
    pub is_async: bool,
    pub arg: Ident,
    pub arg_ty: TypePath,
    pub ret_ty: TypePath,
    pub body: TokenStream,
}

#[derive(Debug, Clone)]
pub enum PipeNodeFlatten {
    Closure(ClosureMacrosFlatten),
    Map(Vec<MatchNodeFlatten>),
}

#[derive(Debug, Clone)]
pub struct MatchNodeFlatten {
    pub condition: Expr,
    pub body: PipeNodeFlatten,
}