use crate::{config, error::Error, Opendal};
use ayun_config::traits::ConfigurationTrait;
use ayun_core::{
error::ContainerError,
support::Container,
traits::{ErrorTrait, InstanceTrait},
Result,
};
impl InstanceTrait for Opendal {
fn register(container: &Container) -> Result<Self, ContainerError>
where
Self: Sized,
{
let config = container
.resolve::<ayun_config::Config>()?
.get::<config::Opendal>("opendal")
.map_err(Error::wrap)?;
Ok(Self::try_from_config(config).map_err(Error::wrap)?)
}
}