Struct scrypto_test::prelude::prelude::VersionedSchema
source · pub struct VersionedSchema<S>where
S: CustomSchema,{ /* private fields */ }Expand description
If you wish to get access to match on the versions, use .as_ref() or .as_mut().
Implementations§
source§impl<S> VersionedSchema<S>where
S: CustomSchema,
impl<S> VersionedSchema<S>where
S: CustomSchema,
pub fn new(inner: SchemaVersions<S>) -> VersionedSchema<S>
source§impl<S> VersionedSchema<S>where
S: CustomSchema,
impl<S> VersionedSchema<S>where
S: CustomSchema,
source§impl<S> VersionedSchema<S>where
S: CustomSchema,
impl<S> VersionedSchema<S>where
S: CustomSchema,
pub fn empty() -> VersionedSchema<S>
Trait Implementations§
source§impl<S> AsMut<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
impl<S> AsMut<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
source§fn as_mut(&mut self) -> &mut SchemaVersions<S>
fn as_mut(&mut self) -> &mut SchemaVersions<S>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
impl AsMut<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
source§fn as_mut(&mut self) -> &mut VersionedSchema<ScryptoCustomSchema>
fn as_mut(&mut self) -> &mut VersionedSchema<ScryptoCustomSchema>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl<S> AsRef<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
impl<S> AsRef<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
source§fn as_ref(&self) -> &SchemaVersions<S>
fn as_ref(&self) -> &SchemaVersions<S>
Converts this type into a shared reference of the (usually inferred) input type.
source§impl AsRef<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
impl AsRef<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
source§fn as_ref(&self) -> &VersionedSchema<ScryptoCustomSchema>
fn as_ref(&self) -> &VersionedSchema<ScryptoCustomSchema>
Converts this type into a shared reference of the (usually inferred) input type.
source§impl<S, X> Categorize<X> for VersionedSchema<S>where
S: CustomSchema,
X: CustomValueKind,
impl<S, X> Categorize<X> for VersionedSchema<S>where
S: CustomSchema,
X: CustomValueKind,
fn value_kind() -> ValueKind<X>
source§impl<S> Clone for VersionedSchema<S>where
S: Clone + CustomSchema,
impl<S> Clone for VersionedSchema<S>where
S: Clone + CustomSchema,
source§fn clone(&self) -> VersionedSchema<S>
fn clone(&self) -> VersionedSchema<S>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<S> Debug for VersionedSchema<S>where
S: Debug + CustomSchema,
impl<S> Debug for VersionedSchema<S>where
S: Debug + CustomSchema,
source§impl<S, D, X> Decode<X, D> for VersionedSchema<S>where
S: CustomSchema,
D: Decoder<X>,
X: CustomValueKind,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Decode<X, D>,
<S as CustomSchema>::CustomTypeValidation: Decode<X, D>,
impl<S, D, X> Decode<X, D> for VersionedSchema<S>where
S: CustomSchema,
D: Decoder<X>,
X: CustomValueKind,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Decode<X, D>,
<S as CustomSchema>::CustomTypeValidation: Decode<X, D>,
source§fn decode_body_with_value_kind(
decoder: &mut D,
value_kind: ValueKind<X>
) -> Result<VersionedSchema<S>, DecodeError>
fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<X> ) -> Result<VersionedSchema<S>, DecodeError>
Decodes the type from the decoder, which should match a preloaded value kind. Read more
source§impl<S> Default for VersionedSchema<S>where
S: CustomSchema,
impl<S> Default for VersionedSchema<S>where
S: CustomSchema,
source§fn default() -> VersionedSchema<S>
fn default() -> VersionedSchema<S>
Returns the “default value” for a type. Read more
source§impl<S, C> Describe<C> for VersionedSchema<S>where
S: CustomSchema,
C: CustomTypeKind<RustTypeId>,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Describe<C>,
<S as CustomSchema>::CustomTypeValidation: Describe<C>,
impl<S, C> Describe<C> for VersionedSchema<S>where
S: CustomSchema,
C: CustomTypeKind<RustTypeId>,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Describe<C>,
<S as CustomSchema>::CustomTypeValidation: Describe<C>,
source§const TYPE_ID: RustTypeId = _
const TYPE_ID: RustTypeId = _
The
TYPE_ID should give a unique identifier for its SBOR schema type.
An SBOR schema type capture details about the SBOR payload, how it should be interpreted, validated and displayed. Read moresource§fn type_data() -> TypeData<C, RustTypeId>
fn type_data() -> TypeData<C, RustTypeId>
Returns the local schema for the given type. Read more
source§fn add_all_dependencies(aggregator: &mut TypeAggregator<C>)
fn add_all_dependencies(aggregator: &mut TypeAggregator<C>)
For each type referenced in
get_local_type_data, we need to ensure that the type and all of its own references
get added to the aggregator. Read moresource§impl<S, E, X> Encode<X, E> for VersionedSchema<S>where
S: CustomSchema,
E: Encoder<X>,
X: CustomValueKind,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Encode<X, E>,
<S as CustomSchema>::CustomTypeValidation: Encode<X, E>,
impl<S, E, X> Encode<X, E> for VersionedSchema<S>where
S: CustomSchema,
E: Encoder<X>,
X: CustomValueKind,
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Encode<X, E>,
<S as CustomSchema>::CustomTypeValidation: Encode<X, E>,
source§fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
Encodes the SBOR value’s kind to the encoder
source§fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
Encodes the SBOR body of the type to the encoder. Read more
source§impl<S> From<SchemaV1<S>> for VersionedSchema<S>where
S: CustomSchema,
impl<S> From<SchemaV1<S>> for VersionedSchema<S>where
S: CustomSchema,
source§fn from(value: SchemaV1<S>) -> VersionedSchema<S>
fn from(value: SchemaV1<S>) -> VersionedSchema<S>
Converts to this type from the input type.
source§impl<S> From<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
impl<S> From<SchemaVersions<S>> for VersionedSchema<S>where
S: CustomSchema,
source§fn from(value: SchemaVersions<S>) -> VersionedSchema<S>
fn from(value: SchemaVersions<S>) -> VersionedSchema<S>
Converts to this type from the input type.
source§impl<S> From<VersionedSchema<S>> for SchemaVersions<S>where
S: CustomSchema,
impl<S> From<VersionedSchema<S>> for SchemaVersions<S>where
S: CustomSchema,
source§fn from(value: VersionedSchema<S>) -> SchemaVersions<S>
fn from(value: VersionedSchema<S>) -> SchemaVersions<S>
Converts to this type from the input type.
source§impl From<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
impl From<VersionedSchema<ScryptoCustomSchema>> for PackageSchemaEntryPayload
source§fn from(
value: VersionedSchema<ScryptoCustomSchema>
) -> PackageSchemaEntryPayload
fn from( value: VersionedSchema<ScryptoCustomSchema> ) -> PackageSchemaEntryPayload
Converts to this type from the input type.
source§impl HasSchemaHash for VersionedSchema<ScryptoCustomSchema>
impl HasSchemaHash for VersionedSchema<ScryptoCustomSchema>
fn generate_schema_hash(&self) -> SchemaHash
source§impl KeyValueEntryContentSource<PackageSchemaEntryPayload> for VersionedSchema<ScryptoCustomSchema>
impl KeyValueEntryContentSource<PackageSchemaEntryPayload> for VersionedSchema<ScryptoCustomSchema>
fn into_content(self) -> VersionedSchema<ScryptoCustomSchema>
fn into_payload(self) -> Payload
fn into_locked_substate(self) -> KeyValueEntrySubstate<Payload>
fn into_unlocked_substate(self) -> KeyValueEntrySubstate<Payload>
source§impl<S> PartialEq for VersionedSchema<S>where
S: PartialEq + CustomSchema,
impl<S> PartialEq for VersionedSchema<S>where
S: PartialEq + CustomSchema,
source§fn eq(&self, other: &VersionedSchema<S>) -> bool
fn eq(&self, other: &VersionedSchema<S>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl<S, X> SborEnum<X> for VersionedSchema<S>
impl<S, X> SborEnum<X> for VersionedSchema<S>
fn get_discriminator(&self) -> u8
fn get_length(&self) -> usize
source§impl<S, X> SborTuple<X> for VersionedSchema<S>
impl<S, X> SborTuple<X> for VersionedSchema<S>
fn get_length(&self) -> usize
source§impl<S> UniqueVersioned for VersionedSchema<S>where
S: CustomSchema,
impl<S> UniqueVersioned for VersionedSchema<S>where
S: CustomSchema,
source§fn as_unique_version(&self) -> &<VersionedSchema<S> as Versioned>::LatestVersion
fn as_unique_version(&self) -> &<VersionedSchema<S> as Versioned>::LatestVersion
Returns an immutable reference to (currently) the only possible version of the inner content.
source§fn as_unique_version_mut(
&mut self
) -> &mut <VersionedSchema<S> as Versioned>::LatestVersion
fn as_unique_version_mut( &mut self ) -> &mut <VersionedSchema<S> as Versioned>::LatestVersion
Returns a mutable reference to (currently) the only possible version of the inner content. Read more
source§fn into_unique_version(self) -> <VersionedSchema<S> as Versioned>::LatestVersion
fn into_unique_version(self) -> <VersionedSchema<S> as Versioned>::LatestVersion
Returns the (currently) only possible version of the inner content. Read more
source§fn from_unique_version(
content: <VersionedSchema<S> as Versioned>::LatestVersion
) -> VersionedSchema<S>
fn from_unique_version( content: <VersionedSchema<S> as Versioned>::LatestVersion ) -> VersionedSchema<S>
Creates the versioned wrapper from the (currently) only possible version. Read more
source§impl<S> Versioned for VersionedSchema<S>where
S: CustomSchema,
impl<S> Versioned for VersionedSchema<S>where
S: CustomSchema,
source§fn from_latest_version(
latest: <VersionedSchema<S> as Versioned>::LatestVersion
) -> VersionedSchema<S>
fn from_latest_version( latest: <VersionedSchema<S> as Versioned>::LatestVersion ) -> VersionedSchema<S>
Constructs the versioned enum from the latest content
§type Versions = SchemaVersions<S>
type Versions = SchemaVersions<S>
The type for the enum of versions.
§type LatestVersion = SchemaV1<S>
type LatestVersion = SchemaV1<S>
The type for the latest content.
source§fn is_fully_updated(&self) -> bool
fn is_fully_updated(&self) -> bool
Returns true if at the latest version.
source§fn in_place_fully_update(&mut self) -> &mut VersionedSchema<S>
fn in_place_fully_update(&mut self) -> &mut VersionedSchema<S>
Updates to the latest version in place.
source§fn fully_update_and_into_latest_version(
self
) -> <VersionedSchema<S> as Versioned>::LatestVersion
fn fully_update_and_into_latest_version( self ) -> <VersionedSchema<S> as Versioned>::LatestVersion
Updates itself to the latest version, then returns the latest content
source§fn as_latest_version(
&self
) -> Option<&<VersionedSchema<S> as Versioned>::LatestVersion>
fn as_latest_version( &self ) -> Option<&<VersionedSchema<S> as Versioned>::LatestVersion>
If the versioned wrapper is at the latest version, it returns
an immutable reference to the latest content, otherwise it returns
None. Read moresource§fn as_latest_version_mut(
&mut self
) -> Option<&mut <VersionedSchema<S> as Versioned>::LatestVersion>
fn as_latest_version_mut( &mut self ) -> Option<&mut <VersionedSchema<S> as Versioned>::LatestVersion>
If the versioned wrapper is at the latest version, it returns
a mutable reference to the latest content, otherwise it returns
None. Read moresource§fn as_versions(&self) -> &<VersionedSchema<S> as Versioned>::Versions
fn as_versions(&self) -> &<VersionedSchema<S> as Versioned>::Versions
Gets a reference the inner versions enum, for e.g. matching on the enum. Read more
source§fn as_versions_mut(
&mut self
) -> &mut <VersionedSchema<S> as Versioned>::Versions
fn as_versions_mut( &mut self ) -> &mut <VersionedSchema<S> as Versioned>::Versions
Gets a mutable reference the inner versions enum, for e.g. matching on the enum. Read more
source§fn into_versions(self) -> <VersionedSchema<S> as Versioned>::Versions
fn into_versions(self) -> <VersionedSchema<S> as Versioned>::Versions
Removes the upgradable wrapper to get at the inner versions enum, for e.g. matching on the enum.
source§fn from_versions(
version: <VersionedSchema<S> as Versioned>::Versions
) -> VersionedSchema<S>
fn from_versions( version: <VersionedSchema<S> as Versioned>::Versions ) -> VersionedSchema<S>
Creates a new Versioned wrapper from a given specific version.
source§fn in_place_fully_update_and_as_latest_version_mut(
&mut self
) -> &mut Self::LatestVersion
fn in_place_fully_update_and_as_latest_version_mut( &mut self ) -> &mut Self::LatestVersion
Updates the latest version in place, and returns a
&mut to the latest contentsource§fn fully_update(self) -> Self
fn fully_update(self) -> Self
Consumes self, updates to the latest version and returns itself.
impl<S> Eq for VersionedSchema<S>where
S: Eq + CustomSchema,
impl<S> StructuralPartialEq for VersionedSchema<S>where
S: CustomSchema,
Auto Trait Implementations§
impl<S> Freeze for VersionedSchema<S>
impl<S> RefUnwindSafe for VersionedSchema<S>where
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: RefUnwindSafe,
<S as CustomSchema>::CustomTypeValidation: RefUnwindSafe,
impl<S> Send for VersionedSchema<S>where
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Send,
<S as CustomSchema>::CustomTypeValidation: Send,
impl<S> Sync for VersionedSchema<S>where
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Sync,
<S as CustomSchema>::CustomTypeValidation: Sync,
impl<S> Unpin for VersionedSchema<S>where
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: Unpin,
<S as CustomSchema>::CustomTypeValidation: Unpin,
impl<S> UnwindSafe for VersionedSchema<S>where
<S as CustomSchema>::CustomTypeKind<LocalTypeId>: UnwindSafe,
<S as CustomSchema>::CustomTypeValidation: 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> DefaultForNetwork for Twhere
T: Default,
impl<T> DefaultForNetwork for Twhere
T: Default,
fn default_for_network(_: &NetworkDefinition) -> T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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