Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Commit 507455c

Browse files
committed
refactor!: remove get_dependency_group_mut from PackageManifest
BREAKING CHANGE: remove get_dependency_group_mut from PackageManifest
1 parent 95f1723 commit 507455c

File tree

2 files changed

+16
-23
lines changed

2 files changed

+16
-23
lines changed

src/package_manifest.rs

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,7 @@ pub enum DependencyGroup {
3030
}
3131

3232
impl DependencyGroup {
33-
pub const VALUES: [Self; 4] = [
34-
Self::Dependencies,
35-
Self::DevDependencies,
36-
Self::OptionalDependencies,
37-
Self::PeerDependencies,
38-
];
39-
40-
pub(crate) const STRINGS: [&str; 4] = [
33+
pub(crate) const VALUES: [&str; 4] = [
4134
"dependencies",
4235
"devDependencies",
4336
"optionalDependencies",
@@ -94,7 +87,7 @@ impl PackageManifest {
9487
where
9588
S: AsRef<str>,
9689
{
97-
DependencyGroup::STRINGS
90+
DependencyGroup::VALUES
9891
.iter()
9992
// only iterate over the objects corresponding to each dependency group
10093
.filter_map(|dependency_group| {
@@ -114,7 +107,7 @@ impl PackageManifest {
114107
}
115108

116109
pub fn dependencies_iter(&self) -> impl Iterator<Item = (&String, &serde_json::Value)> {
117-
DependencyGroup::STRINGS
110+
DependencyGroup::VALUES
118111
.iter()
119112
.filter_map(|dependency_group| {
120113
self.contents
@@ -129,7 +122,7 @@ impl PackageManifest {
129122
&'a self,
130123
package_manifests_by_package_name: &'a HashMap<String, PackageManifest>,
131124
) -> impl Iterator<Item = &'a PackageManifest> {
132-
DependencyGroup::STRINGS
125+
DependencyGroup::VALUES
133126
.iter()
134127
// only iterate over the objects corresponding to each dependency group
135128
.filter_map(|dependency_group| {
@@ -178,17 +171,6 @@ impl PackageManifest {
178171
.collect()
179172
}
180173

181-
// REFACTOR: return an iterator
182-
pub fn get_dependency_group_mut(
183-
&mut self,
184-
group: DependencyGroup,
185-
) -> Option<&mut serde_json::Map<String, serde_json::Value>> {
186-
self.contents
187-
.extra_fields
188-
.get_mut(group.as_str())
189-
.and_then(serde_json::Value::as_object_mut)
190-
}
191-
192174
// REFACTOR: for nearness
193175
// Name of the archive generated by `npm pack`, for example "myscope-a-cool-package-1.0.0.tgz"
194176
pub fn npm_pack_file_basename(&self) -> String {

src/pin.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,17 @@ fn needs_modification<'a, 'b>(
100100
})
101101
}
102102

103+
fn get_dependency_group_mut<'a>(
104+
package_manifest: &'a mut PackageManifest,
105+
dependency_group: &str,
106+
) -> Option<&'a mut serde_json::Map<String, serde_json::Value>> {
107+
package_manifest
108+
.contents
109+
.extra_fields
110+
.get_mut(dependency_group)
111+
.and_then(serde_json::Value::as_object_mut)
112+
}
113+
103114
pub fn modify<P>(root: P) -> Result<(), PinError>
104115
where
105116
P: AsRef<Path>,
@@ -122,7 +133,7 @@ where
122133
for (package_name, mut package_manifest) in package_manifest_by_package_name {
123134
let mut dirty = false;
124135
for dependency_group in DependencyGroup::VALUES {
125-
let dependencies = package_manifest.get_dependency_group_mut(dependency_group);
136+
let dependencies = get_dependency_group_mut(&mut package_manifest, dependency_group);
126137
if dependencies.is_none() {
127138
continue;
128139
}

0 commit comments

Comments
 (0)