wp-primitives 0.1.1

Lightweight parsing primitives for the Warp Parse stack.
Documentation
use winnow::ModalResult as WResult;

pub trait Fun0Builder {
    fn fun_name() -> &'static str;
    fn build() -> Self;
}

pub trait Fun1Builder {
    type ARG1;
    fn args1(data: &mut &str) -> WResult<Self::ARG1>;
    fn fun_name() -> &'static str;
    fn build(args: Self::ARG1) -> Self;
}

pub trait Fun2Builder {
    type ARG1;
    type ARG2;
    fn args1(data: &mut &str) -> WResult<Self::ARG1>;
    fn args2(data: &mut &str) -> WResult<Self::ARG2>;
    fn fun_name() -> &'static str;
    fn build(args: (Self::ARG1, Self::ARG2)) -> Self;
}

pub trait ParseNext<T> {
    fn parse_next(input: &mut &str) -> WResult<T>;
}