3 macro_rules
! impl_data_provider
{
5 make_provider
!($provider
);
6 impl_fallback_likelysubtags_v1
!($provider
);
7 impl_fallback_parents_v1
!($provider
);
8 impl_fallback_supplement_co_v1
!($provider
);
9 impl_locid_transform_aliases_v1
!($provider
);
10 impl_locid_transform_likelysubtags_ext_v1
!($provider
);
11 impl_locid_transform_likelysubtags_l_v1
!($provider
);
12 impl_locid_transform_likelysubtags_sr_v1
!($provider
);
13 impl_locid_transform_script_dir_v1
!($provider
);
16 #[allow(unused_macros)]
17 macro_rules
! impl_any_provider
{
18 ($ provider
: ty
) => {
19 #[clippy::msrv = "1.66"]
20 impl icu_provider
::AnyProvider
for $provider
{
21 fn load_any(&self, key
: icu_provider
::DataKey
, req
: icu_provider
::DataRequest
) -> Result
<icu_provider
::AnyResponse
, icu_provider
::DataError
> {
23 h
if h
== <icu
::locid_transform
::provider
::LocaleFallbackLikelySubtagsV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::LocaleFallbackLikelySubtagsV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
24 h
if h
== <icu
::locid_transform
::provider
::LocaleFallbackParentsV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::LocaleFallbackParentsV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
25 h
if h
== <icu
::locid_transform
::provider
::CollationFallbackSupplementV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::CollationFallbackSupplementV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
26 h
if h
== <icu
::locid_transform
::provider
::AliasesV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::AliasesV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
27 h
if h
== <icu
::locid_transform
::provider
::LikelySubtagsExtendedV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::LikelySubtagsExtendedV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
28 h
if h
== <icu
::locid_transform
::provider
::LikelySubtagsForLanguageV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::LikelySubtagsForLanguageV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
29 h
if h
== <icu
::locid_transform
::provider
::LikelySubtagsForScriptRegionV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::LikelySubtagsForScriptRegionV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
30 h
if h
== <icu
::locid_transform
::provider
::ScriptDirectionV1Marker
as icu_provider
::KeyedDataMarker
>::KEY
.hashed() => icu_provider
::DataProvider
::<icu
::locid_transform
::provider
::ScriptDirectionV1Marker
>::load(self, req
).map(icu_provider
::DataResponse
::wrap_into_any_response
),
31 _
=> Err(icu_provider
::DataErrorKind
::MissingDataKey
.with_req(key
, req
)),
37 #[clippy::msrv = "1.66"]
38 pub struct BakedDataProvider
;
39 impl_data_provider
!(BakedDataProvider
);