pub struct SerializableFields<'t, 'de, 's1, 's2, E>where
E: CustomExtension,{
traverser: RefCell<&'t mut TypedTraverser<'de, 's1, E>>,
field_names: Option<&'s2 [Cow<'static, str>]>,
length: usize,
}
Expand description
Consumes the number of value-trees from the traverser, and depending on the serialization mode and presence of field names, either outputs as a serde map/JSON object or serde tuple/JSON array.
Note that it doesn’t consume the container end event, because it could also be used for a set of sub-fields.
Fields§
§traverser: RefCell<&'t mut TypedTraverser<'de, 's1, E>>
§field_names: Option<&'s2 [Cow<'static, str>]>
§length: usize
Trait Implementations§
source§impl<'t, 'de, 's1, 's2, 's, 'a, E> ContextualSerialize<SerializationContext<'s, 'a, E>> for SerializableFields<'t, 'de, 's1, 's2, E>where
E: SerializableCustomExtension,
impl<'t, 'de, 's1, 's2, 's, 'a, E> ContextualSerialize<SerializationContext<'s, 'a, E>> for SerializableFields<'t, 'de, 's1, 's2, E>where
E: SerializableCustomExtension,
source§fn contextual_serialize<S>(
&self,
serializer: S,
context: &SerializationContext<'s, 'a, E>
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn contextual_serialize<S>(
&self,
serializer: S,
context: &SerializationContext<'s, 'a, E>
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
§fn serialize<S, TContext>(
&self,
serializer: S,
context: TContext
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
TContext: Into<Context>,
fn serialize<S, TContext>(
&self,
serializer: S,
context: TContext
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
TContext: Into<Context>,
Serializes the value to the given
serde::Serializer
, making use of the provided context.
See also contextual_serialize
, which takes a &Context
instead of an Into<Context>
. Read more§fn serializable<TContext, 'a, 'b>(
&'a self,
context: TContext
) -> ContextSerializable<'a, Self, Context>where
TContext: Into<Context>,
fn serializable<TContext, 'a, 'b>(
&'a self,
context: TContext
) -> ContextSerializable<'a, Self, Context>where
TContext: Into<Context>,
Returns an object implementing
serde::Serialize
, which can be passed to serde
functions.Auto Trait Implementations§
impl<'t, 'de, 's1, 's2, E> !RefUnwindSafe for SerializableFields<'t, 'de, 's1, 's2, E>
impl<'t, 'de, 's1, 's2, E> Send for SerializableFields<'t, 'de, 's1, 's2, E>where
<<E as CustomExtension>::CustomSchema as CustomSchema>::CustomTypeKind<LocalTypeId>: Sync,
<<E as CustomExtension>::CustomSchema as CustomSchema>::CustomTypeValidation: Sync,
<E as CustomExtension>::CustomValueKind: Send,
impl<'t, 'de, 's1, 's2, E> !Sync for SerializableFields<'t, 'de, 's1, 's2, E>
impl<'t, 'de, 's1, 's2, E> Unpin for SerializableFields<'t, 'de, 's1, 's2, E>
impl<'t, 'de, 's1, 's2, E> !UnwindSafe for SerializableFields<'t, 'de, 's1, 's2, E>
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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