oxc-browserslist 3.0.12

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, 228u32, 437u32, 716u32, 925u32, 1143u32, 1353u32, 1568u32, 1806u32, 2042u32, 2195u32,
    2465u32, 2715u32, 2917u32, 3123u32, 3429u32, 3665u32, 3877u32, 4124u32, 4374u32, 4595u32,
    4828u32, 5051u32, 5286u32, 5559u32, 5677u32, 5905u32, 6116u32, 6349u32, 6552u32, 6774u32,
    7009u32, 7240u32, 7499u32, 7757u32, 8029u32, 8185u32, 8400u32, 8662u32, 8903u32, 9038u32,
    9253u32, 9559u32, 9847u32, 10069u32, 10281u32, 10587u32, 10799u32, 10864u32, 11078u32,
    11329u32, 11626u32, 11839u32, 12066u32, 12272u32, 12503u32, 12783u32, 13002u32, 13231u32,
    13488u32, 13613u32, 13862u32, 14124u32, 14374u32, 14574u32, 14687u32, 14822u32, 14994u32,
    15269u32, 15507u32, 15754u32, 15953u32, 16224u32, 16440u32, 16618u32, 16911u32, 17104u32,
    17279u32, 17524u32, 17773u32, 17997u32, 18217u32, 18448u32, 18676u32, 18872u32, 19056u32,
    19269u32, 19533u32, 19752u32, 19995u32, 20258u32, 20492u32, 20715u32, 20939u32, 21202u32,
    21403u32, 21616u32, 21831u32, 22125u32, 22344u32, 22607u32, 22799u32, 23020u32, 23237u32,
    23509u32, 23742u32, 23933u32, 24140u32, 24285u32, 24464u32, 24654u32, 24727u32, 24963u32,
    25183u32, 25392u32, 25626u32, 25831u32, 26062u32, 26267u32, 26438u32, 26630u32, 26875u32,
    27088u32, 27317u32, 27567u32, 27798u32, 28048u32, 28318u32, 28487u32, 28722u32, 28943u32,
    29205u32, 29313u32, 29551u32, 29779u32, 30026u32, 30262u32, 30488u32, 30633u32, 30868u32,
    31086u32, 31197u32, 31415u32, 31630u32, 31838u32, 32086u32, 32315u32, 32548u32, 32815u32,
    33056u32, 33282u32, 33538u32, 33611u32, 33871u32, 34077u32, 34347u32, 34617u32, 34827u32,
    34918u32, 34999u32, 35249u32, 35478u32, 35693u32, 35927u32, 36113u32, 36343u32, 36559u32,
    36812u32, 37054u32, 37190u32, 37257u32, 37489u32, 37710u32, 37948u32, 38091u32, 38296u32,
    38511u32, 38762u32, 39007u32, 39293u32, 39572u32, 39819u32, 40058u32, 40244u32, 40497u32,
    40721u32, 40978u32, 41210u32, 41303u32, 41543u32, 41784u32, 42031u32, 42194u32, 42416u32,
    42634u32, 42830u32, 42994u32, 43219u32, 43458u32, 43695u32, 43896u32, 44104u32, 44348u32,
    44566u32, 44794u32, 45051u32, 45202u32, 45451u32, 45611u32, 45862u32, 46093u32, 46196u32,
    46465u32, 46740u32, 46987u32, 47258u32, 47541u32, 47759u32, 47963u32, 48053u32, 48244u32,
    48465u32, 48707u32, 48907u32, 49132u32, 49304u32, 49415u32, 49594u32, 49808u32, 49992u32,
    50227u32, 50483u32, 50753u32, 50975u32, 51087u32, 51325u32, 51563u32, 51807u32, 52034u32,
    52235u32, 52488u32,
];
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]))
}