pub struct CheckState<Inspect: InspectStrategy, Inner = NoParams>(pub Inspect::Value, pub Inner);
Expand description
The CheckState
is a strategy that accepts an Inspect
value and the Inner
strategy.
It is meant to be used when the asset state check should be performed
prior to the Inner
strategy execution.
The inspected state must be equal to the provided value.
The CheckState
implements all potentially state-mutating strategies that the Inner
implements.
Tuple Fields§
§0: Inspect::Value
§1: Inner
Implementations§
Source§impl<Inspect: InspectStrategy, Inner: Default> CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: Default> CheckState<Inspect, Inner>
Source§impl<Inspect: InspectStrategy, Inner> CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner> CheckState<Inspect, Inner>
Sourcepub fn new(expected: Inspect::Value, inner: Inner) -> Self
pub fn new(expected: Inspect::Value, inner: Inner) -> Self
This function creates a CheckState
strategy.
The operation that accepts it must check if the provided expected
value
equals the in-storage one.
If so, the operation must, in turn, proceed according to the provided value of the Inner
strategy.
Trait Implementations§
Source§impl<Inspect: InspectStrategy, Inner: CreateStrategy> CreateStrategy for CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: CreateStrategy> CreateStrategy for CheckState<Inspect, Inner>
Source§type Success = <Inner as CreateStrategy>::Success
type Success = <Inner as CreateStrategy>::Success
This type represents a successful asset creation.
It will be in the
Result
type of the Create::create
function.Source§impl<Inspect: InspectStrategy, Inner: DestroyStrategy> DestroyStrategy for CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: DestroyStrategy> DestroyStrategy for CheckState<Inspect, Inner>
Source§type Success = <Inner as DestroyStrategy>::Success
type Success = <Inner as DestroyStrategy>::Success
This type represents a successful asset destruction.
It will be in the
Result
type of the Destroy::destroy
function.Source§impl<Inspect: InspectStrategy, Inner: RestoreStrategy> RestoreStrategy for CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: RestoreStrategy> RestoreStrategy for CheckState<Inspect, Inner>
Source§type Success = <Inner as RestoreStrategy>::Success
type Success = <Inner as RestoreStrategy>::Success
This type represents a successful asset restoration.
It will be in the
Result
type of the Restore::restore
function.Source§impl<Inspect: InspectStrategy, Inner: StashStrategy> StashStrategy for CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: StashStrategy> StashStrategy for CheckState<Inspect, Inner>
Source§type Success = <Inner as StashStrategy>::Success
type Success = <Inner as StashStrategy>::Success
This type represents a successful asset stashing.
It will be in the
Result
type of the Stash::stash
function.Source§impl<Inspect: InspectStrategy, Inner: UpdateStrategy> UpdateStrategy for CheckState<Inspect, Inner>
impl<Inspect: InspectStrategy, Inner: UpdateStrategy> UpdateStrategy for CheckState<Inspect, Inner>
Source§type UpdateValue<'u> = <Inner as UpdateStrategy>::UpdateValue<'u>
type UpdateValue<'u> = <Inner as UpdateStrategy>::UpdateValue<'u>
The value to update the asset’s state.
Usually, it should be related to the corresponding
InspectStrategy::Value
. Read moreSource§type Success = <Inner as UpdateStrategy>::Success
type Success = <Inner as UpdateStrategy>::Success
This type represents a successful asset state update.
It will be in the
Result
type of the Update::update
function.Auto Trait Implementations§
impl<Inspect, Inner> Freeze for CheckState<Inspect, Inner>
impl<Inspect, Inner> RefUnwindSafe for CheckState<Inspect, Inner>
impl<Inspect, Inner> Send for CheckState<Inspect, Inner>
impl<Inspect, Inner> Sync for CheckState<Inspect, Inner>
impl<Inspect, Inner> Unpin for CheckState<Inspect, Inner>
impl<Inspect, Inner> UnwindSafe for CheckState<Inspect, Inner>
Blanket Implementations§
Source§impl<T> AsCanUpdate for Twhere
T: UpdateStrategy,
impl<T> AsCanUpdate for Twhere
T: UpdateStrategy,
fn as_can_update(self) -> CanUpdate<T>
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> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.