swc_ecma_compat_es2018/
lib.rs

1#![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}