summaryrefslogtreecommitdiff
path: root/serde_v8/de.rs
diff options
context:
space:
mode:
authorDarshan Sen <raisinten@gmail.com>2022-10-03 01:48:31 +0530
committerGitHub <noreply@github.com>2022-10-02 22:18:31 +0200
commitbac3a1210f9c773112f3d5001305d1cc6a097798 (patch)
tree5b80211a315fba2392d0a9d8bb4811f868333358 /serde_v8/de.rs
parente07b62d74a451a0ba6617f1bc7875d9c71c85ee2 (diff)
fix(serde_v8): serialize objects with numeric keys correctly (#15946)
Signed-off-by: Darshan Sen <raisinten@gmail.com>
Diffstat (limited to 'serde_v8/de.rs')
-rw-r--r--serde_v8/de.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/serde_v8/de.rs b/serde_v8/de.rs
index 79fb9ae6d..dff29b8f9 100644
--- a/serde_v8/de.rs
+++ b/serde_v8/de.rs
@@ -325,8 +325,12 @@ impl<'de, 'a, 'b, 's, 'x> de::Deserializer<'de>
};
visitor.visit_map(map)
} else {
- let prop_names =
- obj.get_own_property_names(self.scope, Default::default());
+ let prop_names = obj.get_own_property_names(
+ self.scope,
+ v8::GetPropertyNamesArgsBuilder::new()
+ .key_conversion(v8::KeyConversionMode::ConvertToString)
+ .build(),
+ );
let keys: Vec<magic::Value> = match prop_names {
Some(names) => from_v8(self.scope, names.into()).unwrap(),
None => vec![],