#[derive(FromClient)]Expand description
Derive macro for implementing the FromClient trait.
See FromClient for usage details.
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())?,
})
}
}