Struct icu_provider_fs::FsDataProvider
source · pub struct FsDataProvider { /* private fields */ }
Expand description
A data provider that reads ICU4X data from a filesystem directory.
FsDataProvider
implements BufferProvider
, so it can be used in
*_with_buffer_provider
constructors across ICU4X.
§Examples
use icu_locid::locale;
use icu_provider::hello_world::HelloWorldFormatter;
use icu_provider_fs::FsDataProvider;
use writeable::assert_writeable_eq;
// Create a DataProvider from data files stored in a filesystem directory:
let provider =
FsDataProvider::try_new("tests/data/json").expect("Directory exists");
// Check that it works:
let formatter = HelloWorldFormatter::try_new_with_buffer_provider(
&provider,
&locale!("la").into(),
)
.expect("locale exists");
assert_writeable_eq!(formatter.format(), "Ave, munde");
Implementations§
source§impl FsDataProvider
impl FsDataProvider
sourcepub fn try_new<T: Into<PathBuf>>(root: T) -> Result<Self, DataError>
pub fn try_new<T: Into<PathBuf>>(root: T) -> Result<Self, DataError>
Create a new FsDataProvider
given a filesystem directory.
§Examples
use icu_provider_fs::FsDataProvider;
let provider = FsDataProvider::try_new("/path/to/data/directory")
.expect_err("Specify a real directory in the line above");
Trait Implementations§
source§impl BufferProvider for FsDataProvider
impl BufferProvider for FsDataProvider
source§fn load_buffer(
&self,
key: DataKey,
req: DataRequest<'_>
) -> Result<DataResponse<BufferMarker>, DataError>
fn load_buffer( &self, key: DataKey, req: DataRequest<'_> ) -> Result<DataResponse<BufferMarker>, DataError>
source§impl Clone for FsDataProvider
impl Clone for FsDataProvider
source§fn clone(&self) -> FsDataProvider
fn clone(&self) -> FsDataProvider
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for FsDataProvider
impl Debug for FsDataProvider
source§impl PartialEq for FsDataProvider
impl PartialEq for FsDataProvider
source§fn eq(&self, other: &FsDataProvider) -> bool
fn eq(&self, other: &FsDataProvider) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for FsDataProvider
Auto Trait Implementations§
impl Freeze for FsDataProvider
impl RefUnwindSafe for FsDataProvider
impl Send for FsDataProvider
impl Sync for FsDataProvider
impl Unpin for FsDataProvider
impl UnwindSafe for FsDataProvider
Blanket Implementations§
source§impl<P> AsDeserializingBufferProvider for Pwhere
P: BufferProvider + ?Sized,
impl<P> AsDeserializingBufferProvider for Pwhere
P: BufferProvider + ?Sized,
source§fn as_deserializing(&self) -> DeserializingBufferProvider<'_, P>
fn as_deserializing(&self) -> DeserializingBufferProvider<'_, P>
Wrap this BufferProvider
in a DeserializingBufferProvider
.
This requires enabling the deserialization Cargo feature for the expected format(s):
deserialize_json
deserialize_postcard_1
deserialize_bincode_1
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more