this repo has no description

refactor: remove duplicate code

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