#[derive(FromClient)]Expand description
Derive macro for implementing the FromClient trait on client structs.
This macro generates an implementation of the FromClient trait that extracts
all struct fields from a Client using the FromClientPart trait.
§Example
ⓘ
use bitwarden_core::client::FromClient;
use bitwarden_core_macro::FromClient;
#[derive(FromClient)]
pub struct FoldersClient {
key_store: KeyStore<KeyIds>,
api_configurations: Arc<ApiConfigurations>,
repository: Arc<dyn Repository<Folder>>,
}The macro generates:
ⓘ
impl FromClient for FoldersClient {
fn from_client(client: &Client) -> Result<Self, String> {
Ok(Self {
key_store: FromClientPart::<KeyStore<KeyIds>>::get_part(client).map_err(|e| e.to_string())?,
api_configs: FromClientPart::<Arc<ApiConfigurations>>::get_part(client).map_err(|e| e.to_string())?,
repository: FromClientPart::<Arc<dyn Repository<Folder>>>::get_part(client).map_err(|e| e.to_string())?,
})
}
}