Struct dharitri_wasm::storage::mappers::SingleValueMapper
source · pub struct SingleValueMapper<SA, T>{ /* private fields */ }Expand description
Manages a single serializable item in storage.
Implementations§
source§impl<SA, T> SingleValueMapper<SA, T>
impl<SA, T> SingleValueMapper<SA, T>
sourcepub fn set<BT>(&self, new_value: BT)where
BT: Borrow<T>,
pub fn set<BT>(&self, new_value: BT)where
BT: Borrow<T>,
Saves argument to storage.
Accepts owned item of type T, or any borrowed form of it, such as &T.
sourcepub fn set_if_empty(&self, value: &T)
pub fn set_if_empty(&self, value: &T)
Saves argument to storage only if the storage is empty. Does nothing otherwise.
sourcepub fn update<R, F: FnOnce(&mut T) -> R>(&self, f: F) -> R
pub fn update<R, F: FnOnce(&mut T) -> R>(&self, f: F) -> R
Syntactic sugar, to more compactly express a get, update and set in one line. Takes whatever lies in storage, apples the given closure and saves the final value back to storage. Propagates the return value of the given function.
pub fn raw_byte_length(&self) -> usize
Trait Implementations§
source§impl<SA, T> EndpointResult for SingleValueMapper<SA, T>
impl<SA, T> EndpointResult for SingleValueMapper<SA, T>
§type DecodeAs = <T as EndpointResult>::DecodeAs
type DecodeAs = <T as EndpointResult>::DecodeAs
Indicates how the result of the endpoint can be interpreted when called via proxy.
Self for most types.fn finish<FA>(&self)where
FA: ManagedTypeApi + EndpointFinishApi,
source§impl<SA, T> StorageMapper<SA> for SingleValueMapper<SA, T>
impl<SA, T> StorageMapper<SA> for SingleValueMapper<SA, T>
source§fn new(base_key: StorageKey<SA>) -> Self
fn new(base_key: StorageKey<SA>) -> Self
Will be called automatically by the
#[storage_mapper] annotation generated code.source§impl<SA, T> TypeAbi for SingleValueMapper<SA, T>
impl<SA, T> TypeAbi for SingleValueMapper<SA, T>
fn type_name() -> TypeName
source§fn provide_type_descriptions<TDC: TypeDescriptionContainer>(
accumulator: &mut TDC
)
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
A type can provide more than its own description.
For instance, a struct can also provide the descriptions of the type of its fields.
TypeAbi doesn’t care for the exact accumulator type,
which is abstracted by the TypeDescriptionContainer trait.
Auto Trait Implementations§
impl<SA, T> RefUnwindSafe for SingleValueMapper<SA, T>where
SA: RefUnwindSafe,
T: RefUnwindSafe,
impl<SA, T> Send for SingleValueMapper<SA, T>
impl<SA, T> Sync for SingleValueMapper<SA, T>
impl<SA, T> Unpin for SingleValueMapper<SA, T>
impl<SA, T> UnwindSafe for SingleValueMapper<SA, T>where
SA: UnwindSafe,
T: 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