Trait frame_support::traits::StoredMap [−][src]
pub trait StoredMap<K, T: Default> { fn get(k: &K) -> T; fn try_mutate_exists<R, E: From<DispatchError>>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> Result<R, E>
) -> Result<R, E>; fn mutate<R>(k: &K, f: impl FnOnce(&mut T) -> R) -> Result<R, DispatchError> { ... } fn mutate_exists<R>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> R
) -> Result<R, DispatchError> { ... } fn insert(k: &K, t: T) -> Result<(), DispatchError> { ... } fn remove(k: &K) -> Result<(), DispatchError> { ... } }
Expand description
An abstraction of a value stored within storage, but possibly as part of a larger composite item.
Required methods
Get the item, or its default if it doesn’t yet exist; we make no distinction between the two.
fn try_mutate_exists<R, E: From<DispatchError>>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> Result<R, E>
) -> Result<R, E>
fn try_mutate_exists<R, E: From<DispatchError>>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> Result<R, E>
) -> Result<R, E>Maybe mutate the item only if an Ok value is returned from f. Do nothing if an Err is
returned. It is removed or reset to default value if it has been mutated to None
Provided methods
fn mutate_exists<R>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> R
) -> Result<R, DispatchError>
fn mutate_exists<R>(
k: &K,
f: impl FnOnce(&mut Option<T>) -> R
) -> Result<R, DispatchError>Mutate the item, removing or resetting to default value if it has been mutated to None.
This is infallible as long as the value does not get destroyed.
Implementors
impl<S: StorageMap<K, T, Query = T>, L: HandleLifetime<K>, K: FullCodec, T: FullCodec + Default> StoredMap<K, T> for StorageMapShim<S, L, K, T>