use crate::structures::service::{ Property, PropertyType };
use proc_macro2::TokenStream;
pub fn create_dependency(property: &Property) -> Option<TokenStream> {
let property_ty = &property.ty;
match property.property_type {
PropertyType::Parameter => None,
PropertyType::Component =>
Some(quote! {
::modi::dyn_mod::HasComponent<#property_ty>
}),
PropertyType::Provided =>
Some(quote! {
::modi::dyn_mod::HasProvider<#property_ty>
}),
}
}
pub fn create_service_depends(property: &Property) -> Option<TokenStream> {
match property.property_type {
PropertyType::Parameter => None,
PropertyType::Component =>
Some(quote! {
::modi::dyn_mod::Interface::manifest(self)
}),
PropertyType::Provided =>
Some(quote! {
::modi::dyn_mod::Interface::manifest(self)
}),
}
}