fix(isolated-declarations): missing const after transformed const enum (#3805)

This commit is contained in:
Dunqing 2024-06-21 10:20:10 +00:00
parent 683c7b0dd1
commit 4e241fcda8

View file

@ -21,7 +21,7 @@ impl<'a> IsolatedDeclarations<'a> {
decl: &TSEnumDeclaration<'a>, decl: &TSEnumDeclaration<'a>,
) -> Option<Declaration<'a>> { ) -> Option<Declaration<'a>> {
let mut members = self.ast.new_vec(); let mut members = self.ast.new_vec();
let mut prev_initializer_value = Some(ConstantValue::Number(0.0)); let mut prev_initializer_value = Some(ConstantValue::Number(-1.0));
let mut prev_members = FxHashMap::default(); let mut prev_members = FxHashMap::default();
for member in &decl.members { for member in &decl.members {
let value = if let Some(initializer) = &member.initializer { let value = if let Some(initializer) = &member.initializer {
@ -90,12 +90,12 @@ impl<'a> IsolatedDeclarations<'a> {
members.push(member); members.push(member);
} }
Some(self.ast.ts_enum_declaration( let mut modifiers = self.modifiers_declare();
decl.span, if decl.modifiers.contains(ModifierKind::Const) {
self.ast.copy(&decl.id), modifiers.add_modifier(Modifier { span: SPAN, kind: ModifierKind::Const });
members, }
self.modifiers_declare(),
)) Some(self.ast.ts_enum_declaration(decl.span, self.ast.copy(&decl.id), members, modifiers))
} }
/// Evaluate the expression to a constant value. /// Evaluate the expression to a constant value.