oxc-browserslist 3.0.4

Rust-ported Browserslist for Oxc.
Documentation
use crate::data::caniuse::{compression::LazyData, region::RegionData};
static KEYS: LazyData<Vec<String>> =
    LazyData::new(include_bytes!("caniuse_region_keys.bin.deflate"));
static RANGES: &[u32] = &[
    0u32, 174u32, 396u32, 651u32, 821u32, 970u32, 1193u32, 1404u32, 1665u32, 1874u32, 1994u32,
    2259u32, 2498u32, 2661u32, 2802u32, 3009u32, 3227u32, 3418u32, 3635u32, 3880u32, 4103u32,
    4341u32, 4553u32, 4775u32, 5009u32, 5122u32, 5327u32, 5523u32, 5742u32, 5891u32, 6095u32,
    6311u32, 6525u32, 6712u32, 6969u32, 7200u32, 7367u32, 7586u32, 7833u32, 8074u32, 8201u32,
    8424u32, 8699u32, 8966u32, 9190u32, 9380u32, 9711u32, 9911u32, 9976u32, 10170u32, 10410u32,
    10693u32, 10855u32, 11041u32, 11204u32, 11427u32, 11687u32, 11909u32, 12096u32, 12344u32,
    12469u32, 12712u32, 12974u32, 13200u32, 13394u32, 13499u32, 13616u32, 13760u32, 14017u32,
    14244u32, 14479u32, 14649u32, 14889u32, 15075u32, 15214u32, 15477u32, 15621u32, 15767u32,
    16017u32, 16248u32, 16439u32, 16637u32, 16840u32, 17029u32, 17198u32, 17351u32, 17536u32,
    17794u32, 18007u32, 18212u32, 18455u32, 18672u32, 18891u32, 19107u32, 19339u32, 19496u32,
    19705u32, 19904u32, 20150u32, 20333u32, 20578u32, 20728u32, 20908u32, 21094u32, 21352u32,
    21562u32, 21731u32, 21916u32, 22044u32, 22202u32, 22365u32, 22437u32, 22651u32, 22849u32,
    22994u32, 23199u32, 23373u32, 23588u32, 23769u32, 23916u32, 24090u32, 24309u32, 24477u32,
    24727u32, 24943u32, 25142u32, 25380u32, 25637u32, 25791u32, 25983u32, 26186u32, 26443u32,
    26543u32, 26756u32, 26969u32, 27176u32, 27424u32, 27633u32, 27750u32, 27949u32, 28148u32,
    28242u32, 28443u32, 28633u32, 28807u32, 29037u32, 29263u32, 29489u32, 29733u32, 29950u32,
    30141u32, 30356u32, 30431u32, 30677u32, 30865u32, 31117u32, 31339u32, 31520u32, 31606u32,
    31684u32, 31884u32, 32092u32, 32285u32, 32497u32, 32678u32, 32889u32, 33075u32, 33309u32,
    33540u32, 33659u32, 33725u32, 33920u32, 34118u32, 34330u32, 34435u32, 34635u32, 34826u32,
    35029u32, 35243u32, 35484u32, 35744u32, 35970u32, 36182u32, 36355u32, 36609u32, 36801u32,
    37023u32, 37230u32, 37309u32, 37516u32, 37721u32, 37958u32, 38094u32, 38312u32, 38513u32,
    38672u32, 38804u32, 38999u32, 39236u32, 39414u32, 39571u32, 39757u32, 40005u32, 40191u32,
    40432u32, 40680u32, 40819u32, 41041u32, 41174u32, 41409u32, 41606u32, 41699u32, 41934u32,
    42178u32, 42428u32, 42670u32, 42926u32, 43123u32, 43313u32, 43412u32, 43574u32, 43772u32,
    43954u32, 44112u32, 44285u32, 44434u32, 44525u32, 44678u32, 44863u32, 45025u32, 45256u32,
    45474u32, 45717u32, 45926u32, 46024u32, 46250u32, 46480u32, 46712u32, 46919u32, 47112u32,
    47345u32,
];
pub fn get_usage_by_region(name: &str) -> Option<RegionData> {
    let index = KEYS.get().binary_search_by(|key| key.as_str().cmp(name)).ok()?;
    Some(RegionData::new(RANGES[index], RANGES[index + 1]))
}