oxc-browserslist 3.0.7

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, 201u32, 409u32, 686u32, 890u32, 1068u32, 1280u32, 1494u32, 1742u32, 1971u32, 2109u32,
    2371u32, 2616u32, 2809u32, 2978u32, 3251u32, 3489u32, 3688u32, 3921u32, 4161u32, 4376u32,
    4612u32, 4835u32, 5067u32, 5342u32, 5467u32, 5680u32, 5892u32, 6109u32, 6295u32, 6527u32,
    6772u32, 6998u32, 7232u32, 7483u32, 7747u32, 7926u32, 8129u32, 8383u32, 8631u32, 8758u32,
    8980u32, 9269u32, 9545u32, 9769u32, 9983u32, 10302u32, 10523u32, 10589u32, 10803u32, 11054u32,
    11343u32, 11540u32, 11766u32, 11957u32, 12187u32, 12462u32, 12682u32, 12909u32, 13175u32,
    13304u32, 13555u32, 13827u32, 14073u32, 14284u32, 14390u32, 14542u32, 14711u32, 14987u32,
    15211u32, 15454u32, 15651u32, 15911u32, 16125u32, 16295u32, 16576u32, 16762u32, 16930u32,
    17197u32, 17438u32, 17661u32, 17878u32, 18103u32, 18315u32, 18500u32, 18680u32, 18895u32,
    19146u32, 19358u32, 19596u32, 19864u32, 20086u32, 20300u32, 20521u32, 20779u32, 20976u32,
    21184u32, 21403u32, 21707u32, 21911u32, 22168u32, 22364u32, 22569u32, 22775u32, 23046u32,
    23277u32, 23467u32, 23680u32, 23822u32, 23983u32, 24208u32, 24279u32, 24501u32, 24713u32,
    24902u32, 25129u32, 25334u32, 25555u32, 25751u32, 25928u32, 26124u32, 26372u32, 26579u32,
    26849u32, 27090u32, 27318u32, 27565u32, 27826u32, 28005u32, 28210u32, 28437u32, 28700u32,
    28812u32, 29038u32, 29257u32, 29498u32, 29733u32, 29976u32, 30108u32, 30336u32, 30555u32,
    30675u32, 30892u32, 31108u32, 31308u32, 31559u32, 31780u32, 32004u32, 32268u32, 32504u32,
    32723u32, 32956u32, 33029u32, 33293u32, 33503u32, 33770u32, 34019u32, 34226u32, 34318u32,
    34395u32, 34633u32, 34875u32, 35086u32, 35308u32, 35510u32, 35743u32, 35954u32, 36197u32,
    36424u32, 36548u32, 36617u32, 36842u32, 37067u32, 37288u32, 37441u32, 37651u32, 37870u32,
    38097u32, 38325u32, 38625u32, 38891u32, 39142u32, 39364u32, 39565u32, 39842u32, 40043u32,
    40301u32, 40514u32, 40597u32, 40835u32, 41066u32, 41324u32, 41493u32, 41711u32, 41929u32,
    42129u32, 42299u32, 42518u32, 42765u32, 42983u32, 43161u32, 43364u32, 43609u32, 43820u32,
    44058u32, 44315u32, 44473u32, 44715u32, 44881u32, 45128u32, 45344u32, 45439u32, 45702u32,
    45969u32, 46217u32, 46472u32, 46754u32, 46960u32, 47172u32, 47272u32, 47447u32, 47667u32,
    47878u32, 48072u32, 48262u32, 48434u32, 48543u32, 48712u32, 48927u32, 49112u32, 49342u32,
    49596u32, 49867u32, 50087u32, 50203u32, 50429u32, 50669u32, 50923u32, 51144u32, 51338u32,
    51581u32,
];
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]))
}