pub struct SerdeSerializer<S> { /* private fields */ }Expand description
Converts any serde::Serializer to a SATS Serializer
so that Serde’s data formats can be reused.
Implementations§
Source§impl<S> SerdeSerializer<S>where
S: Serializer,
impl<S> SerdeSerializer<S>where
S: Serializer,
Sourcepub fn new(ser: S) -> SerdeSerializer<S>
pub fn new(ser: S) -> SerdeSerializer<S>
Returns a wrapped serializer.
Trait Implementations§
Source§impl<S> Serializer for SerdeSerializer<S>where
S: Serializer,
impl<S> Serializer for SerdeSerializer<S>where
S: Serializer,
Source§type Ok = <S as Serializer>::Ok
type Ok = <S as Serializer>::Ok
The output type produced by this
Serializer during successful serialization. Read moreSource§type Error = SerdeError<<S as Serializer>::Error>
type Error = SerdeError<<S as Serializer>::Error>
The error type when some error occurs during serialization.
Source§type SerializeArray = SerializeArray<<S as Serializer>::SerializeSeq>
type SerializeArray = SerializeArray<<S as Serializer>::SerializeSeq>
Type returned from
serialize_array
for serializing the contents of the array.Source§type SerializeSeqProduct = SerializeSeqProduct<<S as Serializer>::SerializeTuple>
type SerializeSeqProduct = SerializeSeqProduct<<S as Serializer>::SerializeTuple>
Type returned from
serialize_seq_product
for serializing the contents of the unnamed product.Source§type SerializeNamedProduct = SerializeNamedProduct<<S as Serializer>::SerializeMap>
type SerializeNamedProduct = SerializeNamedProduct<<S as Serializer>::SerializeMap>
Type returned from
serialize_named_product
for serializing the contents of the named product.Source§fn serialize_bool(
self,
v: bool,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_bool( self, v: bool, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
bool value.Source§fn serialize_u8(
self,
v: u8,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u8( self, v: u8, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u8 value.Source§fn serialize_u16(
self,
v: u16,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u16( self, v: u16, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u16 value.Source§fn serialize_u32(
self,
v: u32,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u32( self, v: u32, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u32 value.Source§fn serialize_u64(
self,
v: u64,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u64( self, v: u64, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u64 value.Source§fn serialize_u128(
self,
v: u128,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u128( self, v: u128, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u128 value.Source§fn serialize_u256(
self,
v: U256,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_u256( self, v: U256, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
u256 value.Source§fn serialize_i8(
self,
v: i8,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i8( self, v: i8, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i8 value.Source§fn serialize_i16(
self,
v: i16,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i16( self, v: i16, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i16 value.Source§fn serialize_i32(
self,
v: i32,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i32( self, v: i32, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i32 value.Source§fn serialize_i64(
self,
v: i64,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i64( self, v: i64, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i64 value.Source§fn serialize_i128(
self,
v: i128,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i128( self, v: i128, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i128 value.Source§fn serialize_i256(
self,
v: I256,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_i256( self, v: I256, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
i256 value.Source§fn serialize_f32(
self,
v: f32,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_f32( self, v: f32, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
f32 value.Source§fn serialize_f64(
self,
v: f64,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_f64( self, v: f64, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize an
f64 value.Source§fn serialize_str(
self,
v: &str,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_str( self, v: &str, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
&str string slice.Source§fn serialize_bytes(
self,
v: &[u8],
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_bytes( self, v: &[u8], ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a
&[u8] byte slice.Source§fn serialize_array(
self,
len: usize,
) -> Result<<SerdeSerializer<S> as Serializer>::SerializeArray, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_array( self, len: usize, ) -> Result<<SerdeSerializer<S> as Serializer>::SerializeArray, <SerdeSerializer<S> as Serializer>::Error>
Begin to serialize a variably sized array.
This call must be followed by zero or more calls to
SerializeArray::serialize_element,
then a call to SerializeArray::end. Read moreSource§fn serialize_seq_product(
self,
len: usize,
) -> Result<<SerdeSerializer<S> as Serializer>::SerializeSeqProduct, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_seq_product( self, len: usize, ) -> Result<<SerdeSerializer<S> as Serializer>::SerializeSeqProduct, <SerdeSerializer<S> as Serializer>::Error>
Begin to serialize a product with unnamed fields.
This call must be followed by zero or more calls to
SerializeSeqProduct::serialize_element,
then a call to SerializeSeqProduct::end. Read moreSource§fn serialize_named_product(
self,
len: usize,
) -> Result<<SerdeSerializer<S> as Serializer>::SerializeNamedProduct, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_named_product( self, len: usize, ) -> Result<<SerdeSerializer<S> as Serializer>::SerializeNamedProduct, <SerdeSerializer<S> as Serializer>::Error>
Begin to serialize a product with named fields.
This call must be followed by zero or more calls to
SerializeNamedProduct::serialize_element,
then a call to SerializeNamedProduct::end. Read moreSource§fn serialize_variant<T>(
self,
tag: u8,
name: Option<&str>,
value: &T,
) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
fn serialize_variant<T>( self, tag: u8, name: Option<&str>, value: &T, ) -> Result<<SerdeSerializer<S> as Serializer>::Ok, <SerdeSerializer<S> as Serializer>::Error>
Serialize a sum value provided the chosen
tag, name, and value.Source§fn serialize_named_product_raw(
self,
value: &ValueWithType<'_, ProductValue>,
) -> Result<Self::Ok, Self::Error>
fn serialize_named_product_raw( self, value: &ValueWithType<'_, ProductValue>, ) -> Result<Self::Ok, Self::Error>
Serialize a product with named fields. Read more
Source§fn serialize_variant_raw(
self,
sum: &ValueWithType<'_, SumValue>,
) -> Result<Self::Ok, Self::Error>
fn serialize_variant_raw( self, sum: &ValueWithType<'_, SumValue>, ) -> Result<Self::Ok, Self::Error>
Serialize a sum value Read more
Source§unsafe fn serialize_bsatn<Ty>(
self,
ty: &Ty,
bsatn: &[u8],
) -> Result<Self::Ok, Self::Error>where
WithTypespace<'a, Ty>: for<'a, 'de> DeserializeSeed<'de>,
<WithTypespace<'a, Ty> as DeserializeSeed<'de>>::Output: for<'a, 'de> Into<AlgebraicValue>,
unsafe fn serialize_bsatn<Ty>(
self,
ty: &Ty,
bsatn: &[u8],
) -> Result<Self::Ok, Self::Error>where
WithTypespace<'a, Ty>: for<'a, 'de> DeserializeSeed<'de>,
<WithTypespace<'a, Ty> as DeserializeSeed<'de>>::Output: for<'a, 'de> Into<AlgebraicValue>,
Source§unsafe fn serialize_bsatn_in_chunks<'a, Ty, I>(
self,
ty: &Ty,
total_bsatn_len: usize,
bsatn: I,
) -> Result<Self::Ok, Self::Error>where
I: Clone + Iterator<Item = &'a [u8]>,
WithTypespace<'b, Ty>: for<'b, 'de> DeserializeSeed<'de>,
<WithTypespace<'b, Ty> as DeserializeSeed<'de>>::Output: for<'b, 'de> Into<AlgebraicValue>,
unsafe fn serialize_bsatn_in_chunks<'a, Ty, I>(
self,
ty: &Ty,
total_bsatn_len: usize,
bsatn: I,
) -> Result<Self::Ok, Self::Error>where
I: Clone + Iterator<Item = &'a [u8]>,
WithTypespace<'b, Ty>: for<'b, 'de> DeserializeSeed<'de>,
<WithTypespace<'b, Ty> as DeserializeSeed<'de>>::Output: for<'b, 'de> Into<AlgebraicValue>,
Auto Trait Implementations§
impl<S> Freeze for SerdeSerializer<S>where
S: Freeze,
impl<S> RefUnwindSafe for SerdeSerializer<S>where
S: RefUnwindSafe,
impl<S> Send for SerdeSerializer<S>where
S: Send,
impl<S> Sync for SerdeSerializer<S>where
S: Sync,
impl<S> Unpin for SerdeSerializer<S>where
S: Unpin,
impl<S> UnwindSafe for SerdeSerializer<S>where
S: UnwindSafe,
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more