Trait icu_provider::any::AnyProvider
source · [−]pub trait AnyProvider {
fn load_any(
&self,
key: DataKey,
req: DataRequest<'_>
) -> Result<AnyResponse, DataError>;
}
Expand description
An object-safe data provider that returns data structs cast to dyn Any
trait objects.
Examples
use icu_provider::hello_world::*;
use icu_provider::prelude::*;
use std::borrow::Cow;
let any_response = HelloWorldProvider
.as_any_provider()
.load_any(
HelloWorldV1Marker::KEY,
DataRequest {
locale: &icu_locid::locale!("de").into(),
metadata: Default::default(),
},
)
.expect("Load should succeed");
// Downcast to something useful
let response: DataResponse<HelloWorldV1Marker> =
any_response.downcast().expect("Types match");
let payload = response.take_payload().expect("Data should be present");
assert_eq!(payload.get().message, "Hallo Welt");
Required methods
fn load_any(
&self,
key: DataKey,
req: DataRequest<'_>
) -> Result<AnyResponse, DataError>
fn load_any(
&self,
key: DataKey,
req: DataRequest<'_>
) -> Result<AnyResponse, DataError>
Loads an AnyPayload
according to the key and request.