Skip to main content

ot_tools_io/projects/slots/
serialize.rs

1/*
2SPDX-License-Identifier: GPL-3.0-or-later
3Copyright © 2026 Mike Robeson [dijksterhuis]
4*/
5
6use crate::generics::Slots;
7use crate::projects::SlotAttributes;
8use serde::{ser::SerializeStruct, Serialize, Serializer};
9
10impl Serialize for Slots<Option<SlotAttributes>> {
11    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
12    where
13        S: Serializer,
14    {
15        let mut state = serializer.serialize_struct("Slots<Option<SlotAttributes>>", 3)?;
16        state.serialize_field("flex_slots", &self.flex_slots)?;
17        state.serialize_field("recording_buffers", &self.recording_buffers)?;
18        state.serialize_field("static_slots", &self.static_slots)?;
19        state.end()
20    }
21}