summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_baked_icu_data/src/data/any.rs
blob: e8e99be93f2c5f6ceb2a5e5059c77c3f82da5214 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// @generated
impl AnyProvider for BakedDataProvider {
    fn load_any(&self, key: DataKey, req: DataRequest) -> Result<AnyResponse, DataError> {
        const ANDLISTV1MARKER: ::icu_provider::DataKeyHash =
            ::icu_list::provider::AndListV1Marker::KEY.hashed();
        const COLLATIONFALLBACKSUPPLEMENTV1MARKER: ::icu_provider::DataKeyHash =
            ::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY
                .hashed();
        const LOCALEFALLBACKLIKELYSUBTAGSV1MARKER: ::icu_provider::DataKeyHash =
            ::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY
                .hashed();
        const LOCALEFALLBACKPARENTSV1MARKER: ::icu_provider::DataKeyHash =
            ::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY
                .hashed();
        #[allow(clippy::match_single_binding)]
        match key.hashed() {
            ANDLISTV1MARKER => list::and_v1::DATA
                .get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
                .copied()
                .map(AnyPayload::from_static_ref)
                .ok_or(DataErrorKind::MissingLocale),
            COLLATIONFALLBACKSUPPLEMENTV1MARKER => fallback::supplement::co_v1::DATA
                .get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
                .copied()
                .map(AnyPayload::from_static_ref)
                .ok_or(DataErrorKind::MissingLocale),
            LOCALEFALLBACKLIKELYSUBTAGSV1MARKER => fallback::likelysubtags_v1::DATA
                .get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
                .copied()
                .map(AnyPayload::from_static_ref)
                .ok_or(DataErrorKind::MissingLocale),
            LOCALEFALLBACKPARENTSV1MARKER => fallback::parents_v1::DATA
                .get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
                .copied()
                .map(AnyPayload::from_static_ref)
                .ok_or(DataErrorKind::MissingLocale),
            _ => Err(DataErrorKind::MissingDataKey),
        }
        .map_err(|e| e.with_req(key, req))
        .map(|payload| AnyResponse { payload: Some(payload), metadata: Default::default() })
    }
}