difftreelog
refactor optimize properties iteration
in: master
4 files changed
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -608,18 +608,18 @@
} = <CollectionById<T>>::get(collection)?;
let token_property_permissions = <CollectionPropertyPermissions<T>>::get(collection)
- .iter()
+ .into_iter()
.map(|(key, permission)| PropertyKeyPermission {
- key: key.clone(),
- permission: permission.clone(),
+ key,
+ permission,
})
.collect();
let properties = <CollectionProperties<T>>::get(collection)
- .iter()
+ .into_iter()
.map(|(key, value)| Property {
- key: key.clone(),
- value: value.clone(),
+ key,
+ value,
})
.collect();
@@ -947,10 +947,10 @@
})
.unwrap_or_else(|| {
properties
- .iter()
+ .into_iter()
.map(|(key, value)| Property {
- key: key.clone(),
- value: value.clone(),
+ key,
+ value,
})
.collect()
});
@@ -979,10 +979,10 @@
})
.unwrap_or_else(|| {
permissions
- .iter()
+ .into_iter()
.map(|(key, permission)| PropertyKeyPermission {
- key: key.clone(),
- permission: permission.clone(),
+ key,
+ permission,
})
.collect()
});
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -405,7 +405,7 @@
})
.unwrap_or_else(|| {
properties
- .iter()
+ .into_iter()
.map(|(key, value)| Property {
key: key.clone(),
value: value.clone(),
primitives/data-structs/src/lib.rsdiffbeforeafterboth771 self.0.get(key)771 self.0.get(key)772 }772 }773774 pub fn iter(&self) -> impl Iterator<Item = (&PropertyKey, &Value)> {775 self.0.iter()776 }777778 pub fn into_iter(self) -> impl Iterator<Item = (PropertyKey, Value)> {779 self.0.into_iter()780 }781773782 fn check_property_key(key: &PropertyKey) -> Result<(), PropertiesError> {774 fn check_property_key(key: &PropertyKey) -> Result<(), PropertiesError> {783 if key.is_empty() {775 if key.is_empty() {796 }788 }797}789}790791impl<Value> IntoIterator for PropertiesMap<Value> {792 type Item = (PropertyKey, Value);793 type IntoIter = <794 BoundedBTreeMap<795 PropertyKey,796 Value,797 ConstU32<MAX_PROPERTIES_PER_ITEM>798 > as IntoIterator799 >::IntoIter;800801 fn into_iter(self) -> Self::IntoIter {802 self.0.into_iter()803 }804}798805799impl<Value> TrySetProperty for PropertiesMap<Value> {806impl<Value> TrySetProperty for PropertiesMap<Value> {800 type Value = Value;807 type Value = Value;825 space_limit: u32,832 space_limit: u32,826}833}827834828impl Properties {835impl Properties {829 pub fn new(space_limit: u32) -> Self {836 pub fn new(space_limit: u32) -> Self {830 Self {837 Self {831 map: PropertiesMap::new(),838 map: PropertiesMap::new(),848 pub fn get(&self, key: &PropertyKey) -> Option<&PropertyValue> {855 pub fn get(&self, key: &PropertyKey) -> Option<&PropertyValue> {849 self.map.get(key)856 self.map.get(key)850 }857 }851858}852 pub fn iter(&self) -> impl Iterator<Item = (&PropertyKey, &PropertyValue)> {853 self.map.iter()854 }855859856 pub fn into_iter(self) -> impl Iterator<Item = (PropertyKey, PropertyValue)> {860impl IntoIterator for Properties {861 type Item = (PropertyKey, PropertyValue);862 type IntoIter = <PropertiesMap<PropertyValue> as IntoIterator>::IntoIter;863864 fn into_iter(self) -> Self::IntoIter {857 self.map.into_iter()865 self.map.into_iter()858 }866 }859}867}860868861impl TrySetProperty for Properties {869impl TrySetProperty for Properties {862 type Value = PropertyValue;870 type Value = PropertyValue;runtime/common/src/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -257,7 +257,7 @@
}
None => {
properties
- .iter()
+ .into_iter()
.filter_map(|(key, value)| Some(RmrkPropertyInfo {
key: key.decode_or_default(),
value: value.decode_or_default(),
@@ -296,7 +296,7 @@
}
None => {
properties
- .iter()
+ .into_iter()
.filter_map(|(key, value)| Some(RmrkPropertyInfo {
key: key.decode_or_default(),
value: value.decode_or_default(),