Struct serde_wasm_bindgen::Serializer
source · [−]pub struct Serializer { /* private fields */ }
Expand description
A serde::Serializer
that converts supported Rust values into a JsValue
.
Implementations
sourceimpl Serializer
impl Serializer
sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new default Serializer
.
sourcepub const fn json_compatible() -> Self
pub const fn json_compatible() -> Self
Creates a JSON compatible serializer. This uses null instead of undefined, and
uses plain objects instead of ES maps. So you will get the same result of
JsValue::from_serde
, and you can stringify results to JSON and store
it without data loss.
sourcepub const fn serialize_missing_as_null(self, value: bool) -> Self
pub const fn serialize_missing_as_null(self, value: bool) -> Self
Set to true
to serialize ()
, unit structs and Option::None
to null
instead of undefined
in JS. false
by default.
sourcepub const fn serialize_maps_as_objects(self, value: bool) -> Self
pub const fn serialize_maps_as_objects(self, value: bool) -> Self
Set to true
to serialize maps into plain JavaScript objects instead of
ES2015 Map
s. false
by default.
sourcepub const fn serialize_large_number_types_as_bigints(self, value: bool) -> Self
pub const fn serialize_large_number_types_as_bigints(self, value: bool) -> Self
Set to true
to serialize 64-bit numbers to JavaScript BigInt
instead of
plain numbers. false
by default.
Trait Implementations
sourceimpl Default for Serializer
impl Default for Serializer
sourcefn default() -> Serializer
fn default() -> Serializer
sourceimpl<'s> Serializer for &'s Serializer
impl<'s> Serializer for &'s Serializer
sourcefn serialize_unit_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str
) -> Result<JsValue, Error>
fn serialize_unit_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str
) -> Result<JsValue, Error>
For compatibility with serde-json, serialises unit variants as “Variant” strings.
sourcefn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq, Error>
fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq, Error>
Serialises any Rust iterable into a JS Array.
sourcefn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap, Error>
fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap, Error>
Serialises Rust maps into JS Map
or plain JS objects, depending on configuration of serialize_maps_as_objects
.
sourcefn serialize_struct(
self,
_name: &'static str,
_len: usize
) -> Result<Self::SerializeStruct, Error>
fn serialize_struct(
self,
_name: &'static str,
_len: usize
) -> Result<Self::SerializeStruct, Error>
Serialises Rust typed structs into plain JS objects.
type Ok = JsValue
type Ok = JsValue
Serializer
during successful
serialization. Most serializers that produce text or binary output
should set Ok = ()
and serialize into an io::Write
or buffer
contained within the Serializer
instance. Serializers that build
in-memory data structures may be simplified by using Ok
to propagate
the data structure around. Read moretype SerializeSeq = ArraySerializer<'s>
type SerializeSeq = ArraySerializer<'s>
serialize_seq
for serializing the content of the
sequence. Read moretype SerializeTuple = ArraySerializer<'s>
type SerializeTuple = ArraySerializer<'s>
serialize_tuple
for serializing the content of
the tuple. Read moretype SerializeTupleStruct = ArraySerializer<'s>
type SerializeTupleStruct = ArraySerializer<'s>
serialize_tuple_struct
for serializing the
content of the tuple struct. Read moretype SerializeTupleVariant = VariantSerializer<ArraySerializer<'s>>
type SerializeTupleVariant = VariantSerializer<ArraySerializer<'s>>
serialize_tuple_variant
for serializing the
content of the tuple variant. Read moretype SerializeMap = MapSerializer<'s>
type SerializeMap = MapSerializer<'s>
serialize_map
for serializing the content of the
map. Read moretype SerializeStruct = ObjectSerializer<'s>
type SerializeStruct = ObjectSerializer<'s>
serialize_struct
for serializing the content of
the struct. Read moretype SerializeStructVariant = VariantSerializer<ObjectSerializer<'s>>
type SerializeStructVariant = VariantSerializer<ObjectSerializer<'s>>
serialize_struct_variant
for serializing the
content of the struct variant. Read moresourcefn serialize_bytes(self, v: &[u8]) -> Result<JsValue, Error>
fn serialize_bytes(self, v: &[u8]) -> Result<JsValue, Error>
sourcefn serialize_newtype_struct<T: ?Sized + Serialize>(
self,
_name: &'static str,
value: &T
) -> Result<JsValue, Error>
fn serialize_newtype_struct<T: ?Sized + Serialize>(
self,
_name: &'static str,
value: &T
) -> Result<JsValue, Error>
struct Millimeters(u8)
. Read moresourcefn serialize_newtype_variant<T: ?Sized + Serialize>(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
value: &T
) -> Result<JsValue, Error>
fn serialize_newtype_variant<T: ?Sized + Serialize>(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
value: &T
) -> Result<JsValue, Error>
sourcefn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Error>
fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Error>
serialize_element
,
then a call to end
. Read moresourcefn serialize_tuple_struct(
self,
_name: &'static str,
len: usize
) -> Result<Self::SerializeTupleStruct, Error>
fn serialize_tuple_struct(
self,
_name: &'static str,
len: usize
) -> Result<Self::SerializeTupleStruct, Error>
struct Rgb(u8, u8, u8)
. This
call must be followed by zero or more calls to serialize_field
, then a
call to end
. Read moresourcefn serialize_tuple_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeTupleVariant, Error>
fn serialize_tuple_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeTupleVariant, Error>
E::T
in enum E { T(u8, u8) }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moresourcefn serialize_struct_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeStructVariant, Error>
fn serialize_struct_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeStructVariant, Error>
E::S
in enum E { S { r: u8, g: u8, b: u8 } }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moresourcefn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>where
I: IntoIterator,
<I as IntoIterator>::Item: Serialize,
fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>where
I: IntoIterator,
<I as IntoIterator>::Item: Serialize,
sourcefn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>where
K: Serialize,
V: Serialize,
I: IntoIterator<Item = (K, V)>,
fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>where
K: Serialize,
V: Serialize,
I: IntoIterator<Item = (K, V)>,
sourcefn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>where
T: Display + ?Sized,
fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>where
T: Display + ?Sized,
Display
. Read moresourcefn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Serialize
implementations should serialize in
human-readable form. Read more