swc_ecma_compat_es2018/
lib.rs1#![allow(clippy::vec_box)]
2#![allow(clippy::boxed_local)]
3
4use serde::Deserialize;
5use swc_ecma_ast::Pass;
6use swc_ecma_compat_common::regexp::{self, regexp};
7
8pub use self::object_rest_spread::object_rest_spread;
9
10mod object_rest;
11pub mod object_rest_spread;
12mod object_spread;
13
14pub fn es2018(c: Config) -> impl Pass {
15 (
16 regexp(regexp::Config {
17 dot_all_regex: true,
18 has_indices: false,
19 lookbehind_assertion: true,
20 named_capturing_groups_regex: true,
21 sticky_regex: false,
22 unicode_property_regex: true,
23 unicode_regex: false,
24 unicode_sets_regex: false,
25 }),
26 object_rest_spread(c.object_rest_spread),
27 )
28}
29
30#[derive(Debug, Clone, Copy, Default, Deserialize)]
31#[serde(rename_all = "camelCase")]
32pub struct Config {
33 pub object_rest_spread: object_rest_spread::Config,
34}