this repo has no description

refactor: remove duplicate code

+14 -17
+14 -17
src/package.rs
··· 75 } 76 77 fn handle_diff_added(versions_after: &[String]) -> (VersionList, VersionList) { 78 - let mut parsed_after = VersionList::new(); 79 80 - for after in versions_after { 81 - let parts_after = after.split('.').map(String::from); 82 - let mut version = Version::new(); 83 - for part in parts_after { 84 - version.push(VersionComponent::new(part, Ordering::Greater)); 85 - } 86 - parsed_after.push(version); 87 - } 88 89 - (VersionList::new(), parsed_after) 90 - } 91 92 - fn handle_diff_removed(versions_before: &[String]) -> (VersionList, VersionList) { 93 - let mut parsed_before = VersionList::new(); 94 - for before in versions_before { 95 let parts_before = before.split('.').map(String::from); 96 let mut version = Version::new(); 97 for part in parts_before { 98 - version.push(VersionComponent::new(part, Ordering::Less)); 99 } 100 - parsed_before.push(version); 101 } 102 - (parsed_before, VersionList::new()) 103 } 104 105 fn handle_diff_changed(
··· 75 } 76 77 fn handle_diff_added(versions_after: &[String]) -> (VersionList, VersionList) { 78 + let after = to_version_list(versions_after, Ordering::Greater); 79 + (VersionList::new(), after) 80 + } 81 82 + fn handle_diff_removed(versions_before: &[String]) -> (VersionList, VersionList) { 83 + let before = to_version_list(versions_before, Ordering::Less); 84 + (before, VersionList::new()) 85 + } 86 87 + fn to_version_list(versions: &[String], order: Ordering) -> VersionList { 88 + let mut version_list = VersionList::new(); 89 90 + for before in versions { 91 let parts_before = before.split('.').map(String::from); 92 let mut version = Version::new(); 93 for part in parts_before { 94 + version.push(VersionComponent::new(part, order)); 95 } 96 + version_list.push(version); 97 } 98 + 99 + version_list 100 } 101 102 fn handle_diff_changed(