swc_ecma_preset_env/corejs2/
builtin.rs1use once_cell::sync::Lazy;
2use rustc_hash::FxHashMap;
3
4use crate::{util::PooledStr, Versions};
5
6include!(concat!(env!("OUT_DIR"), "/corejs2_builtin/lib.rs"));
7
8pub(crate) static BUILTINS: Lazy<FxHashMap<&str, Versions>> = Lazy::new(|| {
9 FEATURES
13 .iter()
14 .map(|&(feature, start, end)| {
15 let start = start as usize;
16 let end = end as usize;
17 let mut versions = Versions::default();
18 for (browser, version) in &VERSION_STORE[start..end] {
19 let version = version.as_str().parse().unwrap();
20 versions.insert(browser.as_str(), Some(version));
21 }
22 (feature.as_str(), versions)
23 })
24 .collect()
25});