swc_ecma_lexer/common/parser/
is_invalid_class_name.rs1use swc_common::Span;
2use swc_ecma_ast::Ident;
3
4pub trait IsInvalidClassName {
5 fn invalid_class_name(&self) -> Option<Span>;
6}
7
8impl IsInvalidClassName for Ident {
9 fn invalid_class_name(&self) -> Option<Span> {
10 match &*self.sym {
11 "string" | "null" | "number" | "object" | "any" | "unknown" | "boolean" | "bigint"
12 | "symbol" | "void" | "never" | "intrinsic" => Some(self.span),
13 _ => None,
14 }
15 }
16}
17impl IsInvalidClassName for Option<Ident> {
18 fn invalid_class_name(&self) -> Option<Span> {
19 self.as_ref().and_then(|i| i.invalid_class_name())
20 }
21}