teo-generator 0.3.9

SDK generators for Teo
Documentation
use crate::outline::delegate::{GroupItem, NamespaceItem, RequestItem};

pub struct Delegate {
    name: String,
    group_items: Vec<GroupItem>,
    namespace_items: Vec<NamespaceItem>,
    request_items: Vec<RequestItem>,
}

impl Delegate {

    pub fn new(name: String, group_items: Vec<GroupItem>, namespace_items: Vec<NamespaceItem>, request_items: Vec<RequestItem>) -> Self {
        Self { name, group_items, namespace_items, request_items }
    }

    pub fn group_items(&self) -> &Vec<GroupItem> {
        &self.group_items
    }

    pub fn namespace_items(&self) -> &Vec<NamespaceItem> {
        &self.namespace_items
    }

    pub fn request_items(&self) -> &Vec<RequestItem> {
        &self.request_items
    }

    pub fn name_with_conf(&self, conf: String) -> String {
        if self.name.is_empty() {
            conf
        } else {
            self.name.clone()
        }
    }
}