forest/ipld/selector/empty_map.rs
1// Copyright 2019-2025 ChainSafe Systems
2// SPDX-License-Identifier: Apache-2.0, MIT
3
4use serde::{Deserialize, Deserializer, Serialize, Serializer};
5
6// This is only used as a utility because go impl serializes no data as an empty
7// map
8
9#[derive(Serialize, Deserialize)]
10struct EmptyMap {}
11
12pub fn serialize<S>(serializer: S) -> Result<S::Ok, S::Error>
13where
14 S: Serializer,
15{
16 EmptyMap {}.serialize(serializer)
17}
18
19pub fn deserialize<'de, D>(deserializer: D) -> Result<(), D::Error>
20where
21 D: Deserializer<'de>,
22{
23 let EmptyMap {} = Deserialize::deserialize(deserializer)?;
24 Ok(())
25}