kataan 0.0.8

A high-performance JavaScript engine written in pure Rust. Library, C FFI, and CLI.
Documentation
//! CLDR alias tables for BCP-47 *extension* subtags.
//!
//! @generated by `tools/gen_cldr_bcp47_aliases.py` from CLDR
//! (`common/bcp47/timezone.xml`, `common/bcp47/transform.xml`,
//! `common/supplemental/supplementalMetadata.xml`) — DO NOT EDIT.
//!
//! `Intl.getCanonicalLocales` replaces deprecated subtags with their preferred
//! forms. The `intl` crate's alias corpus covers the *base* subtags (language,
//! script, region, variant); these are the extension-subtag aliases it does not
//! carry — `-u-tz-`, `-u-rg-`/`-u-sd-`, and `-t-` tvalues. Each table is sorted,
//! so [`lookup`] binary-searches it.

/// The preferred replacement for deprecated subtag `key` in `table`, if any.
pub(crate) fn lookup(table: &[(&'static str, &'static str)], key: &str) -> Option<&'static str> {
    table
        .binary_search_by(|(k, _)| (*k).cmp(key))
        .ok()
        .map(|i| table[i].1)
}

/// `-u-tz-` deprecated time-zone ids — 22 aliases.
pub(crate) static TIMEZONE: &[(&str, &str)] = &[
    ("aqams", "aqmcm"),
    ("aukns", "auhba"),
    ("caffs", "cawnp"),
    ("camtr", "cator"),
    ("canpg", "cator"),
    ("capnt", "caiql"),
    ("cathu", "cator"),
    ("cayzf", "caedm"),
    ("cnckg", "cnsha"),
    ("cnhrb", "cnsha"),
    ("cnkhg", "cnurc"),
    ("cst6cdt", "uschi"),
    ("est5edt", "usnyc"),
    ("gaza", "gazastrp"),
    ("mncoq", "mnuln"),
    ("mst7mdt", "usden"),
    ("mxstis", "mxtij"),
    ("pst8pdt", "uslax"),
    ("uaozh", "uaiev"),
    ("uauzh", "uaiev"),
    ("umjon", "ushnl"),
    ("usnavajo", "usden"),
];

/// `-t-` deprecated tvalue subtags — 2 aliases.
pub(crate) static TRANSFORM_VALUE: &[(&str, &str)] = &[("c", "c11"), ("names", "prprname")];

/// `-u-rg-`/`-u-sd-` deprecated subdivision ids — 117 aliases.
pub(crate) static SUBDIVISION: &[(&str, &str)] = &[
    ("cn11", "cnbj"),
    ("cn12", "cntj"),
    ("cn13", "cnhe"),
    ("cn14", "cnsx"),
    ("cn15", "cnmn"),
    ("cn21", "cnln"),
    ("cn22", "cnjl"),
    ("cn23", "cnhl"),
    ("cn31", "cnsh"),
    ("cn32", "cnjs"),
    ("cn33", "cnzj"),
    ("cn34", "cnah"),
    ("cn35", "cnfj"),
    ("cn36", "cnjx"),
    ("cn37", "cnsd"),
    ("cn41", "cnha"),
    ("cn42", "cnhb"),
    ("cn43", "cnhn"),
    ("cn44", "cngd"),
    ("cn45", "cngx"),
    ("cn46", "cnhi"),
    ("cn50", "cncq"),
    ("cn51", "cnsc"),
    ("cn52", "cngz"),
    ("cn53", "cnyn"),
    ("cn54", "cnxz"),
    ("cn61", "cnsn"),
    ("cn62", "cngs"),
    ("cn63", "cnqh"),
    ("cn64", "cnnx"),
    ("cn65", "cnxj"),
    ("cz10a", "cz110"),
    ("cz10b", "cz111"),
    ("cz10c", "cz112"),
    ("cz10d", "cz113"),
    ("cz10e", "cz114"),
    ("cz10f", "cz115"),
    ("cz611", "cz663"),
    ("cz612", "cz632"),
    ("cz613", "cz633"),
    ("cz614", "cz634"),
    ("cz615", "cz635"),
    ("cz621", "cz641"),
    ("cz622", "cz642"),
    ("cz623", "cz643"),
    ("cz624", "cz644"),
    ("cz626", "cz646"),
    ("cz627", "cz647"),
    ("czjc", "cz31"),
    ("czjm", "cz64"),
    ("czka", "cz41"),
    ("czkr", "cz52"),
    ("czli", "cz51"),
    ("czmo", "cz80"),
    ("czol", "cz71"),
    ("czpa", "cz53"),
    ("czpl", "cz32"),
    ("czpr", "cz10"),
    ("czst", "cz20"),
    ("czus", "cz42"),
    ("czvy", "cz63"),
    ("czzl", "cz72"),
    ("fra", "frges"),
    ("frb", "frnaq"),
    ("frc", "frara"),
    ("frd", "frbfc"),
    ("fre", "frbre"),
    ("frf", "frcvl"),
    ("frg", "frges"),
    ("frh", "frcor"),
    ("fri", "frbfc"),
    ("frj", "fridf"),
    ("frk", "frocc"),
    ("frl", "frnaq"),
    ("frm", "frges"),
    ("frn", "frocc"),
    ("fro", "frhdf"),
    ("frp", "frnor"),
    ("frq", "frnor"),
    ("frr", "frpdl"),
    ("frs", "frhdf"),
    ("frt", "frnaq"),
    ("fru", "frpac"),
    ("frv", "frara"),
    ("laxn", "laxs"),
    ("lud", "lucl"),
    ("lug", "luec"),
    ("lul", "luca"),
    ("mrnkc", "mr13"),
    ("no23", "no50"),
    ("nzn", "nzauk"),
    ("nzs", "nzcan"),
    ("omba", "ombj"),
    ("omsh", "omsj"),
    ("plds", "pl02"),
    ("plkp", "pl04"),
    ("pllb", "pl08"),
    ("plld", "pl10"),
    ("pllu", "pl06"),
    ("plma", "pl12"),
    ("plmz", "pl14"),
    ("plop", "pl16"),
    ("plpd", "pl20"),
    ("plpk", "pl18"),
    ("plpm", "pl22"),
    ("plsk", "pl26"),
    ("plsl", "pl24"),
    ("plwn", "pl28"),
    ("plwp", "pl30"),
    ("plzp", "pl32"),
    ("tteto", "tttob"),
    ("ttrcm", "ttmrc"),
    ("ttwto", "tttob"),
    ("twkhq", "twkhh"),
    ("twtnq", "twtnn"),
    ("twtpq", "twnwt"),
    ("twtxq", "twtxg"),
];