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}