Skip to content
This repository has been archived by the owner on Aug 31, 2023. It is now read-only.

Commit

Permalink
feat: Support Auto Accessors (#3956)
Browse files Browse the repository at this point in the history
Fix #3904
  • Loading branch information
nissy-dev authored Dec 15, 2022
1 parent 32cd141 commit ba48b16
Show file tree
Hide file tree
Showing 48 changed files with 1,688 additions and 652 deletions.
6 changes: 6 additions & 0 deletions crates/rome_js_factory/src/generated/node_factory.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions crates/rome_js_factory/src/generated/syntax_factory.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 38 additions & 0 deletions crates/rome_js_formatter/src/generated.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4209,6 +4209,44 @@ impl IntoFormat<JsFormatContext> for rome_js_syntax::JsStaticModifier {
)
}
}
impl FormatRule<rome_js_syntax::JsAccessorModifier>
for crate::js::auxiliary::accessor_modifier::FormatJsAccessorModifier
{
type Context = JsFormatContext;
#[inline(always)]
fn fmt(
&self,
node: &rome_js_syntax::JsAccessorModifier,
f: &mut JsFormatter,
) -> FormatResult<()> {
FormatNodeRule::<rome_js_syntax::JsAccessorModifier>::fmt(self, node, f)
}
}
impl AsFormat<JsFormatContext> for rome_js_syntax::JsAccessorModifier {
type Format<'a> = FormatRefWithRule<
'a,
rome_js_syntax::JsAccessorModifier,
crate::js::auxiliary::accessor_modifier::FormatJsAccessorModifier,
>;
fn format(&self) -> Self::Format<'_> {
FormatRefWithRule::new(
self,
crate::js::auxiliary::accessor_modifier::FormatJsAccessorModifier::default(),
)
}
}
impl IntoFormat<JsFormatContext> for rome_js_syntax::JsAccessorModifier {
type Format = FormatOwnedWithRule<
rome_js_syntax::JsAccessorModifier,
crate::js::auxiliary::accessor_modifier::FormatJsAccessorModifier,
>;
fn into_format(self) -> Self::Format {
FormatOwnedWithRule::new(
self,
crate::js::auxiliary::accessor_modifier::FormatJsAccessorModifier::default(),
)
}
}
impl FormatRule<rome_js_syntax::TsDeclareModifier>
for crate::ts::auxiliary::declare_modifier::FormatTsDeclareModifier
{
Expand Down
1 change: 1 addition & 0 deletions crates/rome_js_formatter/src/js/any/property_modifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ impl FormatRule<AnyJsPropertyModifier> for FormatAnyJsPropertyModifier {
match node {
AnyJsPropertyModifier::TsAccessibilityModifier(node) => node.format().fmt(f),
AnyJsPropertyModifier::JsStaticModifier(node) => node.format().fmt(f),
AnyJsPropertyModifier::JsAccessorModifier(node) => node.format().fmt(f),
AnyJsPropertyModifier::TsReadonlyModifier(node) => node.format().fmt(f),
AnyJsPropertyModifier::TsOverrideModifier(node) => node.format().fmt(f),
}
Expand Down
14 changes: 14 additions & 0 deletions crates/rome_js_formatter/src/js/auxiliary/accessor_modifier.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
use crate::prelude::*;
use rome_formatter::write;
use rome_js_syntax::{JsAccessorModifier, JsAccessorModifierFields};

#[derive(Debug, Clone, Default)]
pub(crate) struct FormatJsAccessorModifier;

impl FormatNodeRule<JsAccessorModifier> for FormatJsAccessorModifier {
fn fmt_fields(&self, node: &JsAccessorModifier, f: &mut JsFormatter) -> FormatResult<()> {
let JsAccessorModifierFields { modifier_token } = node.as_fields();

write![f, [modifier_token.format()]]
}
}
1 change: 1 addition & 0 deletions crates/rome_js_formatter/src/js/auxiliary/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//! This is a generated file. Don't modify it by hand! Run 'cargo codegen formatter' to re-generate the file.

pub(crate) mod accessor_modifier;
pub(crate) mod array_hole;
pub(crate) mod case_clause;
pub(crate) mod catch_clause;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ impl FormatRule<AnyTsPropertySignatureModifier> for FormatAnyTsPropertySignature
AnyTsPropertySignatureModifier::TsDeclareModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::TsAccessibilityModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::JsStaticModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::JsAccessorModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::TsReadonlyModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::TsOverrideModifier(node) => node.format().fmt(f),
AnyTsPropertySignatureModifier::TsAbstractModifier(node) => node.format().fmt(f),
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit ba48b16

Please sign in to comment.