wp_primitives/fun/
fun_trait.rs1use winnow::ModalResult as WResult;
2
3pub trait Fun0Builder {
4 fn fun_name() -> &'static str;
5 fn build() -> Self;
6}
7
8pub trait Fun1Builder {
9 type ARG1;
10 fn args1(data: &mut &str) -> WResult<Self::ARG1>;
11 fn fun_name() -> &'static str;
12 fn build(args: Self::ARG1) -> Self;
13}
14
15pub trait Fun2Builder {
16 type ARG1;
17 type ARG2;
18 fn args1(data: &mut &str) -> WResult<Self::ARG1>;
19 fn args2(data: &mut &str) -> WResult<Self::ARG2>;
20 fn fun_name() -> &'static str;
21 fn build(args: (Self::ARG1, Self::ARG2)) -> Self;
22}
23
24pub trait ParseNext<T> {
25 fn parse_next(input: &mut &str) -> WResult<T>;
26}