swc_ecma_lexer/common/parser/
is_simple_param_list.rs1use swc_ecma_ast::{Param, ParamOrTsParamProp, Pat};
2
3pub trait IsSimpleParameterList {
4 fn is_simple_parameter_list(&self) -> bool;
5}
6
7impl IsSimpleParameterList for Vec<Param> {
8 fn is_simple_parameter_list(&self) -> bool {
9 self.iter().all(|param| matches!(param.pat, Pat::Ident(_)))
10 }
11}
12
13impl IsSimpleParameterList for Vec<Pat> {
14 fn is_simple_parameter_list(&self) -> bool {
15 self.iter().all(|pat| matches!(pat, Pat::Ident(_)))
16 }
17}
18
19impl IsSimpleParameterList for Vec<ParamOrTsParamProp> {
20 fn is_simple_parameter_list(&self) -> bool {
21 self.iter().all(|param| {
22 matches!(
23 param,
24 ParamOrTsParamProp::TsParamProp(..)
25 | ParamOrTsParamProp::Param(Param {
26 pat: Pat::Ident(_),
27 ..
28 })
29 )
30 })
31 }
32}