sails-client-gen 2.0.0

Rust client generator for the Sails framework
Documentation
---
source: rs/client-gen/tests/generator.rs
expression: "gen_client(idl, \"Basic\")"
---
// Code generated by sails-client-gen. DO NOT EDIT.
#[allow(unused_imports)]
use sails_rs::{client::*, collections::*, prelude::*};
pub struct BasicProgram;

impl sails_rs::client::Program for BasicProgram {}

pub trait Basic {
    type Env: sails_rs::client::GearEnv;
    fn basic(
        &self,
    ) -> sails_rs::client::Service<basic::BasicImpl, Self::Env, sails_rs::client::RouteName>;
}

impl<E: sails_rs::client::GearEnv> Basic for sails_rs::client::Actor<BasicProgram, E> {
    type Env = E;
    fn basic(
        &self,
    ) -> sails_rs::client::Service<basic::BasicImpl, Self::Env, sails_rs::client::RouteName> {
        self.service_v1(stringify!(Basic))
    }
}

pub mod basic {
    use super::*;

    pub trait Basic {
        type Env: sails_rs::client::GearEnv;
        fn do_this(
            &mut self,
            p1: u32,
            p2: MyParam,
        ) -> sails_rs::client::PendingCall<io::DoThis, Self::Env>;
        fn do_that(
            &mut self,
            p1: (u8, u32),
        ) -> sails_rs::client::PendingCall<io::DoThat, Self::Env>;
    }

    pub struct BasicImpl;

    impl<E: sails_rs::client::GearEnv> Basic
        for sails_rs::client::Service<BasicImpl, E, sails_rs::client::RouteName>
    {
        type Env = E;
        fn do_this(
            &mut self,
            p1: u32,
            p2: MyParam,
        ) -> sails_rs::client::PendingCall<io::DoThis, Self::Env> {
            self.pending_call((p1, p2))
        }
        fn do_that(
            &mut self,
            p1: (u8, u32),
        ) -> sails_rs::client::PendingCall<io::DoThat, Self::Env> {
            self.pending_call((p1,))
        }
    }

    pub mod io {
        use super::*;
        sails_rs::io_struct_impl_v1!(DoThis (p1: u32, p2: super::MyParam) -> u16);
        sails_rs::io_struct_impl_v1!(DoThat (p1: (u8,u32,)) -> u8);
    }
}
#[sails_rs::sails_type(crate = sails_rs, no_reflect_hash)]
#[derive(PartialEq, Clone, Debug)]
pub struct MyParam {
    pub f1: u32,
    pub f2: Vec<String>,
    pub f3: Option<(u8, u32)>,
}
#[sails_rs::sails_type(crate = sails_rs, no_reflect_hash)]
#[derive(PartialEq, Clone, Debug)]
pub enum MyParam2 {
    Variant1,
    Variant2(u32),
    Variant3((u32,)),
    Variant4((u8, u32)),
    Variant5 { f1: String, f2: Vec<u8> },
}

#[cfg(feature = "with_mocks")]
#[cfg(not(target_arch = "wasm32"))]
extern crate std;

#[cfg(feature = "with_mocks")]
#[cfg(not(target_arch = "wasm32"))]
pub mod mockall {
    use super::*;
    use sails_rs::mockall::*;
    mock! {
        pub Basic {}

        #[allow(refining_impl_trait)]
        #[allow(clippy::type_complexity)]
        impl basic::Basic for Basic {
            type Env = sails_rs::client::GstdEnv;
            fn do_this (&mut self, p1: u32, p2: MyParam) -> sails_rs::client::PendingCall<basic::io::DoThis, sails_rs::client::GstdEnv>;fn do_that (&mut self, p1: (u8,u32,)) -> sails_rs::client::PendingCall<basic::io::DoThat, sails_rs::client::GstdEnv>;
        }
    }
}