pub struct SerializeFields<'a, T, S>(pub &'a T, pub &'a S);Expand description
A wrapper struct that combines data with a field selector for serialization.
This is the core type that enables dynamic field selection. It wraps your data
and a field selector, implementing Serialize to only include enabled fields.
§Type Parameters
T: The type of data being serializedS: The type of field selector (typically generated by the derive macro)
§Examples
let wrapper = SerializeFields(&user, &selector);
let json = serde_json::to_string(&wrapper).unwrap();Tuple Fields§
§0: &'a T§1: &'a STrait Implementations§
Source§impl<'a, T, S> JsonSchema for SerializeFields<'a, T, S>where
T: JsonSchema,
S: FieldSelector,
impl<'a, T, S> JsonSchema for SerializeFields<'a, T, S>where
T: JsonSchema,
S: FieldSelector,
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn always_inline_schema() -> bool
fn always_inline_schema() -> bool
👎Deprecated: Use
inline_schema() insteadOnly included for backward-compatibility - use
inline_schema() instead“. Read moreSource§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl<'a, T, S> Serialize for SerializeFields<'a, Option<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, Option<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Source§impl<'a, T, S> Serialize for SerializeFields<'a, T, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, T, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Source§impl<'a, T, S> Serialize for SerializeFields<'a, Vec<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, Vec<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Auto Trait Implementations§
impl<'a, T, S> Freeze for SerializeFields<'a, T, S>
impl<'a, T, S> RefUnwindSafe for SerializeFields<'a, T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<'a, T, S> Send for SerializeFields<'a, T, S>
impl<'a, T, S> Sync for SerializeFields<'a, T, S>
impl<'a, T, S> Unpin for SerializeFields<'a, T, S>
impl<'a, T, S> UnwindSafe for SerializeFields<'a, T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more