refactor(transformer/class-properties): exit transform_class faster if nothing to do (#7586)

Small optimization. Class properties transform doesn't have to do anything if the class has no properties, which will often be the case. Exit sooner in this case.
This commit is contained in:
overlookmotel 2024-12-03 07:46:00 +00:00
parent dccff38afe
commit ebd11fb5e9

View file

@ -339,6 +339,13 @@ impl<'a, 'ctx> ClassProperties<'a, 'ctx> {
index_not_including_removed += 1;
}
// Exit if nothing to transform
if instance_prop_count == 0 && !has_static_prop_or_static_block {
self.private_props_stack.push(None);
return;
}
// Add entry to `private_props_stack`
if private_props.is_empty() {
self.private_props_stack.push(None);
} else {
@ -353,11 +360,6 @@ impl<'a, 'ctx> ClassProperties<'a, 'ctx> {
}));
}
// Exit if nothing to transform
if instance_prop_count == 0 && !has_static_prop_or_static_block {
return;
}
// Extract properties and static blocks from class body + substitute computed method keys
let mut instance_inits = Vec::with_capacity(instance_prop_count);
class.body.body.retain_mut(|element| {