icu_provider_adapters/
lib.rs

1// This file is part of ICU4X. For terms of use, please see the file
2// called LICENSE at the top level of the ICU4X source tree
3// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4
5//! Adapters for composing and manipulating data providers.
6//!
7//! - Use the [`fork`] module to marshall data requests between multiple possible providers.
8//! - Use the [`either`] module to choose between multiple provider types at runtime.
9//! - Use the [`filter`] module to programmatically reject certain data requests.
10//! - Use the [`fallback`] module to automatically resolve arbitrary locales for data loading.
11
12// https://github.com/unicode-org/icu4x/blob/main/documents/process/boilerplate.md#library-annotations
13#![cfg_attr(not(any(test, feature = "std")), no_std)]
14#![cfg_attr(
15    not(test),
16    deny(
17        clippy::indexing_slicing,
18        clippy::unwrap_used,
19        clippy::expect_used,
20        clippy::panic,
21        clippy::exhaustive_structs,
22        clippy::exhaustive_enums,
23        missing_debug_implementations,
24    )
25)]
26#![warn(missing_docs)]
27
28extern crate alloc;
29
30pub mod any_payload;
31pub mod either;
32pub mod empty;
33pub mod fallback;
34pub mod filter;
35pub mod fork;
36mod helpers;