diff --git a/crates/napi/src/bindgen_runtime/js_values/either.rs b/crates/napi/src/bindgen_runtime/js_values/either.rs index 37f298f9..15f90e81 100644 --- a/crates/napi/src/bindgen_runtime/js_values/either.rs +++ b/crates/napi/src/bindgen_runtime/js_values/either.rs @@ -150,6 +150,18 @@ macro_rules! either_n { } } } + + #[cfg(feature = "serde-json")] + impl< $( $parameter: serde::Serialize ),+ > serde::Serialize for $either_name< $( $parameter ),+ > { + fn serialize(&self, serializer: Ser) -> Result + where + Ser: serde::Serializer + { + match &self { + $( Self:: $parameter (v) => serializer.serialize_some(v) ),+ + } + } + } }; }