accepts-codegen 0.0.1

Rust toolkit for composing synchronous and asynchronous acceptor pipelines
Documentation
use syn::{Attribute, Expr, ExprField, Member, Token, token::Dot};

pub trait ExprFieldConstructExt {
    fn from_parts(
        attrs: Vec<Attribute>,
        base: Box<Expr>,
        dot_token: Token![.],
        member: Member,
    ) -> ExprField;

    fn from_base_member(base: Box<Expr>, member: Member) -> ExprField;
}

impl ExprFieldConstructExt for ExprField {
    fn from_parts(
        attrs: Vec<Attribute>,
        base: Box<Expr>,
        dot_token: Token![.],
        member: Member,
    ) -> ExprField {
        ExprField {
            attrs,
            base,
            dot_token,
            member,
        }
    }

    fn from_base_member(base: Box<Expr>, member: Member) -> ExprField {
        Self::from_parts(Vec::new(), base, Dot::default(), member)
    }
}