difftreelog
refactor optimize properties iteration
in: master
4 files changed
pallets/common/src/lib.rsdiffbeforeafterboth608 } = <CollectionById<T>>::get(collection)?;608 } = <CollectionById<T>>::get(collection)?;609609610 let token_property_permissions = <CollectionPropertyPermissions<T>>::get(collection)610 let token_property_permissions = <CollectionPropertyPermissions<T>>::get(collection)611 .iter()611 .into_iter()612 .map(|(key, permission)| PropertyKeyPermission {612 .map(|(key, permission)| PropertyKeyPermission {613 key: key.clone(),613 key,614 permission: permission.clone(),614 permission,615 })615 })616 .collect();616 .collect();617617618 let properties = <CollectionProperties<T>>::get(collection)618 let properties = <CollectionProperties<T>>::get(collection)619 .iter()619 .into_iter()620 .map(|(key, value)| Property {620 .map(|(key, value)| Property {621 key: key.clone(),621 key,622 value: value.clone(),622 value,623 })623 })624 .collect();624 .collect();625625947 })947 })948 .unwrap_or_else(|| {948 .unwrap_or_else(|| {949 properties949 properties950 .iter()950 .into_iter()951 .map(|(key, value)| Property {951 .map(|(key, value)| Property {952 key: key.clone(),952 key,953 value: value.clone(),953 value,954 })954 })955 .collect()955 .collect()956 });956 });979 })979 })980 .unwrap_or_else(|| {980 .unwrap_or_else(|| {981 permissions981 permissions982 .iter()982 .into_iter()983 .map(|(key, permission)| PropertyKeyPermission {983 .map(|(key, permission)| PropertyKeyPermission {984 key: key.clone(),984 key,985 permission: permission.clone(),985 permission,986 })986 })987 .collect()987 .collect()988 });988 });pallets/nonfungible/src/common.rsdiffbeforeafterboth405 })405 })406 .unwrap_or_else(|| {406 .unwrap_or_else(|| {407 properties407 properties408 .iter()408 .into_iter()409 .map(|(key, value)| Property {409 .map(|(key, value)| Property {410 key: key.clone(),410 key: key.clone(),411 value: value.clone(),411 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.rsdiffbeforeafterboth257 }257 }258 None => {258 None => {259 properties259 properties260 .iter()260 .into_iter()261 .filter_map(|(key, value)| Some(RmrkPropertyInfo {261 .filter_map(|(key, value)| Some(RmrkPropertyInfo {262 key: key.decode_or_default(),262 key: key.decode_or_default(),263 value: value.decode_or_default(),263 value: value.decode_or_default(),296 }296 }297 None => {297 None => {298 properties298 properties299 .iter()299 .into_iter()300 .filter_map(|(key, value)| Some(RmrkPropertyInfo {300 .filter_map(|(key, value)| Some(RmrkPropertyInfo {301 key: key.decode_or_default(),301 key: key.decode_or_default(),302 value: value.decode_or_default(),302 value: value.decode_or_default(),