mirror of https://github.com/boa-dev/boa.git
jedel1043
1 year ago
23 changed files with 34 additions and 343 deletions
@ -1,2 +0,0 @@ |
|||||||
// @generated
|
|
||||||
impl_any_provider!(BakedDataProvider); |
|
@ -1,177 +0,0 @@ |
|||||||
// @generated
|
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
mod normalizer; |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
mod props; |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
use icu_provider::prelude::*; |
|
||||||
/// Implement [`DataProvider<M>`] on the given struct using the data
|
|
||||||
/// hardcoded in this module. This allows the struct to be used with
|
|
||||||
/// `icu`'s `_unstable` constructors.
|
|
||||||
///
|
|
||||||
/// This macro can only be called from its definition-site, i.e. right
|
|
||||||
/// after `include!`-ing the generated module.
|
|
||||||
///
|
|
||||||
/// ```compile_fail
|
|
||||||
/// struct MyDataProvider;
|
|
||||||
/// include!("/path/to/generated/mod.rs");
|
|
||||||
/// impl_data_provider(MyDataProvider);
|
|
||||||
/// ```
|
|
||||||
#[allow(unused_macros)] |
|
||||||
macro_rules! impl_data_provider { |
|
||||||
($ provider : path) => { |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_normalizer::provider::CanonicalCompositionsV1Marker> for $provider { |
|
||||||
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_normalizer::provider::CanonicalCompositionsV1Marker>, DataError> { |
|
||||||
normalizer::comp_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_normalizer::provider::CanonicalCompositionsV1Marker::KEY, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_normalizer::provider::CanonicalDecompositionDataV1Marker> for $provider { |
|
||||||
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_normalizer::provider::CanonicalDecompositionDataV1Marker>, DataError> { |
|
||||||
normalizer::nfd_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_normalizer::provider::CanonicalDecompositionDataV1Marker::KEY, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_normalizer::provider::CanonicalDecompositionTablesV1Marker> for $provider { |
|
||||||
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_normalizer::provider::CanonicalDecompositionTablesV1Marker>, DataError> { |
|
||||||
normalizer::nfdex_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_normalizer::provider::CanonicalDecompositionTablesV1Marker::KEY, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_normalizer::provider::CompatibilityDecompositionSupplementV1Marker> for $provider { |
|
||||||
fn load( |
|
||||||
&self, |
|
||||||
req: DataRequest, |
|
||||||
) -> Result<DataResponse<::icu_normalizer::provider::CompatibilityDecompositionSupplementV1Marker>, DataError> { |
|
||||||
normalizer::nfkd_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| { |
|
||||||
DataErrorKind::MissingLocale.with_req(::icu_normalizer::provider::CompatibilityDecompositionSupplementV1Marker::KEY, req) |
|
||||||
}) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_normalizer::provider::CompatibilityDecompositionTablesV1Marker> for $provider { |
|
||||||
fn load( |
|
||||||
&self, |
|
||||||
req: DataRequest, |
|
||||||
) -> Result<DataResponse<::icu_normalizer::provider::CompatibilityDecompositionTablesV1Marker>, DataError> { |
|
||||||
normalizer::nfkdex_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| { |
|
||||||
DataErrorKind::MissingLocale.with_req(::icu_normalizer::provider::CompatibilityDecompositionTablesV1Marker::KEY, req) |
|
||||||
}) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_properties::provider::IdContinueV1Marker> for $provider { |
|
||||||
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_properties::provider::IdContinueV1Marker>, DataError> { |
|
||||||
props::idc_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_properties::provider::IdContinueV1Marker::KEY, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl DataProvider<::icu_properties::provider::IdStartV1Marker> for $provider { |
|
||||||
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_properties::provider::IdStartV1Marker>, DataError> { |
|
||||||
props::ids_v1::lookup(&req.locale) |
|
||||||
.map(zerofrom::ZeroFrom::zero_from) |
|
||||||
.map(DataPayload::from_owned) |
|
||||||
.map(|payload| DataResponse { |
|
||||||
metadata: Default::default(), |
|
||||||
payload: Some(payload), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_properties::provider::IdStartV1Marker::KEY, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
}; |
|
||||||
} |
|
||||||
/// Implement [`AnyProvider`] on the given struct using the data
|
|
||||||
/// hardcoded in this module. This allows the struct to be used with
|
|
||||||
/// `icu`'s `_any` constructors.
|
|
||||||
///
|
|
||||||
/// This macro can only be called from its definition-site, i.e. right
|
|
||||||
/// after `include!`-ing the generated module.
|
|
||||||
///
|
|
||||||
/// ```compile_fail
|
|
||||||
/// struct MyAnyProvider;
|
|
||||||
/// include!("/path/to/generated/mod.rs");
|
|
||||||
/// impl_any_provider(MyAnyProvider);
|
|
||||||
/// ```
|
|
||||||
#[allow(unused_macros)] |
|
||||||
macro_rules! impl_any_provider { |
|
||||||
($ provider : path) => { |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
impl AnyProvider for $provider { |
|
||||||
fn load_any(&self, key: DataKey, req: DataRequest) -> Result<AnyResponse, DataError> { |
|
||||||
const CANONICALCOMPOSITIONSV1MARKER: ::icu_provider::DataKeyHash = |
|
||||||
::icu_normalizer::provider::CanonicalCompositionsV1Marker::KEY.hashed(); |
|
||||||
const CANONICALDECOMPOSITIONDATAV1MARKER: ::icu_provider::DataKeyHash = |
|
||||||
::icu_normalizer::provider::CanonicalDecompositionDataV1Marker::KEY.hashed(); |
|
||||||
const CANONICALDECOMPOSITIONTABLESV1MARKER: ::icu_provider::DataKeyHash = |
|
||||||
::icu_normalizer::provider::CanonicalDecompositionTablesV1Marker::KEY.hashed(); |
|
||||||
const COMPATIBILITYDECOMPOSITIONSUPPLEMENTV1MARKER: ::icu_provider::DataKeyHash = |
|
||||||
::icu_normalizer::provider::CompatibilityDecompositionSupplementV1Marker::KEY.hashed(); |
|
||||||
const COMPATIBILITYDECOMPOSITIONTABLESV1MARKER: ::icu_provider::DataKeyHash = |
|
||||||
::icu_normalizer::provider::CompatibilityDecompositionTablesV1Marker::KEY.hashed(); |
|
||||||
const IDCONTINUEV1MARKER: ::icu_provider::DataKeyHash = ::icu_properties::provider::IdContinueV1Marker::KEY.hashed(); |
|
||||||
const IDSTARTV1MARKER: ::icu_provider::DataKeyHash = ::icu_properties::provider::IdStartV1Marker::KEY.hashed(); |
|
||||||
match key.hashed() { |
|
||||||
CANONICALCOMPOSITIONSV1MARKER => normalizer::comp_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
CANONICALDECOMPOSITIONDATAV1MARKER => normalizer::nfd_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
CANONICALDECOMPOSITIONTABLESV1MARKER => normalizer::nfdex_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
COMPATIBILITYDECOMPOSITIONSUPPLEMENTV1MARKER => normalizer::nfkd_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
COMPATIBILITYDECOMPOSITIONTABLESV1MARKER => normalizer::nfkdex_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
IDCONTINUEV1MARKER => props::idc_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
IDSTARTV1MARKER => props::ids_v1::lookup(&req.locale).map(AnyPayload::from_static_ref), |
|
||||||
_ => return Err(DataErrorKind::MissingDataKey.with_req(key, req)), |
|
||||||
} |
|
||||||
.map(|payload| AnyResponse { |
|
||||||
payload: Some(payload), |
|
||||||
metadata: Default::default(), |
|
||||||
}) |
|
||||||
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(key, req)) |
|
||||||
} |
|
||||||
} |
|
||||||
}; |
|
||||||
} |
|
||||||
#[clippy::msrv = "1.61"] |
|
||||||
pub struct BakedDataProvider; |
|
||||||
impl_data_provider!(BakedDataProvider); |
|
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = < :: icu_normalizer :: provider :: CanonicalCompositionsV1Marker as :: icu_provider :: DataMarker > :: Yokeable ; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
pub mod comp_v1; |
|
||||||
pub mod nfd_v1; |
|
||||||
pub mod nfdex_v1; |
|
||||||
pub mod nfkd_v1; |
|
||||||
pub mod nfkdex_v1; |
|
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = < :: icu_normalizer :: provider :: CanonicalDecompositionDataV1Marker as :: icu_provider :: DataMarker > :: Yokeable ; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = < :: icu_normalizer :: provider :: CanonicalDecompositionTablesV1Marker as :: icu_provider :: DataMarker > :: Yokeable ; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = < :: icu_normalizer :: provider :: CompatibilityDecompositionSupplementV1Marker as :: icu_provider :: DataMarker > :: Yokeable ; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = < :: icu_normalizer :: provider :: CompatibilityDecompositionTablesV1Marker as :: icu_provider :: DataMarker > :: Yokeable ; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = |
|
||||||
<::icu_properties::provider::IdContinueV1Marker as ::icu_provider::DataMarker>::Yokeable; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@ |
|||||||
// @generated
|
|
||||||
type DataStruct = |
|
||||||
<::icu_properties::provider::IdStartV1Marker as ::icu_provider::DataMarker>::Yokeable; |
|
||||||
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> { |
|
||||||
locale.is_empty().then(|| &UND) |
|
||||||
} |
|
||||||
static UND: DataStruct = include!("und.rs.data"); |
|
File diff suppressed because one or more lines are too long
@ -1,3 +0,0 @@ |
|||||||
// @generated
|
|
||||||
pub mod idc_v1; |
|
||||||
pub mod ids_v1; |
|
Loading…
Reference in new issue