oxc-browserslist 5.0.1

Rust-ported Browserslist for Oxc.
Documentation
use crate::data::caniuse::{compression::LazyData, features::Feature};
static KEYS: LazyData<Vec<String>> =
    LazyData::new(include_bytes!("caniuse_feature_keys.bin.deflate"));
static RANGES: &[u16] = &[
    0u16, 91u16, 167u16, 188u16, 234u16, 330u16, 351u16, 372u16, 450u16, 526u16, 602u16, 678u16,
    754u16, 830u16, 898u16, 978u16, 1054u16, 1150u16, 1245u16, 1321u16, 1347u16, 1433u16, 1504u16,
    1577u16, 1645u16, 1750u16, 1835u16, 1943u16, 2034u16, 2134u16, 2185u16, 2248u16, 2324u16,
    2395u16, 2471u16, 2568u16, 2659u16, 2773u16, 2866u16, 2942u16, 3018u16, 3111u16, 3213u16,
    3289u16, 3380u16, 3471u16, 3547u16, 3638u16, 3719u16, 3831u16, 3882u16, 3972u16, 4057u16,
    4108u16, 4218u16, 4301u16, 4397u16, 4509u16, 4618u16, 4711u16, 4806u16, 4890u16, 4957u16,
    5062u16, 5148u16, 5204u16, 5256u16, 5342u16, 5418u16, 5470u16, 5567u16, 5643u16, 5747u16,
    5818u16, 5864u16, 5930u16, 6026u16, 6114u16, 6212u16, 6309u16, 6345u16, 6421u16, 6482u16,
    6539u16, 6615u16, 6695u16, 6751u16, 6811u16, 6887u16, 6949u16, 7006u16, 7062u16, 7138u16,
    7204u16, 7300u16, 7397u16, 7458u16, 7558u16, 7564u16, 7590u16, 7651u16, 7729u16, 7747u16,
    7827u16, 7843u16, 7924u16, 7985u16, 7996u16, 8081u16, 8191u16, 8289u16, 8384u16, 8450u16,
    8526u16, 8582u16, 8658u16, 8744u16, 8842u16, 8949u16, 9037u16, 9098u16, 9109u16, 9120u16,
    9176u16, 9267u16, 9294u16, 9367u16, 9459u16, 9565u16, 9681u16, 9727u16, 9810u16, 9866u16,
    9969u16, 10050u16, 10149u16, 10220u16, 10319u16, 10418u16, 10493u16, 10569u16, 10630u16,
    10748u16, 10749u16, 10847u16, 10923u16, 10938u16, 11014u16, 11110u16, 11178u16, 11249u16,
    11305u16, 11403u16, 11503u16, 11619u16, 11690u16, 11746u16, 11838u16, 11946u16, 12028u16,
    12079u16, 12179u16, 12264u16, 12320u16, 12415u16, 12496u16, 12562u16, 12593u16, 12663u16,
    12758u16, 12831u16, 12902u16, 12978u16, 13054u16, 13147u16, 13243u16, 13341u16, 13427u16,
    13503u16, 13594u16, 13684u16, 13745u16, 13836u16, 13934u16, 14022u16, 14065u16, 14175u16,
    14224u16, 14300u16, 14311u16, 14373u16, 14473u16, 14556u16, 14657u16, 14749u16, 14825u16,
    14907u16, 14908u16, 14984u16, 15041u16, 15132u16, 15218u16, 15261u16, 15357u16, 15457u16,
    15530u16, 15591u16, 15652u16, 15752u16, 15848u16, 15884u16, 15966u16, 16078u16, 16105u16,
    16189u16, 16303u16, 16401u16, 16517u16, 16591u16, 16592u16, 16673u16, 16776u16, 16872u16,
    16943u16, 17039u16, 17135u16, 17241u16, 17317u16, 17403u16, 17494u16, 17530u16, 17606u16,
    17702u16, 17778u16, 17874u16, 17970u16, 18061u16, 18142u16, 18210u16, 18286u16, 18382u16,
    18462u16, 18549u16, 18555u16, 18669u16, 18778u16, 18858u16, 18934u16, 19014u16, 19090u16,
    19174u16, 19250u16, 19335u16, 19346u16, 19428u16, 19508u16, 19606u16, 19713u16, 19804u16,
    19895u16, 19943u16, 20028u16, 20138u16, 20214u16, 20290u16, 20381u16, 20465u16, 20559u16,
    20640u16, 20716u16, 20773u16, 20804u16, 20909u16, 20970u16, 21046u16, 21145u16, 21231u16,
    21327u16, 21433u16, 21536u16, 21636u16, 21707u16, 21802u16, 21906u16, 22018u16, 22114u16,
    22205u16, 22251u16, 22331u16, 22422u16, 22433u16, 22497u16, 22593u16, 22686u16, 22783u16,
    22829u16, 22939u16, 23006u16, 23089u16, 23159u16, 23252u16, 23253u16, 23334u16, 23390u16,
    23406u16, 23502u16, 23568u16, 23604u16, 23690u16, 23799u16, 23885u16, 23985u16, 24081u16,
    24185u16, 24268u16, 24355u16, 24450u16, 24549u16, 24631u16, 24682u16, 24753u16, 24826u16,
    24902u16, 24995u16, 25090u16, 25194u16, 25287u16, 25385u16, 25476u16, 25572u16, 25670u16,
    25756u16, 25840u16, 25891u16, 25967u16, 26052u16, 26063u16, 26074u16, 26090u16, 26166u16,
    26262u16, 26352u16, 26435u16, 26516u16, 26557u16, 26645u16, 26742u16, 26845u16, 26940u16,
    26956u16, 27052u16, 27138u16, 27203u16, 27288u16, 27359u16, 27439u16, 27517u16, 27592u16,
    27648u16, 27730u16, 27752u16, 27870u16, 27871u16, 27980u16, 28076u16, 28148u16, 28258u16,
    28319u16, 28375u16, 28431u16, 28487u16, 28543u16, 28599u16, 28655u16, 28711u16, 28792u16,
    28869u16, 28935u16, 29021u16, 29027u16, 29055u16, 29141u16, 29197u16, 29293u16, 29386u16,
    29392u16, 29487u16, 29583u16, 29689u16, 29775u16, 29866u16, 29959u16, 29981u16, 30074u16,
    30134u16, 30207u16, 30283u16, 30372u16, 30388u16, 30464u16, 30470u16, 30548u16, 30623u16,
    30708u16, 30750u16, 30836u16, 30912u16, 31013u16, 31091u16, 31137u16, 31234u16, 31310u16,
    31401u16, 31492u16, 31568u16, 31619u16, 31625u16, 31720u16, 31783u16, 31824u16, 31895u16,
    31926u16, 32002u16, 32057u16, 32118u16, 32214u16, 32306u16, 32397u16, 32438u16, 32439u16,
    32515u16, 32591u16, 32689u16, 32765u16, 32847u16, 32863u16, 32939u16, 32967u16, 33037u16,
    33135u16, 33235u16, 33324u16, 33350u16, 33426u16, 33512u16, 33596u16, 33698u16, 33793u16,
    33864u16, 33940u16, 34028u16, 34104u16, 34182u16, 34273u16, 34324u16, 34399u16, 34484u16,
    34577u16, 34670u16, 34779u16, 34845u16, 34866u16, 34969u16, 35044u16, 35124u16, 35140u16,
    35176u16, 35256u16, 35322u16, 35392u16, 35490u16, 35550u16, 35596u16, 35652u16, 35745u16,
    35806u16, 35890u16, 35983u16, 36064u16, 36150u16, 36161u16, 36192u16, 36268u16, 36370u16,
    36478u16, 36576u16, 36617u16, 36729u16, 36817u16, 36913u16, 37017u16, 37104u16, 37157u16,
    37228u16, 37314u16, 37390u16, 37423u16, 37424u16, 37500u16, 37593u16, 37689u16, 37757u16,
    37842u16, 37938u16, 38016u16, 38089u16, 38185u16, 38265u16, 38350u16, 38441u16, 38532u16,
    38599u16, 38690u16, 38792u16, 38835u16, 38911u16, 38987u16, 39063u16, 39125u16, 39203u16,
    39301u16, 39392u16, 39478u16, 39558u16, 39639u16, 39705u16, 39800u16, 39816u16, 39873u16,
    39929u16, 40028u16, 40119u16, 40185u16, 40261u16, 40322u16, 40383u16, 40439u16, 40480u16,
    40521u16, 40582u16, 40643u16, 40704u16, 40765u16, 40806u16, 40867u16, 40928u16, 40974u16,
    41035u16, 41116u16, 41207u16, 41295u16, 41356u16, 41402u16, 41429u16, 41479u16, 41557u16,
    41623u16, 41714u16, 41790u16, 41837u16, 41853u16, 41879u16, 41971u16, 41982u16, 42073u16,
    42176u16, 42242u16, 42283u16, 42301u16, 42392u16, 42485u16, 42516u16, 42592u16, 42683u16,
    42761u16, 42862u16, 42978u16, 43074u16, 43173u16, 43282u16, 43378u16, 43384u16, 43496u16,
    43544u16,
];
pub fn get_feature_stat(name: &str) -> Option<Feature> {
    let index = KEYS.get().binary_search_by(|key| key.as_str().cmp(name)).ok()?;
    Some(Feature::new(RANGES[index].into(), RANGES[index + 1].into()))
}