accepts-codegen 0.0.1

Rust toolkit for composing synchronous and asynchronous acceptor pipelines
Documentation
use syn::{
    Expr, LocalInit,
    token::{Else, Eq},
};

pub trait LocalInitConstructExt {
    fn from_parts(eq_token: Eq, expr: Box<Expr>, diverge: Option<(Else, Box<Expr>)>) -> LocalInit;

    fn from_expr(expr: Box<Expr>) -> LocalInit;

    fn from_expr_diverge(expr: Box<Expr>, diverge: Option<(Else, Box<Expr>)>) -> LocalInit;
}

impl LocalInitConstructExt for LocalInit {
    fn from_parts(eq_token: Eq, expr: Box<Expr>, diverge: Option<(Else, Box<Expr>)>) -> LocalInit {
        LocalInit {
            eq_token,
            expr,
            diverge,
        }
    }

    fn from_expr(expr: Box<Expr>) -> LocalInit {
        Self::from_parts(Eq::default(), expr, None)
    }

    fn from_expr_diverge(expr: Box<Expr>, diverge: Option<(Else, Box<Expr>)>) -> LocalInit {
        Self::from_parts(Eq::default(), expr, diverge)
    }
}