Serialize

Trait Serialize 

Source
pub trait Serialize {
    // Required method
    fn serialize<S>(
        &self,
        serializer: S,
    ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
       where S: Serializer;
}
Expand description

A data structure that can be serialized into any data format supported by the SpacetimeDB Algebraic Type System.

In most cases, implementations of Serialize may be #[derive(Serialize)]d.

The Serialize trait in SATS performs the same function as serde::Serialize in serde. See the documentation of serde::Serialize for more information of the data model.

Do not manually implement this trait unless you know what you are doing. Implementations must be consistent with Deerialize<'de> for T, SpacetimeType for T and Serialize, Deserialize for AlgebraicValue. Implementations that are inconsistent across these traits may result in data loss.

Required Methods§

Source

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize self in the data format of S using the provided serializer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Serialize for bool

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for f32

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for f64

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for i8

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for i16

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for i32

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for i64

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for i128

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for str

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for u8

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for u16

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for u32

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for u64

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for u128

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ()

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for String

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for Bytes

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ConstrainedFloat<f32, UnitConstraint<f32>>

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ConstrainedFloat<f64, UnitConstraint<f64>>

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for I256

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for U256

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for Constraints

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ColSet

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ColId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ConstraintId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for IndexId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ScheduleId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for SequenceId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for TableId

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl Serialize for ColList

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Bound<T>
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Option<T>
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for &T
where T: Serialize + ?Sized,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for [T]
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Box<T>
where T: Serialize + ?Sized,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Rc<T>
where T: Serialize + ?Sized,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Arc<T>
where T: Serialize + ?Sized,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T> Serialize for Vec<T>
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T, E> Serialize for Result<T, E>
where T: Serialize, E: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T, const N: usize> Serialize for [T; N]
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Source§

impl<T, const N: usize> Serialize for SmallVec<[T; N]>
where T: Serialize,

Source§

fn serialize<S>( &self, ser: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Implementors§

Source§

impl Serialize for StAccess

Source§

impl Serialize for StTableType

Source§

impl Serialize for IndexType

Source§

impl Serialize for Lifecycle

Source§

impl Serialize for RawConstraintDataV9

Source§

impl Serialize for RawIndexAlgorithm

Source§

impl Serialize for RawMiscModuleExportV9

Source§

impl Serialize for TableAccess

Source§

impl Serialize for TableType

Source§

impl Serialize for AlgebraicType

Source§

impl Serialize for AlgebraicValue

Source§

impl Serialize for MiscModuleExport

Source§

impl Serialize for RawModuleDef

Source§

impl Serialize for OpCmp

Source§

impl Serialize for OpLogic

Source§

impl Serialize for OpUnary

Source§

impl Serialize for ScheduleAt

Source§

impl Serialize for StVarValue

Source§

impl Serialize for ArrayValue

Source§

impl Serialize for ConnectionId

Source§

impl Serialize for ConnectionIdForUrl

Source§

impl Serialize for ColumnAttribute

Source§

impl Serialize for RawColumnDefV8

Source§

impl Serialize for RawConstraintDefV8

Source§

impl Serialize for RawIndexDefV8

Source§

impl Serialize for RawSequenceDefV8

Source§

impl Serialize for RawTableDefV8

Source§

impl Serialize for RawConstraintDefV9

Source§

impl Serialize for RawIndexDefV9

Source§

impl Serialize for RawModuleDefV9

Source§

impl Serialize for RawReducerDefV9

Source§

impl Serialize for RawRowLevelSecurityDefV9

Source§

impl Serialize for RawScheduleDefV9

Source§

impl Serialize for RawScopedTypeNameV9

Source§

impl Serialize for RawSequenceDefV9

Source§

impl Serialize for RawTableDefV9

Source§

impl Serialize for RawTypeDefV9

Source§

impl Serialize for RawUniqueConstraintDataV9

Source§

impl Serialize for Identity

Source§

impl Serialize for Hash

Source§

impl Serialize for ProductType

Source§

impl Serialize for ProductTypeElement

Source§

impl Serialize for ProductValue

Source§

impl Serialize for RawModuleDefV8

Source§

impl Serialize for ReducerDef

Source§

impl Serialize for SumType

Source§

impl Serialize for TableDesc

Source§

impl Serialize for TimeDuration

Source§

impl Serialize for Timestamp

Source§

impl Serialize for TypeAlias

Source§

impl Serialize for AlgebraicTypeRef

Source§

impl Serialize for ArrayType

Source§

impl Serialize for Size

Source§

impl Serialize for ValueWithType<'_, AlgebraicValue>

Source§

impl Serialize for ValueWithType<'_, ArrayValue>

Source§

impl Serialize for ValueWithType<'_, ProductValue>

Source§

impl Serialize for ValueWithType<'_, SumValue>

Source§

impl Serialize for SumTypeVariant

Source§

impl Serialize for SumValue

Source§

impl Serialize for Typespace

Source§

impl<T> Serialize for ValueWithType<'_, Box<[T]>>
where T: Value, ValueWithType<'a, T>: for<'a> Serialize,