diff --git a/crates/oxc_ast/src/ast/js.rs b/crates/oxc_ast/src/ast/js.rs index 4ba636208..c7ff4df6e 100644 --- a/crates/oxc_ast/src/ast/js.rs +++ b/crates/oxc_ast/src/ast/js.rs @@ -1175,9 +1175,8 @@ pub struct DebuggerStatement { /// Destructuring Binding Patterns #[derive(Debug, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize), serde(rename_all = "camelCase"))] +#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename_all = "camelCase"))] pub struct BindingPattern<'a> { - #[cfg_attr(feature = "serde", serde(flatten))] pub kind: BindingPatternKind<'a>, pub type_annotation: Option>>, pub optional: bool, @@ -1309,11 +1308,10 @@ pub struct FormalParameters<'a> { } #[derive(Debug, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize))] +#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type"))] pub struct FormalParameter<'a> { #[cfg_attr(feature = "serde", serde(flatten))] pub span: Span, - #[cfg_attr(feature = "serde", serde(flatten))] pub pattern: BindingPattern<'a>, pub accessibility: Option, pub readonly: bool, @@ -1321,7 +1319,7 @@ pub struct FormalParameter<'a> { } #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize), serde(untagged))] +#[cfg_attr(feature = "serde", derive(Serialize))] pub enum FormalParameterKind { /// FormalParameter, diff --git a/crates/oxc_hir/src/hir.rs b/crates/oxc_hir/src/hir.rs index d1cd6e4b3..7af82b05a 100644 --- a/crates/oxc_hir/src/hir.rs +++ b/crates/oxc_hir/src/hir.rs @@ -1382,17 +1382,16 @@ pub struct FormalParameters<'a> { } #[derive(Debug, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize))] +#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type"))] pub struct FormalParameter<'a> { #[cfg_attr(feature = "serde", serde(flatten))] pub span: Span, - #[cfg_attr(feature = "serde", serde(flatten))] pub pattern: BindingPattern<'a>, pub decorators: Vec<'a, Decorator<'a>>, } #[derive(Debug, Clone, Copy, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize), serde(untagged))] +#[cfg_attr(feature = "serde", derive(Serialize))] pub enum FormalParameterKind { /// FormalParameter,