From 21dbb088ef22a60c1dd4b1ff1eddff5a16c581a5 Mon Sep 17 00:00:00 2001 From: Denis Bezrukov <6227442+denbezrukov@users.noreply.github.com> Date: Mon, 8 May 2023 09:53:29 +0300 Subject: [PATCH] feat(rome_js_parser): EcmaScript @decorators #4252 --- .../src/js/expressions/class_expression.rs | 8 ++++---- crates/rome_js_formatter/src/js/lists/decorator_list.rs | 2 +- crates/rome_js_formatter/src/utils/assignment_like.rs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/rome_js_formatter/src/js/expressions/class_expression.rs b/crates/rome_js_formatter/src/js/expressions/class_expression.rs index da2de6fc22f..d4244b54576 100644 --- a/crates/rome_js_formatter/src/js/expressions/class_expression.rs +++ b/crates/rome_js_formatter/src/js/expressions/class_expression.rs @@ -12,7 +12,9 @@ pub(crate) struct FormatJsClassExpression; impl FormatNodeRule for FormatJsClassExpression { fn fmt_fields(&self, node: &JsClassExpression, f: &mut JsFormatter) -> FormatResult<()> { - if node.decorators().len() > 0 { + if node.decorators().is_empty() { + FormatClass::from(&node.clone().into()).fmt(f) + } else { write!( f, [ @@ -23,13 +25,11 @@ impl FormatNodeRule for FormatJsClassExpression { soft_line_break_or_space() ] ) - } else { - FormatClass::from(&node.clone().into()).fmt(f) } } fn needs_parentheses(&self, item: &JsClassExpression) -> bool { - item.decorators().len() > 0 || item.needs_parentheses() + !item.decorators().is_empty() || item.needs_parentheses() } fn fmt_dangling_comments( diff --git a/crates/rome_js_formatter/src/js/lists/decorator_list.rs b/crates/rome_js_formatter/src/js/lists/decorator_list.rs index f5a47d67409..37e95067fd4 100644 --- a/crates/rome_js_formatter/src/js/lists/decorator_list.rs +++ b/crates/rome_js_formatter/src/js/lists/decorator_list.rs @@ -75,7 +75,7 @@ impl FormatRule for FormatJsDecoratorList { let is_export = export.is_some(); let has_decorators_before_export = - export.map_or(false, |export| export.decorators().len() > 0); + export.map_or(false, |export| !export.decorators().is_empty()); if has_decorators_before_export { return Ok(()); diff --git a/crates/rome_js_formatter/src/utils/assignment_like.rs b/crates/rome_js_formatter/src/utils/assignment_like.rs index 793cbc8593e..9f125ea83c3 100644 --- a/crates/rome_js_formatter/src/utils/assignment_like.rs +++ b/crates/rome_js_formatter/src/utils/assignment_like.rs @@ -941,7 +941,7 @@ pub(crate) fn should_break_after_operator( }) } - AnyJsExpression::JsClassExpression(class) => class.decorators().len() > 0, + AnyJsExpression::JsClassExpression(class) => !class.decorators().is_empty(), _ => false, };